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

Материал из TourClient - Руководство пользователя
Версия от 16:43, 6 февраля 2019; Jeka (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Работа с сервисом осуществляется путем отправки 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 секунд.