XML - результаты поиска/Информация о туре из онлайна/Интерфейс — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(Работа таймаута)
 
Строка 66: Строка 66:
  
 
'''Таким образом реально время за которое будет получен ответ будет от 0.5  до 1.5 указанного таймаута.'''
 
'''Таким образом реально время за которое будет получен ответ будет от 0.5  до 1.5 указанного таймаута.'''
 +
 +
 +
Максимальный таймаут 40 секунд.

Текущая версия на 16:43, 6 февраля 2019

Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/tours_export .

Где user_id - ID пользователя AgentPassport.

POST-параметр request должен содержать xml запроса.

В результате сервис вернет ответ в формате xml.

Запрос к сервису

  • Для получения информации о туре необходимо указать id тура.


<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <TourOperatorInfoRequest>
        <id>217120061249@801</id>
        <id>111865431765@805</id>
        <id>215067975086@807</id>
        <fromCacheOnly/> <!-- [Опционально]Получать информацию только из кеша. -->
        <background/>  <!-- [Опционально]Обрабатывать запрос в фоновом режиме. -->
        <timeout>30</timeout> <!-- [Опционально]Задает таймаут на ожидание ответа в секундах. -->
    </TourOperatorInfoRequest>
</Request>


Ответ сервиса

Сервис возвращает ответ, содержащий объект TourInfo

<?xml version="1.0" encoding="UTF-8"?>
<Result>
    <TourInfo>...</TourInfo>
</Result>

Подробное описание возвращаемых данных можно посмотреть в Описании объектов.


В случае ошибки сервис вернет:

<?xml version="1.0" encoding="UTF-8"?>
<Result>
    <Error code="код ошибки">Текст ошибки</Error>
</Result>

Внимание! Атрибут с кодом ошибки может отсутствовать!

Работа таймаута

На данный момент данный параметр является компромиссным вариантом между ограничениями накладываемыми используемой технологией и "честным" таймаутом. (Используемая технология предоставляет таймаут на получение порции данных, а не полное время ожидания).

По этому логика работы таймаута следующая:

  • ждем первую порцию данных не больше 0,5 указанного таймаута, недождавшись обрываем.
  • в случае непрерывного получения данных обрываем по указанному таймауту.
  • в случае получения порции данных оставшуюся ждем не более 0.5 таймаута.

Таким образом реально время за которое будет получен ответ будет от 0.5 до 1.5 указанного таймаута.


Максимальный таймаут 40 секунд.