Перейти к содержанию

Создание Лида (асинхронное)

Асинхронный метод создания нового Лида в Лайнере. Возвращает статус принятия задания в работу (без гарантии фактического создания лида).

Рекомендация

Данный метод не гарантирует успешное создание лида — он возвращает лишь статус принятия задания на создание.
Если вам нужна гарантия создания лида и получение id, используйте синхронный метод: /lead/create/


Адрес и метод

POST /v2/lead/create-async/


Параметры

leadType string
Тип лида. Возможные значения: straight — обычный лид, selection — подборный лид.

phone string
Телефон клиента в формате E.164 (допускается передача номеров с + и без него), например 79001234567.

orderId int
Идентификатор заказа в Лайнере. Значение > 0.

orderCode string
Код заказа в Лайнере.

telegramUserName string необязательный
Имя пользователя в Telegram.

telegramPhone string необязательный
Телефон пользователя в Telegram (рекомендуется E.164).

vkId int необязательный
Идентификатор пользователя в VK. Значение > 0.

instagramLogin string необязательный
Логин пользователя в Instagram.

name string необязательный
Имя клиента.

sourceComment string необязательный
Комментарий/лог анкеты.

externalIdBitrix24 string необязательный
Идентификатор лида в Битрикс24 системе.

externalIdAmo string необязательный
Идентификатор лида в АмоЦРМ системе.

externalIdMacro string необязательный
Идентификатор лида в МакроЦРМ системе.

externalIdDomoplaner string необязательный
Идентификатор лида в Домопланере системе.

priority int необязательный
Приоритет лида в очереди дозвона.

utcOffset int необязательный
Часовой пояс клиента — смещение от UTC, например 3, -5.

statusId int необязательный
Статус Лида, доступны только статус с категорией "В работе".

customValues object необязательный
Словарь значений пользовательских полей: ключ — ID пользовательского поля, значение — сохраняемое значение этого поля.


Пример запроса

curl -X POST "https://YOUR_LINER_API_HOST/v2/lead/create-async/" \
  -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-async/');
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-async/`, {
  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);

Пример ответа

{
  "success": true,
  "message": "",
  "data": []
}