XML - результаты поиска/Поиск туров/Интерфейс - Результаты поиска — различия между версиями
Материал из TourClient - Руководство пользователя
Jeka (обсуждение | вклад) (→Запрос к сервису) |
Jeka (обсуждение | вклад) (→Запрос к сервису) |
||
Строка 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> <!-- [Опционально]Количество взрослых. --> | ||
+ | <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>