Перейти до вмісту

Відповіді та помилки

Більшість успішних операцій безпосередньо повертають JSON-об’єкт. Операції зі списками зазвичай мають такий формат:

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

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

Задокументовані помилки використовують об’єкт із рядком error:

{
"error": "Human-readable error message"
}

Ваш клієнт має зберігати 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);
}
}

Політика повторних спроб

Section titled “Політика повторних спроб”
СтатусЗначенняРекомендована дія
400 / 422Некоректні вхідні даніВиправте запит; не повторюйте його без змін
401Помилка автентифікаціїЗамініть або оновіть токен
404Ресурс не знайденоПеревірте ідентифікатор у межах облікового запису
429Перевищено ліміт запитівЗачекайте й повторіть із випадковою затримкою
5xxПомилка сервісу або залежностіПовторіть безпечні операції з обмеженим backoff і випадковим відхиленням

Якщо документована операція приймає Idempotency-Key, повторюйте запит із невідомим результатом із тим самим ключем. За явної помилки валідації, автентифікації або cooldown спочатку обробіть її. Коли можливо, прочитайте підсумковий стан ресурсу.

Підтримувані операції й таблицю рішень наведено на сторінці Ідемпотентність і безпечні повтори. Заголовки cooldown скидання описано в розділі Скидання та готовність порту.