XML - связи фильтров/Экспорт связей фильтров формы поиска 2 — различия между версиями
Материал из TourClient - Руководство пользователя
Levenets (обсуждение | вклад) (→Фильтры) |
Levenets (обсуждение | вклад) (→Фильтры) |
||
(не показаны 6 промежуточные версии 1 участника) | |||
Строка 10: | Строка 10: | ||
== Тестовый интерфейс == | == Тестовый интерфейс == | ||
− | + | http://tourclient.ru/xml_test.php | |
− | http://tourclient | + | |
− | + | <!-- | |
− | + | ||
− | + | ||
− | < | + | |
Запросы фильтров можно посмотреть через трейс | Запросы фильтров можно посмотреть через трейс | ||
− | |||
http://joxi.net/v29W73LIGn8GVr | http://joxi.net/v29W73LIGn8GVr | ||
+ | --> | ||
== Фильтры == | == Фильтры == | ||
+ | |||
+ | <!-- | ||
+ | RequestFilters | ||
+ | возможные зависимости | ||
+ | allocationIds, mealIds, roomViewTypeIds, roomApartTypeIds | ||
+ | --> | ||
<source lang="php"> | <source lang="php"> | ||
− | + | Запрос 1. RequestCity | |
'City' - не требует обязательных параметров | 'City' - не требует обязательных параметров | ||
− | + | Запрос 2. RequestCountry | |
'Country' - обязательный параметр cityId | 'Country' - обязательный параметр cityId | ||
− | + | Запрос 3. RequestFilters | |
− | Следующие фильтры могут зависеть от resortIds, resortPlaceIds | + | Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds |
Обязательные параметры cityId, countryId | Обязательные параметры cityId, countryId | ||
'Resort' | 'Resort' | ||
Строка 48: | Строка 50: | ||
− | + | Запрос 4. RequestAllocation | |
Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds | Следующие фильтры могут зависеть от resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds | ||
Строка 64: | Строка 66: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
− | < | + | |
+ | <!-- название запроса --> | ||
+ | <RequestAllocation> | ||
<!-- параметры --> | <!-- параметры --> | ||
Строка 72: | Строка 76: | ||
<id>2402</id> | <id>2402</id> | ||
</resortIds> | </resortIds> | ||
− | + | ||
<!-- фильтры--> | <!-- фильтры--> | ||
<entities> | <entities> | ||
− | |||
<entity>Allocation</entity> | <entity>Allocation</entity> | ||
</entities> | </entities> | ||
− | + | ||
− | </ | + | </RequestAllocation> |
</source> | </source> | ||
Строка 216: | Строка 219: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
− | < | + | <RequestXXX> |
<cityId>1469</cityId> | <cityId>1469</cityId> | ||
Строка 266: | Строка 269: | ||
</allocPlaceValueIds> | </allocPlaceValueIds> | ||
− | </ | + | </RequestXXX> |
</source> | </source> |
Текущая версия на 17:12, 14 июля 2016
Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/filters_export .
Где user_id - ID пользователя AgentPassport.
POST-параметр request должен содержать xml запроса.
В результате сервис вернет ответ в формате xml.
Содержание
Тестовый интерфейс
http://tourclient.ru/xml_test.php
Фильтры
Запрос 1. RequestCity 'City' - не требует обязательных параметров Запрос 2. RequestCountry 'Country' - обязательный параметр cityId Запрос 3. RequestFilters Следующие фильтры могут зависеть от resortIds, resortPlaceIds, 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"?> <!-- название запроса --> <RequestAllocation> <!-- параметры --> <cityId>1000</cityId> <countryId>30</countryId> <resortIds> <id>2402</id> </resortIds> <!-- фильтры--> <entities> <entity>Allocation</entity> </entities> </RequestAllocation>
Ответ сервиса
Сервис возвращает ответ, содержащий массив запрошенных объектов
<?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"?> <RequestXXX> <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> </RequestXXX>