Интеграция со сторонними системами АПИ: различия между версиями
м (→API Авиабилетов) |
м (→API Авиабилетов) |
||
Строка 1: | Строка 1: | ||
==API Авиабилетов== | ==API Авиабилетов== | ||
− | + | Чтобы авторизоваться в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий, совершенных через АПИ. | |
=== API Поиска авиабилетов === | === API Поиска авиабилетов === |
Текущая версия на 14:43, 28 ноября 2018
Содержание
API Авиабилетов
Чтобы авторизоваться в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий, совершенных через АПИ.
API Поиска авиабилетов
Это сервис внутри Nemo, который позволяет получить результаты поиска.
Для подключения к веб-службе поиска авиабилетов необходимо открыть доступ нужному пользователю. Это можно сделать в разделе «Администрирование» ⇨ «Веб-служба. Авторизация».
Подробнее можно узнать в специальной статье Веб-служба поиска авиабилетов
API Бронирования авиабилетов
Сервис позволяет забронировать/войдировать авиабилет с использованием API, описание подключения, запроса, ответов находится в этой статье Веб-служба бронирования
API Выписки авиабилетов
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета. Веб-служба выписки
API Оплаты
Сервис внутри Nemo, который предназначен для выполнения различных операций, относящихся к оплате заказов. Агентские АПИ оплаты
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 - поиск в Амадеус. |
Параметры, используемые в ответах
Имя элемента | Обязательный | Тип | Описание |
---|---|---|---|
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ЧЧ:ММ:СС. Если бронирование не будет аннулировано или выписано до этого времени, то могут быть применены штрафы. |
API Отелей
Агентский API Отелей - система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.
Подробнее можно узнать в нашей специальной статье Агентский АПИ отелей
Выгрузки статистики продаж через API (Метапоиск)
Метапоисковая система (метапоисковая машина, метапоисковик) — это поисковая система, которая в отличие от классических поисковых машин не имеет собственной базы данных и собственного поискового индекса, а формирует поисковую выдачу за счет смешивания и переранжирования результатов поиска других поисковых систем.
В разделе статистики заказов из метапоисков можно получить данные по статистике метапоиска (по источнику переходов модуля метрики) за определенный период бронирования заказов в виде файла данных в формате XML.
Можно получить список заказов с их статусом (забронирован, выписан, аннулирован), сделанных через метапоисковую систему.
Подробнее можно узнать в статье посвященной взаимодействию с метопоисковиками Взаимодействие с метапоисковиками
Выгрузка информации о заказах
Выгрузка заказов — это экспорт данных заказа или заказов для различных компонентов системы Nemo. Модуль позволяет внешней системе получать данные по заказам для дальнейшей обработки. Подробнее о процессе выгрузки, настройках, форматах выгрузки для различных компонент можно прочитать в статье Выгрузка
API Синхронизации пользователей и субагентов
Назначение данного модуля — обеспечение взаимодействия между сторонней программой (например, системой автоматизации туроператора "САМО-тур") и Nemo в части синхронизации списка B2B-пользователей. Модуль является компонентом, включаемым и отключаемым из административной части.
О механизме авторизации B2B-пользователей, синхронизации учетных записей можно прочитать в статье Синхронизация пользователей
API Кроссавторизации
Авторизация пользователей из внешних систем — Система Nemo позволяет обращаться к ней как базе пользователей для авторизации из других систем (например форума на сайте, собственного ПО компании и т.п)
Для этого нужно подключиться к веб-службе авторизации, WSDL-описание которой располагается по адресу:
http://hostname/authorization_reol.wsdl
Запрос
?xml version ='1.0' encoding ='UTF-8' ?> <definitions name='Authorization' targetNamespace='http://example.org/Authorization' xmlns:tns=' http://example.org/Authorization ' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns='http://schemas.xmlsoap.org/wsdl/'> <message name='getAuthorizationRequest'> <part name='login' type='xsd:string'/> <part name='pass' type='xsd:string'/> </message> <message name='getAuthorizationResponse'> <part name='session_id' type='xsd:string'/> <part name='user_id' type='xsd:string'/> <part name='login' type='xsd:string'/> <part name='status' type='xsd:string'/> </message> <portType name='AuthorizationPortType'> <operation name='getAuthorization'> <input message='tns:getAuthorizationRequest'/> <output message='tns:getAuthorizationResponse'/> </operation> </portType> <binding name='AuthorizationBinding' type='tns:AuthorizationPortType'> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='getAuthorization'> <soap:operation soapAction='urn:xmethods-delayed-quotes#getAuthorization'/> <input> <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </input> <output> <soap:body use='encoded' namespace='urn:xmethods-delayed-quotes' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/> </output> </operation> </binding> <service name='AuthorizationService'> <port name='AuthorizationPort' binding='AuthorizationBinding'> <soap:address location='http://nemo.local/controllers/authorization/auth_server.php'/> </port> </service> </definitions>
Передача параметров в форму поиска (FastSearch)
В системе Nemo имеется возможность перенаправлять пользователей на страницу с уже заполненными параметрами поиска или сразу напрямую на результаты поиска.
Примеры FastSearch запросов и используемые переменные подробно описаны в статье FastSearch - передача параметров в форму
FastSearch так же работает и для отелей, подробности в статье Fast Search для отелей