В данной статье подробно описано, как правильно сформировать сигнатуру для запроса к API поиска авиабилетов. чтобы он работал корректно.
Рассмотрим пример формирования сигнатуры (подписи) для запроса к API поиска авиабилетов от Aviasales.
К примеру, у нас есть набор параметров, которые мы хотим передать в API, чтобы получить данные по авиабилетам:
{
"signature": "YourSignature",
"currency_code": "USD",
"marker": "YourMarker",
"market_code": "US",
"locale": "US",
"search_params": {
"directions": [
{
"origin": "LAX",
"destination": "NYC",
"date": "2026-09-09"
},
{
"origin": "NYC",
"destination": "LAX",
"date": "2026-09-25"
}
],
"trip_class": "Y",
"passengers": {
"adults": 1,
"children": 0,
"infants": 0
}
}
}В примере выше слева от двоеточия находятся параметры, а справа их значения.
- Для начала вам нужно переставить параметры (и их значения) так, чтобы они шли в алфавитном порядке.
Обратите внимание, при сортировке учитывается вложенность данных. Это значит, что если элемент содержит массив (например, segments) или список параметров (например, passengers), то содержимое данного элемента сортируется отдельно и ставится на его место в общем списке. При этом содержимое не сортируется с параметрами верхнего уровня. Параметры внутри массива сортируются в порядке следования фигурных скобок { }.
- В результате у вас получится отсортированный список, например:
{
"currency_code": "USD",
"locale": "US",
"marker": "YourMarker",
"market_code": "US",
"search_params": {
"directions": [
{
"date": "2026-09-09",
"destination": "NYC",
"origin": "LAX"
},
{
"date": "2026-09-25",
"destination": "LAX",
"origin": "NYC"
}
],
"passengers": {
"adults": 1,
"children": 0,
"infants": 0
},
"trip_class": "Y"
}
}- После сортировки соберите строку, содержащую только значения параметров, отделяя их друг от друга двоеточием, например:
USD:US:YourMarker:US:2026-09-09:NYC:LAX:2026-09-25:LAX:NYC:1:0:0:YМаркер находится в нижнем левом углу личного кабинета:
- Добавьте в начало строки ваш API-ключ. Он находится в разделе Профиль на вкладке API-ключ
- У вас получится строка вида:
ВашКлюч:USD:US:ВашМаркер:US:2026-09-09:NYC:LAX:2026-09-25:LAX:NYC:1:0:0:Y- Возьмите её и сформируйте md-5 подпись. Полученный результат и является сигнатурой запроса. Используйте подпись для отправки запроса к API поиска.
Обратите внимание: Сигнатура чувствительна к регистру.