XML - результаты поиска/Информация о туре из онлайна/Интерфейс
Работа с сервисом осуществляется путем отправки 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 секунд.