Схема использования агентского API (workflow): различия между версиями
Перейти к навигации
Перейти к поиску
м (→Рекомендуемая схема для работы с заказом через API) |
|||
(не показано 26 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | '''Агентский | + | [[Категория:Интеграция]] |
+ | [[Категория:Агентский API]] | ||
+ | '''Агентский API [[Авиабилеты_(компонент)|Авиабилеты]]''' интегрирует ваши приложения с модулями системы [http://www.nemo.travel Nemo.Travel] по [[Поиск_(Авиабилеты)|поиску]] перелетов в Глобальных Распределительных Системах ([[ГРС]]), последующему [[Бронирование_(Авиабилеты)|бронированию]], [[Выписка|оформлению электронных билетов]], [[Обмен_и_возврат_авиабилетов|возврату и обмену]] оформленных авиабилетов, [[Синхронизация_заказов|синхронизации бронирований в ГРС]]. Подробнее об API см. [[Агентский интерфейс прикладного программирования (Агентский API)]], [[Агентский API Авиабилеты]]. | ||
− | ==Рекомендуемая схема работы API== | + | ==Рекомендуемая схема для работы с заказом через API== |
− | {{NameSystem}} рекомендует для оформления заказов онлайн в компоненте Авиа строить последовательность АПИ-запросов следующим образом: | + | {{NameSystem}} рекомендует агентам для оформления заказов онлайн в компоненте Авиа строить последовательность АПИ-запросов к системе следующим образом: |
− | # '''Поиск перелетов''' | + | #'''Поиск перелетов''' — Запрос [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2 SearchFlights]. |
− | # ''' | + | #'''Получение семейств тарифов''' — выполнить запрос получения семейств тарифов для определенного перелета [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.B5.D0.BC.D0.B5.D0.B9.D1.81.D1.82.D0.B2.D0.B0_.D1.82.D0.B0.D1.80.D0.B8.D1.84.D0.BE.D0.B2_.D0.B4.D0.BB.D1.8F_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D0.B5.D1.80.D0.B5.D0.BB.D0.B5.D1.82.D0.B0 GetFareFamilies]. Если были найдены семейства тарифов, то для их применения необходимо использовать выбранный FlightId из результатов поиска семейств тарифов. |
− | # '''Бронирование''' | + | #'''Создание отложенного заказа''' — запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BE.D1.82.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0_.D0.B2_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D0.B5_Nemo EmptyBook] создаст в системе Nemo заказ, который еще не забронирован в ГРС. В запросе рекомендуется применить дополнительную операцию ActualizeFlight (актуализация перелета в гдс), которая позволит убедиться в доступности перелета для бронирования. |
+ | #'''Актуализация перелета без создания отложенного заказа''' — имеется возможность выполнить проверку доступности без создания отложенного заказа в системе Nemo [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.9F.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B0_.D0.BD.D0.B0_.D0.B4.D0.BE.D1.81.D1.82.D1.83.D0.BF.D0.BD.D0.BE.D1.81.D1.82.D1.8C AirAvail]. | ||
+ | # '''Бронирование''' — запрос выполняется после ввода данных пассажиров. Запрос [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B1%D1%80%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F BookFlight]. В случае использования семейств тарифов в запросе бронирования необходимо использовать ID перелета, полученный в ответе на запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.B5.D0.BC.D0.B5.D0.B9.D1.81.D1.82.D0.B2.D0.B0_.D1.82.D0.B0.D1.80.D0.B8.D1.84.D0.BE.D0.B2_.D0.B4.D0.BB.D1.8F_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D0.B5.D1.80.D0.B5.D0.BB.D0.B5.D1.82.D0.B0 GetFareFamilies]. | ||
# '''Оплата заказа''': | # '''Оплата заказа''': | ||
## Если пользователь переходит к оплате заказа позднее, чем через 5 минут после бронирования, то прежде чем перенаправить пользователя на страницу оплаты, необходимо выполнить '''синхронизацию заказа с ГРС''' для актуализации информации о заказе. Помогает предотвратить возможную оплату недоступного заказа, заказов с аннулированными со стороны авиакомпании сегментами, а так же оплату заказа с изменившейся ценой по старой стоимости. Запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0 UpdateBook]. | ## Если пользователь переходит к оплате заказа позднее, чем через 5 минут после бронирования, то прежде чем перенаправить пользователя на страницу оплаты, необходимо выполнить '''синхронизацию заказа с ГРС''' для актуализации информации о заказе. Помогает предотвратить возможную оплату недоступного заказа, заказов с аннулированными со стороны авиакомпании сегментами, а так же оплату заказа с изменившейся ценой по старой стоимости. Запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0 UpdateBook]. | ||
− | ## '''Оплата заказа'''. Запрос [[Агентский | + | ## '''Оплата заказа'''. Запрос [[Агентский API Оплата#Фиксации оплаты через Агентский АПИ|PayOrder]]. |
# '''Выписка билетов''': | # '''Выписка билетов''': | ||
− | ## '''Синхронизация заказа с ГРС''' | + | #* В случае, если используется автовыписка заказа после успешной оплаты: |
+ | ## '''Обновление заказа''' — обновление заказа для получения номеров выписанных билетов. Запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0 UpdateBook]. | ||
+ | #* В случае, если ''не'' используется автовыписка заказа после успешной оплаты: | ||
+ | ## '''Синхронизация заказа с ГРС''' — проверка статуса оплаты и актуализация информации о заказе перед выпиской. Запрос [http://support.nemo.travel/ru/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D1%8B_%D0%90%D0%9F%D0%98_%D0%B0%D0%B2%D0%B8%D0%B0%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.97.D0.B0.D0.BF.D1.80.D0.BE.D1.81_.D0.BD.D0.B0_.D0.BE.D0.B1.D0.BD.D0.BE.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D0.B0.D0.B7.D0.B0 UpdateBook]. | ||
## '''Выписка билетов'''. Запрос [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D1%8B%D0%BF%D0%B8%D1%81%D0%BA%D0%B8 Ticketing]. | ## '''Выписка билетов'''. Запрос [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D1%8B%D0%BF%D0%B8%D1%81%D0%BA%D0%B8 Ticketing]. | ||
# При необходимости можно выполнить '''отмену выписанной брони'''. | # При необходимости можно выполнить '''отмену выписанной брони'''. | ||
Строка 20: | Строка 27: | ||
#*# Запросите '''сумму к возврату''' на всех пассажиров [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0_%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.B7.D0.B0.D0.BF.D1.80.D0.BE.D1.81.D0.B0_.2F_.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.D0.BF.D0.BE_.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D1.83_.D0.B0.D0.B2.D0.B8.D0.B0.D0.B1.D0.B8.D0.BB.D0.B5.D1.82.D0.BE.D0.B2 GetRefundData]. | #*# Запросите '''сумму к возврату''' на всех пассажиров [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0_%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.B7.D0.B0.D0.BF.D1.80.D0.BE.D1.81.D0.B0_.2F_.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D0.B0_.D0.BF.D0.BE.D0.BB.D1.83.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B8.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D0.B8.D0.B8_.D0.BF.D0.BE_.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D1.83_.D0.B0.D0.B2.D0.B8.D0.B0.D0.B1.D0.B8.D0.BB.D0.B5.D1.82.D0.BE.D0.B2 GetRefundData]. | ||
#*# Выполните '''запрос на возврат''' [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0_%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.B7.D0.B0.D0.BF.D1.80.D0.BE.D1.81.D0.B0_.2F_.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D0.B0_.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D0.B0_.D0.B0.D0.B2.D0.B8.D0.B0.D0.B1.D0.B8.D0.BB.D0.B5.D1.82.D0.BE.D0.B2 RefundTicket]. | #*# Выполните '''запрос на возврат''' [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B2%D0%BE%D0%B7%D0%B2%D1%80%D0%B0%D1%82%D0%B0_%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D0%BE%D0%B2#.D0.9E.D0.B1.D1.89.D0.B8.D0.B9_.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D0.B7.D0.B0.D0.BF.D1.80.D0.BE.D1.81.D0.B0_.2F_.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D0.B0_.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.82.D0.B0_.D0.B0.D0.B2.D0.B8.D0.B0.D0.B1.D0.B8.D0.BB.D0.B5.D1.82.D0.BE.D0.B2 RefundTicket]. | ||
− | + | ||
− | |||
− | |||
{| class="wikitable" style="margin: auto;" | {| class="wikitable" style="margin: auto;" | ||
Строка 32: | Строка 37: | ||
==См. также== | ==См. также== | ||
− | * [[Агентский | + | * [[Агентский интерфейс прикладного программирования (Агентский API)]] |
− | * [[Агентский | + | * [[Агентский API Авиабилеты]] |
+ | * [[Агентский API Оплата]] | ||
+ | * [[Веб-служба поиска авиабилетов]] | ||
* [[Веб-служба бронирования]] | * [[Веб-служба бронирования]] | ||
* [[Веб-служба выписки]] | * [[Веб-служба выписки]] | ||
− | |||
* [[Синхронизация заказов]] | * [[Синхронизация заказов]] |
Текущая версия на 18:26, 19 декабря 2018
Агентский API Авиабилеты интегрирует ваши приложения с модулями системы Nemo.Travel по поиску перелетов в Глобальных Распределительных Системах (ГРС), последующему бронированию, оформлению электронных билетов, возврату и обмену оформленных авиабилетов, синхронизации бронирований в ГРС. Подробнее об API см. Агентский интерфейс прикладного программирования (Агентский API), Агентский API Авиабилеты.
Рекомендуемая схема для работы с заказом через API
Nemo.Travel рекомендует агентам для оформления заказов онлайн в компоненте Авиа строить последовательность АПИ-запросов к системе следующим образом:
- Поиск перелетов — Запрос SearchFlights.
- Получение семейств тарифов — выполнить запрос получения семейств тарифов для определенного перелета GetFareFamilies. Если были найдены семейства тарифов, то для их применения необходимо использовать выбранный FlightId из результатов поиска семейств тарифов.
- Создание отложенного заказа — запрос EmptyBook создаст в системе Nemo заказ, который еще не забронирован в ГРС. В запросе рекомендуется применить дополнительную операцию ActualizeFlight (актуализация перелета в гдс), которая позволит убедиться в доступности перелета для бронирования.
- Актуализация перелета без создания отложенного заказа — имеется возможность выполнить проверку доступности без создания отложенного заказа в системе Nemo AirAvail.
- Бронирование — запрос выполняется после ввода данных пассажиров. Запрос BookFlight. В случае использования семейств тарифов в запросе бронирования необходимо использовать ID перелета, полученный в ответе на запрос GetFareFamilies.
- Оплата заказа:
- Если пользователь переходит к оплате заказа позднее, чем через 5 минут после бронирования, то прежде чем перенаправить пользователя на страницу оплаты, необходимо выполнить синхронизацию заказа с ГРС для актуализации информации о заказе. Помогает предотвратить возможную оплату недоступного заказа, заказов с аннулированными со стороны авиакомпании сегментами, а так же оплату заказа с изменившейся ценой по старой стоимости. Запрос UpdateBook.
- Оплата заказа. Запрос PayOrder.
- Выписка билетов:
- В случае, если используется автовыписка заказа после успешной оплаты:
- Обновление заказа — обновление заказа для получения номеров выписанных билетов. Запрос UpdateBook.
- В случае, если не используется автовыписка заказа после успешной оплаты:
- Синхронизация заказа с ГРС — проверка статуса оплаты и актуализация информации о заказе перед выпиской. Запрос UpdateBook.
- Выписка билетов. Запрос Ticketing.
- При необходимости можно выполнить отмену выписанной брони.
- Если время на войдирование не истекло (зависит от ГДС), то:
- Выполните запрос войдирования VoidTicket.
- Выполните запрос аннуляции брони CancelBook.
- Если время на войдирование истекло, то необходимо выполнить возврат, для этого:
- Запросите сумму к возврату на всех пассажиров GetRefundData.
- Выполните запрос на возврат RefundTicket.
- Если время на войдирование не истекло (зависит от ГДС), то:
Рекомендуемая схема работы API Авиабилеты |