XML - результаты поиска/Поиск туров/Интерфейс - Результаты поиска
Материал из TourClient - Руководство пользователя
Версия от 19:06, 8 июля 2014; Jeka (обсуждение | вклад)
Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/tours_export .
Где user_id - ID пользователя AgentPassport.
POST-параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Запрос к сервису
<?xml version="1.0" encoding="UTF-8"?> <Request> <TourSearchRequest> <dataOffset>0</dataOffset> <!-- Смещение блока запрашиваемого данных, относительно всех найденных результатов. --> <dataLimit>50</dataLimit> <!-- Размер блока данных. --> <!-- Суммарно эти параметры опеределяют запрошенную страницу --> <seatStatus>3</seatStatus> <!-- --> <cityId>1000</cityId> <!-- Идентификатор города вылета. --> <countryId>12</countryId> <!-- Идентификатор страны прилета. --> <roomSizeId>14</roomSizeId> <!-- Идентификатор размещения (DBL,SNGL,TRL...). --> <adults>2</adults> <!-- Количество взрослых. --> <children>0</children> <!-- Количество детей. --> <childAge1>0</childAge1> <!-- Возраст первого ребенка. --> <childAge2>0</childAge2> <!-- Возраст второго ребенка. --> <durationFrom>7</durationFrom> <!-- Продолжительность (количество ночей в отеле). ОТ. --> <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО. --> <departureFrom>2014-07-25</departureFrom> <!-- Дата вылета ОТ. --> <departureTill>2014-08-10</departureTill> <!-- Дата вылета ДО. --> <ticket>1</ticket> <!-- Наличие билета. Пустое значение - все туры. true - только с билетом включенным в стоимость. false - только без билета 1 - только с авиабилетом, 2 - только с ж/д билетом, 3 - только с билетом на автобус, 4 - только с билетом на паром 5 - только с билетом на автомобиль --> <currency>3</currency> <!-- Валюта, в которой необходимо вернуть цены (валюта запроса). --> <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH --> <priceFrom>500</priceFrom> <!-- Цена от (в валюте запроса). --> <priceTill>50000</priceTill> <!-- Возраст первого ребенка. --> <operatorIds> <!-- Массив идентификаторов туроператоров. --> <id>111</id> <id>222</id> <id>333</id> </operatorIds> <resortIds> <!-- Массив идентификаторов курортов. --> <id>111</id> <id>222</id> <id>333</id> </resortIds> <resortPlaceIds> <!-- Массив идентификаторов районов. --> <id>111</id> <id>222</id> <id>333</id> </resortPlaceIds> <allocCatId>7</allocCatId> <!-- Идентификатор категории отеля. --> <allocRate>3.56</allocRate> <!-- Рейтинг отеля (не менее заданного) --> <allocationIds> <!-- Массив идентификаторов отелей. --> <id>111</id> <id>222</id> <id>333</id> </allocationIds> <mealIds> <!-- Массив идентификаторов питаний. --> <id>111</id> <id>222</id> <id>333</id> </mealIds> <roomViewIds> <!-- Массив идентификаторов видов из номера. --> <id>111</id> <id>222</id> <id>333</id> </roomViewIds> <roomTypeIds> <!-- Массив идентификаторов типов номеров. --> <id>111</id> <id>222</id> <id>333</id> </roomTypeIds> </TourSearchRequest> <TourExtraEntities> <!-- Дополнительные объекты которые нужно добавить к объекту тур. Возможные значения перечислены в ниже. --> <entity>OnlineSeatsState</entity> <entity>ExtraCharges</entity> <entity>City</entity> <entity>Country</entity> <entity>RoomSize</entity> <entity>Resort</entity> <entity>ResortPlace</entity> <entity>Allocation</entity> <entity>AllocCat</entity> <entity>Meal</entity> <entity>RoomType</entity> <entity>RoomView</entity> <entity>Operator</entity> </TourExtraEntities> </Request>
Ответ сервиса
Сервис возвращает ответ, содержащий массив объектов Тур (Tours) и объект Статус поиска (SearchStatus)
<?xml version="1.0" encoding="UTF-8"?> <Result> <Tours> <Tour>...</Tour> <Tour>...</Tour> <Tour>...</Tour> ... </Tours> <SearchStatus> ... </SearchStatus> </Result>
Подробное описание возвращаемых данных можно посмотреть в Описании объектов.
В случае ошибки сервис вернет:
<?xml version="1.0" encoding="UTF-8"?> <Result> <Error>Текст ошибки</Error> </Result>