Изменения

Перейти к навигации Перейти к поиску

Интеграция со сторонними системами АПИ

16 861 байт добавлено, 18:33, 4 февраля 2015
Передача параметров в форму поиска
</definitions></pre>
</div></div>
 
==Передача параметров в форму поиска==
{{Contract}}
В системе Nemo имеется возможность перенаправлять пользователей на страницу с уже заполненными параметрами поиска или сразу напрямую на результаты поиска.
 
=== Применение ===
Эта технология может использоватся к примеру для формирования ссылок с баннеров, при клике на которые пользователь попадает на форму, на которой уже могут быть заполнены пункты назначения, даты, количество пассажиров и прочие параметры.
 
Также, при указании всех необходимых параметров, пользователя можно перебрасывать сразу на процесс поиска авиабилетов с указанными критериями.
 
Для использования заполнения формы из 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&param_by_get=on</pre>
 
=== Переменные FastSearch ===
Имена полей - такие же как имена инпутов на поисковой форме.
 
Следите за тем, чтобы значения соответствовали установленным в настройках ограничениям.
 
Переменные, которые предполагают в качестве значения "true" можно просто не включать в запрос, чтобы их логика не отработала.
 
==== Форма поиска ====
Чтобы перенаправить пользователя на страницу с заполненными параметрами поиска, необходимо указать get-параметр '''&param_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);">!&nbsp;</span><span style="background-color: rgb(255, 240, 245);">&nbsp;Данные переменные применимы только для сложного маршрута ('''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
| Код аэропорта ИАТА
|-
| Пункты прилета
| 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);">!&nbsp;</span><span style="background-color: rgb(255, 240, 245);">&nbsp;Данный параметр доступен только в новой базовой теме.</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);">!&nbsp;</span><span style="background-color: rgb(255, 240, 245);">&nbsp;Данный параметр доступен только в новой базовой теме.</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&param_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&param_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&param_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&param_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&param_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&param_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&param_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&param_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 - алиас источника переходов. [[Модуль метрики | Дополнительная информация по использованию модуля Метрики]].
 
==== Пример 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&param_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&param_by_get=on&fast_search=on&utm_source=source_alias
</pre>
</div>
</div>
 
==Проверка в сторонней системе возможности тикетинга==
==API загрузки счетов из сторонней системы==
==API загрузки сальдо компаний из СОФИ==

Навигация

'