XML экспорт/Интеграция — различия между версиями
Материал из TourClient - Руководство пользователя
Jeka (обсуждение | вклад) |
Jeka (обсуждение | вклад) (→Алгоритм работы) |
||
Строка 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 TourClient:
- Поиск 1-ой страницы (offset = 0, limit = размер страницы, обычно 25-50 туров)
- API TourClient производит поиск и возвращает указанное количество туров:
- среднее время поиска 5-7 сек
- в ответе содержится также ключ запроса (SearchStatus.key)
- Сайт клиента инициирует периодический опрос сервис Статус поиска API TourClient:
- опрашивать сервис целесообразно с частотой 2-3 сек
- ответ возвращается сразу же
- в ответе содержится информация об окончании поиска SearchStatus.inProgress
- Сайт клиента обновляет количество найденных туров и количество страниц до тех пор пока не получит ответе статус окончания поиска:
- SearchStatus.inProgress = false
- Сайт клиента (при необходимости) показывает пользователю сообщение о завершении поиска с предложением обновить результаты
- Пользователь нажимает "обновить результаты"
- Cайт клиента формирует запрос к сервису Результаты поиска API TourClient:
- Параметры поискового запроса идентичные запросу в п.2
- Ответ возвращается сразу же из кеша результатов поиска
Для показа следующих страниц:
- Пользователь инициирует переход на нужную страницу
- Сайт клиента формирует запрос к сервису Результаты поиска API TourClient:
- Параметры поискового запроса идентичные запросу производимому на при поиске
- offset и limit выставляются в соответствии с запрошенной страницей
- Ответ возвращается сразу же из кеша результатов поиска
- Время жизни ответа в кеше 15 минут
Заказ тура
Алгоритм работы
- Пользователь запрашивает страницу с информацией по туру на сайте клиента
- Сайт клиента формирует запрос к сервису Информация о туре API TourClient:
- в запросе указывается Id тура
- API TourClient возвращает информацию о туре
- Сайт клиента инициирует запрос к сервису Информация о туре (онлайн) API TourClient:
- опрашивать сервис нужно без блокировки действий пользователя
- время ответа зависит от системы туроператора и может доходить до 30 сек
- в случае невозможности получить данные от туроператора сервис вернет ошибку, эта ситуация должна корректно обрабатываться для пользователя
- Сайт клиента обновляет информацию для тура о цене, наличии мест, вылетах и т.п.
- Пользователь бронирует тур
- Cайт клиента формирует запрос к сервису Отправка заявки API TourClient:
- в ответе возвращается id заказа в системе TourClient
- Номер заказа показывается пользователю
- Система TourClient отправляет уведомление на указанный пользователем email с данными заказа