Введение
Ticket Gateway API — REST API для партнёров-билетных операторов, которые продают билеты на мероприятия Ticket.kg на своих площадках: в своих сайтах, приложениях, кассах и агрегаторах.
Через шлюз вы можете:
- получать каталог: категории, мероприятия и сеансы;
- показывать схему зала с актуальной доступностью мест, зон и ценовых категорий;
- бронировать билеты и подтверждать продажу после оплаты на вашей стороне;
- получать PIN билетов для выдачи покупателю;
- снимать неоплаченные брони и возвращать оплаченные билеты;
- сверять продажи и комиссию за любой период.
Базовый URL
https://gateway.ticket.kgВсе партнёрские методы находятся под префиксом /api/v1. Например, список мероприятий:
GET https://gateway.ticket.kg/api/v1/eventsФормат
- Запросы и ответы — JSON в кодировке UTF-8.
- Для запросов с телом передавайте заголовок
Content-Type: application/json. - Успешный ответ всегда содержит поле
data. Ошибка — полеerror(см. Ошибки). - Даты — в формате RFC 3339 с часовым поясом Бишкека (
+06:00). - Суммы — целые числа в сомах (
KGS).
Подробнее — в разделе Общие соглашения.
Быстрый старт
1. Получите API-ключ
Ключ выдаёт менеджер Ticket.kg. Сообщите IP-адреса серверов, с которых будете обращаться к API, — ключ можно ограничить этими адресами. Подробнее — в разделе Авторизация.
2. Загрузите каталог
curl https://gateway.ticket.kg/api/v1/events \
-H "X-API-Key: $KEY"В ответе — мероприятия и их сеансы (event_items), которые сейчас продаются.
3. Покажите схему зала
curl https://gateway.ticket.kg/api/v1/event-items/2505/seats \
-H "X-API-Key: $KEY"Ответ содержит карту зала, места со статусом is_available, зоны с остатком available и ценовые категории.
4. Забронируйте билеты
curl -X POST https://gateway.ticket.kg/api/v1/orders \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{
"partner_order_id": "ORD-1001",
"event_item_id": 2505,
"seats": [101, 102],
"customer": {"full_name": "Иван Иванов", "email": "ivan@example.com", "phone": "+996700000000"}
}'Билеты удерживаются 15 минут. За это время покупатель должен оплатить заказ на вашей стороне.
5. Подтвердите продажу после оплаты
curl -X POST https://gateway.ticket.kg/api/v1/orders/{id}/confirm \
-H "X-API-Key: $KEY"В ответе у каждого билета появится pin — его вы выдаёте покупателю (обычно в виде QR-кода).
Дальше
Прочитайте Процесс продажи — там описаны все правила бронирования, повторы запросов и обработка ошибок.
Что шлюз не делает
Шлюз только резервирует и продаёт билеты в системе Ticket.kg. Он не выполняет:
- генерацию PDF-билетов;
- отправку писем и SMS покупателю;
- фискализацию (чеки);
- передачу данных в системы контроля доступа Skidata;
- вебхуки организатору мероприятия.
Билет покупателю выдаёт партнёр — по PIN или QR-коду. Приём оплаты и чеки тоже на стороне партнёра.
Справочник методов
| Метод | Путь | Описание |
|---|---|---|
| GET | /api/v1/categories | Категории мероприятий |
| GET | /api/v1/events | Мероприятия в продаже |
| GET | /api/v1/events/{eventID} | Одно мероприятие |
| GET | /api/v1/events/{eventID}/items | Сеансы мероприятия |
| GET | /api/v1/event-items/{eventItemID}/seats | Схема зала, места, зоны, цены |
| POST | /api/v1/orders | Забронировать билеты |
| GET | /api/v1/orders/{id} | Заказ по ID |
| GET | /api/v1/orders?partner_order_id= | Заказ по ID партнёра |
| POST | /api/v1/orders/{id}/confirm | Подтвердить продажу |
| DELETE | /api/v1/orders/{id} | Снять бронь |
| POST | /api/v1/orders/{id}/refund | Вернуть билеты |
| GET | /api/v1/reports/sales | Отчёт о продажах |