Структура ответа#

Детальное описание структуры ответа от /api/avia/ticket_exchange.

Успешный ответ#

При успешном обмене API возвращает HTTP 200 и объект с новыми билетами.

Основная структура#

ПолеТипОписание
ticketsTicket[]Массив новых выписанных билетов

Структура Ticket#

Каждый билет содержит:

ПолеТипОписание
idstringИдентификатор билета
numberstringНомер билета (без префикса vendor)
vendorstringКод BSP/ARC (префикс билета, например: “425”)
passengerTicketPassengerИнформация о пассажире

Структура TicketPassenger#

ПолеТипОписание
idstringИдентификатор пассажира в бронировании
firstNamestringИмя пассажира
lastNamestringФамилия пассажира
middleNamestringОтчество пассажира
typestringТип пассажира (adt, chd, inf)
titlestringОбращение (MR, MRS, MS и т.д.)

Примеры ответов#

Успешный обмен одного пассажира#

 1{
 2  "tickets": [
 3    {
 4      "id": "ticket-id-1",
 5      "number": "6170037302",
 6      "vendor": "425",
 7      "passenger": {
 8        "id": "Pax-1",
 9        "firstName": "IVAN",
10        "lastName": "KOZLOV",
11        "middleName": "PETROVICH",
12        "type": "adt",
13        "title": "MR"
14      }
15    },
16    {
17      "id": "ticket-id-2",
18      "number": "6160004938",
19      "vendor": "425",
20      "passenger": {
21        "id": "Pax-1",
22        "firstName": "IVAN",
23        "lastName": "KOZLOV",
24        "middleName": "PETROVICH",
25        "type": "adt",
26        "title": "MR"
27      }
28    }
29  ]
30}

Обмен с несколькими пассажирами#

 1{
 2  "tickets": [
 3    {
 4      "id": "ticket-id-1",
 5      "number": "6170037302",
 6      "vendor": "425",
 7      "passenger": {
 8        "id": "Pax-1",
 9        "firstName": "IVAN",
10        "lastName": "KOZLOV",
11        "middleName": "PETROVICH",
12        "type": "adt",
13        "title": "MR"
14      }
15    },
16    {
17      "id": "ticket-id-2",
18      "number": "6170037303",
19      "vendor": "425",
20      "passenger": {
21        "id": "Pax-2",
22        "firstName": "MARIA",
23        "lastName": "KOZLOVA",
24        "middleName": "IVANOVNA",
25        "type": "adt",
26        "title": "MRS"
27      }
28    },
29    {
30      "id": "ticket-id-3",
31      "number": "6170037304",
32      "vendor": "425",
33      "passenger": {
34        "id": "Pax-3",
35        "firstName": "ANNA",
36        "lastName": "KOZLOVA",
37        "middleName": "IVANOVNA",
38        "type": "chd",
39        "title": "MISS"
40      }
41    }
42  ]
43}

Типичные ошибки#

Код ошибкиПричинаРешение
BOOKING_NOT_FOUNDБронирование не найдено или не принадлежит клиентуПроверьте bookingId
EXCHANGE_NOT_FOUNDДанные расчёта обмена не найдены или срок их действия истёкВыполните ticket_exchange_calculation заново
VALIDATION_ERRORОшибка валидации запроса (HTTP 400)Проверьте обязательные поля и форматы значений
NO_TARGETSПод запрос не нашлось ни одного поставщика: ни один не настроен либо все отсеяны на этапе подготовки запросаПроверьте настройки офисов и пресетов в личном кабинете; при сохранении ошибки обратитесь в поддержку
SUPPLIER_ERRORПоставщик вернул ошибку. Причина — текстом поставщика в поле messageРазберите message; при необходимости повторите запрос позже
SYSTEM_ERRORВнутренняя ошибка Travel APIПовторите запрос позже; при повторении обратитесь в поддержку с errorId

Ошибки, пришедшие от GDS/NDC-поставщика, возвращаются под кодом SUPPLIER_ERROR: отдельного кода на каждую причину отказа Travel API не формирует, причина передаётся текстом поставщика в поле message. Не завязывайте логику на разбор message — его формат зависит от поставщика и не фиксирован.


Связанные операции#