XML - результаты поиска/Поиск туров/Интерфейс - Сводный прайс по ночам
Материал из TourClient - Руководство пользователя
Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/tours_export .
Где user_id - ID пользователя AgentPassport.
POST-параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Запрос к сервису
- Все параметры DepartureDurationRequest задают ограничения на найденные в результате запроса туры
- Если параметр не задан, это означает что такого ограничения нет и поиск от данного параметра не зависит
- Работа параметра SeatStatus подробнее описана в Ограничение результатов запроса по наличию мест.
- Работа параметра currency подробнее описана в Пересчет цен в запрошенную валюту.
<?xml version="1.0" encoding="UTF-8"?> <Request> <DepartureDurationRequest> <cityId>1000</cityId> <!-- Идентификатор города вылета (по умолчанию - 1000). --> <countryId>12</countryId> <!-- Идентификатор страны прилета (по умолчанию - 30). --> <operatorIds> <!-- Массив идентификаторов тур.операторов. --> <id>111</id> <id>222</id> <id>333</id> </operatorIds> <resortIds> <!-- Массив идентификаторов курортов. --> <id>111</id> <id>222</id> <id>333</id> </resortIds> <roomSizeId>14</roomSizeId> <!-- Идентификатор размещения (DBL,SNGL,TRL...) (по умолчанию - 14). --> <durationFrom>7</durationFrom> <!-- Продолжительность (количество ночей в отеле). ОТ (по умолчанию - 7). --> <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО (по умолчанию - 7). --> <departureFrom>2014-07-25</departureFrom> <!-- Дата вылета ОТ (по умолчанию - текущая дата + неделя). --> <departureTill>2014-08-10</departureTill> <!-- Дата вылета ДО (по умолчанию - текущая дата + неделя + 1 день). --> <priceFrom>500</priceFrom> <!-- Цена ОТ (в валюте запроса). --> <priceTill>50000</priceTill> <!-- Цена ДО (в валюте запроса). --> <currency>3</currency> <!-- [Обязательно] Валюта, в которой необходимо вернуть цены (валюта запроса). --> <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH (по умолчанию - 3)--> <allocationIds> <!-- Массив идентификаторов отелей. --> <id>111</id> <id>222</id> <id>333</id> </allocationIds> <allocCatIds> <!--Идентификатор категории отеля. --> <id>7</id> <id>8</id> <id>9</id> </allocCatIds> <allocRate>3.56</allocRate> <!-- Рейтинг отеля (не менее заданного) --> <seatStatus>3</seatStatus> <!-- Наличие мест. 1 - есть места, 2 - по запросу, 3 - все туры, 6 - есть места на эконом рейс, отель не в стопе (по умолчанию - 3) --> </DepartureDurationRequest> <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> <entity>ComboTour</entity> <!-- Признак комбинированного тура --> <entity>OfferFlags</entity> <!-- Флаги тура (promoPrice, ComboTour, hasProgram) --> </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 code="код ошибки">Текст ошибки</Error> </Result>
Внимание! Атрибут с кодом ошибки может отсутствовать!