Skip to content

Помилки ​

API використовує стандартні HTTP-коди стану та повертає структуровані відповіді з помилками.

Формат відповіді з помилкою ​

json
{
  "success": false,
  "error": {
    "code": "error_code",
    "message": "Human-readable description"
  }
}

HTTP-коди стану ​

КодЗначення
200Успіх
401Не авторизовано — невалідний або відсутній API-ключ
403Заборонено — недостатньо прав або доступ до сайту заборонено
404Не знайдено — ресурс не існує або ви не маєте доступу
405Метод не дозволено — невірний HTTP-метод для цього ендпоінту
422Помилка валідації — невалідні вхідні дані
429Ліміт вичерпано — забагато запитів
500Внутрішня помилка — помилка на сервері

Коди помилок ​

КодHTTPОпис
invalid_api_key401API-ключ відсутній, невалідний, прострочений або відкликаний
scope_denied403API-ключ не має потрібного права доступу
site_access_denied403API-ключ обмежений і не має доступу до цього сайту
resource_not_found404Запитаний ресурс не знайдено
method_not_allowed405HTTP-метод не підтримується для цього ендпоінту
validation_error422Помилка валідації вхідних даних (деталі в повідомленні)
rate_limit_exceeded429Ліміт запитів вичерпано для цього API-ключа
internal_error500Непередбачена помилка сервера

Обробка помилок ​

javascript
const response = await fetch('https://api.looma.chat/v1/leads', {
  headers: { 'Authorization': 'Bearer lm_your_key' }
});

const data = await response.json();

if (!data.success) {
  console.error(`Error: ${data.error.code} — ${data.error.message}`);

  switch (response.status) {
    case 401: // Повторна автентифікація або перевірка ключа
    case 403: // Перевірте права або доступ до сайту
    case 404: // Ресурс не існує
    case 429: // Зачекайте та повторіть
      const retryAfter = response.headers.get('Retry-After');
      await new Promise(r => setTimeout(r, retryAfter * 1000));
      break;
  }
}

Looma.chat — AI-пошук і чат для інтернет-магазинів