1382
правки
Изменения
Перейти к навигации
Перейти к поиску
м
'''!!!СТАТЬЯ В РАЗРАБОТКЕ!!!'''
Для авторизации Чтобы авторизоваться в системе, в запросе необходимо указать APIKey и ClientID. Эти данные можно узнать в разделе Администрирование - Веб-сервис. Авторизация. Там же можно включить/выключить нотификацию для действий сделанных , совершенных через АПИ.
=== Применение ===Эта технология может использоватся к примеру для формирования ссылок с баннеров, при клике на которые пользователь попадает на форму, на которой уже могут быть заполнены пункты назначения, даты, количество пассажиров и прочие параметры. Также, при указании всех необходимых параметров, пользователя можно перебрасывать сразу на процесс поиска авиабилетов с указанными критериями. Для использования заполнения формы из URL следует включить опцию: '''Администрирование''' → '''Настройки системы''' → '''''Включить Примеры FastSearch (передачу параметров поиска)''''' После этого можно использовать ссылки на форму поиска вида <pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=BER&departure_date=21.10.2009&adults=1&children=0&input_vendors=SU,PS¶m_by_get=on</pre> === Переменные FastSearch ===Имена полей - такие же как имена инпутов на поисковой форме. Следите за тем, чтобы значения соответствовали установленным в настройках ограничениям. Переменные, которые предполагают в качестве значения "true" можно просто не включать в запрос, чтобы их логика не отработала. ==== Форма поиска ====Чтобы перенаправить пользователя на страницу с заполненными параметрами поиска, необходимо указать get-параметр '''¶m_by_get=on''', иначе сработают стандартные предустановки полей формы поиска. ==== Процесс поиска ====Если вы указываете все необходимые для поиска параметры, то для того чтобы отправить пользователя сразу на результаты поиска, нужно указать get-параметр '''&fast_search=on'''. ==== Маршрут «В одну сторону» и «Туда и обратно» ===={| style="width: 800px;" class="wikitable"|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Тип маршрута| trip_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | OW| В одну сторону|-| RT| Туда запросов и обратно|-| CR| Сложный маршрут|} |-| Пункт вылета| out_iata| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | MOW| Код аэропорта ИАТА|} |-| Пункт прилета| in_iata| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | LED| Код аэропорта ИАТА|} |-| Дата вылета| departure_date| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 25.10.2013| Дата в формате ДД.ММ.ГГГГ|} |-| Дата обратного вылета| back_departure_date| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 27.10.2013| Дата в формате ДД.ММ.ГГГГ|} |-| Время вылета| prefered_departure_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Время обратного вылета| prefered_back_departure_type| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Поиск только среди прямых рейсов ("Без пересадок")| direct| true|} ===== Дополнительные параметры ====={| style="width: 800px" class="wikitable"|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Нижнее ограничение по цене по умолчанию| money_from| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 0| Целое число большее либо равное 0|} |-| Верхнее ограничение по цене по умолчанию| money_to| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 10000| Целое число большее 0|} |-| Поиск в окружных датах| district_date| true|-| Диапазон соседних дат +(-) [дней]| date_range| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее [1..3]|} |-| Поиск по соседним аэропортам| district_airport| true|-| Класс обслуживания| class| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| econom| Перелет эконом-классом|-| business| Перелет бизнес-классом|-| first| Перелет первым-классом|} |-| Фильтр по авиакомпании | input_vendors| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | SU,PS| Коды авиакомпании ИАТА через запятую без пробелов|} |-| Сортировка| sort| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | price| По стоимости|-| out_date| По расписанию|-| company| По авиакомпании|-| fltduration| По длительности перелёта|} |} ==== Сложный маршрут ====<span style="font-size: large; color: rgb(255, 0, 0);">! </span><span style="background-color: rgb(255, 240, 245);"> Данные используемые переменные применимы только для сложного маршрута ('''trip_type=CR''').</span> '''[X]''' - номера отдельных перелетов. Нумерация начинается с 0, что означает первый перелет. Максимальное количество сегментов для сложного маршрута определяется одноименной настройкой подробно описаны в разделе '''Авиабилеты ⇨ Поиск ⇨ Ограничения поиска'''. {| style="width: 800px;" class="wikitable"|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" colspan="2" | Допустимые значения|-| Пункты вылета| cr_iata[0]<br/>cr_iataстатье [1]<br/>...<br/>cr_iata[8]| width="80" | MOW| Код аэропорта ИАТА|FastSearch -| Пункты прилета| cr_back_iata[0]<br/>cr_back_iata[1]<br/>...<br/>cr_back_iata[8]| width="80" | LED| Код аэропорта ИАТА|-| Дата вылета| cr_date[0]<br/>cr_date[1]<br/>...<br/>cr_date[8]| width="80" | 25.10.2013 | Дата передача параметров в формате ДД.ММ.ГГГГ |-| Время вылета| cr_pref_departure[0]<br/>cr_pref_departure[1форму]<br/>...<br/>cr_pref_departure[8]| colspan="2" style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | not_important| Любое время|-| morning| Утром|-| afternoon| Днем|-| evening| Вечером|-| night| Ночью|} |-| Класс обслуживания| cr_class[0]<br/>cr_class[1]<br/>...<br/>cr_class[8]| colspan="2" style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| econom| Перелет эконом-классом|-| business| Перелет бизнес-классом|-| first| Перелет первым классом|} |-| Окружные аэропорты (±XX км) | cr_district_airport[0]<br/>cr_district_airport[1]<br/>...<br/>cr_district_airport[8]| colspan="2" | true|} ==== Пассажиры ===={| style="width: 800px" class="wikitable"|-! scope="col" width="300" | Элемент! scope="col" width="250" | Переменная! scope="col" width="250" | Допустимые значения|-| Взрослых от 12 лет| adults| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0|} |-| Детей от 2 до 12 лет| children| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0|} |-| Младенцев до 2 лет| infants| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0|} |-| Младенцев с местом до 2 лет| infants_seat| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0|} |-| Молодых от 12 до 24 лет <br/>| youths| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0<br/><span style="font-size: large; color: rgb(255, 0, 0);">! </span><span style="background-color: rgb(255, 240, 245);"> Данный параметр доступен только в новой базовой теме.</span>|} |-| Пожилых от 65 лет| seniors| style="padding: 0;" | {| style="width: 257px; height: 100%; margin: -1px;" class="wikitable"|-| width="80" | 1| Целое число большее либо равное 0<br/><span style="font-size: large; color: rgb(255, 0, 0);">! </span><span style="background-color: rgb(255, 240, 245);"> Данный параметр доступен только в новой базовой теме.</span>|} |} ==== Примеры FastSearch запросов ==== <div class="toccolours mw-collapsible mw-collapsed" style="width:800px"><u>'''В одну сторону (простой)'''</u><div class="mw-collapsible-content">'''Рейс в одну сторону из Москвы в Париж, дата вылета: 25.10.2013, без пересадок, 1 взрослый'''* '''''форма поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&direct=true&adults=2¶m_by_get=on</pre>* '''''процесс поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&direct=true&adults=2¶m_by_get=on&fast_search=on</pre></div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:800px"><u>'''В одну сторону (с фильтрами по авиакомпаниям)'''</u><div class="mw-collapsible-content">'''Рейс в одну сторону из Москвы в Париж, дата вылета 25.10.2013, Пассажиры: пожилых - 2, Авиакомпании: Аэрофлот - Российские авиалинии, Международные Авиалинии Украины'''* '''''форма поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&seniors=2&input_vendors=SU,PS¶m_by_get=on</pre>* '''''процесс поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&seniors=2&input_vendors=SU,PS¶m_by_get=on&fast_search=on</pre></div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:800px"><u>'''Туда-обратно'''</u><div class="mw-collapsible-content">'''Рейсы туда-обратно Москва ↔ Париж, дата вылета: 25.10.2013, обратно: 27.10.2013, класс перелета: Эконом, Пассажиры: взрослых - 2 младенцев - 1'''* '''''форма поиска'''''<pre>http://SITEMANE/?trip_type=RT&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&back_departure_date=27.10.2013&class=econom&adults=2&infants=1¶m_by_get=on</pre>* '''''процесс поиска'''''<pre>http://SITEMANE/?trip_type=RT&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&back_departure_date=27.10.2013&class=econom&adults=2&infants=1¶m_by_get=on&fast_search=on</pre></div></div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px"><u>'''Сложный маршрут'''</u><div class="mw-collapsible-content">'''из Москвы в Париж, дата вылета 25.10.2013,'''<br/>'''из Парижа в Санкт-Петербург, дата вылета 26.10.2013,'''<br/>'''из Санкт-Петербурга в Москву, дата вылета 29.10.2013,'''<br/>'''1 взрослый'''* '''''форма поиска'''''<pre>http://SITEMANE/?trip_type=CR&cr_iata[0]=MOW&cr_back_iata[0]=PAR&cr_date[0]=25.10.2013&cr_iata[1]=PAR&cr_back_iata[1]=LED&cr_date[1]=26.10.2013&cr_iata[2]=LED&cr_back_iata[2]=MOW&cr_date[2]=29.10.2013&adults=1¶m_by_get=on</pre>* '''''процесс поиска'''''<pre>http://SITEMANE/?trip_type=CR&cr_iata[0]=MOW&cr_back_iata[0]=PAR&cr_date[0]=25.10.2013&cr_iata[1]=PAR&cr_back_iata[1]=LED&cr_date[1]=26.10.2013&cr_iata[2]=LED&cr_back_iata[2]=MOW&cr_date[2]=29.10.2013&adults=1¶m_by_get=on&fast_search=on</pre></div></div> === Взаимодействие FastSearch так же работает и Метрики ===Для того, чтобы переход был зарегистрирован системой как переход с определенного источникадля отелей, необходимо передать подробности в запросе дополнительный параметр utm_source (Metrics Session ID). Например:<pre>http://SITEMANE/?(some_parameters=vals&)utm_source=source_alias</pre>где source_alias - алиас источника переходов. статье [[Модуль метрики | Дополнительная информация по использованию модуля МетрикиFast Search для отелей]]. ==== Пример FastSearch запроса с параметром для модуля Метрики ====<div class="toccolours mw-collapsible mw-collapsed" style="width:800px"><u>'''FastSearch (с учетом источника перехода для модуля Метрики)'''</u><div class="mw-collapsible-content">'''Рейс в одну сторону из Москвы в Париж, дата вылета: 25.10.2013, без пересадок, 1 взрослый (с учетом источника перехода для модуля Метрики).'''* '''''форма поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&direct=true&adults=2¶m_by_get=on&utm_source=source_alias</pre>* '''''процесс поиска'''''<pre>http://SITEMANE/?trip_type=OW&out_iata=MOW&in_iata=PAR&departure_date=25.10.2013&direct=true&adults=2¶m_by_get=on&fast_search=on&utm_source=source_alias</pre></div></div>
→API Авиабилетов
==API Авиабилетов==
=== API Поиска авиабилетов ===
</tr>
<tr class="row24">
<td>Type</td><td>да</td><td>строка</td><td>Тип пассажира возможные значения: ADT - взрослые, CNN - дети со взрослыми, UNN - дети без сопровождения взрослых, INF - младенцы,INS - младенцы с местом</td>
</tr>
</tr>
<tr class="row26">
<td class="col0">LinkedTo </td><td class="col1">нет </td><td class="col2">целое число </td><td class="col3">Номер взрослого, к которому привязан младенец/ребёнок(привязка ребёнка ко взрослому является опциональной)</td>
</tr>
</div></div>
==Передача параметров в форму поиска(FastSearch)=={{Contract}}
В системе Nemo имеется возможность перенаправлять пользователей на страницу с уже заполненными параметрами поиска или сразу напрямую на результаты поиска.
<!-- Т.к. это внутренний формат обмена данными между Немо и одним клиентом, то данную инфу скроем в комментарии
==Проверка в сторонней системе возможности тикетинга==
При выписки билета через стороннюю систему 1С, отправляется запрос "GetDebtCounterparty", который спрашивает, можно ли с счета в 1С списать средства для оплаты. В ответе содержится заключение от 1С, в случае если ошибок нет, то в ответе будет
<pre><m:Opportunity>Да</m:Opportunity></pre>
Пример запроса "GetDebtCounterparty"
</pre>
</div></div>
-->