Как получить отдельную запись, отфильтрованную по адресу электронной почты, из списка MailChimp с помощью API 3.0

Привлечь новых подписчиков из нашей CRM в MailChimp было легко, но сейчас мне нужно получить одну запись клиента, основанную только на его адресе электронной почты. и извлеките их MailChimp ID из API MailChimp.

Документация MailChimp API 3.0 содержит ограниченные примеры использования фильтров для вызовов GET. Я думаю, что было бы возможно отфильтровать результаты без извлечения всего списка участников, что сейчас и делает скрипт, но мне нужна только одна запись клиента, а не весь список, в противном случае я получаю всю строку JSON каждого члена из списка, закодируйте эту массивную строку в массив, затем мне нужно перебрать массив JSON, чтобы найти запись с соответствующим адресом электронной почты, что мне кажется очень неэффективным. Я ДОЛЖЕН пропустить то, что нелегко найти в документах MailChimp API 3.0, нет ?!

Я использую библиотеку PHP, но это не имеет значения, мне просто нужно знать, как создать вызов API — правильный URL (могу ли я добавить с ?email_address=EMAIL_TO_FILTER попробовал, но не сработало) и структура массива JSON. У меня есть успешное соединение с API MailChimp и я создал 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() метод выше?

0

Решение

Просто добавьте URL с MD5 адреса электронной почты в нижнем регистре. Слишком просто, я пропустил это в документах MailChimp API.

0

Другие решения

Вы поняли это, Аарон … надеюсь, это поможет другим, кто столкнется с той же проблемой:
http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#read-get_lists_list_id_members_subscriber_hash

Если вы не можете получить по этому URL, вот сводка:
использовать HTTP GET запрос к URL /lists/{list_id}/members/{subscriber_hash}
с subscriber_hash являющийся хешем MD5 строчной версии адреса электронной почты участника списка.

0

По вопросам рекламы [email protected]