aoa
EventsLocationsSpacesPricingIntegrationsAPIBlogHelp
EventsLocationsSpacesPricingIntegrationsAPIBlogHelp
© 2026 AOA
ArtistsVenuesPast eventsCareersGitHub
AboutPrivacySecurityTermsMerchant
aoa
Тарифи
Тарифи

API Reference

  • Вступ
  • Автентифікація
  • Пісочниця
  • Ліміти запитів
  • Помилки
  • Версіонування
  • Події
  • Резервування
  • Оплата

Webhooks

  • Вступ
  • Типи подій
  • Перевірка підпису
  • Make, Zapier, n8n

API Reference

Помилки

Формат помилок публічного API AOA: коди, HTTP-статуси і що робити з кожним.

Помилки приходять у тому самому конверті, що й успішні відповіді. Поле code — стабільне машинне значення, за ним і варто розгалужувати логіку. Поле message призначене для людини й може змінюватись.

JSON
{
  "error": {
    "code": "conflict",
    "message": "Залишилось лише 3 квитки"
  }
}

Коди помилок

КодHTTPКоли трапляється
bad_request400Некоректні дані запиту: невідома категорія, кількість поза межами 1–20, відсутній Idempotency-Key.
unauthorized401Ключ відсутній там, де потрібен, невірний або відкликаний.
forbidden403Ключ дійсний, але не має потрібного дозволу. Також — спроба глянути чуже замовлення.
not_found404Події чи замовлення немає, або подія не опублікована.
conflict409Стан завадив дії: квитків не вистачило, оплата в події не налаштована.
gone410Подія існувала, але її видалено. На відміну від 404, повторювати запит немає сенсу ніколи.
rate_limited429Вичерпано ліміт запитів.
internal_error500Збій на нашому боці. Можна повторити з паузою.

Що варто повторювати

КодПовторювати?
rate_limitedТак, через Retry-After.
internal_errorТак, з наростаючою паузою, до 3 спроб.
conflictТільки після перевірки актуальних залишків — сам собою повтор не допоможе.
bad_requestНі. Запит треба виправити.
unauthorizedНі. Проблема в ключі.
forbiddenНі. Потрібно розширити дозволи ключа.
not_foundНі.
goneНі. Приберіть подію зі свого каталогу.
JavaScript
const response = await fetch(url, options);
const body = await response.json();

if (body.error) {
  switch (body.error.code) {
    case 'rate_limited':
      // Почекати Retry-After і повторити
      break;
    case 'conflict':
      // Місць не вистачило — показати актуальні залишки
      break;
    case 'unauthorized':
    case 'forbidden':
      // Проблема з ключем: повторювати не варто
      break;
    default:
      // Логувати і показати загальне повідомлення
  }
}

Мова повідомлень

Не розбирайте message

Частина повідомлень приходить українською — зокрема ті, що стосуються залишку квитків («Залишилось лише 3 квитки»). Показувати їх покупцеві можна, а от будувати логіку на тексті не варто: він може змінитись будь-коли. Розгалужуйтесь лише за code.

Окремі випадки

409 «Payments are not configured for this event»

Це не збій. Організатор події ще не підключив приймання оплат, тож продати квиток неможливо. Безкоштовні події при цьому працюють нормально. Позначайте таку подію як недоступну для продажу, повторні спроби нічого не змінять.

404 замість 403 на чужі замовлення

Запит чужого paymentId дає 404, а не 403. Так зроблено навмисно: інакше перебором ідентифікаторів можна було б дізнатися, які замовлення існують.

404 на неопубліковану подію

Чернетка чи прихована подія теж віддає 404, хоча технічно існує. Через API видно лише опубліковані публічні події.

НазадЛіміти запитівДаліВерсіонування