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

Материал из TourClient - Руководство пользователя
Перейти к: навигация, поиск
(Запрос к сервису)
(Запрос к сервису)
Строка 14: Строка 14:
 
<Request>
 
<Request>
 
     <TourSearchRequest>
 
     <TourSearchRequest>
         <dataOffset>0</dataOffset>  <!-- Смещение блока запрашиваемого данных, относительно всех найденных результатов.  -->
+
         <dataOffset>0</dataOffset>  <!-- [Обязательно] Смещение блока запрашиваемого данных, относительно всех найденных результатов.  -->
         <dataLimit>50</dataLimit>  <!-- Размер блока данных. -->
+
         <dataLimit>50</dataLimit>  <!-- [Обязательно] Размер блока данных. -->
 
         <!-- Суммарно эти параметры опеределяют запрошенную страницу  -->
 
         <!-- Суммарно эти параметры опеределяют запрошенную страницу  -->
  
         <seatStatus>3</seatStatus>  <!-- -->
+
         <seatStatus>3</seatStatus>  <!-- [Опционально] Наличие мест. -->
  
         <cityId>1000</cityId>      <!-- Идентификатор города вылета. -->
+
         <cityId>1000</cityId>      <!-- [Обязательно] Идентификатор города вылета. -->
         <countryId>12</countryId>  <!-- Идентификатор страны прилета. -->
+
         <countryId>12</countryId>  <!-- [Обязательно] Идентификатор страны прилета. -->
        <roomSizeId>14</roomSizeId> <!-- Идентификатор размещения (DBL,SNGL,TRL...). -->
+
  
         <adults>2</adults>         <!-- Количество взрослых. -->
+
         <roomSizeId>14</roomSizeId> <!-- [Опционально] Идентификатор размещения (DBL,SNGL,TRL...). -->
        <children>0</children>      <!-- Количество детей. -->
+
  
 +
        <adults>2</adults>          <!-- [Опционально]Количество взрослых. -->
 +
        <children>0</children>      <!-- [Опционально]Количество детей. -->
 +
        <!-- [Обязательно] Должен быть задан либо roomSizeId либо adults и children  -->
 +
       
 +
       
 
         <childAge1>0</childAge1>    <!-- Возраст первого ребенка. -->
 
         <childAge1>0</childAge1>    <!-- Возраст первого ребенка. -->
 
         <childAge2>0</childAge2>    <!-- Возраст второго ребенка. -->
 
         <childAge2>0</childAge2>    <!-- Возраст второго ребенка. -->
Строка 33: Строка 36:
 
         <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО. -->
 
         <durationTill>14</durationTill> <!-- Продолжительность (количество ночей в отеле). ДО. -->
  
         <departureFrom>2014-07-25</departureFrom>  <!-- Дата вылета ОТ. -->
+
         <departureFrom>2014-07-25</departureFrom>  <!-- [Обязательно] Дата вылета ОТ. -->
         <departureTill>2014-08-10</departureTill>  <!-- Дата вылета ДО. -->
+
         <departureTill>2014-08-10</departureTill>  <!-- [Обязательно] Дата вылета ДО. -->
  
         <ticket>1</ticket>          <!-- Наличие билета. Пустое значение - все туры.
+
         <ticket>1</ticket>          <!-- [Опционально] Наличие билета.  
 
                                         true - только с билетом включенным в стоимость.
 
                                         true - только с билетом включенным в стоимость.
 
                                         false - только без билета
 
                                         false - только без билета
Строка 44: Строка 47:
 
                                     -->
 
                                     -->
  
         <currency>3</currency>          <!-- Валюта, в которой необходимо вернуть цены (валюта запроса). -->
+
         <currency>3</currency>          <!-- [Обязательно] Валюта, в которой необходимо вернуть цены (валюта запроса). -->
 
                                         <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
 
                                         <!-- 1 - USD, 2 - EUR, 3 - RUB, 4 - UAH -->
         <priceFrom>500</priceFrom>      <!-- Цена от (в валюте запроса). -->
+
         <priceFrom>500</priceFrom>      <!-- [Опционально] Цена ОТ (в валюте запроса). -->
         <priceTill>50000</priceTill>    <!-- Возраст первого ребенка. -->
+
         <priceTill>50000</priceTill>    <!-- [Опционально] Цена ДО (в валюте запроса). -->
  
  
         <operatorIds>              <!-- Массив идентификаторов туроператоров. -->
+
         <operatorIds>              <!-- [Опционально] Массив идентификаторов туроператоров. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 56: Строка 59:
 
         </operatorIds>
 
         </operatorIds>
  
         <resortIds>                  <!-- Массив идентификаторов курортов. -->
+
         <resortIds>                  <!-- [Опционально] Массив идентификаторов курортов. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 62: Строка 65:
 
         </resortIds>
 
         </resortIds>
  
         <resortPlaceIds>            <!-- Массив идентификаторов районов. -->
+
         <resortPlaceIds>            <!-- [Опционально] Массив идентификаторов районов. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 68: Строка 71:
 
         </resortPlaceIds>
 
         </resortPlaceIds>
  
         <allocCatId>7</allocCatId>  <!-- Идентификатор категории отеля. -->
+
         <allocCatId>7</allocCatId>  <!-- [Опционально] Идентификатор категории отеля. -->
         <allocRate>3.56</allocRate>  <!-- Рейтинг отеля (не менее заданного) -->
+
         <allocRate>3.56</allocRate>  <!-- [Опционально] Рейтинг отеля (не менее заданного) -->
  
         <allocationIds>              <!-- Массив идентификаторов отелей. -->
+
         <allocationIds>              <!-- [Опционально] Массив идентификаторов отелей. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 77: Строка 80:
 
         </allocationIds>
 
         </allocationIds>
  
         <mealIds>                  <!-- Массив идентификаторов питаний. -->
+
         <mealIds>                  <!-- [Опционально] Массив идентификаторов питаний. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 83: Строка 86:
 
         </mealIds>
 
         </mealIds>
  
         <roomViewIds>              <!-- Массив идентификаторов видов из номера. -->
+
         <roomViewIds>              <!-- [Опционально] Массив идентификаторов видов из номера. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 89: Строка 92:
 
         </roomViewIds>
 
         </roomViewIds>
  
         <roomTypeIds>              <!-- Массив идентификаторов типов номеров. -->
+
         <roomTypeIds>              <!-- [Опционально] Массив идентификаторов типов номеров. -->
 
             <id>111</id>
 
             <id>111</id>
 
             <id>222</id>
 
             <id>222</id>
Строка 96: Строка 99:
  
 
     </TourSearchRequest>
 
     </TourSearchRequest>
     <TourExtraEntities>            <!-- Дополнительные объекты которые нужно добавить к объекту тур. Возможные значения перечислены в ниже. -->
+
     <TourExtraEntities>            <!-- [Опционально] Дополнительные объекты которые нужно добавить к объекту тур. Возможные значения перечислены в ниже. -->
 
         <entity>OnlineSeatsState</entity>
 
         <entity>OnlineSeatsState</entity>
 
         <entity>ExtraCharges</entity>
 
         <entity>ExtraCharges</entity>

Версия 19:19, 8 июля 2014

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

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

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<Request>
    <TourSearchRequest>
        <dataOffset>0</dataOffset>  <!-- [Обязательно] Смещение блока запрашиваемого данных, относительно всех найденных результатов.  -->
        <dataLimit>50</dataLimit>   <!-- [Обязательно] Размер блока данных. -->
        <!-- Суммарно эти параметры опеределяют запрошенную страницу  -->
 
        <seatStatus>3</seatStatus>  <!-- [Опционально] Наличие мест. -->
 
        <cityId>1000</cityId>       <!-- [Обязательно] Идентификатор города вылета. -->
        <countryId>12</countryId>   <!-- [Обязательно] Идентификатор страны прилета. -->
 
        <roomSizeId>14</roomSizeId> <!-- [Опционально] Идентификатор размещения (DBL,SNGL,TRL...). -->
 
        <adults>2</adults>          <!-- [Опционально]Количество взрослых. -->
        <children>0</children>      <!-- [Опционально]Количество детей. -->
        <!-- [Обязательно] Должен быть задан либо roomSizeId либо adults и 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>
 
        <allocCatId>7</allocCatId>   <!-- [Опционально] Идентификатор категории отеля. -->
        <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>