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

Обновление Лида

Обновление данных лида в Liner.


Адрес и метод

POST /v1/lead/update/{lead_id}/

lead_id int
Идентификатор лида в Liner. Значение > 0.


Параметры (Body)

Передавайте только те поля, которые нужно обновить.

client_name string необязательный
Имя клиента (строка).

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

quiz_log string необязательный
Комментарий/лог анкеты (строка; при необходимости — JSON-строка).

campaign_id string необязательный
Идентификатор рекламной кампании (строка).

external_id string необязательный
Идентификатор лида во внешней системе (строка).

status int необязательный
Статус лида в Liner (целое число).

call_timestamp int необязательный
Время следующего звонка (Unix Timestamp, секунды).

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

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

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

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

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

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


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

curl -X POST "https://YOUR_LINER_API_HOST/v1/lead/update/{{lead_id}}" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -d '{
    "client_name": "{{client_name}}",
    "client_phone": "{{client_phone}}",
    "quiz_log": "",
    "campaign_id": "{{campaign_id}}",
    "external_id": "{{external_id}}",
    "status": {{lead_status}},
    "call_timestamp": {{call_timestamp}},
    "priority": {{call_priority}},
    "utc_offset": {{utc_offset}},
    "telegramUserName": "{{telegramUserName}}",
    "telegramPhone": "{{telegramPhone}}",
    "vkId": {{vk_id}},
    "instagramLogin": "{{instagram_login}}"
  }'
<?php

$host = 'https://YOUR_LINER_API_HOST';
$token = 'YOUR_API_TOKEN';
$leadId = (int)$lead_id;

// Важно: заполняйте только те поля, которые хотите обновить
$payload = [
    'client_name' => $client_name,
    'client_phone' => $client_phone,
    'quiz_log' => '',
    'campaign_id' => $campaign_id,
    'external_id' => $external_id,
    'status' => isset($lead_status) ? (int)$lead_status : null,
    'call_timestamp' => isset($call_timestamp) ? (int)$call_timestamp : null,
    'priority' => isset($call_priority) ? (int)$call_priority : null,
    'utc_offset' => isset($utc_offset) ? (int)$utc_offset : null,
    'telegramUserName' => $telegramUserName,
    'telegramPhone' => $telegramPhone,
    'vkId' => isset($vk_id) ? (int)$vk_id : null,
    'instagramLogin' => $instagram_login,
];

// Удаляем null-поля, чтобы не затирать значения случайно
$payload = array_filter($payload, fn($v) => $v !== null);

$ch = curl_init($host . '/v1/lead/update/' . $leadId);
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 leadId = Number(lead_id);

// Важно: добавляйте только те поля, которые хотите обновить
const payload = {
  client_name: client_name,
  client_phone: client_phone,
  quiz_log: "",
  campaign_id: campaign_id,
  external_id: external_id,
  status: lead_status != null ? Number(lead_status) : undefined,
  call_timestamp: call_timestamp != null ? Number(call_timestamp) : undefined,
  priority: call_priority != null ? Number(call_priority) : undefined,
  utc_offset: utc_offset != null ? Number(utc_offset) : undefined,
  telegramUserName: telegramUserName,
  telegramPhone: telegramPhone,
  vkId: vk_id != null ? Number(vk_id) : undefined,
  instagramLogin: instagram_login
};

// Удаляем undefined-поля
Object.keys(payload).forEach((k) => payload[k] === undefined && delete payload[k]);

const res = await fetch(`${host}/v1/lead/update/${leadId}`, {
  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": []
}