XML - связи фильтров/Экспорт связей фильтров формы поиска 2 — различия между версиями

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(Пример запроса к сервису)
(Тестовый интерфейс)
Строка 15: Строка 15:
  
  
 +
<span style="color:red;">Убрать инфу про трейс</span><br/>
 
Запросы фильтров можно посмотреть через трейс
 
Запросы фильтров можно посмотреть через трейс
  
 
http://joxi.net/v29W73LIGn8GVr
 
http://joxi.net/v29W73LIGn8GVr
 
  
 
== Фильтры ==
 
== Фильтры ==

Версия 10:44, 2 июня 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. p_get_filter14_3ch
могут зависеть от cityId, countryId, resortIds, resortPlaceIds, roomSizeId, allocationIds, mealIds, roomViewTypeIds, roomApartTypeIds, allocCatIds, allocRate
 
'City' => 'city',
'Country' => 'country',
'Resort' => 'resort',
'ResortPlace' => 'resortPlace',
'AllocCat' => 'allocCat',
'Meal' => 'meal',
'RoomSize' => 'roomSize',
'RoomApartType' => 'roomApartType',
'RoomViewType' => 'roomViewType',
 
 
Группа 2. p_get_filter_allocations5
могут зависеть от cityId, countryId, resortIds, resortPlaceIds, allocCatIds, allocationTypeId, allocPlaceTypeId, allocPlaceValueIds
 
'Allocation' => 'allocation',
'AllocationType' => 'allocationType',
'AllocPlaceType' => 'allocPlaceType',
'AllocPlaceValue' => 'allocPlaceValue',
 
 
Группа 3. Статика
\TC\Model\FilterService\StaticStorage
ни от чего не зависят
 
'DurationFrom' => 'durationf',
'DurationTo' => 'durationt',
'Ticket' => 'ticket',
'Rate' => 'rate',
'Adults' => 'adults',
'Children' => 'children',
 
 
Группа 4. Другие (тоже статика)
 
'PriceFrom' => 'pricef',
'PriceTo' => 'pricet',


Пример запроса к сервису

<?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">
 
        <!-- p_get_filter14_3ch -->
 
        <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>
 
 
        <!-- p_get_filter_allocations5 -->
 
        <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>
 
 
        <!-- Статика -->
 
        <DurationFrom>
            <DurationFromValue>
                <id>1</id>
                <name>1</name>
            </DurationFromValue>
        </DurationFrom>
 
        <DurationTo>
            <DurationToValue>
                <id>1</id>
                <name>1</name>
            </DurationToValue>
        </DurationTo>
 
        <Tickets>
            <Ticket>
                <id>0</id>
                <name>Не важно</name>
            </Ticket>
        </Tickets>
 
        <Rates>
            <Rate>
                <id>0</id>
                <name>Не важно</name>
            </Rate>
        </Rates>
 
        <Adults>
            <AdultsValue>
                <id>1</id>
                <name>1</name>
            </AdultsValue>
        </Adults>
 
        <Children>
            <ChildrenValue>
                <id>0</id>
                <name>0</name>
            </ChildrenValue>
        </Children>
 
 
 
        <!-- Другие -->
 
        <PriceFrom/>
 
        <PriceTo/>
 
    </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>
 
    <roomSizeId>20</roomSizeId>  <!-- Если не передавать, то будет 14 в p_get_filter14_3ch -->
 
    <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>
 
    <allocRate>2</allocRate>
 
    <allocationTypeId>41</allocationTypeId>
 
    <allocPlaceTypeId>2</allocPlaceTypeId>
 
    <allocPlaceValueIds>
        <id>1</id>
        <id>3</id>
    </allocPlaceValueIds>
 
</Request>