Создание Лида (синхронное)
Синхронный метод создания нового Лида в Лайнере. В случае успеха возвращает идентификатор созданного Лида.
Рекомендация
Используйте /lead/create/ только если важно сразу получить id Лида и/или убедиться, что лид точно создан.
Во всех остальных случаях рекомендуется асинхронный метод: /lead/create-async/
Адрес и метод
POST /v2/lead/create/
Параметры
leadTypestring
Тип лида. Возможные значения:straight— обычный лид,selection— подборный лид.
phonestring
Телефон клиента в формате E.164 (допускается передача номеров с + и без него), например79001234567.
orderIdint
Идентификатор заказа в Лайнере. Значение> 0.
orderCodestring
Код заказа в Лайнере.
telegramUserNamestringнеобязательный
Имя пользователя в Telegram.
telegramPhonestringнеобязательный
Телефон пользователя в Telegram (рекомендуется E.164).
vkIdintнеобязательный
Идентификатор пользователя в VK. Значение> 0.
instagramLoginstringнеобязательный
Логин пользователя в Instagram.
namestringнеобязательный
Имя клиента.
sourceCommentstringнеобязательный
Комментарий/лог анкеты.
externalIdBitrix24stringнеобязательный
Идентификатор лида в Битрикс24 системе.
externalIdAmostringнеобязательный
Идентификатор лида в АмоЦРМ системе.
externalIdMacrostringнеобязательный
Идентификатор лида в МакроЦРМ системе.
externalIdDomoplanerstringнеобязательный
Идентификатор лида в Домопланере системе.
priorityintнеобязательный
Приоритет лида в очереди дозвона.
utcOffsetintнеобязательный
Часовой пояс клиента — смещение от UTC, например3,-5.
statusIdintнеобязательный
Статус Лида, доступны только статус с категорией "В работе".
customValuesobjectнеобязательный
Словарь значений пользовательских полей: ключ — ID пользовательского поля, значение — сохраняемое значение этого поля.
Пример запроса
curl -X POST "https://YOUR_LINER_API_HOST/v2/lead/create/" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_TOKEN" \
-d '{
"leadType": "straight",
"name": "{{name}}",
"phone": "{{phone}}",
"orderId": {{orderId}},
"orderCode": "{{orderCode}}",
"sourceComment": "",
"externalIdBitrix24": "{{externalIdBitrix24}}",
"externalIdAmo": "{{externalIdAmo}}",
"externalIdMacro": "{{externalIdMacro}}",
"externalIdDomoplaner": "{{externalIdDomoplaner}}",
"priority": {{callPriority}},
"utcOffset": {{utcOffset}},
"telegramUserName": {{telegramUserName}},
"telegramPhone": {{telegramPhone}},
"vkId": {{vkId}},
"instagramLogin": "{{instagramLogin}}",
"statusId": "{{statusId}}",
"customValues": {
"{{customFieldId}}": "{{customFieldValue}}"
}
}'
<?php
$host = 'https://YOUR_LINER_API_HOST';
$token = 'YOUR_API_TOKEN';
$payload = [
'leadType' => 'straight',
'name' => $name,
'phone' => $phone,
'orderId' => (int)$orderId,
'orderCode' => $orderCode,
'sourceComment' => '',
'externalIdBitrix24' => $externalIdBitrix24,
'externalIdAmo' => $externalIdAmo,
'externalIdMacro' => $externalIdMacro,
'externalIdDomoplaner' => $externalIdDomoplaner,
'priority' => (int)$callPriority,
'utcOffset' => (int)$utcOffset,
'telegramUserName' => (int)$telegramUserName,
'telegramPhone' => (int)$telegramPhone,
'vkId' => (int)$vkId,
'instagramLogin' => $instagramLogin,
'statusId' => $statusId,
'customValues' => [
$customFieldId => $customFieldValue,
],
];
$ch = curl_init($host . '/v2/lead/create/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-Api-Key: ' . $token,
],
CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
CURLOPT_TIMEOUT => 15,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($response === false) {
throw new RuntimeException('cURL error: ' . curl_error($ch));
}
curl_close($ch);
echo "HTTP {$httpCode}\n";
echo $response;
const host = "https://YOUR_LINER_API_HOST";
const token = "YOUR_API_TOKEN";
const payload = {
leadType: "straight",
name: name,
phone: phone,
orderId: Number(orderId),
orderCode: orderCode,
sourceComment: "",
externalIdBitrix24: externalIdBitrix24,
externalIdAmo: externalIdAmo,
externalIdMacro: externalIdMacro,
externalIdDomoplaner: externalIdDomoplaner,
priority: Number(callPriority),
utcOffset: Number(utcOffset),
telegramUserName: Number(telegramUserName),
telegramPhone: Number(telegramPhone),
vkId: Number(vkId),
instagramLogin: instagramLogin,
statusId: statusId,
customValues: {
[customFieldId]: customFieldValue
}
};
const res = await fetch(`${host}/v2/lead/create/`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": token
},
body: JSON.stringify(payload)
});
const data = await res.json();
console.log("HTTP", res.status, data);
Пример ответа
Структура ответа
| Поле | Тип | Описание |
|---|---|---|
id |
int |
Идентификатор созданного Лида |
Примечание
Выше описана структура поля data. Общий формат ответа API см. в разделе Схема запросов