XML экспорт/Интеграция — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(Алгоритм работы)
Строка 37: Строка 37:
  
 
=== Алгоритм работы ===
 
=== Алгоритм работы ===
 +
 +
# Пользователь запрашивает страницу с информацией по туру на сайте клиента
 +
# Сайт клиента формирует запрос к сервису [[XML_-_результаты_поиска/Информация_о_туре/Интерфейс|Информация о туре]] API TourClient:
 +
#* в запросе указывается Id тура
 +
# API TourClient возвращает информацию о туре
 +
# Сайт клиента инициирует запрос к сервису [[XML_-_результаты_поиска/Информация_о_туре_из_онлайна/Интерфейс|Информация о туре (онлайн)]] API TourClient:
 +
#* опрашивать сервис нужно без блокировки действий пользователя
 +
#* время ответа зависит от системы туроператора и может доходить до 30 сек
 +
#* в случае невозможности получить данные от туроператора сервис вернет ошибку, эта ситуация должна корректно обрабатываться для пользователя
 +
# Сайт клиента обновляет информацию для тура о цене, наличии мест, вылетах и т.п.
 +
# Пользователь бронирует тур
 +
# Cайт клиента формирует запрос к сервису [[XML_-_бронирование/Отправка_заявки|Отправка заявки]] API TourClient:
 +
#* в ответе возвращается id заказа в системе TourClient
 +
# Номер заказа показывается пользователю
 +
# Система TourClient отправляет уведомление на указанный пользователем email с данными заказа

Версия 20:17, 1 июня 2016

Поиск туров

API tour search.png


Алгоритм работы

  1. Пользователь инициирует новый поиск на сайте клиента
  2. Сайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Поиск 1-ой страницы (offset = 0, limit = размер страницы, обычно 25-50 туров)
  3. API TourClient производит поиск и возвращает указанное количество туров:
    • среднее время поиска 5-7 сек
    • в ответе содержится также ключ запроса (SearchStatus.key)
  4. Сайт клиента инициирует периодический опрос сервис Статус поиска API TourClient:
    • опрашивать сервис целесообразно с частотой 2-3 сек
    • ответ возвращается сразу же
    • в ответе содержится информация об окончании поиска SearchStatus.inProgress
  5. Сайт клиента обновляет количество найденных туров и количество страниц до тех пор пока не получит ответе статус окончания поиска:
    • SearchStatus.inProgress = false
  6. Сайт клиента (при необходимости) показывает пользователю сообщение о завершении поиска с предложением обновить результаты
  7. Пользователь нажимает "обновить результаты"
  8. Cайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Параметры поискового запроса идентичные запросу в п.2
    • Ответ возвращается сразу же из кеша результатов поиска


Для показа следующих страниц:

  1. Пользователь инициирует переход на нужную страницу
  2. Сайт клиента формирует запрос к сервису Результаты поиска API TourClient:
    • Параметры поискового запроса идентичные запросу производимому на при поиске
    • offset и limit выставляются в соответствии с запрошенной страницей
    • Ответ возвращается сразу же из кеша результатов поиска
    • Время жизни ответа в кеше 15 минут


Заказ тура

API tour book.png

Алгоритм работы

  1. Пользователь запрашивает страницу с информацией по туру на сайте клиента
  2. Сайт клиента формирует запрос к сервису Информация о туре API TourClient:
    • в запросе указывается Id тура
  3. API TourClient возвращает информацию о туре
  4. Сайт клиента инициирует запрос к сервису Информация о туре (онлайн) API TourClient:
    • опрашивать сервис нужно без блокировки действий пользователя
    • время ответа зависит от системы туроператора и может доходить до 30 сек
    • в случае невозможности получить данные от туроператора сервис вернет ошибку, эта ситуация должна корректно обрабатываться для пользователя
  5. Сайт клиента обновляет информацию для тура о цене, наличии мест, вылетах и т.п.
  6. Пользователь бронирует тур
  7. Cайт клиента формирует запрос к сервису Отправка заявки API TourClient:
    • в ответе возвращается id заказа в системе TourClient
  8. Номер заказа показывается пользователю
  9. Система TourClient отправляет уведомление на указанный пользователем email с данными заказа