XML - связи фильтров/Экспорт связей фильтров формы поиска
Материал из TourClient - Руководство пользователя
Версия от 17:20, 14 июля 2016; Levenets (обсуждение | вклад)
Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/filters_export .
Где user_id - ID пользователя AgentPassport.
POST-параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Запрос к сервису
<?xml version="1.0" encoding="UTF-8"?> <Request> <cityId>1000</cityId> <countryId>12</countryId> <durationFrom>7</durationFrom> <!-- Продолжительность (количество ночей в отеле). ОТ. --> <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО. --> <departure>2015-01-25</departure> <arrival>2015-02-02</arrival> <ticket>(0|-1|-2|1|2)</ticket><!-- (0 Не важно,-1 с билетом, -2 без билета, 1 авиа, 2 поезд, 3 автобус) --> <adults>2</adults> <children>0</children> <childAge1>0</childAge1> <childAge2>0</childAge2> <resortIds><!-- Массив идентификаторов курортов. --> <id>111</id> <id>222</id> <id>333</id> </resortIds> <allocCatIds> <!-- Идентификатор категории отеля. --> <id>7</id> <id>8</id> <id>9</id> </allocCatIds> <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> <allocPlaceTypeId>1</allocPlaceTypeId> <allocPlaceValueIds> <id>1</id> <id>3</id><!-- Значение расположения отеля(1-я линия - 1, 2-я линия - 3, 3-я линия - 4 и пр..). --> <id>4</id> </allocPlaceValueIds> <entities> <entity>City</entity> <entity>Country</entity> <entity>Resort</entity> <entity>ResortPlace</entity> <entity>Allocation</entity> <entity>AllocCat</entity> <entity>AllocationType</entity> <entity>AllocPlaceType</entity> <entity>AllocPlaceValue</entity> <entity>Meal</entity> </entities> </Request>
Ответ сервиса
Сервис возвращает ответ, содержащий массив запрошенных объектов
<?xml version="1.0" encoding="UTF-8"?> <Result> <Success code="200"> <Countries> <Country> <id>12</id> <name>Египет</name> </Country> ... <Countries> <Cities> <City> <id>1000</id> <name>Москва</name> </City> ... </Cities> <Resorts> <Resort> <id>2473</id> <name>Таба</name> <ResortPlaces> <ResortPlace> <id>85</id> <name>Таба Хейтс</name> </ResortPlace> ... </ResortPlaces> </Resort> ... </Resorts> <Allocations> <Allocation> <id>20090</id> <name>Club Marmara</name> <category>4*</category> </Allocation> ... </Allocations> <AllocCats> <AllocCat> <id>9</id> <name>4*</name> </AllocCat> ... </AllocCats> <AllocationTypes> <AllocationType> <id>61</id> <name>Гостиничный комплекс</name> </AllocationType> ... </AllocationTypes> <AllocPlaceTypes> <AllocPlaceType> <id>1</id> <name>Пляжный</name> </AllocPlaceType> ... </AllocPlaceTypes> <AllocPlaceValues> <AllocPlaceValue> <id>1</id> <name>1-я линия</name> </AllocPlaceValue> ... </AllocPlaceValues> <Meals> <Meal> <id>1</id> <name>(AI) питание+напитки местного производства</name> </Meal> ... </Meals> </Success> </Result>
В случае ошибки сервис вернет:
<?xml version="1.0" encoding="UTF-8"?> <Result> <Error code="код ошибки">Текст ошибки</Error> </Result>
Внимание! Атрибут с кодом ошибки может отсутствовать!