Проверка систем Лайнера
Метод для проверки работоспособности основных сервисов Лайнера и связанных платформ.
В случае успеха возвращает сводный статус по каждому компоненту и диагностические метрики (например, время выполнения и состояние очередей).
Адрес и метод
GET /v1/health/check/
Пример запроса
<?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;
Пример ответа
{
"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. |