Перейти к содержимому

Ответы и ошибки

Большинство успешных операций возвращают JSON-объект напрямую. Списки обычно имеют форму:

{
"data": [],
"page": 1,
"pageSize": 20,
"total": 0
}

Операции VPN-конфигурации возвращают архив, а не JSON. Проверяйте Content-Type до разбора тела.

Документированные ошибки представлены объектом со строкой error:

{
"error": "Читаемое описание ошибки"
}

Сохраняйте HTTP-статус, контекст запроса и безопасные метаданные ответа. Не записывайте bearer-токен или пароль прокси в лог.

Официальные SDK преобразуют эти данные в специальную ошибку API для языка клиента:

import { ApiError } from '@ltesocks/sdk';
try {
await client.ports.get({ id: '10000' });
} catch (error) {
if (error instanceof ApiError) {
console.error(error.statusCode, error.kind, error.detail);
console.error(error.retryAfter, error.retryAt);
}
}
СтатусЗначениеДействие
400 / 422Неверные данныеИсправить запрос, не повторять без изменений
401Ошибка авторизацииЗаменить или ротировать токен
404Ресурс не найденПроверить идентификатор в рамках аккаунта
429Превышен лимитПодождать и повторить с jitter
5xxОшибка сервисаОграниченно повторять безопасные операции с backoff и jitter

Если документированная операция принимает Idempotency-Key, повторяйте запрос с неизвестным результатом с тем же ключом. При явной ошибке валидации, авторизации или cooldown сначала обработайте ее. Когда возможно, прочитайте итоговое состояние ресурса.

Поддерживаемые операции и таблица решений приведены на странице Идемпотентность и безопасные повторы. Заголовки cooldown сброса описаны в разделе Сброс и готовность порта.