将新订户从我们的 CRM 流入 MailChimp 很容易,但我现在需要做的是仅根据他们的电子邮件地址获取单个客户记录,并从 MailChimp API 获取他们的 MailChimp ID。
MailChimp API 3.0 文档包含有限的使用过滤器进行 GET 调用的示例。我认为可以在不检索整个成员列表的情况下过滤结果,这就是脚本现在正在做的事情,但我只需要一个客户记录,而不是整个列表,否则我会收到每个成员的整个 JSON 字符串在列表中,将这个庞大的字符串编码为一个数组,然后我需要遍历 JSON 数组以找到具有匹配电子邮件地址的记录,这对我来说似乎非常低效。 我一定遗漏了一些在 MailChimp API 3.0 文档中不容易找到的东西,不是吗?!
我正在使用 PHP 库,但这没关系,我真的只需要知道如何构建 API 调用——正确的 URL(我可以附加?email_address=EMAIL_TO_FILTER
尝试但没有用)和 JSON 数组结构。我与 MailChimp API 成功连接并构建了一个mailChimpApiRequest()
方法,如下所示:
function mailChimpApiRequest($method='POST', $url, $postFields = null){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$headerArr=array( 'Authorization: ' . $this->apikey);
if($method!='POST' && !empty($method)) {
//Not needed: $headerArr[] = 'X-HTTP-Method-Override: ' . $method;
}
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, $method );
curl_setopt($ch, CURLOPT_HTTPHEADER,$headerArr );
curl_setopt($ch, CURLOPT_POST, true);
if ($postFields) {
if ($method!=''){ $postFields['method']=$method;}
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postFields));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
}
$curl_response = curl_exec($ch);
curl_close($ch);
return $curl_response;
}
有人可以帮我弄清楚上面传递给这个方法的内容$url
和数组吗?$postFields
mailChimpApiRequest()