Встала задача индивидуальной интеграции сайта 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>'; } }
Свежие комментарии