Подключение туроператоров — различия между версиями

Материал из wiki.Sletat.ru
Перейти к: навигация, поиск
(Реализуемые методы)
(SletatRu Provider API)
 
(не показана 51 промежуточная версия 1 участника)
Строка 1: Строка 1:
 
[[Category:Подключение_туроператоров]]
 
[[Category:Подключение_туроператоров]]
==  Описание сервиса  ==
+
==  SletatRu Provider API ==
 
+
Актуальная версия документации доступна по ссылке: https://static.sletat.ru/Files/api/SletatRu_Provider_API.pdf
Для интеграции со Слетать.ру нужно создать веб-сервис, который будет выполнять следующие задачи:
+
* Выгружать справочники: города вылета, страны, курорты, отели и т.д.
+
* Осуществлять параметризованный поиск цен
+
* Актуализировать выбранный тур по его идентификатору
+
 
+
'''Для упрощения, сервис можно представить веб-страничкой, которая принимает GET или POST параметры и выдаёт ответ в формате XML (не SOAP).'''
+
 
+
Для всех методов сервиса должен использоваться один адрес. Например, если вы реализуете сервис по адресу: http://mysite.com/services/sletatru.xml , то этот адрес должен быть общим для всех запросов.
+
 
+
Примеры:
+
* http://mysite.com/services/sletatru.xml?action=GetCountries – запрос списка стран
+
* http://mysite.com/services/sletatru.xml?action=GetDepartCities – запрос списка городов вылета
+
 
+
Выдача результатов должна быть в формате XML, для каждого метода описан формат.
+
 
+
Для корневого элемента в результате должен быть указан атрибут version с указанием версии протокола. Атрибут нужен для определения версии провайдера туров сервисом Слетать.ру.
+
 
+
Пример:
+
<getCountriesResult version="1.0">
+
...
+
</getCountriesResult>
+
Данный документ описывает версию прокола 1.0.
+
 
+
Все методы должны возвращать XML в кодировке UTF-8.
+
 
+
Все параметры запросов, не помеченные как обязательные, являются необязательными только для стороны, формирующей запрос. '''Для серверной стороны обработка всех полученных параметров запроса обязательна.'''
+
 
+
Результат выполнения запросов (поискового в частности) должен строго соответствовать указанным параметрам. Если параметр не обязателен и не указан, запрос его не учитывает и возвращает все варианты.
+
 
+
Пул IP адресов, с которых сервис Слетать.ру будет обращаться к реализуемому провайдеру туров уточняется отдельно. Для его уточнения необходимо написать на support@sletat.ru
+
 
+
== Дополнительные требования к сервису ==
+
 
+
Максимально допустимое время при работе с любым методом сервиса не должно превышать 30 секунд. Рекомендуемая скорость ответов (в том числе для метода выдачи туров) до 5 секунд. Если какой-либо метод вернёт результат за период более 30 секунд, то сервис Слетать.ру не обработает эти данные.
+
 
+
Любой метод реализуемого сервиса может быть вызван одновременно различными потоками. Поэтому в реализации методов не должно быть блокировок, синхронизирующих доступ к методам. Метод выдачи туров должен поддерживать параллельное выполнение нескольких поисковых запросов.
+
 
+
Количество запросов в сутки к реализуемому сервису уточняется отдельно и зависит от следующих параметров:
+
* количества и популярности направлений туроператора
+
* количества городов вылета
+
* количества поисковых запросов в сервисе Слетать.ру
+
 
+
== Реализуемые методы ==
+
 
+
Для каждого метода в документе указано назначение, список входящих параметров, формат выдачи, а также описание и типы данных в выдаче методов.
+
 
+
В методах используются следующие типы данных:
+
 
+
* Int32 – целое число (32 бита со знаком) от 2,147,483,648 до 2,147,483,647
+
* Int64 – целое число (64 бита со знаком)
+
* UInt64 – целое число (64 бита без знака)
+
* String - строка
+
 
+
=== Выгрузка списка стран ===
+
 
+
Метод производит выгрузку всех направлений туроператора
+
 
+
Формат запроса: ?action=GetCountries
+
 
+
Параметры:
+
 
+
* id – идентификатор страны (опциональный; если указан, то запрашивается только одна запись)
+
 
+
Формат выдачи:
+
 
+
<getCountriesResult version="1.0">
+
  <country id="{Int32}" name="{String}" />
+
  ...
+
  </getCountriesResult>
+

Текущая версия на 11:08, 4 октября 2018

SletatRu Provider API

Актуальная версия документации доступна по ссылке: https://static.sletat.ru/Files/api/SletatRu_Provider_API.pdf