Параметры запроса#
Детальное описание параметров для запроса /avia/ticket_exchange.
Обязательные параметры#
| Параметр | Тип | Описание |
|---|---|---|
exchangeId | string | Идентификатор обмена из /avia/ticket_exchange_calculation |
offerItemId | string | ID выбранного варианта обмена |
bookingId | guid | Идентификатор бронирования (формат UUID) |
ticketNumber | string | Номер билета для обмена (может включать префикс vendor) |
forExchange | Money | Сумма к оплате за обмен |
legs | Leg[] | Массив новых маршрутов |
passengers | Passenger[] | Массив пассажиров |
Структуры данных#
Money#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
currencyCode | string | Да | Код валюты (ISO 4217, например: RUB, USD) |
value | decimal | Да | Сумма к оплате за обмен |
Leg (маршрут)#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
segments | Segment[] | Да | Массив сегментов маршрута |
Segment (сегмент)#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
id | string | Да | ID сегмента из варианта обмена |
class | string | Да | Класс бронирования (буква, например: Y, C, F) |
destination | BoardOffPoint | Да | Пункт назначения с датой/временем |
flight | FlightDesignator | Да | Информация о рейсе |
origin | BoardOffPoint | Да | Пункт отправления с датой/временем |
BoardOffPoint#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
airport | string | Да | IATA код аэропорта (3 символа) |
dateTime | datetime | Да | Дата и время (ISO 8601) |
FlightDesignator#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
carrierCode | string | Да | IATA код авиакомпании (2 символа) |
flightNumber | string | Да | Номер рейса |
Passenger (пассажир)#
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
lastName | string | Да | Фамилия (латиница, как в документе) |
firstName | string | Да | Имя (латиница, как в документе) |
type | PassengerType | Нет | Тип пассажира (adt, chd, inf) |
documents | Document[] | Да | Массив документов пассажира |
Пример запроса#
1{
2 "exchangeId": "DC0BED1AEF4D9CE789DDBBA384A9593C",
3 "offerItemId": "fa94ea6a-ac07-49d7-a810-a4640f2774fd",
4 "bookingId": "019a0ce7-b2b1-7670-9bb0-0823c0853344",
5 "ticketNumber": "425-6170037301",
6 "forExchange": {
7 "currencyCode": "RUB",
8 "value": 5000
9 },
10 "legs": [
11 {
12 "segments": [
13 {
14 "id": "NLc0EJEsw0GJer9QRFb4Sg",
15 "class": "P",
16 "destination": {
17 "airport": "KZN",
18 "dateTime": "2025-11-29T09:20:00"
19 },
20 "flight": {
21 "carrierCode": "DP",
22 "flightNumber": "6841"
23 },
24 "origin": {
25 "airport": "SVO",
26 "dateTime": "2025-11-29T07:40:00"
27 }
28 }
29 ]
30 }
31 ],
32 "passengers": [
33 {
34 "lastName": "KOZLOV",
35 "firstName": "IVAN",
36 "type": "adt"
37 }
38 ]
39}Обработка ошибок#
При обмене билета могут возникнуть следующие ошибки:
| Код ошибки | Причина | Решение |
|---|---|---|
INVALID_EXCHANGE_DATA | Неверные exchangeId или offerItemId | Выполните новый расчет обмена |
TICKET_NOT_FOUND | Билет не найден | Проверьте bookingId и ticketNumber |
EXCHANGE_NOT_ALLOWED | Обмен запрещен тарифом | Обмен невозможен по правилам тарифа |
INSUFFICIENT_BALANCE | Недостаточно средств | Пополните баланс на сумму forExchange |
OFFER_EXPIRED | Предложение истекло | Выполните новый расчет обмена |
Связанные операции#
- Расчёт обмена - получение вариантов и стоимости обмена
- Информация о билете - проверка статуса билета
- Расчёт возврата - альтернатива обмену