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

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
м (Запрос к сервису)
Строка 78: Строка 78:
 
         </resortPlaceIds>
 
         </resortPlaceIds>
  
         <allocCatId>7</allocCatId>  <!-- [Опционально] Идентификатор категории отеля. -->
+
         <allocCatIds> <!-- [Опционально] Идентификатор категории отеля. -->
 +
            <id>7</id>
 +
            <id>8</id>
 +
            <id>9</id>
 +
        </allocCatIds> 
 +
 
 
         <allocRate>3.56</allocRate>  <!-- [Опционально] Рейтинг отеля (не менее заданного) -->
 
         <allocRate>3.56</allocRate>  <!-- [Опционально] Рейтинг отеля (не менее заданного) -->
  

Версия 16:38, 11 июля 2014

Работа с сервисом осуществляется путем отправки POST запросов на адрес http://tourclient.ru/f/exml/user_id/tours_export .

Где user_id - ID пользователя AgentPassport.

POST-параметр request должен содержать xml запроса.

В результате сервис вернет ответ в формате xml.

Запрос к сервису

  • Все параметры TourSearchRequest задают ограничения на найденные в результате запроса туры
  • Если параметр не задан, это означает что такого ограничения нет и поиск от данного параметра не зависит
  • Опциональные входные параметры могут не присутствовать вообще, либо может быть задано пустое значение: <allocCatId></allocCatId>.
  • Работа параметра SeatStatus подробнее описана в Ограничение результатов запроса по наличию мест.
  • Работа параметра currency подробнее описана в Пересчет цен в запрошенную валюту.
  • Должен быть задан либо roomSizeId либо adults и children. В первом случае поиск будет ограничен конкретным размещением, во втором случае в результат могут попасть разные размещения с подходящими параметрами.


<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <TourSearchRequest>
        <dataOffset>0</dataOffset>  <!-- [Обязательно] Смещение блока запрашиваемого данных, относительно всех найденных результатов.  -->
        <dataLimit>50</dataLimit>   <!-- [Обязательно] Размер блока данных. -->
        <!-- Суммарно эти параметры опеределяют запрошенную страницу  -->
 
        <seatStatus>3</seatStatus>  <!-- [Опционально] Наличие мест. 1 - есть места, 2 - по запросу, 3 - все туры -->
 
        <cityId>1000</cityId>       <!-- [Обязательно] Идентификатор города вылета. -->
        <countryId>12</countryId>   <!-- [Обязательно] Идентификатор страны прилета. -->
 
        <roomSizeId>14</roomSizeId> <!-- [Опционально] Идентификатор размещения (DBL,SNGL,TRL...). -->
 
        <adults>2</adults>          <!-- [Опционально]Количество взрослых. -->
        <children>0</children>      <!-- [Опционально]Количество детей. -->     
 
 
        <childAge1>0</childAge1>    <!-- Возраст первого ребенка. -->
        <childAge2>0</childAge2>    <!-- Возраст второго ребенка. -->
 
        <durationFrom>7</durationFrom>  <!-- Продолжительность (количество ночей в отеле). ОТ. -->
        <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО. -->
 
        <departureFrom>2014-07-25</departureFrom>  <!-- [Обязательно] Дата вылета ОТ. -->
        <departureTill>2014-08-10</departureTill>  <!-- [Обязательно] Дата вылета ДО. -->
 
        <ticket>1</ticket>          <!-- [Опционально] Наличие билета. 
                                        true - только с билетом включенным в стоимость,
                                        false - только без билета,
                                      1 - только с авиабилетом, 2 - только с ж/д билетом,
                                      3 - только с билетом на автобус, 4 - только с билетом на паром
                                      5 - только с билетом на автомобиль
                                    -->
 
        <currency>3</currency>          <!-- [Обязательно] Валюта, в которой необходимо вернуть цены (валюта запроса). -->
                                        <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
        <priceFrom>500</priceFrom>      <!-- [Опционально] Цена ОТ (в валюте запроса). -->
        <priceTill>50000</priceTill>    <!-- [Опционально] Цена ДО (в валюте запроса). -->
 
 
        <operatorIds>               <!-- [Опционально] Массив идентификаторов туроператоров. -->
            <id>111</id>
            <id>222</id>
            <id>333</id>
        </operatorIds>
 
        <resortIds>                  <!-- [Опционально] Массив идентификаторов курортов. -->
            <id>111</id>
            <id>222</id>
            <id>333</id>
        </resortIds>
 
        <resortPlaceIds>             <!-- [Опционально] Массив идентификаторов районов. -->
            <id>111</id>
            <id>222</id>
            <id>333</id>
        </resortPlaceIds>
 
        <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>
 
        <roomViewIds>               <!-- [Опционально] Массив идентификаторов видов из номера. -->
            <id>111</id>
            <id>222</id>
            <id>333</id>
        </roomViewIds>
 
        <roomTypeIds>               <!-- [Опционально] Массив идентификаторов типов номеров. -->
            <id>111</id>
            <id>222</id>
            <id>333</id>
        </roomTypeIds>
 
    </TourSearchRequest>
    <TourExtraEntities>             <!-- [Опционально] Дополнительные объекты которые нужно добавить к объекту тур. Возможные значения перечислены в ниже. -->
        <entity>OnlineSeatsState</entity>
        <entity>ExtraCharges</entity>
        <entity>City</entity>
        <entity>Country</entity>
        <entity>RoomSize</entity>
        <entity>Resort</entity>
        <entity>ResortPlace</entity>
        <entity>Allocation</entity>
        <entity>AllocCat</entity>
        <entity>Meal</entity>
        <entity>RoomType</entity>
        <entity>RoomView</entity>
        <entity>Operator</entity>
    </TourExtraEntities>
</Request>


Ответ сервиса

Сервис возвращает ответ, содержащий массив объектов Тур (Tours) и объект Статус поиска (SearchStatus)

<?xml version="1.0" encoding="UTF-8"?>
<Result>
<Tours>  <!-- Массив объектов Тур. -->
    <Tour>...</Tour>
    <Tour>...</Tour>
    <Tour>...</Tour>
    ...
</Tours>
<SearchStatus>  <!-- Статус поиска. -->
    ...
</SearchStatus>
</Result>

Подробное описание возвращаемых данных можно посмотреть в Описании объектов.


В случае ошибки сервис вернет:

<?xml version="1.0" encoding="UTF-8"?>
<Result>
    <Error>Текст ошибки</Error>
</Result>