Билеты и PIN
Ticket Gateway не генерирует PDF-билеты и не отправляет их покупателю. Партнёр сам выдаёт билет на основе PIN — уникального кода, по которому билет проверяется на входе.
Когда выдаётся PIN
PIN появляется в ответе только после подтверждения заказа. Пока заказ в статусе held, поля pin и pin_formatted равны null.
json
{
"id": 884512,
"event_item_id": 2505,
"seat_id": 101,
"zone_id": null,
"price_id": 4170,
"section": "Партер",
"row": "5",
"seat": "12",
"price": 1500,
"status": "paid",
"pin": "TKGA0100025057382910465",
"pin_formatted": "TKG-2505-7382910465",
"paid_at": "2026-11-01T14:07:12+06:00"
}Формат PIN
| Поле | Пример | Где использовать |
|---|---|---|
pin | TKGA0100025057382910465 | Кодируйте в QR-код на билете. Его сканирует контроль на входе |
pin_formatted | TKG-2505-7382910465 | Показывайте текстом на билете — для ручного ввода и поддержки |
Структура pin — 23 символа:
text
TKGA01 0002505 7382910465
│ │ └─ 10 случайных цифр
│ └─ ID сеанса, дополненный нулями до 7 цифр
└─ префиксpin_formatted — это TKG-<ID сеанса>-<10 случайных цифр>.
PIN — это пропуск
Любой, у кого есть PIN, может пройти на мероприятие. Показывайте его только покупателю после оплаты и не пишите в общедоступные логи.
Что разместить на билете
Минимальный набор:
- QR-код с
pin; pin_formattedтекстом;- название мероприятия и площадки, дата и время сеанса (из каталога);
section,row,seat— для мест со схемой зала;- цена
price.
Поля section, row, seat
Их значение зависит от того, как куплен билет:
| Способ покупки | section | row | seat | seat_id / zone_id |
|---|---|---|---|---|
Место (seats) | Название секции зала | Ряд | Место | seat_id заполнен |
Зона (zones) | Название секции зоны | null | null | zone_id заполнен |
Ценовая категория (prices) | Подпись категории, иначе «Входной билет» | null | "0" | оба null |
Использованные билеты
Когда билет проходит контроль на входе, его статус становится used. Использованный билет вернуть нельзя.