Обновление Лида
Обновление данных лида в Liner.
Адрес и метод
POST /v1/lead/update/{lead_id}/
lead_idint
Идентификатор лида в Liner. Значение> 0.
Параметры (Body)
Передавайте только те поля, которые нужно обновить.
client_namestringнеобязательный
Имя клиента (строка).
client_phonestringнеобязательный
Телефон клиента в формате E.164 (допускается передача номеров с + и без него), например79001234567.
quiz_logstringнеобязательный
Комментарий/лог анкеты (строка; при необходимости — JSON-строка).
campaign_idstringнеобязательный
Идентификатор рекламной кампании (строка).
external_idstringнеобязательный
Идентификатор лида во внешней системе (строка).
statusintнеобязательный
Статус лида в Liner (целое число).
call_timestampintнеобязательный
Время следующего звонка (Unix Timestamp, секунды).
priorityintнеобязательный
Приоритет лида в очереди дозвона (целое число).
utc_offsetintнеобязательный
Часовой пояс клиента — смещение от UTC, например3,-5.
telegramUserNamestringнеобязательный
Имя пользователя в Telegram (строка).
telegramPhonestringнеобязательный
Телефон пользователя в Telegram (рекомендуется E.164).
vkIdintнеобязательный
Идентификатор пользователя в VK. Значение> 0.
instagramLoginstringнеобязательный
Логин пользователя в 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);