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

Проверка систем Лайнера

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


Адрес и метод

GET /v1/health/check/


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

curl -X GET "https://YOUR_LINER_API_HOST/v1/health/check/" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: YOUR_API_TOKEN"
<?php

$host = 'https://YOUR_LINER_API_HOST';
$token = 'YOUR_API_TOKEN';

$ch = curl_init($host . '/v1/health/check/');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Api-Key: ' . $token,
    ],
    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 res = await fetch(`${host}/v1/health/check/`, {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "X-Api-Key": token
  }
});

const data = await res.json();
console.log("HTTP", res.status, data);

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

{
  "success": true,
  "message": "",
  "data": {
    "linerMonolithPhpGateway": {
      "success": true,
      "message": "Liner PHP Gateway service is ready!​",
      "data": {
        "executionTime": 0.0834660530090332,
        "reasonPhrase": "Ok"
      }
    },
    "linerMicroMqHub": {
      "success": true,
      "message": "",
      "data": {
        "executionTime": 0.009724140167236328,
        "reasonPhrase": "Ok",
        "consumers": [
          {
            "queue_name": "amo_call_save_result",
            "success": true,
            "data": {
              "current_consumers_count": 1,
              "needle_consumers_count": 1
            }
          }
        ]
      }
    },
    "linerMicroRabbit": {
      "success": true,
      "message": "Liner RabbitMQ service is ready!",
      "data": {
        "executionTime": 0.00612187385559082
      }
    },
    "linerMicroNps": {
      "success": true,
      "message": "Liner NPS service is ready!",
      "data": {
        "executionTime": 0.001779794692993164,
        "reasonPhrase": "Ok"
      }
    },
    "linerMicroStt": {
      "success": true,
      "message": "Liner STT service is ready!",
      "data": {
        "executionTime": 0.003906965255737305,
        "reasonPhrase": "Ok"
      }
    },
    "linerMicroLogger": {
      "success": true,
      "message": "Liner STT service is ready!",
      "data": {
        "executionTime": 0.0016939640045166016,
        "reasonPhrase": "Ok"
      }
    },
    "linerMicroPtc": {
      "success": true,
      "message": "Liner PTC service is ready!",
      "data": {
        "executionTime": 0.0016169548034667969,
        "reasonPhrase": "Ok"
      }
    },
    "voxImplantPlatform": {
      "success": true,
      "message": "VoxImplant platform is ready!",
      "data": {
        "executionTime": 0.11452007293701172,
        "reasonPhrase": "Ok"
      }
    },
    "elevenLabsPlatform": {
      "success": true,
      "message": "ElevenLabs platform is ready!",
      "data": {
        "executionTime": 0.24761104583740234,
        "reasonPhrase": "Ok"
      }
    }
  }
}

Формат ответа

data: компоненты и их статусы

Каждый компонент в data возвращается в одинаковом формате:

Поле Тип Описание
data.<component>.success boolean Доступен ли компонент.
data.<component>.message string Текстовый статус/сообщение компонента.
data.<component>.data object Диагностика компонента (время выполнения, код ответа и т.п.).

Общие диагностические поля компонента

Поле Тип Описание
executionTime int Время выполнения проверки компонента (обычно в секундах).
reasonPhrase string Текстовая причина/статус (например, Ok). Поле может отсутствовать у некоторых компонентов.

Список типичных компонентов

Ключ в data Описание
linerMonolithPhpGateway PHP Gateway / монолитный шлюз.
linerMicroMqHub MQ Hub + статус консьюмеров по очередям.
linerMicroRabbit RabbitMQ (доступность брокера).
linerMicroNps Сервис NPS.
linerMicroStt Сервис STT (speech-to-text).
linerMicroLogger Сервис логирования.
linerMicroPtc PTC сервис (внутренний компонент).
voxImplantPlatform Доступность VoxImplant.
elevenLabsPlatform Доступность ElevenLabs.