Агентский API Авиабилеты
Версия от 22:13, 22 апреля 2017; Данил Фоменко (обсуждение | вклад) (→Агентский АПИ поиска авиабилетов)
Для авторизации в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий сделанных через АПИ.
Содержание
Схема использования агентского API (workflow)
Необходимо придерживаться рекомендованной схемы использования API. Если вы планируете отступать от этой схемы - пожалуйста согласуйте отклонения от нее со службой технической поддержки.
Агентский АПИ поиска авиабилетов
Агентский АПИ бронирования авиабилетов
Агентский АПИ выписки
Агентские API Оплата
Агентский АПИ возврата авиабилетов
Агентский АПИ дополнительных запросов
Дополнительная информация по параметрам
Параметры, используемые в запросах
Имя элемента | Обязательный | Тип | Описание |
---|---|---|---|
BookFlight | да | сложный | Контейнер для тела запроса бронирования |
FlightId | да | число | Id перелёта для которого будет производится бронирование(поиск тарифных правил, проверка доступности) |
CurrencyCode | нет | строка | Трёх буквенный код валюты (обязателен для комиссии в валюте) |
Agency | да | сложный | Информация об агентстве |
Name | да | строка | Название агентства |
Telephone | нет | сложный | Контактный телефон агентства |
Type | да | строка | Тип номера, возможные значения: M - мобильный, H - домашний, B - рабочий, A - агентство |
PhoneNumber | да | строка | Номер телефона |
CountryAccessCode | нет | строка | Код страны |
AreaCityCode | нет | строка | Код региона/города |
Address | да | сложный | Адрес агентства |
City | да | строка | Город, в котором расположено агентство |
StreetAddress | нет | сложный | Адрес агентства в городе (улица, дом, корпус, офис и т.д.) |
PostalCode | нет | строка | Почтовый код, индекс. |
CountryCode | нет | строка | Код страны (RU, UA, US и т.д.) |
Travellers | да | сложный | Контейнер для информации о пассажирах (для которых будет производится поиск перелёта, бронирование) |
Traveller | да | сложный | Информация о пассажире |
Type | да | строка | Тип пассажира возможные значения: ADT - взрослые, CNN - дети, UNN - дети без сопровождения взрослых, INF - младенцы, INS - младенцы с местом |
IsContact | нет | булевский | Индикатор показывающий является ли данное лицо контактным, возможные значение: true - пассажир является контактным лицом, false - не является. Контактное лицо может быть только одно, если среди пассажиров есть взрослые, то только кто-то из них может быть контактным лицом. Если не указано, то по умолчанию false. |
LinkedTo | нет | целое число | Номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной) |
Num | да | число | Номер пассажира. |
PreferedPlace | нет | сложный | Информация о предпочитаемом месте. Если указаны номер ряда и номер места, то параметры Smoking и Location игнорируются и могут быть не указаны. |
SmokingAllowed | нет | булевский | true - место для курящих, false - место для некурящих. По умолчанию false. |
Location | нет | строка | Расположение места, возможные значения: W - у окна (Window); M - где-то в середине ряда (Middle); NPW - возле прохода (NearPassengerWay); NS - нет предпочтения (NotSpecified). |
RowNumber | нет | строка | Номер ряда |
PlaceNumber | нет | строка | Номер места |
SegNumber | да | строка | Номер сегмента |
DocumentInfo | да | сложный | Паспортные данные |
DocType | да | строка | Тип документа, обязательный. |
DocNum | да | строка | Номер документа |
CountryCode | да | строка | Страна выдачи, двух буквенный код(RU, US и т.д.) |
DocElapsedTime | да | строка | Срок истечения срока действия паспорта в фирмате dd.mm.yyyy (например 31.12.2012) |
VisaInfo | нет | сложный | Информация о визе |
Num | да | строка | Номер визы |
IssueDate | да | строка | Дата выдачи визы в формате dd.mm.yyyy |
IssueCountry | да | строка | Страна выдачи визы |
IssuePlace | да | строка | Место выдачи визы |
BirthCountry | нет | строка | Страна рождения (IATA код страны) |
BirthCity | нет | строка | Город рождения (название) |
ArrAddress | нет | сложный | Адрес прибытия, для въезжающих в США (не граждан США) информация является обязательной. Если она не заполняется при оформлении брони, то её всё равно придётся заполнять при посадке на самолёт. |
CountryCode | да | строка | IATA код страны |
State | да | строка | Штат или область въезда |
PostalCode | да | строка | Почтовый код |
City | да | строка | Город |
StreetAddress | да | строка | Адрес: улица, номер дома, квартиры и тп |
DocStringFormats | нет | сложный | Список форматов строк паспортных данных, которые будут отправлены в дополнение к стандартным. |
DocStringFormat | да | строка | Формат данных, возможные значения: DOCS - строка формата DOCS, FOID - строка формата FOID. Установка данных в формате DOCS как правило необходима для последующей выписки в BSP среде. Установка FOID - всреде ТКП. |
PersonalInfo | да | сложный | Персональные данные пассажира |
DateOfBirth | да | строка | Дата рождения в формате dd.mm.yyyy (например 31.12.2000) |
Nationality | да | строка | Национальность/гражданство, двух буквенный код страны (RU, UA, US и т.д.) |
Gender | да | строка | Пол пассажира, обязательный, возможные значения: M - мужской(Male); F - женский(Female). |
FirstName | да | строка | Имя пассажира |
LastName | да | строка | Фамилия пассажира |
BMiddleName | да | строка | Отчество пассажира |
Meal | нет | строка | Код типа питания, возможные значения: NONE - отсутствует (по умолчанию); AVML - Азиатская вегетарианская кухня; BLML - Блюда щадящей диеты; CHML - Детское питание; CHPC - Детский холодный завтрак; СНСС - Детский горячий завтрак; CHHC - Детский ланч, ветчина и сыр; PBJS - Детский ланч, ореховое масло; CHMC - Детский обед макароны с сыром; DBML - Диабетическое питание; FPML - Фрукты; GFML - Питание без клейковины; HFML - Питание богатое клетчаткой; HNML - Индусская кухня; BBML - Питание для младенцев; KSML - Кошерная кухня; SMKB - Кошерный завтрак; SMKL - Кошерный ланч; SMKD - Кошерный обед; LPML - Малобелковое питание; LCML - Низкокалорийное питание; LFML - Низкохолестериновое питание; PRML - Низкопуриновое питание; LSML - Малосоленое питание; MOML - Мюсли; NLML - Безмолочные продукты; ORML - Восточная кухня; RVML - Сырые овощи; SFML - Морепродукты; SPML - Особое питание; VLML - Вегетарианское, молоко и яйца; VGML - Строго вегетарианское питание; VJML - Джайнизское вегетарианское; VOML - Восточное вегетарианское питание. |
LoyaltyCard | нет | сложный | Карточка часто летающего пассажира |
OpCode | да | строка | IATA код компании авиаперевозчика |
Number | да | строка | Номер карточки |
ContactInfo | нет | сложный | Контактная информация для пассажира |
EmailID | нет | строка | Контактный email |
Telephone | нет | сложный | Контактный телефон пассажира, описание аналогично описанию телефона агентства |
CancelBook | да | сложный | Контейнер для тела запроса отмены брони |
BookID | да | число | Номер брони, которая будет отменяться (для которой будет производится выписка, отмена выписки) |
GetAirRules | да | сложный | Контейнер для тела запроса поиска тарифных правил |
AirAvail | да | сложный | Контейнер для тела запроса проверки доступности перелёта |
Ticketing | да | сложный | Контейнер для тела запроса выписки брони |
ValCompany | нет | строка | Валидирующий перевозчик, на бланке которого выписывается билет |
Comission | нет | сложный | Комиссия |
Amount | нет | число с плавающей точкой | Значение комиссии в валюте, если указано, то комиссия в процентах игнорируется |
Percent | нет | число | Комиссия в процентах |
VoidTicket | да | сложный | Контейнер для тела запроса отмены выписки брони |
Search | да | сложный | Контейнер для тела запроса поиска |
ODPairs | да | сложный | Контейнер для информации о перелёте |
Type | да | строка | Тип перелёта, возможные значения: OW - в одну сторону, RT - туда-обратно, CR - сложный маршрут |
Direct | нет | булевский | Индикатор, указывающий какие перелёты искать, только прямые или с пересадками, возможные значения: false - с пересадками, true - только прямые. Если не указан, значение по умолчанию false. |
AroundDates | нет | число | Включает поиск по окружным датам, количество дней +/- от даты заезда/возвращения. Применим только для типов перелёта в одну сторону(OW) и туда-обратно(RT). Возможные значения: 0, 1, 2, 3 |
ODPair | да | сложный | Контейнер для информации о сегменте перелёта. Может повторяться 1-6 раз. Поиск по расписанию использует только первый сегмент, поиск сложных перелётов и перелётов туда и обратно не поддерживается |
DepDate | да | строка | Дата вылета, Формат ГГГГ-MM-DDTЧЧ:ММ:СС |
DepAirp | да | строка | Трёх буквенный код города отправления или конкретного аэропорта в городе отправления. |
ArrAirp | да | строка | Трёх буквенный код города прибытия или конкретного аэропорта в городе прибытия. |
Count | да | число | Число пассажиров данного типа. Общее количество пассажиров всех типов должно быть не более 9. |
Restrictions | нет | сложный | Контейнер дополнительной информации для поиска. |
ClassPref | нет | строка | Предпочитаемый класс перелёта, возможные значения: All - все, Economy - эконом, Business - бизнес, First - первый. Если не указан, то по умолчанию All. |
OnlyAvail | нет | булевский | Искать только доступные, возможные значения: true - только доступные, false - все. Если не указан, то по умолчанию false. |
AirVPrefs | нет | сложный | Обёртка для списка авиакомпаний, по которым будет или не будет проводиться поиск. |
AirVPref | да | сложный | Информация об авиакомпании. |
Include | нет | булевский | Индикатор, показывающий включить или исключить в результатах поиска перелёты данной авиакомпании: true - включить, false - исключить. Если не указан, то по умолчанию false. |
IncludePrivateFare | нет | булевский | Включать приватные цены в результат или нет, возможные значения: true - включать, false - не включать. Если не указан, то по умолчанию false. |
ServiceTypes | нет | сложный хмл | Контейнер массива используемых веб-сервисов при поиске. |
ServiceType | нет | строка | Тип веб-сервиса(поставщика). При указании нескольких элементов ServiceType поиск будет проведён для каждого сервиса. Возможные значения: Sirena2000 - поиск в Сирене; SirenaSchedule - поиск в Сирене по расписанию; SabreLFS - поиск в Сэйбр LFS; SabreBFM - поиск в Сэйбр BFM; SabreSchedule - поиск Сэйбр по расписанию; Galileo - поиск в Галилео; AmadeusMPTBS - поиск в Амадеус. |
DataItems | нет | сложный | Уницифированный блок данных для хранения различного контента брони. |
DataItem | нет | сложный | Контейнер для определенного типа передаваемой с запросом выписки информации. |
Remark | нет | сложный | Контейнер для записи ремарок. |
Type | нет | строка | Тип ремарки. Может принимать значения: General, Itinerary, Invoice, Historical, QueueControl, Vendor, NemoInternal, Confidential, MiniItinerary. |
Text | нет | строка | Содержание ремаркаи. |
Параметры, используемые в ответах
Имя элемента | Обязательный | Тип | Описание |
---|---|---|---|
BookFlightResult | да | сложный | Контейнер для тела ответа бронирования |
ID | да | число | Номер бронирования в системе Nemo. |
Status | да | строка | Статус брони, возможные значения: booked - забронировано, canceled - бронь отменена, ticket - выписана; UNDEFINED - статус не определён. |
Code | да | строка | Номер бронирования в системе поставщика (в sabre, sirena и т.д.)/код тарифного правила |
QueryPlace | нет | сложный | Очередь, в которую помещено бронирование |
Number | да | число | Номер очереди |
Flight | да | сложный | Перелёт, по которому была сделана бронь (Результаты проверки доступности для перелёта) |
Agency | да | сложный | Информация об агентстве |
ItinReceipts | нет | сложный | Маршрут квитанция. Содержит строку в кодировки Encoding (как правило в base64), представляющую маршрут квитанцию в формате Format. |
Encoding | да | строка | Кодировка |
Format | да | строка | Формат |
Travellers | да | сложный | Контейнер для информации о пассажирах |
Traveller | да | сложный | Информация о пассажире |
Ticket | нет | сложный | Билет пассажира. |
TickectNum | да | строка | Номер билета |
Seats | нет | сложный | Контейнер мест пассажира. |
Seat | да | сложный | Место в самолёте |
Number | да | строка | Номер места(ряд+номер в ряду) |
Characteristic | нет | строка | Характеристика места в соответствии со стандартом EDIFACT. См справочник “Таблица характеристик мест”. |
SmokingPreference | нет | строка | Статус курения на этом месте, если Y - место для курящих, если N - место для некурящих. |
SegmentNumber | да | число | Номер сегмента |
PersonalInfo | да | сложный | Личные данные |
LoyaltyCard | нет | сложный | Карточка часто летающего пассажира |
ContactInfo | нет | сложный | Контактная информация для пассажира |
FareStored | нет | срока: Yes/No | Указывает установлена ли / гарантируется ли цена у поставщика. Если параметр отсутствует в ответе, то по умолчанию значение “Yes”. |
CancelBookResult | да | сложный | Контейнер для тела ответа отмены брони |
BookID | да | число | Номер брони, которая отменялась (Номер выписанной брони, выписка которой отменялась) |
Result | да | сложный | Результат отмены (войдирования) |
Success | да | булевский | Индикатор, показывающий успешно или нет прошла отмена, возможные значения: true - успешно отменена (войдирование); false - не отменена |
GetAirRulesResult | да | сложный | Контейнер для тела ответа поиска тарифных правил |
FlightId | да | число | Номер перелёта, для которого найдены тарифные правила (будет проводилась проверка доступности) |
Rules | да | сложный | Контейнер для правил |
Rule | да | сложный | Правило |
Tarrif | да | строка | Код тарифа, для которого правило применяется |
Name | да | строка | Имя правила |
RuleText | да | строка | Текст правила |
AirAvailResult | да | сложный | Контейнер для тела ответа помещения брони в очередь |
IsAvail | да | булевский | Индикатор, показывающий доступность перелёта, возможные значения: true - доступен; false - недоступен |
VoidTicketResult | да | сложный | Контейнер для тела ответа отмены выписки брони |
SearchResult | нет | сложный | Контейнер тела ответа для результатов поиска. |
Flights | да | сложный | Контейнер для перелётов |
Flight | нет | сложный | Представляет информацию о перелёте. Отсутствует если перелётов не найдено (используется в поисковом ответе) |
WebService | да | строка | Веб-сервис (поставщик) от которого был получен перелёт. |
ValCompany | нет | строка | IATA код авиакомпании. Валидирующий перевозчик, на бланках которого должен выписываться билет. |
Segments | да | сложный | Контейнер для сегментов перелёта |
Segment | да | сложный | Представляет информацию о сегменте |
SegNum | да | число | Номер сегмента в перелёте |
DepAirp | да | строка | IATA код аэропорта отправления |
DepTerminal | нет | строка | Код терминала отправления |
ArrAirp | да | строка | IATA код аэропорта прибытия |
ArrTerminal | нет | строка | Код терминала прибытия |
OpAirline | да | строка | Код авиакомпании, выполняющей рейс |
MarkAirline | да | строка | Код авиакомпании, продающей билет |
FlightNumber | да | число | Номер рейса |
AircraftType | да | строка | Код типа самолёта |
DepDateTime | да | строка | Дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС |
ArrDateTime | да | строка | Дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС |
StopNum | да | число | Число остановок |
Meal | да | строка | Тип питания, возможные значения: UNDEFINED - неизвестно; N - Нет питания; P - Алкогольные напитки в продаже; B - Завтрак; O - Холодная еда; C - Бесплатные алкогольные напитки; K - Континтальный завтрак; D - Обед; F - Еда в продаже; G - Еда/напитки в продаже; H - Горячая еда; L - Ланч; M - Еда; R - Освежающие еда/напитки бесплатно; V - Освежающие еда/напитки за отдельную плату; S - Закуска |
BookingCodes | да | сложный | Контейнер для классов перелёта. |
BookingCode | да | строка | Код класса перелёта. Если производится поиск по расписанию, то может встречаться несколько раз. Содержит информацию о классе перелета определенного сегмента. |
FlightTime | нет | число | Время перелёта в минутах |
TimeZone | нет | сложный | Информация о временных зона прибытия и отправления |
Departure | да | число | Часовой пояс отправления, UTC (смещение относительно Гринвича) |
Arrival | да | число | Часовой пояс прибытия, UTC (смещение относительно Гринвича) |
ETicket | да | булевский | Индикатор электронного билета, возможные значения: true - билет является электронным, false - билет не является электронным. |
Baggage | нет | сложный | Информация о багаже |
Measure | да | строка | Мера веса. K - килограммы, PC - сумки/клади |
Value | да | строка | Количество багажа |
PricingInfo | нет | сложный | Контейнер для информации о ценах. Отсутствует в случае, если производится поиск по расписанию. |
Refundable | да | булевский | Индикатор показывающий является ли билет возвратным или нет, возможные значения: true - возвратный (нет штрафов за возврат), false - невозвратный (могут быть штрафы за возврат) |
PassengerFare | да | сложный | Информация о ценах для конкретного типа пассажиров. |
Quantity | да | число | Число пассажиров данного типа |
BaseFare | да | сложный | Цена в базовой валюте(за одного пассажира) |
EquiveFare | нет | сложный | Цена в эквивалентной валюте(за одного пассажира), при поиске цены не возвращается |
TotalFare | нет | сложный | Полная стоимость для пассажиров данного типа включая таксы (за одного пассажира), при поиске цены не возвращается |
Currency | да | строка | Трёх буквенный код валюты. |
Amount | да | число с плавающей точкой | Значение стоимости. |
Taxes | нет | сложный | Контейнер для такс, при поиске цены не возвращается |
Tax | да | сложный | Одна такса |
CurCode | да | строка | Трёх буквенный код валюты для таксы |
TaxCode | да | строка | Код таксы |
Amount | да | число с плавающей точкой | Значение таксы |
Tariffs | да | сложный | Контейнер для тарифов |
Tariff | да | сложный | Контейнер для одного тарифа |
Code | да | строка | Код тарифа |
SegNum | да | число | Номер сегмента для которого применяется тариф, если тариф применяется для всех сегментов, то возвращается 0. |
FareCalc | нет | строка | Строка расчёта цены |
LastTicketDateTime | да | строка | Дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС по московскому времени. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы. |