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

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск

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

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