Открыть главное меню

Изменения

Агентский API Отели

16 944 байта добавлено, 18:45, 6 мая 2019
Нет описания правки
{{Attention|В системе реализован усовершенствованный API-проект «Nemo Connect», настоятельно рекомендуем подключаться по схеме, описанной в документации по [http://docs.nemo.travel/ ссылке]}}
 
[[Категория:Агентский API]]
[[Категория:Интеграция]]
[[Файл:Nemo-logo.png‎|right]]
'''Агентский API ОтелейОтели''' - система, которая предоставляет возможность поиска и бронирования отелей а так же получение информации о времени и размерах штрафов, уникальной информации об отеле, получение статической информации.
== Динамические данные ===== Поиск ===
Сервис предназначен для получения списка отелей, удовлетворяющих условиям запроса. В условия запроса входят: идентификатор города, где будет вестись поиск; дата заезда и дата выезда; информация о количестве людей и способе их размещения в комнатах. Так же указываются дополнительные необязательные поля фильтров.
'''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">
==== Запрос ====
<prediv 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%3DHotelsSearch">
<soapenv:Header/>
<!--Zero or more repetitions:-->
<Person Id="1" Type="ADT" Age="30"/>
<Person Id="12" Type="CLD" Age="10"/>
</Persons>
<!--Optional:-->
</soapenv:Body>
</soapenv:Envelope>
</presyntaxhighlight>
Элемент '''HotelSearch'''
|}
Элемент '''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.
Каждый отель содержит:
#* Набор номеров &lt;Rooms&gt;. Типы номеров (одноместный, двухместный и т.д.)&nbsp;: устанавливается автоматически по количеству клиентов из запроса.#* Сервисы &lt;Services&gt;. Каждый отель предлагает различные типы обслуживания в номерах. Цена и доступность может различаться.#* Категория &lt;Categories&gt;. Это допустимые комбинации номер + обслуживание. Для бронирования отеля пользователь должен выбрать одну из предлагаемых ему категорий.
<presyntaxhighlight 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%3DHotelsSearch">
<SOAP-ENV:Body>
</Hotel>
...
</Hotels>
</HotelSearch>
</Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</presyntaxhighlight>
Элемент '''Hotel'''
| Элемент Category
|}
 
Элемент '''Service'''
Атрибут Currency - код валюты.
|}
 
Элемент '''Room'''
Атрибут Currency - код валюты.
|}
</div>
</div>
==== Ошибки ====
=== Расширенная информация по одному отелю === 
Сервис получения дополнительной информации об отеле требует указания идентификатора отеля в системе Nemo и категории.
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelExtInfo
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<prediv 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%3DHotelExtInfo">
</soapenv:Body>
</soapenv:Envelope>
</presyntaxhighlight>
Элемент '''Item'''
|}
Элемент '''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">
==== Ответ ====
<prediv 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:xsi="http://www.w3.org/2001/XMLSchema-instance">
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</presyntaxhighlight>
Элемент '''HotelExtInfo'''
Атрибут Currency - код валюты.
|}
</div>
</div>
==== Ошибки ====
=== Штрафы за аннуляцию === 
Всегда в явном виде нужно указывать пользователю информацию о штрафах за аннуляцию до бронирования.
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Penalty
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<prediv 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">
<soapenv:Header/>
</soapenv:Body>
</soapenv:Envelope>
</presyntaxhighlight>
Элемент '''Item'''
|}
Элемент '''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">
==== Ответ ====
<prediv 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;"><soapSOAP-envENV:envelope Envelope xmlns:soapSOAP-envENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DPenalty"> <soapSOAP-envENV:bodyBody> <ns1:penaltyresponsepenaltyResponse> <responsebinResponseBin> <responseResponse> <penaltyPenalty> <itemdatebeginItemDateBegin>2013-10-15 00:00:00</itemdatebeginItemDateBegin> <cancelchargesCancelCharges> <chargeCharge> <datefromDateFrom>2013-10-12 00:00:00</datefromDateFrom> <datetoDateTo>2013-10-15 23:59:59</datetoDateTo> <money currencyMoney Currency="RUB">74733.84</moneyMoney> </chargeCharge> <chargeCharge> <datefromDateFrom>2013-09-23 00:00:00</datefromDateFrom> <datetoDateTo>2013-10-11 00:00:00</datetoDateTo> <money currencyMoney Currency="RUB">67260.46</moneyMoney> </chargeCharge> <chargeCharge> <datefromDateFrom>2013-08-01 17:59:00</datefromDateFrom> <datetoDateTo>2013-09-22 00:00:00</datetoDateTo> <money currencyMoney Currency="RUB">12455.64</moneyMoney> </chargeCharge> </cancelchargesCancelCharges> <modifychargesModifyCharges/> </modifycharges></penalty><modifychargesPenalty> </modifycharges></response><modifychargesResponse> </modifycharges></responsebin><modifychargesResponseBin> </modifycharges></ns1:penaltyresponse><modifychargespenaltyResponse> </modifycharges></soapSOAP-envENV:body><modifychargesBody></modifycharges></soapSOAP-envENV:envelopeEnvelope></presyntaxhighlight>
Элемент '''Penalty'''
Атрибут: Currency - код валюты.
|}
</div>
</div>
==== Ошибки ====
==Бронирование = Бронирование =<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
Схема запроса позволяет указывать несколько услуг для бронирования сразу. Это было сделано с заделом на возможность расширения функциональности в будущем при сохранении совместимости.
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=Booking
<presyntaxhighlight 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">
<soapenv:Header/>
</soapenv:Body>
</soapenv:Envelope>
</presyntaxhighlight>
Элемент '''Booking'''
|}
Элемент '''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">После выполнения запроса сразу поступит информация о бронировании. В первую очередь нужно внимательно проверить статусы &lt;Status&gt; всех услуг в бронировании. Если бронировалась услуга со статусом в результатах поиска RQ (по запросу), то статус скорее всего будет не равен «booked». Через некоторое время проверять реальный статус бука отправляя запрос на чтение данных о бронировании. <presyntaxhighlight 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:xsi="http://www.w3.org/2001/XMLSchema-instance">
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</presyntaxhighlight>
Структура ответа очень похожа на запрос. Выделяются те же основные элементы.
Информация о клиентах заказа полностью повторяет структуру запроса.
</div>
</div>
==== Ошибки ====
==Подтверждение бронирования ==<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Запрос = Выгрузка актуальных данных по заказу(ам) ===Используется для экспорта бронирований и для обновления данных в локальной клиентской базе<div class="mw-collapsible-content">Подтверждение бронирования заказа.
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=ConfirmBooking
<syntaxhighlight lang="xml" line enclose="div" style== Запрос ====<pre"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%3DExport3DConfirmBooking"> <soapenv:Header/> <soapenv:Body> <ver:exportconfirm> <RequestBin> <Request> <ExportBookingId> 179547<Items> <!--Zero or more repetitions:--> <Item Id="386621"/BookingId> </Items> </Export> </Request> <Source> <ClientId></ClientId> <APIKey></APIKey> <Language>ru</Language> <Currency>RUB</Currency> </Source> </RequestBin> </ver:exportconfirm> </soapenv:Body>
</soapenv:Envelope>
</presyntaxhighlight>
В запросе нужно указать Id Элемент '''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. СмМожно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. описание вышеАвторизация".<pre>| Целое число.<SOAP|-ENV:Envelope xmlns:SOAP| APIKey| Обязательный. APIKey -ENV=секретный ключ доступа к API Nemo.Можно посмотреть/добавить в "Администрирование" ⇨ "http://schemasВеб-служба.xmlsoapАвторизация".org/soap/envelope/" xmlns:ns1| Латинские буквы и цифры. Всего 32 символа.|}</div></div> <div class="http://tst.nemotoccolours mw-collapsible mw-ibe.com/wsdev/?version%3D1.0%26for%3DExportcollapsed" style="width:1000px" >xmlns:xsi="http://www.w3.org/2001/XMLSchema=== Ответ ====<div class="mw-collapsible-instancecontent"> <SOAP-ENVsyntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin:Body10px 0;"> <ns1SOAP-ENV:exportResponse> <ResponseBin> <Response> <Export> <Items> <Item IdEnvelope xmlns:SOAP-ENV="386621http://schemas.xmlsoap.org/soap/envelope/"> <Hotel Idxmlns:ns1="1872666"http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DConfirmBooking"> <Supplier>GTASOAP-ENV:Body> <ns1:confirmResponse> </SupplierResponseBin> <CityIdResponse>22046 </CityIdBooks> <DateBeginBook>2013-10-15 <Id>179547</DateBeginId> <DateEndStatus>2013-10-18booked</DateEndStatus> <CacheId/Book>1872666 </CacheIdBooks> <Name/Response>ADLON KEMPINSKI </NameResponseBin> <Categories/ns1:confirmResponse> <Category Id="1"/SOAP-ENV:Body> <Rooms/SOAP-ENV:Envelope> <Room Count="1" Id="1" ServiceId="1"/syntaxhighlight> <Room Count="1" Id="2" ServiceId="2"/>/div> </Roomsdiv> <TotalPrice Currency==="RUB">74733= Ошибки ==== == Выгрузка актуальных данных по заказу(ам) ==Используется для экспорта бронирований и для обновления данных в локальной клиентской базе.84</TotalPrice> </Category> <'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/Categories>wsdl.php?for=Export  <Services> <Service Id=div class="1toccolours mw-collapsible mw-collapsed" Statusstyle="OKwidth:1000px"> ==== Запрос ====<Desc>Standard Twin</Descdiv class="mw-collapsible-content"> <Meal>Full Breakfast</Meal> <Price Currencysyntaxhighlight lang="RUBxml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">37366.92</Price> </Service> <Service Idsoapenv:Envelope xmlns:soapenv="2http://schemas.xmlsoap.org/soap/envelope/" Statusxmlns:ver="OKhttp://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport"> <Descsoapenv:Header/>Standard Twin </Descsoapenv:Body> <Mealver:export>Full Breakfast </MealRequestBin> <Price Currency="RUB">37366.92</PriceRequest> </ServiceExport> </ServicesItems> <Rooms!--Zero or more repetitions:--> <Room Item Id="1" Type="TWIN386621"/> </Items> <Room Id="2" Type="SNGL"/Export> </RoomsRequest> </HotelSource> <TypeClientId>HOTELS</TypeClientId> <StatusAPIKey>waiting</StatusAPIKey> <PricesLanguage> <Price Currency="RUB">74733.84ru</PriceLanguage> <Charges Currency=">RUB">0</ChargesCurrency> <Commission Currency="RUB">0 </CommissionSource> <Penalty Currency="RUB">0 </PenaltyRequestBin> <TotalPrice Currency="RUB"/ver:export>74733.84 </TotalPricesoapenv:Body> </Pricessoapenv:Envelope> <Dates/syntaxhighlight> <BookingDate>2013-08-01 20Элемент '''Item'''{| style="width:21:47</BookingDate>800px" class="wikitable" <UpdateDate>2013-08-01 20:35:01</UpdateDate>|- <CancelDate xsi:nil! scope="truecol" width="/>200" | Элемент! scope="col" width="300" | Описание! scope="col" width="300" | Допустимые значения <PenaltyDate>2013|-07-31 19| Атрибут Id| Обязательный. Идентификатор заказа в системе Nemo.| Целое число|} Элемент '''Source'''{| style="width:10:37</PenaltyDate>800px" class="wikitable" <AutoCancelDate>2013|-08-01 20:23:47</AutoCancelDate> <ConfirmationLimit/>! scope="col" width="200" | Элемент </Dates>! scope="col" width="300" | Описание <Statuses>! scope="col" width="300" | Допустимые значения <PaymentStatus>1</PaymentStatus>|- <DocumentStatus>1</DocumentStatus>| ClientID <DeliveryStatus>1</DeliveryStatus>| Обязательный. ID клиента в системе Nemo. <InvoiceStatus>1<Можно посмотреть/InvoiceStatus>добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".| Целое число. <ProblemStatus>1</ProblemStatus>|- </Statuses>| APIKey <Customer>| Обязательный. APIKey - секретный ключ доступа к API Nemo. <Person Number=Можно посмотреть/добавить в "Администрирование" ⇨ "1Веб-служба. Авторизация".| Латинские буквы и цифры. Всего 32 символа.|}</div> </Customerdiv> <Persons> <Person Numberdiv class="1toccolours mw-collapsible mw-collapsed"/> <Person Numberstyle="2width:1000px"/> <Person Number="3"/>=== Ответ ==== </Personsdiv class="mw-collapsible-content"> </Item>Ответ содержит элементы результатов бронирований. См. описание выше. </Items> <Persons> <Person Numbersyntaxhighlight lang="xml" line enclose="1div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"> <Lastname>IVANOV</Lastname> <Name>IVAN</Name> <Middlename>IVANOVICH</Middlename> <DateOfBirth xsiSOAP-ENV:Envelope xmlns:nilSOAP-ENV="true"http:/> <Phone>+79871231212</Phone> <Email>mschemas.rudenko@mute-labxmlsoap.com<org/soap/envelope/Email>" <Gender xsixmlns:nilns1="true"http://> <Document Type=tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DExport"P"> <Series>1811<xmlns:xsi="http://www.w3.org/2001/SeriesXMLSchema-instance"> <NumberSOAP-ENV:Body>912219 </Numberns1:exportResponse> <IssueDateResponseBin>2012-12-12 00:00:00 </IssueDateResponse> <ExpiryDate>2014-12-12 00:00:00</ExpiryDateExport> </DocumentItems> </PersonItem Id="386621"> <Person NumberHotel Id="21872666"> <LastnameSupplier>PETROVGTA</LastnameSupplier> <NameCityId>IVAN22046</NameCityId> <MiddlenameDateBegin>MIKHAILOVICH2013-10-15</MiddlenameDateBegin> <DateEnd>2013-10-18<DateOfBirth xsi:nil="true"/DateEnd> <PhoneCacheId>+798712312121872666</PhoneCacheId> <EmailName>m.rudenko@mute-lab.comADLON KEMPINSKI</EmailName> <Gender xsi:nil="true"/Categories> <Document TypeCategory Id="P1"> <Series>1866</SeriesRooms> <Number>913319 <Room Count="1" Id="1" ServiceId="1"/Number> <IssueDate>2012-12-12 00:00:00 <Room Count="1" Id="2" ServiceId="2"/IssueDate> <ExpiryDate>2014-12-12 00:00:00 </ExpiryDateRooms> <TotalPrice Currency="RUB">74733.84</DocumentTotalPrice> </PersonCategory> <Person Number="3"/Categories> <LastnameServices>SIDOROV </LastnameService Id="1" Status="OK"> <NameDesc>IVANStandard Twin</NameDesc> <MiddlenameMeal>SERGEEVICHFull Breakfast</MiddlenameMeal> <DateOfBirth xsi:nilPrice Currency="trueRUB">37366.92</Price> <Phone>+79871231212 </PhoneService> <Email>m.rudenko@mute-lab.com</Email> <Gender xsi:nilService Id="true2"/> <Document TypeStatus="POK"> <SeriesDesc>1866Standard Twin</SeriesDesc> <NumberMeal>913319Full Breakfast</NumberMeal> <IssueDatePrice Currency="RUB">2012-12-12 00:00:0037366.92</IssueDatePrice> <ExpiryDate>2014-12-12 00:00:00 </ExpiryDateService> </DocumentServices> </PersonRooms> </Persons> <Room Id="1" Type="TWIN"/Export> <Room Id="2" Type="SNGL"/Response> </ResponseBinRooms> </ns1:exportResponseHotel> </SOAP-ENV:BodyType>HOTELS</SOAP-ENV:EnvelopeType> </preStatus>waiting</Status> <Prices>Формат ответа аналогичен результату бронирования <Price Currency="RUB">74733.84</Price> ==== Ошибки === <Charges Currency="RUB">0</Charges>  <Commission Currency=== Аннуляция заказа ======= Запрос ===="RUB">0<pre/Commission> <soapenv:Envelope xmlns:soapenvPenalty Currency="RUB">0</Penalty> <TotalPrice Currency="http://schemasRUB">74733.xmlsoap.org84</soapTotalPrice> </envelope/" Prices> <Dates>xmlns:ver="http://tst.nemo <BookingDate>2013-08-ibe.com01 20:21:47</wsdev/?version%3D1.0%26for%3DCancelBooking"BookingDate> <UpdateDate> <soapenv2013-08-01 20:Header/> 35:01<soapenv:Body/UpdateDate> <verCancelDate xsi:cancelnil="true"/> <RequestBinPenaltyDate> 2013-07-31 19:10:37<Request/PenaltyDate> <CancelBookingAutoCancelDate> 2013-08-01 20:23:47<Items/AutoCancelDate> <ConfirmationLimit/> <Item Id="386621"/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>
</CancelBookingPersons> </RequestPerson Number="1"> <Lastname>IVANOV<Source/Lastname> <ClientIdName>IVAN</ClientIdName> <Middlename>IVANOVICH<APIKey/Middlename> <DateOfBirth xsi:nil="true"/APIKey> <LanguagePhone>ru+79871231212</LanguagePhone> <CurrencyEmail>RUBm.rudenko@mute-lab.com</CurrencyEmail> <Gender xsi:nil="true"/Source> <Document Type="P"> <Series>1811</RequestBinSeries> <Number>912219</verNumber> <IssueDate>2012-12-12 00:00:cancel00</IssueDate> <ExpiryDate>2014-12-12 00:00:00</soapenv:BodyExpiryDate> </soapenv:EnvelopeDocument> </prePerson==== Ответ === <Person Number="2">см. результаты бронирования. <Lastname>PETROV</Lastname>==== Ошибки ==== <Name>IVAN</Name> <Middlename>MIKHAILOVICH</Middlename> <DateOfBirth xsi:nil== Статические данные =="true"/>Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях. <Phone>+79871231212</Phone>=== Страна ==='''WSDL''' (тестовый сервер): http://tst <Email>m.nemorudenko@mute-ibelab.com</wsdevEmail> <Gender xsi:nil="true"/wsdl.php?for> <Document Type=CountryStatic"P">==== Запрос ==== <Series>1866</Series> <preNumber>913319<soapenv/Number> <IssueDate>2012-12-12 00:00:Envelope xmlns00</IssueDate> <ExpiryDate>2014-12-12 00:soapenv="http00:00</ExpiryDate> </schemas.xmlsoap.orgDocument> </soap/envelope/" Person>xmlns:ver <Person Number="http:3"> <Lastname>SIDOROV</Lastname> <Name>IVAN</tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic"Name> <Middlename>SERGEEVICH<soapenv:Header/Middlename> <soapenvDateOfBirth xsi:Bodynil="true"/> <ver:countriesPhone> +79871231212<RequestBin/Phone> <RequestEmail> m.rudenko@mute-lab.com<CountryStatic/Email> <Gender xsi:nil="true"/CountryStatic> </RequestDocument Type="P"> <Series>1866<Source/Series> <ClientIdNumber>913319</ClientIdNumber> <APIKeyIssueDate>2012-12-12 00:00:00</APIKeyIssueDate> <LanguageExpiryDate>ru2014-12-12 00:00:00</LanguageExpiryDate> <Currency/Document>RUB </CurrencyPerson> </SourcePersons> </RequestBinExport> </Response> </verResponseBin> </ns1:countriesexportResponse> </soapenvSOAP-ENV:Body></soapenvSOAP-ENV:Envelope></presyntaxhighlight> Формат ответа аналогичен результату бронирования.</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> Элемент '''RequestItem'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="300" | Допустимые значения
|-
| CountryStaticАтрибут Id| Пустой элементОбязательный. Идентификатор заказа в системе Nemo.| <br/>Целое число
|}
 
Элемент '''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>
==== Ответ ====
см. результаты бронирования.==== Ошибки ====* '''You can cancel only booked order''' - возникает при попытке аннулировать незабронированный заказ.* '''Invalid Booking Id N''' - заказ с номером N отсутствует. = Статические данные =Для работы с веб-сервисом Nemo необходимо выгрузить статичные данные. Это данные о странах, городах и отелях.== Страна =='''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CountryStatic<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Запрос ====<prediv class="mw-collapsible-content"><SOAPsyntaxhighlight lang="xml" line enclose="div" style="font-ENVsize:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"><soapenv:Envelope xmlns:SOAP-ENVsoapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCountryStatic" >xmlns <soapenv:xsi="http://www.w3.orgHeader/2001/XMLSchema-instance"> <SOAP-ENVsoapenv:Body> <ns1ver:countriesResponsecountries> <ResponseBinRequestBin> <ResponseRequest>
<CountryStatic>
<Countries> <Country Id="4"> <Code>AF </CodeCountryStatic> <Continent>asia </ContinentRequest> <DataSource> <Info Language="RU"ClientId> <Name>Афганистан</NameClientId> </InfoAPIKey> <Info Language="EN"> <Name>Afghanistan</NameAPIKey> </InfoLanguage> ru</DataLanguage> </Country> </CountriesCurrency> RUB</CountryStaticCurrency> </ResponseSource> </ResponseBinRequestBin> </ns1ver:countriesResponsecountries> </SOAP-ENVsoapenv:Body></SOAP-ENVsoapenv:Envelope></presyntaxhighlight> Элемент '''CountryStaticRequest'''{| style="width: 800px" class="wikitable"|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Описание
! scope="col" width="300" | Допустимые значения
|-
| CountriesCountryStatic| ОбязательныйПустой элемент| Набор элементов Country<br/>
|}
Элемент '''CountrySource'''
{| style="width: 800px" class="wikitable"
|-
! scope="col" width="300" | Допустимые значения
|-
| Атрибут IdClientID| Обязательный. Идентификатор страны (ISO)ID клиента в системе Nemo.Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".| Целое число.
|-
| CodeAPIKey| Обязательный. Код страны ISOAPIKey - секретный ключ доступа к API Nemo.Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".| Строка из 2Латинские буквы и цифры. Всего 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;">| Continent<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> Элемент '''InfoCountryStatic'''{| style="width: 800px" class="wikitable"|-! scope="col" width="200" | Элемент! scope="col" width="300" | Описание! scope="col" width="300" | Допустимые значения|-| Атрибут Language| Обязательный. Язык в котором представлена информация.| Строка из 2-х латинских букв.
|-
| NameCountries| Обязательный. Наименование страны.| Строка в произвольном формате.Набор элементов Country
|}
==== Ошибки ==== === Город ===Параметры поиска всех услуг требуют указания ID города. Города выгружаются по каждой стране следующим запросом: '''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=CityStatic ==== Запрос ====<pre><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></pre> Элемент '''CityStaticCountry'''{| style="width: 800px" class="wikitable"
|-
! scope="col" width="200" | Элемент
! scope="col" width="300" | Допустимые значения
|-
| CountryIdАтрибут Id| Обязательный. Идентификатор страны(ISO).
| Целое число
|-
| Code
| Обязательный. Код страны ISO.
| Строка из 2-х латинских букв
|-
| Continent
| Обязательный. Название континента.
| Строка.
|-
| Data
| Обязательный. Информация требующая перевода.
| Набор элементов Info.
|}
Элемент '''Info'''{| style="width: 800px" class="wikitable"|-! scope="col" width= Ответ "200" | Элемент! scope="col" width="300" | Описание! scope="col" width="300" | Допустимые значения|-| Атрибут Language| Обязательный. Язык в котором представлена информация.| Строка из 2-х латинских букв.|-| Name| Обязательный. Наименование страны.| Строка в произвольном формате.|}<pre/div><SOAP/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-ENVsize:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;"><soapenv:Envelope xmlns:SOAP-ENVsoapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1ver="http://tst.nemo-ibe.com/wsdev/?version%3D1.0%26for%3DCityStatic"> <SOAP-ENVsoapenv:Header/> <soapenv:Body> <ns1ver:citiesResponsecities> <ResponseBinRequestBin> <ResponseRequest>
<CityStatic>
<CitiesCountryId>4</CountryId> </CityStatic> </Request> <City Id="1"Source> <NameClientId>Кабул</NameClientId> <CountryIdAPIKey>4</CountryIdAPIKey> <DataLanguage> ru<Info /Language="EN"> <NameCurrency>KabulRUB</NameCurrency> </InfoSource> <Info Language="RU"/RequestBin> <Name>Кабул </Namever:cities> </Infosoapenv:Body> </Datasoapenv:Envelope> </Citysyntaxhighlight> <City IdЭлемент '''CityStatic'''{| style="width: 800px" class="wikitable"|-! scope="col" width="200" | Элемент! scope="col" width="300" | Описание! scope="col" width="300" | Допустимые значения|-| CountryId| Обязательный. Идентификатор страны.| Целое число|} Элемент '''Source'''{| style="width: 800px" class="wikitable"|-! scope="col" width="200" | Элемент! scope="col" width="300" | Описание! scope="col" width="204793300" | Допустимые значения|-| ClientID| Обязательный. ID клиента в системе Nemo.Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация".| Целое число.|-| APIKey| Обязательный. APIKey - секретный ключ доступа к API Nemo.Можно посмотреть/добавить в "Администрирование" ⇨ "Веб-служба. Авторизация">.| Латинские буквы и цифры. Всего 32 символа.|} <Name>Aibak</Namediv> <CountryId>4</CountryIddiv> <Datadiv class="toccolours mw-collapsible mw-collapsed" style="width:1000px"> ==== Ответ ====<Info Languagediv class="ENmw-collapsible-content"> <Namesyntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">Aibak<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/Name>" <xmlns:ns1="http://tst.nemo-ibe.com/wsdev/Info?version%3D1.0%26for%3DCityStatic"> <Info Language="RU"SOAP-ENV:Body> <Namens1:citiesResponse>Aibak </NameResponseBin> </InfoResponse> </DataCityStatic> </CityCities> <City Id="2047851"> <Name>Anar DarahКабул</Name> <CountryId>4</CountryId> <Data> <Info Language="EN"> <Name>Anar DarahKabul</Name> </Info> <Info Language="RU"> <Name>Anar DarahКабул</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> </Info> </Data> </City> ... </Cities> </CityStatic> </Response>
</ResponseBin>
</ns1:citiesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</presyntaxhighlight>
Элемент '''CityStatic'''
| См. описание элемента Data в ответе получения информации о стране.
|}
</div>
</div>
==== Ошибки ====
=== Статика по отелям и апартаментам ===
Этот запрос будет использоваться для выгрузки статичной информации по одному или нескольким отелям.
'''WSDL''' (тестовый сервер): http://tst.nemo-ibe.com/wsdev/wsdl.php?for=HotelStatic
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<prediv 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:Body>
</soapenv:Envelope>
</presyntaxhighlight>
Элемент '''Hotels'''
|}
Элемент '''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">==== Ответ ====<prediv 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>
<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>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</presyntaxhighlight>
Элемент '''Hotel'''
| Необязательный. Адрес отеля.
| Строка в произвольном формате.
|} Элемент '''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 Оплата]]
'