Системные типы#
Системные типы данных API.
Error#
Информация об ошибке.
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
code | string | Да | Код ошибки |
message | string | Да | Сообщение об ошибке |
description | string | Нет | Детальное описание ошибки |
errorId | string (GUID v7) | Да | Уникальный идентификатор ошибки |
Примеры#
1{
2 "error": {
3 "code": "SUPPLIER_ERROR",
4 "message": "NO ITINERARY FOUND FOR REQUESTED SEGMENT",
5 "description": null,
6 "errorId": "018c5f2e-9b3a-7f4d-8e2c-1a2b3c4d5e6f"
7 }
8}1{
2 "error": {
3 "code": "AUTHENTICATION_FAILED",
4 "message": "Authentication failed",
5 "errorId": "018c5f2e-9b3a-7f4d-8e2c-1a2b3c4d5e6f"
6 }
7}Использование#
Поле error присутствует в ответе при возникновении ошибки. Проверять его наличие нужно всегда, в том числе при HTTP 200: бизнес-ошибки (поставщик не ответил, предложение не найдено, внутренний сбой) возвращаются именно так — со статусом 200 OK и заполненным error в теле.
HTTP-статус при этом зависит от того, на каком этапе возникла ошибка:
| Статус | Когда | Тело |
|---|---|---|
200 OK | Запрос принят и обработан, но операция завершилась ошибкой (ошибка поставщика, отсутствие предложений, внутренний сбой) | Обычная структура ответа с заполненным error |
400 Bad Request | Запрос не прошёл валидацию — отсутствует обязательное поле, недопустимое значение | Только поле error |
401 Unauthorized | Токен отсутствует, истёк или недействителен; для /api/auth/token — неверные clientId/clientSecret | Только поле error |
Поэтому обработка ответа выглядит так: сначала проверьте HTTP-статус, затем — при любом статусе — наличие error в теле.
Коды ошибок#
Набор кодов фиксирован и невелик. Коды, общие для всех операций:
| Код ошибки | Причина |
|---|---|
VALIDATION_ERROR | Запрос не прошёл валидацию. Возвращается с HTTP 400 |
NO_TARGETS | Под запрос не нашлось ни одного поставщика: ни один не настроен либо все отсеяны на этапе подготовки запроса |
SUPPLIER_ERROR | Поставщик вернул ошибку |
SYSTEM_ERROR | Внутренняя ошибка Travel API |
AUTHENTICATION_FAILED | Ошибка аутентификации в /api/auth/token |
Дополнительно в отельных операциях могут прийти:
| Код ошибки | Причина |
|---|---|
VALIDATION_FAILED | Запрос отклонён на этапе валидации до обращения к поставщику |
NOT_SUPPORTED | Операция или параметр не поддерживается выбранным поставщиком |
Коды, специфичные для конкретной операции, перечислены на её странице — в разделе «Типичные ошибки».
Ошибки поставщиков не имеют отдельных кодов. В авиаоперациях всё, что вернул поставщик, приходит под кодом
SUPPLIER_ERROR, а причина — текстом поставщика в полеmessage. Ветвление логики поerror.codeработает для кодов из таблиц документации; для причин отказа поставщика опирайтесь наmessage, помня, что его формат зависит от поставщика и не фиксирован.
Supplier#
Поставщик авиационного контента (GDS и NDC).
Возможные значения#
| Значение | Описание | Тип |
|---|---|---|
none | Поставщик не указан. Значение существует в перечислении, но в запросах не принимается — валидация отклонит его с сообщением Supplier must not be None | - |
amadeus | Amadeus GDS | GDS |
amadeusNdc | Amadeus NDC | NDC |
farelogix | Farelogix NDC aggregator | NDC |
galileo | Galileo GDS (Travelport) | GDS |
mixvel | Mixvel NDC aggregator | NDC |
nemo | Nemo aggregator | Aggregator |
s7 | S7 Airlines direct connect | Direct |
sabre | Sabre GDS | GDS |
sig | SIG GDS | GDS |
sirena | Sirena Travel GDS | GDS |
suNdc | SU Airlines NDC | NDC |
ariadna | Ariadna | Hotel |
ostrovok | Ostrovok | Hotel |
acase | Acase | Hotel |
avito | Avito | Hotel |
hotelbook | HotelBook | Hotel |
Значения
ariadna,ostrovok,acase,avito,hotelbook— поставщики отельного домена. EnumSupplierобщий для всего API (используется и в авиа-, и в отельных операциях), поэтому в нем присутствуют значения обоих доменов.
Примеры#
1"supplier": "amadeus"Использование в запросах#
При поиске можно указать конкретного поставщика:
1{
2 "supplier": "amadeus"
3}Использование в ответах#
В ответах указывается, от какого поставщика получено предложение:
1{
2 "offerItemId": "...",
3 "supplier": "amadeus"
4}Типы поставщиков#
- GDS (Global Distribution System) — глобальные системы бронирования
- NDC (New Distribution Capability) — новый стандарт дистрибуции IATA
- Direct — прямые подключения к авиакомпаниям
- Aggregator — агрегаторы контента
- Hotel — поставщики отельного домена