Агентский API Отели: различия между версиями
(→Запрос) |
|||
(не показано 80 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
+ | {{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}} | ||
+ | |||
+ | [[Категория:Агентский API]] | ||
+ | [[Категория:Интеграция]] | ||
[[Файл:Nemo-logo.png|right]] | [[Файл:Nemo-logo.png|right]] | ||
− | '''Агентский API | + | '''Агентский API Отели''' — система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации. |
− | + | = Динамические данные = | |
− | + | == Поиск == | |
Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров. | Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров. | ||
Строка 11: | Строка 15: | ||
'''WSDL''' (тестовый сервер): [http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch] | '''WSDL''' (тестовый сервер): [http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch] | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Запрос ==== | ==== Запрос ==== | ||
− | <syntaxhighlight lang="xml" line> | + | <div class="mw-collapsible-content"> |
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch"> | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch"> | ||
Строка 30: | Строка 36: | ||
<!--Zero or more repetitions:--> | <!--Zero or more repetitions:--> | ||
<Person Id="1" Type="ADT" Age="30"/> | <Person Id="1" Type="ADT" Age="30"/> | ||
− | <Person Id=" | + | <Person Id="2" Type="CLD" Age="10"/> |
</Persons> | </Persons> | ||
<!--Optional:--> | <!--Optional:--> | ||
Строка 146: | Строка 152: | ||
|} | |} | ||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Ответ ==== | ==== Ответ ==== | ||
− | + | <div class="mw-collapsible-content"> | |
Система по заданным параметрам ищет отели и возвращает результаты поиска. Все результаты поиска хранятся в базе Nemo определенный срок и доступны для бронирования по идентификатору CacheId. | Система по заданным параметрам ищет отели и возвращает результаты поиска. Все результаты поиска хранятся в базе Nemo определенный срок и доступны для бронирования по идентификатору CacheId. | ||
Строка 153: | Строка 180: | ||
Каждый отель содержит: | Каждый отель содержит: | ||
− | + | * Набор номеров <Rooms>. Типы номеров (одноместный, двухместный и т.д.) : устанавливается автоматически по количеству клиентов из запроса. | |
− | + | * Сервисы <Services>. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться. | |
− | + | * Категория <Categories>. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий. | |
− | < | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch"> | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelsSearch"> | ||
Строка 200: | Строка 227: | ||
</Hotel> | </Hotel> | ||
... | ... | ||
− | + | </Hotels> | |
</HotelSearch> | </HotelSearch> | ||
</Response> | </Response> | ||
Строка 207: | Строка 234: | ||
</SOAP-ENV:Body> | </SOAP-ENV:Body> | ||
</SOAP-ENV:Envelope> | </SOAP-ENV:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Элемент '''Hotel''' | Элемент '''Hotel''' | ||
Строка 257: | Строка 284: | ||
| Элемент Category | | Элемент Category | ||
|} | |} | ||
− | |||
Элемент '''Service''' | Элемент '''Service''' | ||
Строка 288: | Строка 314: | ||
Атрибут Currency - код валюты. | Атрибут Currency - код валюты. | ||
|} | |} | ||
− | |||
Элемент '''Room''' | Элемент '''Room''' | ||
Строка 350: | Строка 375: | ||
Атрибут Currency - код валюты. | Атрибут Currency - код валюты. | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
==== Ошибки ==== | ==== Ошибки ==== | ||
− | + | == Расширенная информация по одному отелю == | |
− | |||
Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории. | Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории. | ||
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Запрос ==== | ==== Запрос ==== | ||
− | < | + | <div class="mw-collapsible-content"> |
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo"> | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo"> | ||
Строка 386: | Строка 414: | ||
</soapenv:Body> | </soapenv:Body> | ||
</soapenv:Envelope> | </soapenv:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Элемент '''Item''' | Элемент '''Item''' | ||
Строка 404: | Строка 432: | ||
|} | |} | ||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Ответ ==== | ==== Ответ ==== | ||
− | < | + | <div class="mw-collapsible-content"> |
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
+ | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo" | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelExtInfo" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
Строка 436: | Строка 487: | ||
</SOAP-ENV:Body> | </SOAP-ENV:Body> | ||
</SOAP-ENV:Envelope> | </SOAP-ENV:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Элемент '''HotelExtInfo''' | Элемент '''HotelExtInfo''' | ||
Строка 499: | Строка 550: | ||
Атрибут Currency - код валюты. | Атрибут Currency - код валюты. | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
==== Ошибки ==== | ==== Ошибки ==== | ||
− | + | == Штрафы за аннуляцию == | |
+ | |||
Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования. | Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования. | ||
Строка 511: | Строка 565: | ||
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Запрос ==== | ==== Запрос ==== | ||
− | < | + | <div class="mw-collapsible-content"> |
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
+ | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty"> | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty"> | ||
<soapenv:Header/> | <soapenv:Header/> | ||
Строка 537: | Строка 594: | ||
</soapenv:Body> | </soapenv:Body> | ||
</soapenv:Envelope> | </soapenv:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Элемент '''Item''' | Элемент '''Item''' | ||
Строка 559: | Строка 616: | ||
|} | |} | ||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Ответ ==== | ==== Ответ ==== | ||
− | < | + | <div class="mw-collapsible-content"> |
− | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty"> | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
− | < | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty"> |
− | <ns1: | + | <SOAP-ENV:Body> |
− | < | + | <ns1:penaltyResponse> |
− | < | + | <ResponseBin> |
− | < | + | <Response> |
− | < | + | <Penalty> |
− | < | + | <ItemDateBegin>2013-10-15 00:00:00</ItemDateBegin> |
− | < | + | <CancelCharges> |
− | < | + | <Charge> |
− | < | + | <DateFrom>2013-10-12 00:00:00</DateFrom> |
− | < | + | <DateTo>2013-10-15 23:59:59</DateTo> |
− | </ | + | <Money Currency="RUB">74733.84</Money> |
− | < | + | </Charge> |
− | < | + | <Charge> |
− | < | + | <DateFrom>2013-09-23 00:00:00</DateFrom> |
− | < | + | <DateTo>2013-10-11 00:00:00</DateTo> |
− | </ | + | <Money Currency="RUB">67260.46</Money> |
− | < | + | </Charge> |
− | < | + | <Charge> |
− | < | + | <DateFrom>2013-08-01 17:59:00</DateFrom> |
− | < | + | <DateTo>2013-09-22 00:00:00</DateTo> |
− | </ | + | <Money Currency="RUB">12455.64</Money> |
− | </ | + | </Charge> |
− | < | + | </CancelCharges> |
− | </ | + | <ModifyCharges/> |
− | </ | + | </Penalty> |
− | </ | + | </Response> |
− | + | </ResponseBin> | |
− | </ | + | </ns1:penaltyResponse> |
− | </ | + | </SOAP-ENV:Body> |
+ | </SOAP-ENV:Envelope> | ||
+ | </syntaxhighlight> | ||
Элемент '''Penalty''' | Элемент '''Penalty''' | ||
Строка 635: | Строка 715: | ||
Атрибут: Currency - код валюты. | Атрибут: Currency - код валюты. | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
==== Ошибки ==== | ==== Ошибки ==== | ||
− | === | + | == Бронирование == |
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
==== Запрос ==== | ==== Запрос ==== | ||
− | + | <div class="mw-collapsible-content"> | |
Схема запроса позволяет указывать несколько услуг для бронирования сразу. Это было сделано с заделом на возможность расширения функциональности в будущем при сохранении совместимости. | Схема запроса позволяет указывать несколько услуг для бронирования сразу. Это было сделано с заделом на возможность расширения функциональности в будущем при сохранении совместимости. | ||
Строка 653: | Строка 735: | ||
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Booking | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Booking | ||
− | < | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
+ | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking"> | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking"> | ||
<soapenv:Header/> | <soapenv:Header/> | ||
Строка 780: | Строка 863: | ||
</soapenv:Body> | </soapenv:Body> | ||
</soapenv:Envelope> | </soapenv:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Элемент '''Booking''' | Элемент '''Booking''' | ||
Строка 958: | Строка 1041: | ||
|} | |} | ||
− | ==== Ответ ==== | + | Элемент '''Source''' |
− | + | {| style="width: 800px" class="wikitable" | |
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
+ | ==== Ответ ==== | ||
+ | <div class="mw-collapsible-content"> | ||
После выполнения запроса сразу поступит информация о бронировании. В первую очередь нужно внимательно проверить статусы <Status> всех услуг в бронировании. Если бронировалась услуга со статусом в результатах поиска RQ (по запросу), то статус скорее всего будет не равен «booked». Через некоторое время проверять реальный статус бука отправляя запрос на чтение данных о бронировании. | После выполнения запроса сразу поступит информация о бронировании. В первую очередь нужно внимательно проверить статусы <Status> всех услуг в бронировании. Если бронировалась услуга со статусом в результатах поиска RQ (по запросу), то статус скорее всего будет не равен «booked». Через некоторое время проверять реальный статус бука отправляя запрос на чтение данных о бронировании. | ||
− | < | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
+ | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | ||
xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking" | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DBooking" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
Строка 1092: | Строка 1197: | ||
</SOAP-ENV:Body> | </SOAP-ENV:Body> | ||
</SOAP-ENV:Envelope> | </SOAP-ENV:Envelope> | ||
− | </ | + | </syntaxhighlight> |
Структура ответа очень похожа на запрос. Выделяются те же основные элементы. | Структура ответа очень похожа на запрос. Выделяются те же основные элементы. | ||
Строка 1266: | Строка 1371: | ||
Информация о клиентах заказа полностью повторяет структуру запроса. | Информация о клиентах заказа полностью повторяет структуру запроса. | ||
+ | </div> | ||
+ | </div> | ||
==== Ошибки ==== | ==== Ошибки ==== | ||
− | === | + | == Подтверждение бронирования == |
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
+ | ==== Запрос ==== | ||
+ | <div class="mw-collapsible-content"> | ||
+ | Подтверждение бронирования заказа. | ||
− | '''WSDL''' (тестовый сервер): | + | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=ConfirmBooking |
− | === | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
− | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DConfirmBooking"> | |
− | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | + | <soapenv:Header/> |
− | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for% | + | <soapenv:Body> |
− | + | <ver:confirm> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <BookingId>179547</BookingId> | |
− | + | </Request> | |
− | + | <Source> | |
− | + | <ClientId></ClientId> | |
− | + | <APIKey></APIKey> | |
− | + | <Language>ru</Language> | |
− | + | <Currency>RUB</Currency> | |
− | + | </Source> | |
− | + | </RequestBin> | |
− | + | </ver:confirm> | |
− | + | </soapenv:Body> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</soapenv:Envelope> | </soapenv:Envelope> | ||
− | </ | + | </syntaxhighlight> |
− | + | Элемент '''Request''' | |
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | BookingID | ||
+ | | Обязательный. Идентификатор заказа в системе Nemo. | ||
+ | | Целое число | ||
+ | |} | ||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
==== Ответ ==== | ==== Ответ ==== | ||
− | + | <div class="mw-collapsible-content"> | |
− | < | + | |
− | < | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> |
− | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for% | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DConfirmBooking"> |
− | + | <SOAP-ENV:Body> | |
− | + | <ns1:confirmResponse> | |
− | + | <ResponseBin> | |
− | + | <Response> | |
− | + | <Books> | |
− | + | <Book> | |
− | + | <Id>179547</Id> | |
− | + | <Status>booked</Status> | |
− | + | </Book> | |
− | + | </Books> | |
− | < | + | </Response> |
− | + | </ResponseBin> | |
− | + | </ns1:confirmResponse> | |
− | + | </SOAP-ENV:Body> | |
− | + | </SOAP-ENV:Envelope> | |
− | + | </syntaxhighlight> | |
− | + | </div> | |
− | + | </div> | |
− | + | ||
− | + | ==== Ошибки ==== | |
− | + | ||
− | + | == Выгрузка актуальных данных по заказу(ам) == | |
− | + | Используется для экспорта бронирований и для обновления данных в локальной клиентской базе. | |
− | + | ||
− | + | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Export | |
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Запрос ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport"> | |
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:export> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <Export> | |
− | + | <Items> | |
− | + | <!--Zero or more repetitions:--> | |
− | + | <Item Id="386621"/> | |
− | + | </Items> | |
− | + | </Export> | |
− | + | </Request> | |
− | + | <Source> | |
− | + | <ClientId></ClientId> | |
− | + | <APIKey></APIKey> | |
− | + | <Language>ru</Language> | |
− | + | <Currency>RUB</Currency> | |
− | + | </Source> | |
− | + | </RequestBin> | |
− | + | </ver:export> | |
− | + | </soapenv:Body> | |
− | + | </soapenv:Envelope> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | Элемент '''Item''' | |
− | + | {| style="width: 800px" class="wikitable" | |
− | + | |- | |
− | + | ! scope="col" width="200" | Элемент | |
− | + | ! scope="col" width="300" | Описание | |
− | + | ! scope="col" width="300" | Допустимые значения | |
− | + | |- | |
− | + | | Атрибут Id | |
− | + | | Обязательный. Идентификатор заказа в системе Nemo. | |
− | + | | Целое число | |
− | + | |} | |
− | + | ||
− | + | Элемент '''Source''' | |
− | + | {| style="width: 800px" class="wikitable" | |
− | + | |- | |
− | + | ! scope="col" width="200" | Элемент | |
− | + | ! scope="col" width="300" | Описание | |
− | < | + | ! scope="col" width="300" | Допустимые значения |
− | + | |- | |
− | + | | ClientID | |
− | + | | Обязательный. ID клиента в системе Nemo. | |
− | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | |
− | + | | Целое число. | |
− | + | |- | |
− | + | | APIKey | |
− | + | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | |
− | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | |
− | + | | Латинские буквы и цифры. Всего 32 символа. | |
− | + | |} | |
− | + | </div> | |
− | + | </div> | |
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Ответ ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | Ответ содержит элементы результатов бронирований. См. описание выше. | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport" | |
− | + | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
− | + | <SOAP-ENV:Body> | |
− | + | <ns1:exportResponse> | |
− | + | <ResponseBin> | |
− | + | <Response> | |
− | + | <Export> | |
− | + | <Items> | |
− | + | <Item Id="386621"> | |
− | + | <Hotel Id="1872666"> | |
− | + | <Supplier>GTA</Supplier> | |
− | + | <CityId>22046</CityId> | |
− | + | <DateBegin>2013-10-15</DateBegin> | |
− | + | <DateEnd>2013-10-18</DateEnd> | |
− | + | <CacheId>1872666</CacheId> | |
− | < | + | <Name>ADLON KEMPINSKI</Name> |
− | < | + | <Categories> |
− | < | + | <Category Id="1"> |
− | + | <Rooms> | |
− | + | <Room Count="1" Id="1" ServiceId="1"/> | |
− | + | <Room Count="1" Id="2" ServiceId="2"/> | |
− | + | </Rooms> | |
− | < | + | <TotalPrice Currency="RUB">74733.84</TotalPrice> |
− | < | + | </Category> |
− | < | + | </Categories> |
− | + | <Services> | |
− | + | <Service Id="1" Status="OK"> | |
− | + | <Desc>Standard Twin</Desc> | |
− | + | <Meal>Full Breakfast</Meal> | |
− | + | <Price Currency="RUB">37366.92</Price> | |
− | + | </Service> | |
− | + | <Service Id="2" Status="OK"> | |
− | + | <Desc>Standard Twin</Desc> | |
− | </ | + | <Meal>Full Breakfast</Meal> |
− | </ | + | <Price Currency="RUB">37366.92</Price> |
− | + | </Service> | |
− | + | </Services> | |
− | + | <Rooms> | |
− | + | <Room Id="1" Type="TWIN"/> | |
− | + | <Room Id="2" Type="SNGL"/> | |
− | + | </Rooms> | |
− | + | </Hotel> | |
− | < | + | <Type>HOTELS</Type> |
− | < | + | <Status>waiting</Status> |
− | + | <Prices> | |
− | + | <Price Currency="RUB">74733.84</Price> | |
− | + | <Charges Currency="RUB">0</Charges> | |
− | + | <Commission Currency="RUB">0</Commission> | |
− | + | <Penalty Currency="RUB">0</Penalty> | |
− | + | <TotalPrice Currency="RUB">74733.84</TotalPrice> | |
− | + | </Prices> | |
− | + | <Dates> | |
− | <Item | + | <BookingDate>2013-08-01 20:21:47</BookingDate> |
+ | <UpdateDate>2013-08-01 20:35:01</UpdateDate> | ||
+ | <CancelDate xsi:nil="true"/> | ||
+ | <PenaltyDate>2013-07-31 19:10:37</PenaltyDate> | ||
+ | <AutoCancelDate>2013-08-01 20:23:47</AutoCancelDate> | ||
+ | <ConfirmationLimit/> | ||
+ | </Dates> | ||
+ | <Statuses> | ||
+ | <PaymentStatus>1</PaymentStatus> | ||
+ | <DocumentStatus>1</DocumentStatus> | ||
+ | <DeliveryStatus>1</DeliveryStatus> | ||
+ | <InvoiceStatus>1</InvoiceStatus> | ||
+ | <ProblemStatus>1</ProblemStatus> | ||
+ | </Statuses> | ||
+ | <Customer> | ||
+ | <Person Number="1"/> | ||
+ | </Customer> | ||
+ | <Persons> | ||
+ | <Person Number="1"/> | ||
+ | <Person Number="2"/> | ||
+ | <Person Number="3"/> | ||
+ | </Persons> | ||
+ | </Item> | ||
</Items> | </Items> | ||
− | + | <Persons> | |
− | + | <Person Number="1"> | |
− | + | <Lastname>IVANOV</Lastname> | |
− | + | <Name>IVAN</Name> | |
− | + | <Middlename>IVANOVICH</Middlename> | |
− | + | <DateOfBirth xsi:nil="true"/> | |
− | + | <Phone>+79871231212</Phone> | |
− | + | <Email>m.rudenko@mute-lab.com</Email> | |
− | + | <Gender xsi:nil="true"/> | |
− | + | <Document Type="P"> | |
− | + | <Series>1811</Series> | |
− | </ | + | <Number>912219</Number> |
− | </ | + | <IssueDate>2012-12-12 00:00:00</IssueDate> |
− | + | <ExpiryDate>2014-12-12 00:00:00</ExpiryDate> | |
− | + | </Document> | |
− | + | </Person> | |
− | + | <Person Number="2"> | |
− | + | <Lastname>PETROV</Lastname> | |
− | = | + | <Name>IVAN</Name> |
− | + | <Middlename>MIKHAILOVICH</Middlename> | |
− | + | <DateOfBirth xsi:nil="true"/> | |
− | + | <Phone>+79871231212</Phone> | |
− | + | <Email>m.rudenko@mute-lab.com</Email> | |
− | < | + | <Gender xsi:nil="true"/> |
− | + | <Document Type="P"> | |
− | + | <Series>1866</Series> | |
− | + | <Number>913319</Number> | |
− | + | <IssueDate>2012-12-12 00:00:00</IssueDate> | |
− | + | <ExpiryDate>2014-12-12 00:00:00</ExpiryDate> | |
− | + | </Document> | |
− | + | </Person> | |
− | + | <Person Number="3"> | |
− | + | <Lastname>SIDOROV</Lastname> | |
− | + | <Name>IVAN</Name> | |
− | + | <Middlename>SERGEEVICH</Middlename> | |
− | + | <DateOfBirth xsi:nil="true"/> | |
− | + | <Phone>+79871231212</Phone> | |
− | + | <Email>m.rudenko@mute-lab.com</Email> | |
− | </ | + | <Gender xsi:nil="true"/> |
− | + | <Document Type="P"> | |
− | </ | + | <Series>1866</Series> |
− | + | <Number>913319</Number> | |
− | </ | + | <IssueDate>2012-12-12 00:00:00</IssueDate> |
− | </ | + | <ExpiryDate>2014-12-12 00:00:00</ExpiryDate> |
+ | </Document> | ||
+ | </Person> | ||
+ | </Persons> | ||
+ | </Export> | ||
+ | </Response> | ||
+ | </ResponseBin> | ||
+ | </ns1:exportResponse> | ||
+ | </SOAP-ENV:Body> | ||
+ | </SOAP-ENV:Envelope> | ||
+ | </syntaxhighlight> | ||
− | Элемент ''' | + | Формат ответа аналогичен результату бронирования. |
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | ==== Ошибки ==== | ||
+ | |||
+ | == Аннуляция заказа == | ||
+ | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CancelBooking | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
+ | ==== Запрос ==== | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
+ | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | ||
+ | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCancelBooking"> | ||
+ | <soapenv:Header/> | ||
+ | <soapenv:Body> | ||
+ | <ver:cancel> | ||
+ | <RequestBin> | ||
+ | <Request> | ||
+ | <CancelBooking> | ||
+ | <Item Id="386621"/> | ||
+ | </CancelBooking> | ||
+ | </Request> | ||
+ | <Source> | ||
+ | <ClientId></ClientId> | ||
+ | <APIKey></APIKey> | ||
+ | <Language>ru</Language> | ||
+ | <Currency>RUB</Currency> | ||
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:cancel> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Элемент '''Item''' | ||
{| style="width: 800px" class="wikitable" | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
Строка 1509: | Строка 1710: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | Атрибут Id |
− | | | + | | Обязательный. Идентификатор заказа в системе Nemo. |
− | | | + | | Целое число |
+ | |} | ||
+ | |||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | ClientID | ||
+ | | Обязательный. ID клиента в системе Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | APIKey | ||
+ | | Обязательный. APIKey - секретный ключ доступа к API Nemo. | ||
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
==== Ответ ==== | ==== Ответ ==== | ||
− | < | + | см. результаты бронирования. |
− | < | + | ==== Ошибки ==== |
− | xmlns: | + | * '''You can cancel only booked order''' - возникает при попытке аннулировать незабронированный заказ. |
− | + | * '''Invalid Booking Id N''' - заказ с номером N отсутствует. | |
− | < | + | |
− | < | + | = Статические данные = |
− | < | + | Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях. |
− | < | + | == Страна == |
− | <CountryStatic | + | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic |
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Запрос ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic"> | |
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:countries> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <CountryStatic> | |
− | |||
− | |||
</CountryStatic> | </CountryStatic> | ||
− | </ | + | </Request> |
− | </ | + | <Source> |
− | </ | + | <ClientId></ClientId> |
− | </ | + | <APIKey></APIKey> |
− | </ | + | <Language>ru</Language> |
− | </ | + | <Currency>RUB</Currency> |
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:countries> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
+ | </syntaxhighlight> | ||
− | Элемент ''' | + | Элемент '''Request''' |
{| style="width: 800px" class="wikitable" | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
Строка 1553: | Строка 1778: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | CountryStatic |
− | | | + | | Пустой элемент |
− | | | + | | <br/> |
|} | |} | ||
− | Элемент ''' | + | Элемент '''Source''' |
{| style="width: 800px" class="wikitable" | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
Строка 1565: | Строка 1790: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | ClientID |
− | | Обязательный. | + | | Обязательный. ID клиента в системе Nemo. |
− | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | |
− | + | | Целое число. | |
− | |||
− | |||
− | | | ||
|- | |- | ||
− | | | + | | APIKey |
− | | Обязательный. | + | | Обязательный. APIKey - секретный ключ доступа к API Nemo. |
− | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | |
− | + | | Латинские буквы и цифры. Всего 32 символа. | |
− | |||
− | |||
− | | | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Ответ ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic" | |
− | + | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
− | + | <SOAP-ENV:Body> | |
− | + | <ns1:countriesResponse> | |
− | + | <ResponseBin> | |
− | + | <Response> | |
− | + | <CountryStatic> | |
− | + | <Countries> | |
− | + | <Country Id="4"> | |
− | + | <Code>AF</Code> | |
+ | <Continent>asia</Continent> | ||
+ | <Data> | ||
+ | <Info Language="RU"> | ||
+ | <Name>Афганистан</Name> | ||
+ | </Info> | ||
+ | <Info Language="EN"> | ||
+ | <Name>Afghanistan</Name> | ||
+ | </Info> | ||
+ | </Data> | ||
+ | </Country> | ||
+ | </Countries> | ||
+ | </CountryStatic> | ||
+ | </Response> | ||
+ | </ResponseBin> | ||
+ | </ns1:countriesResponse> | ||
+ | </SOAP-ENV:Body> | ||
+ | </SOAP-ENV:Envelope> | ||
+ | </syntaxhighlight> | ||
− | ==== | + | Элемент '''CountryStatic''' |
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | Countries | ||
+ | | Обязательный | ||
+ | | Набор элементов Country | ||
+ | |} | ||
− | + | Элемент '''Country''' | |
− | + | {| style="width: 800px" class="wikitable" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Элемент ''' | ||
− | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
! scope="col" width="200" | Элемент | ! scope="col" width="200" | Элемент | ||
Строка 1637: | Строка 1856: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | Атрибут Id |
− | | Обязательный. Идентификатор страны. | + | | Обязательный. Идентификатор страны (ISO). |
| Целое число | | Целое число | ||
+ | |- | ||
+ | | Code | ||
+ | | Обязательный. Код страны ISO. | ||
+ | | Строка из 2-х латинских букв | ||
+ | |- | ||
+ | | Continent | ||
+ | | Обязательный. Название континента. | ||
+ | | Строка. | ||
+ | |- | ||
+ | | Data | ||
+ | | Обязательный. Информация требующая перевода. | ||
+ | | Набор элементов Info. | ||
|} | |} | ||
− | ==== | + | Элемент '''Info''' |
− | < | + | {| style="width: 800px" class="wikitable" |
− | < | + | |- |
− | xmlns: | + | ! scope="col" width="200" | Элемент |
− | < | + | ! scope="col" width="300" | Описание |
− | < | + | ! scope="col" width="300" | Допустимые значения |
− | < | + | |- |
− | < | + | | Атрибут Language |
− | <CityStatic> | + | | Обязательный. Язык в котором представлена информация. |
− | + | | Строка из 2-х латинских букв. | |
− | + | |- | |
− | + | | Name | |
− | + | | Обязательный. Наименование страны. | |
− | + | | Строка в произвольном формате. | |
− | + | |} | |
− | + | </div> | |
− | + | </div> | |
− | + | ||
− | + | ==== Ошибки ==== | |
− | + | ||
− | + | == Город == | |
− | + | Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом: | |
− | + | ||
− | + | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic | |
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Запрос ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic"> | |
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:cities> | |
− | + | <RequestBin> | |
− | + | <Request> | |
− | + | <CityStatic> | |
− | + | <CountryId>4</CountryId> | |
− | + | </CityStatic> | |
− | + | </Request> | |
− | + | <Source> | |
− | + | <ClientId></ClientId> | |
− | + | <APIKey></APIKey> | |
− | + | <Language>ru</Language> | |
− | + | <Currency>RUB</Currency> | |
− | + | </Source> | |
− | + | </RequestBin> | |
− | + | </ver:cities> | |
− | + | </soapenv:Body> | |
− | </ | + | </soapenv:Envelope> |
− | </ | + | </syntaxhighlight> |
− | </ | ||
− | </ | ||
− | </ | ||
− | </ | ||
Элемент '''CityStatic''' | Элемент '''CityStatic''' | ||
Строка 1705: | Строка 1932: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | CountryId |
− | | Обязательный. | + | | Обязательный. Идентификатор страны. |
− | | | + | | Целое число |
|} | |} | ||
− | Элемент ''' | + | Элемент '''Source''' |
{| style="width: 800px" class="wikitable" | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
Строка 1717: | Строка 1944: | ||
! scope="col" width="300" | Допустимые значения | ! scope="col" width="300" | Допустимые значения | ||
|- | |- | ||
− | | | + | | ClientID |
− | | Обязательный. | + | | Обязательный. ID клиента в системе Nemo. |
− | | Целое число | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
− | + | | Целое число. | |
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | APIKey |
− | | | + | | Обязательный. APIKey - секретный ключ доступа к API Nemo. |
− | | | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
− | ==== | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> |
− | + | ==== Ответ ==== | |
− | === | + | <div class="mw-collapsible-content"> |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic"> | |
− | + | <SOAP-ENV:Body> | |
− | + | <ns1:citiesResponse> | |
− | + | <ResponseBin> | |
− | < | + | <Response> |
− | xmlns: | + | <CityStatic> |
− | < | + | <Cities> |
− | + | <City Id="1"> | |
− | < | + | <Name>Кабул</Name> |
− | < | + | <CountryId>4</CountryId> |
− | < | + | <Data> |
− | < | + | <Info Language="EN"> |
− | < | + | <Name>Kabul</Name> |
− | + | </Info> | |
− | + | <Info Language="RU"> | |
− | + | <Name>Кабул</Name> | |
− | + | </Info> | |
− | + | </Data> | |
− | + | </City> | |
− | + | <City Id="204793"> | |
− | + | <Name>Aibak</Name> | |
− | + | <CountryId>4</CountryId> | |
− | + | <Data> | |
− | + | <Info Language="EN"> | |
− | </ | + | <Name>Aibak</Name> |
− | </ | + | </Info> |
− | + | <Info Language="RU"> | |
− | + | <Name>Aibak</Name> | |
− | + | </Info> | |
− | + | </Data> | |
− | + | </City> | |
− | + | <City Id="204785"> | |
− | + | <Name>Anar Darah</Name> | |
− | + | <CountryId>4</CountryId> | |
− | + | <Data> | |
− | + | <Info Language="EN"> | |
− | + | <Name>Anar Darah</Name> | |
− | + | </Info> | |
− | + | <Info Language="RU"> | |
− | + | <Name>Anar Darah</Name> | |
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | < | ||
− | <Data> | ||
− | <Info> | ||
− | <Name> | ||
− | |||
− | |||
− | |||
− | < | ||
</Info> | </Info> | ||
</Data> | </Data> | ||
− | + | </City> | |
− | + | ... | |
− | + | </Cities> | |
− | + | </CityStatic> | |
− | + | </Response> | |
− | + | </ResponseBin> | |
− | + | </ns1:citiesResponse> | |
− | + | </SOAP-ENV:Body> | |
− | + | </SOAP-ENV:Envelope> | |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | Элемент '''CityStatic''' | |
− | + | {| style="width: 800px" class="wikitable" | |
− | + | |- | |
− | + | ! scope="col" width="200" | Элемент | |
− | + | ! scope="col" width="300" | Описание | |
− | + | ! scope="col" width="300" | Допустимые значения | |
− | + | |- | |
− | + | | Cities | |
− | + | | Обязательный. Массив городов. | |
− | + | | Набор элементов City | |
− | + | |} | |
− | + | ||
− | + | Элемент '''City''' | |
− | + | {| style="width: 800px" class="wikitable" | |
− | + | |- | |
− | + | ! scope="col" width="200" | Элемент | |
− | + | ! scope="col" width="300" | Описание | |
− | + | ! scope="col" width="300" | Допустимые значения | |
− | + | |- | |
− | + | | Атрибут '''Id''' | |
− | + | | Обязательный. Идентификатор города. | |
− | + | | Целое число | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | </ | ||
− | </Response> | ||
− | </ResponseBin> | ||
− | </ns1: | ||
− | </SOAP-ENV:Body> | ||
− | </SOAP-ENV:Envelope> | ||
− | </ | ||
− | |||
− | Элемент ''' | ||
− | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
− | + | | Name | |
− | + | | Название города. | |
− | + | | | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Data | | Data | ||
− | | | + | | Названия городов на разных языках. В данный момент поддерживаются названия на русском и английском. |
− | + | | См. описание элемента Data в ответе получения информации о стране. | |
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | ==== Ошибки ==== | ||
+ | |||
+ | == Статика по отелям и апартаментам == | ||
+ | Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям. | ||
+ | |||
+ | '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | |
− | + | ==== Запрос ==== | |
− | + | <div class="mw-collapsible-content"> | |
− | + | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | |
− | + | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" | |
− | + | xmlns:ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic"> | |
− | + | <soapenv:Header/> | |
− | + | <soapenv:Body> | |
− | + | <ver:hotels> | |
− | | | + | <RequestBin> |
+ | <Request> | ||
+ | <HotelStatic> | ||
+ | <CityId>58166</CityId> | ||
+ | </HotelStatic> | ||
+ | </Request> | ||
+ | <Source> | ||
+ | <ClientId></ClientId> | ||
+ | <APIKey></APIKey> | ||
+ | <Language>ru</Language> | ||
+ | <Currency>RUB</Currency> | ||
+ | </Source> | ||
+ | </RequestBin> | ||
+ | </ver:hotels> | ||
+ | </soapenv:Body> | ||
+ | </soapenv:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Элемент '''Hotels''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
− | | | + | ! scope="col" width="200" | Элемент |
− | | | + | ! scope="col" width="300" | Описание |
− | | | + | ! scope="col" width="300" | Допустимые значения |
+ | |- | ||
+ | | CityId | ||
+ | | Обязательный. Идентификатор города из которого необходимо получить отели. | ||
+ | | Целое число | ||
+ | |} | ||
+ | |||
+ | Элемент '''Source''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
|- | |- | ||
− | | | + | ! scope="col" width="200" | Элемент |
− | | | + | ! scope="col" width="300" | Описание |
− | | | + | ! scope="col" width="300" | Допустимые значения |
|- | |- | ||
− | | | + | | ClientID |
− | | | + | | Обязательный. ID клиента в системе Nemo. |
− | | | + | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". |
+ | | Целое число. | ||
|- | |- | ||
− | | Address | + | | APIKey |
− | | Необязательный. | + | | Обязательный. APIKey - секретный ключ доступа к API Nemo. |
+ | Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация". | ||
+ | | Латинские буквы и цифры. Всего 32 символа. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> | ||
+ | ==== Ответ ==== | ||
+ | <div class="mw-collapsible-content"> | ||
+ | <syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> | ||
+ | <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | ||
+ | xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DHotelStatic" | ||
+ | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
+ | <SOAP-ENV:Body> | ||
+ | <ns1:hotelsResponse> | ||
+ | <ResponseBin> | ||
+ | <Response> | ||
+ | <HotelStatic> | ||
+ | <Hotels> | ||
+ | <Hotel Id="271714" Apartment="false"> | ||
+ | <CityId>58166</CityId> | ||
+ | <CountryId>643</CountryId> | ||
+ | <Latitude xsi:nil="true"/> | ||
+ | <Longitude xsi:nil="true"/> | ||
+ | <Rating>3</Rating> | ||
+ | <Floors xsi:nil="true"/> | ||
+ | <Data> | ||
+ | <Info> | ||
+ | <Name>* Azimut (business)</Name> | ||
+ | <Area xsi:nil="true"/> | ||
+ | <Location>Within city</Location> | ||
+ | <Desc>This 3 star hotel is located within the city of St Petersburg.</Desc> | ||
+ | <Address>43/1 Lermoutovsky Prospect, St Petersburg, 190103</Address> | ||
+ | </Info> | ||
+ | </Data> | ||
+ | <Phones> | ||
+ | <Phone>812 7402640</Phone> | ||
+ | </Phones> | ||
+ | <Fax>812 2518890</Fax> | ||
+ | <Images/> | ||
+ | </Hotel> | ||
+ | <Hotel Id="159535" Apartment="false"> | ||
+ | <CityId>58166</CityId> | ||
+ | <CountryId>643</CountryId> | ||
+ | <Latitude>59.935011</Latitude> | ||
+ | <Longitude>30.309284</Longitude> | ||
+ | <Rating>5</Rating> | ||
+ | <Floors xsi:nil="true"/> | ||
+ | <Data> | ||
+ | <Info> | ||
+ | <Name>W St.petersburg</Name> | ||
+ | <Area xsi:nil="true"/> | ||
+ | <Location>City centre</Location> | ||
+ | <Desc>This 5 star hotel is located in the city centre of St Petersburg | ||
+ | and was established in 2011. It is close to the St.Isaac's Cathedral | ||
+ | and the nearest station is Admiralteyskaya station. The Hotel has | ||
+ | a restaurant, 2 bars, a conference room, a coffee shop, an indoor | ||
+ | swimming pool and a fitness centre/gym. All 137 rooms are equipped | ||
+ | with minibar, hairdryer, safe, trouser press and air conditioning.</Desc> | ||
+ | <Address>6 Voznesensky Prospect, St. Petersburg, 190000, St Petersburg, Russia</Address> | ||
+ | </Info> | ||
+ | </Data> | ||
+ | <Phones/> | ||
+ | <Fax>+7 812 6106160</Fax> | ||
+ | <Images> | ||
+ | <Image> | ||
+ | <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/ext.jpg</Path> | ||
+ | <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/ext-t.jpg</Icon> | ||
+ | </Image> | ||
+ | <Image> | ||
+ | <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/unknown.jpg</Path> | ||
+ | <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/unknown-t.jpg</Icon> | ||
+ | </Image> | ||
+ | <Image> | ||
+ | <Path>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/lr/bed room.jpg</Path> | ||
+ | <Icon>https://www.miki.co.uk/live/hotel/mikiNet/image/v1.0/RU/44018/406/bed room-t.jpg</Icon> | ||
+ | </Image> | ||
+ | </Images> | ||
+ | </Hotel> | ||
+ | ... | ||
+ | </Hotels> | ||
+ | </HotelStatic> | ||
+ | </Response> | ||
+ | </ResponseBin> | ||
+ | </ns1:hotelsResponse> | ||
+ | </SOAP-ENV:Body> | ||
+ | </SOAP-ENV:Envelope> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Элемент '''Hotel''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | Атрибут Id | ||
+ | | Обязательный. Идентификатор отеля в системе Nemo. | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | CityId | ||
+ | | Обязательный. Идентификатор города. | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | CountryId | ||
+ | | Обязательный. Идентификатор страны . | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | Latitude | ||
+ | | Необязательный. Широта. | ||
+ | | Вещественное число. | ||
+ | |- | ||
+ | | Longitude | ||
+ | | Необязательный. Долгота. | ||
+ | | Вещественное число. | ||
+ | |- | ||
+ | | Rating | ||
+ | | Необязательный. Рейтинг. | ||
+ | | Вещественное число. | ||
+ | |- | ||
+ | | Floors | ||
+ | | Необязательный. Количество этажей | ||
+ | | Целое число. | ||
+ | |- | ||
+ | | Data | ||
+ | | Необязательный. | ||
+ | | Набор элементов Info. | ||
+ | |- | ||
+ | | Phones | ||
+ | | Необязательный. Массив телефонов. | ||
+ | | Набор элементов Phone. | ||
+ | |- | ||
+ | | Fax | ||
+ | | Необязательный. Факс. | ||
| Строка в произвольном формате. | | Строка в произвольном формате. | ||
− | |} | + | |- |
− | + | | Images | |
− | Элемент '''Phones''' | + | | Необязательный. Маcсив изображений. |
− | {| style="width: 800px" class="wikitable" | + | | Набор элементов Image. |
− | |- | + | |} |
− | ! scope="col" width="200" | Элемент | + | |
− | ! scope="col" width="300" | Описание | + | Элемент '''Info''' |
− | ! scope="col" width="300" | Допустимые значения | + | {| style="width: 800px" class="wikitable" |
− | |- | + | |- |
− | | Phone | + | ! scope="col" width="200" | Элемент |
− | | Обязательный. Телефон. | + | ! scope="col" width="300" | Описание |
− | | Строка в произвольном формате. | + | ! scope="col" width="300" | Допустимые значения |
− | |} | + | |- |
− | + | | Name | |
− | Элемент '''Image''' | + | | Обязательный. Наименование отеля. |
− | {| style="width: 800px" class="wikitable" | + | | Строка в произвольном формате. |
− | |- | + | |- |
− | ! scope="col" width="200" | Элемент | + | | Area |
− | ! scope="col" width="300" | Описание | + | | Необязательный. Описание места расположения отеля. |
− | ! scope="col" width="300" | Допустимые значения | + | | Строка в произвольном формате. |
− | |- | + | |- |
− | | Path | + | | Location |
− | | Необязательный. Путь к полному изображению. | + | | Необязательный. Район города. |
− | | Строка в произвольном формате. | + | | Строка в произвольном формате. |
− | |- | + | |- |
− | | Icon | + | | Desc |
− | | Необязательный. Путь к миниатюре, иконке. | + | | Необязательный. Описание отеля. |
− | | Строка в произвольном формате. | + | | Строка в произвольном формате. |
− | |} | + | |- |
+ | | Address | ||
+ | | Необязательный. Адрес отеля. | ||
+ | | Строка в произвольном формате. | ||
+ | |} | ||
+ | |||
+ | Элемент '''Phones''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | Phone | ||
+ | | Обязательный. Телефон. | ||
+ | | Строка в произвольном формате. | ||
+ | |} | ||
+ | |||
+ | Элемент '''Image''' | ||
+ | {| style="width: 800px" class="wikitable" | ||
+ | |- | ||
+ | ! scope="col" width="200" | Элемент | ||
+ | ! scope="col" width="300" | Описание | ||
+ | ! scope="col" width="300" | Допустимые значения | ||
+ | |- | ||
+ | | Path | ||
+ | | Необязательный. Путь к полному изображению. | ||
+ | | Строка в произвольном формате. | ||
+ | |- | ||
+ | | Icon | ||
+ | | Необязательный. Путь к миниатюре, иконке. | ||
+ | | Строка в произвольном формате. | ||
+ | |} | ||
+ | </div> | ||
+ | </div> | ||
+ | |||
+ | ==== Ошибки ==== | ||
− | ==== | + | ==См. также== |
+ | * [[Агентский интерфейс прикладного программирования (Агентский API)]] | ||
+ | * [[Схема использования агентского API (workflow)]] | ||
+ | * [[Агентский API Авиабилеты]] | ||
+ | * [[Агентский API Оплата]] |
Текущая версия на 18:45, 6 мая 2019
Внимание! В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по ссылке
Агентский API Отели — система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.
Содержание
Динамические данные
Поиск
Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров.
Для получения списка доступных городов, воспользуйтесь запросом на выгрузку статики (см. ССЫЛКА). Список допустимых отелей для фильтра также доступен через сервис (см. ССЫЛКА). Рекомендуется выгрузить все данные по отелям, городам и странам в локальную базу, для экономии времени и запросов.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelsSearch
Запрос
Ответ
Ошибки
Расширенная информация по одному отелю
Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo
Запрос
Ответ
Ошибки
Штрафы за аннуляцию
Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования.
Штрафы получаются по каждой услуге отдельным запросом. Нужно указать тип услуги, идентификатор результата поиска и выбранную категорию.
Внимание. Для отелей из Hotelbeds (Supplier=HOTELBEDS) штрафы до бронирования получить невозможно.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty
Запрос
Ответ
Ошибки
Бронирование
Запрос
Ответ
Ошибки
Подтверждение бронирования
Запрос
Ответ
Ошибки
Выгрузка актуальных данных по заказу(ам)
Используется для экспорта бронирований и для обновления данных в локальной клиентской базе.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Export
Запрос
Ответ
Ошибки
Аннуляция заказа
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CancelBooking
Запрос
Ответ
см. результаты бронирования.
Ошибки
- You can cancel only booked order - возникает при попытке аннулировать незабронированный заказ.
- Invalid Booking Id N - заказ с номером N отсутствует.
Статические данные
Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.
Страна
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic
Запрос
Ответ
Ошибки
Город
Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом:
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic
Запрос
Ответ
Ошибки
Статика по отелям и апартаментам
Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям.
WSDL (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic