Контакт в amoCRM добавляется через раз. В чём может быть проблема?

V
На сайте с 04.06.2014
Offline
54
5464

С лэндинга передаю данные в amoCRM.

Создаётся сделка:

$leads['request']['leads']['add']=array(

array(
'name'=>$new_lead_title,
'status_id'=>7829006,
'responsible_user_id'=>$lead_user_new,

'custom_fields'=>array(

array(
'id'=>1404981,
'values'=>array(
array(
'value'=>$form
)
)
),

array(
'id'=>1404975,
'values'=>array(
array(
'value'=>$_POST['city']
)
)
),

array(
'id'=>1404977,
'values'=>array(
array(
'value'=>$_POST['urlsite']
)
)
),

array(
'id'=>1404979,
'values'=>array(
array(
'value'=>$_POST['keyword']
)
)
)

)
)
);

$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/leads/set';
$curl=curl_init();

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($leads));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt');
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt');
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);

$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
CheckCurlResponse($code);

Далее мы получаем ID созданной сделки:

$Response=json_decode($out,true);

$newleadid = $Response['response']['leads']['add'][0]['id'];

После этого добавляем контакт, связывая его со сделкой:

$contact=array(

'responsible_user_id'=>$lead_user_new,
'custom_fields'=>array()
);

if(!empty($_POST['phone']))
$contact['custom_fields'][]=array(
'id'=>1138130,
'values'=>array(
array(
'value'=>$_POST['phone'],
'enum'=>'OTHER'
)
)
);

if(!empty($_POST['email']))
$contact['custom_fields'][]=array(
'id'=>1138132,
'values'=>array(
array(
'value'=>$_POST['email'],
'enum'=>'OTHER'
)
)
);

if(isset($contactid) && !empty($contactid))
{
$contact['linked_leads_id'] = Array($newleadid);
$contact['id'] = $contactid;
$contact['last_modified'] = time();
$contact_params=Array();
$contact_params['request']['contacts']['update'][]=$contact;
}
else
{
$contact['name'] = "Новый клиент";
$contact['linked_leads_id'] = Array($newleadid);
$contact_params=Array();
$contact_params['request']['contacts']['add'][]=$contact;
}

$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/contacts/set';
$curl=curl_init();

curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_USERAGENT,'amoCRM-API-client/1.0');
curl_setopt($curl,CURLOPT_URL,$link);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'POST');
curl_setopt($curl,CURLOPT_POSTFIELDS,json_encode($contact_params));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HEADER,false);
curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__).'/cookie.txt');
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt');
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);

$out=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
CheckCurlResponse($code);

Сделки всегда создаются без проблем, а вот контакты создаются через раз (и обновляются также через раз). Получается, что сделка создаётся без контакта.

В чём может быть причина? Возможны ли какие-то временные ограничения на количество заявок с одного IP в течение какого-то времени?

Партнёрка №1 в essay-нише (https://goo.gl/YfTPtG)
PN
На сайте с 22.08.2012
Offline
103
#1

а не пробовали ответ сервера проверять?

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
V
На сайте с 04.06.2014
Offline
54
#2
proksey-net:
а не пробовали ответ сервера проверять?

Пробовал. Ошибок не возвращает.

PN
На сайте с 22.08.2012
Offline
103
#3
victorpavloff:
Пробовал. Ошибок не возвращает.

а что она возвращает вместо нового ID? Пробовали использовать API Console для отладки?

V
На сайте с 04.06.2014
Offline
54
#4
proksey-net:
а что она возвращает вместо нового ID? Пробовали использовать API Console для отладки?

Не понял, про какой ID речь. Если про ID нового контакта (или обновлённого),

то возвращает ID, но сам контакт не обновляется.

Что касаемо API Console, то она у меня не работает не в одном из браузеров.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий