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

Обновление интервалов попыток звонков

Обновление данных группы интервалов попыток звонков в Лайнере.


Адрес и метод

POST /v2/call-attempt/update/{id}/

id int
Идентификатор группы попыток звонков в Лайнере. Значение > 0.


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

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

title string необязательный
Название группы попыток звонков.

intervals array<int> необязательный
Список интервалов между звонками в минутах.

isDefault bool необязательный
Является ли группа интервалов группой по умолчанию.

resetAttemptsEnabled bool необязательный
Выполнять ли повтор попыток при просьбе «перезвонить».


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

curl -X POST "https://YOUR_LINER_API_HOST/v2/call-attempt/update/{id}/" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_TOKEN" \
  -d '{
    "title": "{{title}}",
    "intervals": [{{interval}}, {{interval2}}],
    "isDefault": {{isDefault}},
    "resetAttemptsEnabled": {{resetAttemptsEnabled}}
  }'
<?php

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

// Важно: заполняйте только те поля, которые хотите обновить
$payload = [
    'title' => $title ?? null,
    'intervals' => $intervals ?? null,
    'isDefault' => isset($isDefault) ? (bool)$isDefault : null,
    'resetAttemptsEnabled' => isset($resetAttemptsEnabled) ? (bool)$resetAttemptsEnabled : null,
];

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

$ch = curl_init($host . '/v2/call-attempt/update/' . $id . '/');
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 id = Number(id);

// Важно: добавляйте только те поля, которые хотите обновить
const payload = {
  title: title ?? undefined,
  intervals: intervals ?? undefined,
  isDefault: isDefault != null ? Boolean(isDefault) : undefined,
  resetAttemptsEnabled: resetAttemptsEnabled != null ? Boolean(resetAttemptsEnabled) : undefined
};

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

const res = await fetch(`${host}/v2/call-attempt/update/${id}/`, {
  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": []
}

Примечание

Выше описана структура поля data. Общий формат ответа API см. в разделе Схема запросов