Встала задача индивидуальной интеграции сайта c Getresponse. Нужно было найти в подписчиках контакт и добавить к нему телефон по API.
Вроде тривиальная задача, если есть API, но документация оставляет желать лучшего. Не подумал бы, но самая сложность возникла с тем, как получить ID custom field.
- Получить API ключ
- Создать массив, чтобы найти контакты в Getresponse по email
$param = [ "subscribersType"=> [ "subscribed" ], "sectionLogicOperator"=> "or", "section"=> [ "campaignIdsList"=> [ "BiSHg" ], "subscriberCycle"=> [ "receiving_autoresponder", "not_receiving_autoresponder" ], "subscriptionDate"=> "all_time", "logicOperator"=> "and", "conditions"=> [ [ "conditionType"=> "email", "operatorType"=> "string_operator", "operator"=> "contains", "value"=> $findEmail ] ] ] ];
3. Отправляем запрос в getresponse на поиск контакта
$headers = [
'Accept: application/json',
'Content-Type: application/json',
'X-Auth-Token: api-key '.$getresponse_key
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, 'https://api.getresponse.com/v3/search-contacts/contacts');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($param, JSON_FORCE_OBJECT));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($curl);
$results = json_decode($result, TRUE);
foreach ($results as $result) {
if ($result['email']==$findEmail) {
$contact_id = $result['contactId'];
$campaignId = $result['campaign']['campaignId'];
echo '<pre>';
print_r($result);
echo '</pre>';
}
}

Свежие комментарии