Универсальные обработчики
Универсальный обработчик форм
Описание
Универсальный обработчик форм для импорта данных в amoCRM. Мы ожидаем POST запрос. Параметры запроса указаны ниже.
Требования для работы
Необходимо получить параметр
{{pushkaKey}}URL
https://octane.pushka.biz/api/handler-form/{{pushkaKey}}/general
Логика работы с дублями
Проверка на дубли происходит по contactPhone и contactEmail.
Поиск данных происходит в компаниях, в контактах и в неразобранном указанной воронки.
Логика обработки:
- Если нет совпадений - создается неразобранное
- Если нашли контакт или компанию - смотрим активные сделки
- Если активных сделок нет - создаем сделку в первом этапе указанной воронки на того же ответственного и ставим задачу
- Если активные сделки есть - в самую свежую добавляем примечание и ставим задачу "Клиент оставил заявку повторно"
Обязательные параметры!
Если не передан ни
contactPhone, ни contactEmail - заявка не попадет в amoCRMcontactPhone
string
Телефон контакта
contactEmail
string
Email контакта
Создание неразобранного или сделки
По умолчанию обработчик создает неразобранное.
unsorted
boolean
Установите
false для создания сделки вместо неразобранногоsearchDuplicate
boolean
Установите
false чтобы создавать контакт в любом случае без поиска дубликатовunsortedDuplicate
boolean
Установите
true для создания неразобранного при нахождении дубликатаОбязательные параметры при
unsorted=false:statusId- ID этапа в нужной воронкеresponsibleId- ID пользователя, ответственного за сделку
Дополнительные параметры
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
leadName | Название сделки | Заявка с сайта |
tags | Теги к сделке, контакту, компании (через запятую) | - |
leadPrice | Бюджет сделки | - |
leadNote | Примечание к сделке | - |
contactName | Имя контакта | Имя не указано |
companyName | Название компании | - |
lead_cf | Массив доп. полей сделки: lead_cf1111=test | - |
lead_cf_1111 | Доп. поле сделки (1111 - id поля) | - |
contact_cf | Массив доп. полей контакта: contact_cf2222=test | - |
contact_cf_2222 | Доп. поле контакта (2222 - id поля) | - |
company_cf | Массив доп. полей компании: company_cf2222=test | - |
company_cf_2222 | Доп. поле компании (2222 - id поля) | - |
page | Страница откуда отправлена форма | https://amocrm.ru |
pipelineId | Воронка для создания неразобранного | главная |
ip | IP адрес клиента | 127.0.0.1 |
formName | Название формы | Форма сайта |
Метки систем статистики
roistatutm_sourceutm_mediumutm_campaignutm_termutm_contentutm_referrer_ym_uid_ym_counteropenstat_campaignopenstat_adopenstat_sourcefromgclientidgclidyclidfbclidopenstat_servicereferrer
Примеры запросов
Во всех запросах в качестве примера используется
pushkaKey = 12345. Вы должны использовать свой.<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://octane.pushka.biz/api/handler-form/12345/general',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array(
'contactPhone' => '375296117699',
'contactName' => 'Василий Иванович',
'leadName' => 'Супер сделка',
'lead_cf_33333' => 'ВИП',
'contact_cf_22222' => 'Согласен',
'tags' => 'ВАЖНАЯ,СРОЧНО'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
<?php
$client = new Client();
$options = [
'multipart' => [
[
'name' => 'contactPhone',
'contents' => '375296117699'
],
[
'name' => 'contactName',
'contents' => 'Василий Иванович'
],
[
'name' => 'leadName',
'contents' => 'Супер сделка'
],
[
'name' => 'lead_cf_33333',
'contents' => 'ВИП'
],
[
'name' => 'contact_cf_22222',
'contents' => 'Согласен'
],
[
'name' => 'tags',
'contents' => 'ВАЖНАЯ,СРОЧНО'
]
]];
$request = new Request('POST', 'https://octane.pushka.biz/api/handler-form/12345/general');
$res = $client->sendAsync($request, $options)->wait();
echo $res->getBody();
var formdata = new FormData();
formdata.append("contactPhone", "375296117699");
formdata.append("contactName", "Василий Иванович");
formdata.append("leadName", "Супер сделка");
formdata.append("lead_cf_33333", "ВИП");
formdata.append("contact_cf_22222", "Согласен");
formdata.append("tags", "ВАЖНАЯ,СРОЧНО");
var requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
fetch("https://octane.pushka.biz/api/handler-form/12345/general", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
var form = new FormData();
form.append("contactPhone", "375296117699");
form.append("contactName", "Василий Иванович");
form.append("leadName", "Супер сделка");
form.append("lead_cf_33333", "ВИП");
form.append("contact_cf_22222", "Согласен");
form.append("tags", "ВАЖНАЯ,СРОЧНО");
var settings = {
"url": "https://octane.pushka.biz/api/handler-form/12345/general",
"method": "POST",
"timeout": 0,
"processData": false,
"mimeType": "multipart/form-data",
"contentType": false,
"data": form
};
$.ajax(settings).done(function (response) {
console.log(response);
});
curl --location 'https://octane.pushka.biz/api/handler-form/12345/general' \
--form 'contactPhone="375296117699"' \
--form 'contactName="Василий Иванович"' \
--form 'leadName="Супер сделка"' \
--form 'lead_cf_33333="ВИП"' \
--form 'contact_cf_22222="Согласен"' \
--form 'tags="ВАЖНАЯ,СРОЧНО"'