XML - связи фильтров/Экспорт связей фильтров формы поиска 2 — различия между версиями
Материал из TourClient - Руководство пользователя
Levenets (обсуждение | вклад) (→Параметры в запросе к сервису) |
Levenets (обсуждение | вклад) (→Фильтры) |
||
Строка 24: | Строка 24: | ||
<source lang="php"> | <source lang="php"> | ||
+ | |||
+ | Группа 1. RequestCity | ||
'City' - не требует обязательных параметров | 'City' - не требует обязательных параметров | ||
+ | |||
+ | |||
+ | Группа 2. RequestCountry | ||
'Country' - обязательный параметр cityId | 'Country' - обязательный параметр cityId | ||
+ | |||
+ | |||
+ | Группа 3. RequestFilters | ||
Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocationIds, mealIds, roomViewTypeIds, roomApartTypeIds, allocCatIds | Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocationIds, mealIds, roomViewTypeIds, roomApartTypeIds, allocCatIds | ||
Строка 38: | Строка 46: | ||
'RoomApartType' | 'RoomApartType' | ||
'RoomViewType' | 'RoomViewType' | ||
+ | |||
+ | |||
+ | Группа 4. RequestAllocation | ||
Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds | Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds |
Версия 18:42, 6 июня 2016
Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/filters_export .
Где user_id - ID пользователя AgentPassport.
POST-параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Содержание
Тестовый интерфейс
Заменить ссылкой на релиз и убрать скриншот
http://tourclient.ru.db0.ru/xml_test.php
http://joxi.net/Vm6QkZ6Ux9GRer
Убрать инфу про трейс от пользователя
Запросы фильтров можно посмотреть через трейс
http://joxi.net/v29W73LIGn8GVr
Фильтры
Группа 1. RequestCity 'City' - не требует обязательных параметров Группа 2. RequestCountry 'Country' - обязательный параметр cityId Группа 3. RequestFilters Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocationIds, mealIds, roomViewTypeIds, roomApartTypeIds, allocCatIds Обязательные параметры cityId, countryId 'Resort' 'ResortPlace' 'AllocCat' 'Meal' 'RoomSize' 'RoomApartType' 'RoomViewType' Группа 4. RequestAllocation Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds Обязательные параметры cityId, countryId 'Allocation' 'AllocationType' 'AllocPlaceType' 'AllocPlaceValue'
Пример запроса к сервису
<?xml version="1.0" encoding="UTF-8"?> <Request> <!-- параметры --> <cityId>1000</cityId> <countryId>30</countryId> <resortIds> <id>2402</id> </resortIds> <!-- фильтры--> <entities> <entity>ResortPlace</entity> <entity>Allocation</entity> </entities> </Request>
Ответ сервиса
Сервис возвращает ответ, содержащий массив запрошенных объектов
<?xml version="1.0" encoding="UTF-8"?> <Result> <Success code="200"> <Cities> <City> <id>1469</id> <name>Абакан</name> </City> </Cities> <Countries> <Country> <id>124</id> <name>Абхазия</name> </Country> </Countries> <Resorts> <Resort> <id>4740</id> <name>Hail Al Shas</name> <ResortPlaces> <ResortPlace> <id>3962</id> <name> Альмирида</name> </ResortPlace> </ResortPlaces> </Resort> </Resorts> <AllocCats> <AllocCat> <id>6</id> <name>1*</name> </AllocCat> </AllocCats> <Meals> <Meal> <id>1</id> <name>(AI) питание+напитки местного производства</name> </Meal> </Meals> <RoomSizes> <RoomSize> <id>15</id> <name>1 взрослый</name> <code>SGL</code> </RoomSize> </RoomSizes> <RoomApartTypes> <RoomApartType> <id>3</id> <name>Apartment</name> </RoomApartType> </RoomApartTypes> <RoomViewTypes> <RoomViewType> <id>41</id> <name>Без определенного вида</name> </RoomViewType> </RoomViewTypes> <Allocations> <Allocation> <id>187105</id> <name>101 Holiday Suite</name> <category>4*</category> </Allocation> </Allocations> <AllocationTypes> <AllocationType> <id>41</id> <name>Hostel</name> </AllocationType> </AllocationTypes> <AllocPlaceTypes> <AllocPlaceType> <id>3</id> <name>Горнолыжный</name> </AllocPlaceType> </AllocPlaceTypes> <AllocPlaceValues> <AllocPlaceValue> <id>1</id> <name>1-я линия</name> </AllocPlaceValue> </AllocPlaceValues> </Success> </Result>
В случае ошибки сервис вернет:
<?xml version="1.0" encoding="UTF-8"?> <Result> <Error code="код ошибки">Текст ошибки</Error> </Result>
Внимание! Атрибут с кодом ошибки может отсутствовать!
Параметры в запросе к сервису
<?xml version="1.0" encoding="UTF-8"?> <Request> <cityId>1469</cityId> <countryId>6</countryId> <resortIds> <id>448</id> <id>4009</id> </resortIds> <resortPlaceIds> <id>3962</id> <id>251</id> </resortPlaceIds> <allocationIds> <id>83219</id> <id>170937</id> </allocationIds> <mealIds> <id>1</id> <id>2</id> </mealIds> <roomViewTypeIds> <id>41</id> <id>22</id> </roomViewTypeIds> <roomApartTypeIds> <id>3</id> <id>4</id> </roomApartTypeIds> <allocCatIds> <id>6</id> <id>7</id> </allocCatIds> <allocationTypeId>41</allocationTypeId> <allocPlaceTypeId>2</allocPlaceTypeId> <allocPlaceValueIds> <id>1</id> <id>3</id> </allocPlaceValueIds> </Request>