Интеграция формы с amocrm. Добавляем данные с формы в сделки и контакты через API

Для добавления сделки через API amoCRM необходимо, обратиться к методу POST leads/set в документации и в массиве данных отправить
$leads['request']['leads']['add'] . В самом массиве нам потребуется связать сделку с добавленным контактом, который инициировал обращение.
Но, перед этим, нам необходимо авторизоваться в API AMOCRM, для это нужно знать свой логин в системе и хеш-авторизации, который находится в настройках профиля.
Авторизация
$user=array(
'USER_LOGIN'=>'login@yousite.ru', #Ваш логин (электронная почта)
'USER_HASH'=>'70cca4c98141111111b4e8375b29614' #Хэш для доступа к API (смотрите в профиле пользователя)
);
Далее мы формируем запрос к API для авторизации
#Формируем ссылку для запроса
$link='https://yoursite.amocrm.ru/private/api/auth.php?type=json';
$curl=curl_init(); #Сохраняем дескриптор сеанса cURL
#Устанавливаем необходимые опции для сеанса cURL
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($user));
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'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__).'/cookie.txt'); #PHP>5.3.6 dirname(__FILE__) -> __DIR__
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
Далее сам процесс создания сделки в AMO CRM из данных с формы нашего сайта. (В нашем случае сайт был на CMS ModX, но принципиальной разницы от выбранной CMS нет).
$contacts['request']['leads']['add']=array(
array(
'name'=>"Заявка", #Имя контакта
'pipeline_id' => '9168',
'tags' => '', #Теги
'custom_fields'=>array(
array(
'id'=>572576,
'values'=>array(
array(
'value'=>1345356
)
)
),
array(
'id'=>572574,
'values'=>array(
array(
'value'=>1345384
)
)
)
)
)
);
И далее снова запрос к API как и показано было выше, только теперь обращаемся к скрипту сделок
$link='https://yoursite.amocrm.ru/private/api/v2/json/leads/set';
Последний шаг, это создание контакта и связывание его со сделкой, чтобы в личном кабинете, при поступлении заявки, сразу формировался новый контакт из данных формы и задача в сделках была связанна с этим контактом.
$contacts['request']['contacts']['add']=array(
array(
'name'=>stripinput($_POST['name']), #Имя контакта
'linked_leads_id'=>array( #Список с айдишниками сделок контакта
$lead
),
'tags' => '', #Теги
'custom_fields'=>array(
array(
#Телефоны
'id'=>385388, #Уникальный индентификатор заполняемого дополнительного поля
'values'=>array(
array(
'value'=>stripinput($_POST['tel']),
'enum'=>'MOB' #Мобильный
)
)
),
array(
#Web-site
'id'=>528144,
'values'=>array(
array(
'value'=>$_POST['ref']
)
)
)
)
)
);
И далее снова запрос к API AmoCRM к скрипту добавление контактов
$link='https://directallin.amocrm.ru/private/api/v2/json/contacts/set';
При создании в AMO после заявки с формы сразу сущности leads с заполненными полями для API версии 2.0, у которого немного изменилась структура массива, который отправляется в CURL, запрос надо видоизменить
$data = array ( 'add' => array ( 0 => array ( 'name' => 'название лида', 'created_at' => '1553295600', 'status_id' => '10937736', 'contacts_id' => array ( 0 => '39584092', ), 'company_id' => '37385589', ), ), ); $link = "https://namedomen.amocrm.ru/api/v2/leads"; $headers[] = "Accept: application/json"; //Curl options $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_USERAGENT, "amoCRM-API-client- undefined/2.0"); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($curl, CURLOPT_URL, $link); curl_setopt($curl, CURLOPT_HEADER,false); curl_setopt($curl,CURLOPT_COOKIEFILE,dirname(__FILE__)."/cookie.txt"); curl_setopt($curl,CURLOPT_COOKIEJAR,dirname(__FILE__)."/cookie.txt"); $out = curl_exec($curl); curl_close($curl); $result = json_decode($out,TRUE);
Если вы не поняли всё равно в итоге, как добавлять сделку в Amo CRM, то мы можем помочь вам в интеграции форм AMOCRM и автоматизировать добавление сделки в личный кабинет AmoCRM с вашего сайта.
Стоимость интеграции ~ 5000 р.
Заказать установку