XML - связи фильтров/Экспорт связей фильтров формы поиска

Материал из TourClient - Руководство пользователя
Версия от 14:11, 29 января 2015; Artemandreev (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Работа с сервисом осуществляется путем отправки 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>
<ExtraEntities>
    <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>
</ExtraEntities>
</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>

Внимание! Атрибут с кодом ошибки может отсутствовать!