Skip to content

Backoffice API (RU)

Polina Kabirova edited this page Jan 12, 2021 · 12 revisions

Содержание


Все эндпоинты новой версии API имеют общий url: https://backoffice.aviasales.ru/api/v2/.

Исключение: запрос для получения авторизационного токена — для него сохранился url старой версии https://backoffice.aviasales.ru/api/.

Deprecated endpoints

  • /directions_by_host — статистика по направлениям в разбивке по хостам. Отчёт не используется.
  • /debug — эндпоинт не работает.
  • /contact — технический эндпоинт для отправки писем на почту и в слак, дёргается из другого сервиса. Сейчас не работает.
  • /notifications/create — эндпоинт не работает. Планируется обновление всех эндпоинтов, связанных с уведомлениями.

Получение авторизационного токена /auth

Метод: POST

Пример запроса

https://backoffice.aviasales.ru/api/auth

Параметры запроса

  • username — логин.
  • password — md5-хеш от пароля.

Пример ответа

{
 "token": "eyJhbGciOiJIUzI1NiIsImvhbjsdcCI6MTUwNzcwNTQzMywiaWF0IjoxNTA3MTAwNjMzfQ.eyJnYXRlX2lkIjozMDUsImV4cCI6IjIwMTctMTAtMTEgMTI6NDY6NDMiLCJpZCI6MTA1MywicGVybWlzc2lvbnMiOlsiQmFzaWMgUmVwb3J0cyJdfQ.WbdTky6E_ljRq8TtMe7d4TZKE82DfwRDplw1KtzctqI",
 "permissions": [
 "Basic Reports"
 ]
}

Параметры ответа

  • token — авторизационный токен.
  • permissions — уровни доступа.

Передача токена

Полученный токен необходимо использовать для базовой аутентификации при каждом запросе к API. Авторизация осуществляется с помощью bearer token. В поле token вводится полученный токен, prefix остаётся пустым. При попытке отправить любой запрос без авторизации возвращается ответ:

{
  "description": "Authorization header was missing",
  "error": "Authorization Required",
  "status_code": 401
}

Параметры ответа

  • description — описание ошибки.
  • error — наименование ошибки.
  • status_code — HTTP-код ошибки.

Базовая статистика /statistics

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/statistics?gate_id=21&from=2020-03-25&to=2020-03-25&interval=10d

Параметры запроса

Обязательные параметры:

  • interval — временной период для группировки данных. Возможные значения:
    • 10min (10 минут),
    • 1h (1 час),
    • 1d (1 день),
    • 1m (1 месяц).
  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.

Необязательные параметры:

  • gate_id — gate id партнёра.
  • length — количество записей в ответе.
  • start — номер записи, с которой начнётся ответ.
  • market — рынок, на котором работает гейт. All — для всех рынков.

Пример ответа

{
  "data": [
    {
      "timeouts": "0.56",
      "zeros": "13.93",
      "sales": 4769,
      "errors": "0.04",
      "duration": "3.95",
      "str": "23.28",
      "success": "85.48",
      "unique_clicks": 15372,
      "btr": "25.26",
      "time": "2020-03-25",
      "productivity": "0.95",
      "ctr": "1.34",
      "clicks": 20482,
      "searches": 1531858,
      "bookings": 5174
    },
 ],
  "recordsTotal": 288
}

Параметры ответа

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • zeros — количество пустых ответов.
    • bookings — количество всех бронирований за запрошенный период.
    • str — конверсия из кликов в продажи, %.
    • success — процент успешных ответов от общего количества поисков.
    • sales — количество оплаченных продаж.
    • ctr — конверсия из поисков в клики, %.
    • btr — отношение общего количества продаж к кликам, %.
    • time — период времени, за который была посчитана статистика.
    • errors — процент ошибок от общего количества поисков.
    • searches — количество поисков.
    • timeouts — процент таймаутов от общего количества поисков.
    • duration — среднее время ответа на поисковый запрос.
    • clicks — количество кликов.
    • productivity — отношение фактического количества оплаченных бронирований к предсказанному. За сегодняшний день продуктивность всегда равно 0, так как мы рассчитываем её на исторических данных.
    • unique_clicks — количество уникальных кликов.

Детализация кликов /clicks

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/clicks?length%20=10&from=2020-01-21&to=2020-01-22&sort=date&order=descend

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • sort — вид сортировки записей: date (по дате), price (по цене).
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).

Необязательные параметры:

  • start — номер записи, с которой начнётся ответ.
  • length — количество записей в ответе.
  • market — рынок, на котором работает гейт. All — для всех рынков.
  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.

Пример ответа

{
  "data": [
    {
      "date": "2020-01-22 23:59:35",
      "id": "cr8ezmn3cqcg",
      "unique": true,
      "price": 5632,
      "host": "www.aviasales.ru",
      "deeplink": "https://www.kupibilet.ru/booking/step0/Y10023JANMCXMOW/WV8xMDBfMjNKQU5NQ1hNT1dfZ2hlMDU2X18xNTc5NzM3NTIw:3?agent=ghe056&tag=aaa0000&marker=cr8ezmn3cqcg&locale=ru",
      "ip": "213.5.20.146",
      "prediction": "0.21129",
      "platform": "web",
      "market": "ru",
      "main_airline": null,
      "ticket_info": null,
      "origin": [
        "MCX",
        null
      ],
      "destination": [
        "MOW",
        null
      ],
      "is_mixed": false
    }

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • date — дата и время клика (по UTC).
    • id — уникальный идентификатор клика.
    • unique — True, если клик уникальный. False, если клик не уникальный.
    • price — цена предложения, на которое был сделан клик (в рублях, если в запросе не был передан параметр currency).
    • host — хост.
    • deeplink — диплинк.
    • ip — IP-адрес пользователя.
    • prediction — вероятность конверсии клика в бронирование.
    • platform — платформа пользователя (web/iphone/android/mobile web/other).
    • market — рынок пользователя.
    • main_airline — основная авиакомпания в билете. Если в билете несколько АК, за основную берём АК из самого длинного перелёта.
    • origin_0 — iata вылета туда.
    • destination_0 — iata прилёта туда.
    • origin_1 — iata вылета обратно.
    • destination_1 — iata прилёта обратно.
    • origin — массив значений origin_0 и origin_1.
    • destination — массив значений destination_0 и destination_1.
    • is_mixed — билет смешанный, если в нём участвуют разные авиакомпании. Если маркетинговые перевозчики всех рейсов одинаковые, билет не смешанный.

Статистика по кликам в разрезе авиакомпаний /airlines

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/airlines?length=5&from=2020-03-25&to=2020-03-25&sort=total_clicks&order=descend&iata=DP

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • sort — вид сортировки записей. Возможные значения:
    • iata (iata авиакомпании),
    • total_clicks (всего кликов),
    • total_uniq_clicks (всего уникальных кликов),
    • avg_str (средние STR),
    • avg_clicks_share (средний процент кликов).

Необязательные параметры:

  • length — количество записей в ответе.
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.
  • iata — iata авиакомпании.

Пример ответа

{
  "data": [
    {
      "iata": "AD",
      "clicks_by_date": [
        {
          "report_date": "2020-03-25 00:00:00",
          "airline_iata": "DP",
          "clicks": 10172,
          "uniq": 7596,
          "paid": 2712,
          "clicks_share": 42.29697700528088486000,
          "str": 26.66142351553283523400,
          "productivity": "0.94"
        },
      ],
      "total_clicks": 10172,
      "total_uniq_clicks": 7596,
      "total_paid": 2712,
      "avg_str": "26.66",
      "avg_clicks_share": "42.30",
      "productivity": "0.94"
    }
  ],
  "recordsTotal": 78,
  "recordsFiltered": 78
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsFiltered — количество записей в ответе. Параметр возвращается, только когда в запросе был указан параметр iata.
  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • iata — iata авиакомпании.
    • clicks_by_date — ключ, содержащий в себе статистику по дням:
      • airline_iata — iata авиакомпании.
      • report_date — дата, за которую посчитана статистика.
      • clicks — количество кликов.
      • uniq — количество уникальных кликов.
      • paid — количество оплаченных бронирований.
      • str — конверсия из кликов в продажи, %.
      • clicks_share — процент доли кликов по авиакомпании за день.
      • productivity — отношение фактического количества оплаченных бронирований к предсказанному. За сегодняшний день продуктивность всегда равно 0, так как мы рассчитываем её на исторических данных.
    • total_clicks — общее количество кликов за выбранный период времени.
    • total_uniq_clicks — общее количество уникальных кликов за выбранный период времени.
    • total_paid — общее количество оплаченных продаж за выбранный период времени.
    • avg_str — среднее значение отношения оплаченных продаж к кликам за выбранный период времени.
    • avg_clicks_share — средний процент доли кликов по авиакомпании за выбранный период времени.
    • productivity — отношение фактического количества оплаченных бронирований к предсказанному.

Статистика по бронированиям /bookings

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/bookings?gate_id=7&length=10&start=0&sort=date&order=descend&market=all&booking_state=paid&from=2020-01-15&to=2020-01-22

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • booking_state — статус бронирования. Возможные значения:
    • processing (обрабатывается),
    • paid (оплачено),
    • cancelled (отменено),
    • допустимо выбрать все три статуса paid,processing,cancelled.
  • sort — вид сортировки записей: date (по дате).
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • length — количество записей в ответе.

Необязательные параметры:

  • gate_id — gate id партнёра.
  • market — рынок, на котором работает гейт. All — для всех рынков.
  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.
  • start — номер записи, с которой начнётся ответ.
  • last_hour — статистика за последний час: true/false.

Пример ответа

{
  "data": [
    {
      "date": "2020-01-22 23:59:00",
      "order_number": "6377760491",
      "state": "paid",
      "price": 1749,
      "host": "phone.android.aviasales.ru",
      "deeplink": "https://www.kupibilet.ru/booking/step0/Y10027JANLEDMOW/WV8xMDBfMjdKQU5MRURNT1dfZ2hlMDU2X18xNTc5NzM3MTY3:140?agent=ghe056&tag=aaa0000&marker=cr8dx7682a74&locale=ru",
      "ip": "213.87.147.176",
      "direction": "LED=>MOW"
    },
     ],
  "recordsTotal": [
    52208
  ]
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • date — дата и время бронирования (по UTC);
    • order_number — номер заказа;
    • state — статус бронирования;
    • price — цена (в рублях, если в запросе не был передан параметр currency);
    • host — хост;
    • deeplink — диплинк;
    • ip — IP-адрес пользователя;
    • direction — направление поиска. Конструируется следующим образом: {origin city iata}{=>/<=>}{destination city iata}, где origin city iata — IATA-код города вылета, destination city iata — IATA-код города прилёта, => — поиск в одну сторону, <=> — поиск туда-обратно.

Статистика по направлениям /directions

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/directions?length=100&from=2020-01-04&to=2020-01-06

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • length — количество записей в ответе.

Необязательные параметры:

  • sort — вид сортировки записей. Возможные значения:
    • direction (направление),
    • total_searches (всего поисков),
    • total_profit (общая прибыль),
    • str (конверсия из кликов в продажи, %),
    • ctr (конверсия из поисков в клики, %),
    • avg_check (средний чек),
    • total_clicks (всего кликов),
    • total_unique_clicks (всего уникальных кликов),
    • total_timeouts (процент таймаутов),
    • total_paid_bookings (всего оплаченных бронирований),
    • total_turnover (оборот продаж),
    • total_errors (процент ошибок от общего количества поисков),
    • total_zeros (всего пустых ответов).
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.
  • market — рынок, на котором работает гейт. All — для всех рынков.
  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.
  • page — страница, на которой собирается статистика: AllDirections, dashboard.

Пример ответа

{
  "data": [
    {
      "avg_check": "11216.56",
      "total_errors": "0.04",
      "str": "12.66",
      "total_turnover": 661777,
      "total_timeouts": "0.10",
      "total_paid_bookings": 59,
      "ctr": "0.87",
      "total_zeros": "16.42",
      "total_searches": 53316,
      "total_clicks": 466,
      "direction": "MOW<=>AER",
      "total_profit": "26965.14",
      "total_unique_clicks": 466
    },
     ],
  "recordsTotal": [
    278264
  ]
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • avg_check — средний чек за бронирование (в рублях, если в запросе не был передан параметр currency).
    • total_errors — процент ошибок от общего количества поисков.
    • str — конверсия из кликов в продажи, %.
    • total_turnover — оборот продаж (в рублях, если в запросе не был передан параметр currency).
    • total_timeouts — процент таймаутов от общего количества поисков.
    • total_paid_bookings — всего оплаченных бронирований.
    • ctr — конверсия из поисков в клики, %.
    • total_zeros — всего пустых ответов.
    • total_searches — общее количество поисков за выбранный период времени.
    • total_clicks — общее количество кликов за выбранный период времени.
    • direction — направление поиска. Конструируется следующим образом: {origin city iata}{=>/<=>}{destination city iata}, где origin city iata — IATA-код города вылета, destination city iata — IATA-код города прилёта, => — поиск в одну сторону, <=> — поиск туда-обратно.
    • total_profit — общая прибыль (в рублях).
    • total_uniq_clicks — общее количество уникальных кликов за выбранный период времени.

Статистика по динамическому аукциону /auction

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/auction?gate_id=4&length=10&start=0&sort=avg_str&order=descend&market=all&currency=RUB&from=2020-05-25&to=2020-05-26

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • sort — вид сортировки записей. Возможные значения:
    • avg_str (средний STR),
    • avg_commission (средняя комиссия),
    • iata,
    • avg_price (средняя стоимость).

Необязательные параметры:

  • gate_id — gate id партнёра.
  • length — количество записей в ответе.
  • start — номер записи, с которой начнётся ответ.
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • market — рынок, на котором работает гейт. All — для всех рынков.
  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.
  • iata — iata авиакомпании.

Пример ответа

{
  "data": [
    {
      "iata": "",
      "avg_str": "19.78",
      "avg_commission": "0.50",
      "avg_price": "2738",
      "values_by_date": [
        {
          "iata": "",
          "report_date": "2020-05-26",
          "str": 16.0337552742616034,
          "avg_commission": 0.500000000000002,
          "avg_price": 2801.4
        },
      ]
    }
  ],
  "recordsTotal": 1,
  "recordsFiltered": 1
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsFiltered — количество записей в ответе.
  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • iata — iata авиакомпании.
    • avg_str — средняя конверсия из кликов в продажи за выбранный период, %.
    • avg_commission — средняя ставка динамического аукциона за выбранный период.
    • avg_price — средняя стоимость оплаченных бронирований за выбранный период.
    • values_by_date — массив детализированных данных:
      • iata — iata авиакомпании.
      • report_date — дата, за которую посчитана статистика.
      • str — конверсия из кликов в продажи, %.
      • avg_commission — средняя ставка динамического аукциона за определённый день.
      • avg_price — средняя стоимость оплаченных бронирований за определённый день.

Статистика ошибок /errors

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/errors?gate_id=37&length=10&sort=count&order=ascend&from=2020-01-16&to=2020-01-23

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • length — количество записей в ответе.
  • sort — вид сортировки записей. Возможные значения:
    • count (количество ошибок),
    • errors_share (процент ошибок),
    • searches_share (процент поисков).

Необязательные параметры:

  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.

Пример ответа

{
  "data": [
    {
      "description": "Internal gate error",
      "error_type": "PartnerError",
      "code": 500,
      "url": null,
      "count": 15023,
      "errors_share": 68.61697268658074,
      "searches_share": 0.06991331316924737,
      "total_rows": 1512
    },
    ],
  "recordsTotal": 1512
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • description — описание ошибки.
    • error_type — тип ошибки. Возможные значения: PartnerError, InfrastructureError, DeltaError.
    • code — HTTP-код ошибки, если это серверная проблема, и null в противном случае.
    • url — пример поиска с ошибкой.
    • count — количество ошибок.
    • errors_share — процент ошибок.
    • searches_share — процент поисков.
    • total_rows — всего строк. Параметр неинформативный и нигде не участвует.

Статистика по хостам /hosts

Метод: GET

Пример запроса:

https://backoffice.aviasales.ru/api/v2/hosts?gate_id=52&length=10&start=0&from=2020-01-16&to=2020-01-23

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.

Необязательные параметры:

  • length — количество записей в ответе.
  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.

Пример ответа

{
  "data": {
    "android": [
      {
        "bc": 1057,
        "pbc": 945,
        "str": 24.40,
        "productivity": 0.97,
        "cbc": 2,
        "date": "2020-01-16",
        "host": "android",
        "btr": 27.29,
        "clicks": 3873,
        "searches": 288173
      },
        ]
  },
  "recordsTotal": 2
}

Параметры ответа

Ответ является JSON-объектом, содержащим следующие ключи:

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • android — хост. Возможные значения: web, android, iphone, ipad, mobile, wl_jetradar, other.
      • searches — количество поисков.
      • clicks — количество кликов.
      • bc — количество продаж.
      • pbc — количество оплаченных продаж.
      • cbc — количество отменённых продаж.
      • productivity — отношение фактического количества оплаченных бронирований к предсказанному. За сегодняшний день продуктивность всегда равно 0, так как мы рассчитываем её на исторических данных.
      • date — дата, за которую посчитана статистика.
      • host — хост.
      • btr — конверсия из кликов в бронирования, %.
      • str — конверсия из кликов в продажи, %.

Дашборд /dashboard

Метод: GET

Пример запроса:

https://backoffice.aviasales.ru/api/v2/dashboard?gate_id=14

Параметры запроса

Для запроса параметры не требуются, вся информация берётся из токена.

Необязательные параметры:

  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.

Пример ответа

{
  "data": [
    {
      "gate_id": 70,
      "bookings_current_last_hour": 161,
      "bookings_previous_last_hour": 374,
      "bookings_current_yesterday": null,
      "bookings_previous_yesterday": null,
      "bookings_current_last_3days": 11479,
      "bookings_previous_last_3days": 40251,
      "avg_price_last_hour": 9449.14414414414,
      "avg_price_yesterday": 10853.2745098039,
      "avg_price_last_3days": 10475.5262347,
      "str_last_hour": null,
      "str_yesterday": null,
      "str_last_3days": 19.9384543923823,
      "clicks_current_last_hour": 1556,
      "clicks_previous_last_hour": 1465,
      "clicks_current_yesterday": 11353,
      "clicks_previous_yesterday": 12797,
      "clicks_current_last_3days": 51669,
      "clicks_previous_last_3days": 178174,
      "ctr_last_hour": 0.0,
      "ctr_yesterday": 0.698919269991658,
      "ctr_last_3days": 0.587521337432304,
      "searches_current_last_hour": 0,
      "searches_previous_last_hour": 166980,
      "searches_current_yesterday": 1624365,
      "searches_previous_yesterday": 1656754,
      "searches_current_last_3days": 8794404,
      "searches_previous_last_3days": 27213678,
      "errors_last_hour": 0.0742226912683962,
      "zeroes_last_hour": 17.4481310958285,
      "timeout_last_hour": 0.0,
      "errors_yesterday": 0.689684892250202,
      "zeroes_yesterday": 3.31249442089678,
      "timeout_yesterday": 0.624674872950353,
      "errors_last_3days": 0.0962430199931684,
      "zeroes_last_3days": 17.1015795953882,
      "timeout_last_3days": 0.0,
      "web_pessimizer": 100.0,
      "mobile_pessimizer": 100.0
    }
  ],
  "errors_last_hour": [
    {
      "code": 404,
      "count": 2
    },
    {
      "code": null,
      "count": 15
    }
  ],
  "errors_yesterday": [
    {
      "code": 404,
      "count": 10
    },
    {
      "code": null,
      "count": 536
    }
  ],
  "errors_last_3days": [
    {
      "code": 404,
      "count": 37
    },
    {
      "code": null,
      "count": 1723
    }
  ]
}

Параметры ответа

  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • gate_id — gate id партнёра.
    • bookings_current_last_hour — количество бронирований за последний час.
    • bookings_previous_last_hour — количество бронирований за последний час неделю назад.
    • bookings_current_yesterday — количество бронирований за вчера.
    • bookings_previous_yesterday — количество бронирований за предыдущий день неделю назад.
    • bookings_current_last_3days — количество бронирований за последние три дня.
    • bookings_previous_last_3days — количество бронирований за последние три дня неделю назад.
    • avg_price_last_hour — средняя цена за последний час (в рублях, если в запросе не был передан параметр currency).
    • avg_price_yesterday — средняя цена за вчера (в рублях, если в запросе не был передан параметр currency).
    • avg_price_last_3days — средняя цена за последние три дня (в рублях, если в запросе не был передан параметр currency).
    • str_last_hour — str за последний час.
    • str_yesterday — str за вчера.
    • str_last_3days — str за последние три дня.
    • clicks_current_last_hour — количество кликов за последний час.
    • clicks_previous_last_hour — количество кликов за последний час неделю назад.
    • clicks_current_yesterday — количество кликов за вчера.
    • clicks_previous_yesterday — количество кликов за предыдущий день неделю назад.
    • clicks_current_last_3days — количество кликов за последние три дня.
    • clicks_previous_last_3days — количество кликов за последние три дня неделю назад.
    • ctr_last_hour — ctr за последний час.
    • ctr_yesterday — ctr за вчера.
    • ctr_last_3days — ctr за последние три дня.
    • searches_current_last_hour — количество поисков за последний час.
    • searches_previous_last_hour — количество поисков за последний час неделю назад.
    • searches_current_yesterday — количество поисков за вчера.
    • searches_previous_yesterday — количество поисков за предыдущий день неделю назад.
    • searches_current_last_3days — количество поисков за последние три дня.
    • searches_previous_last_3days — количество поисков за последние три дня неделю назад.
    • errors_last_hour — процент ошибок за последний час.
    • zeroes_last_hour — процент пустых ответов за последний час.
    • timeout_last_hour — процент таймаутов за последний час.
    • errors_yesterday — процент ошибок за вчера.
    • zeroes_yesterday — процент пустых ответов за вчера.
    • timeout_yesterday — процент таймаутов за вчера.
    • errors_last_3days — процент ошибок за последние три дня.
    • zeroes_last_3days — процент пустых ответов за последние три дня.
    • timeout_last_3days — процент таймаутов за последние три дня.
    • web_pessimizer — значения юнита pessomizer для web-трафика.
    • mobile_pessimizer — значения юнита pessomizer для mobile-трафика.
  • errors_last_hour — список ошибок за последний час в виде массива записей, каждая из которых состоит из:
    • code — HTTP-код ошибки.
    • count — количество таких ошибок.
  • errors_yesterday — список ошибок за вчера в виде массива записей, каждая из которых состоит из:
    • code — HTTP-код ошибки.
    • count — количество таких ошибок.
  • errors_last_3days — список ошибок за три дня в виде массива записей, каждая из которых состоит из:
    • code — HTTP-код ошибки.
    • count — количество таких ошибок.

Рынки /markets

Метод: GET

Пример запроса:

https://backoffice.aviasales.ru/api/v2/markets

Параметры запроса

Для запроса параметры не требуются, вся информация берётся из токена.

Пример ответа

Возвращает список доступных маркетов:

[
  "ru",
  "ua",
  "kz",
  "by",
  "uz",
  "az",
  "kg",
  "am",
  "None",
  "in"
]

Информация о пользователе /user_info

Метод: GET

Пример запроса:

https://backoffice.aviasales.ru/api/v2/user_info

Параметры запроса

Для запроса параметры не требуются, вся информация берётся из токена.

Пример ответа

{
  "is_first_login": false
}

Параметры ответа:

is_first_login — пользователь зашёл в бэкофис впервые: true/false. Если в ответе "is_first_login": true, пользователю включится онбординг.

Список выгруженных отчётов /downloads

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/downloads?gate_id=7&length=10&start=0

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.

Необязательные параметры:

  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.

Пример ответа

{
  "data": [
    [
      "airlines",
      "2020-01-14 08:23",
      "5.4 sec",
      "2019-12-15 to 2020-01-14",
      "796 KB",
      "Ready",
      "0c1b395c849003ede417a5d6c0e74afa"
    ],
 ]
}

Параметры ответа

  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • тип отчёта. Возможные значения:
      • airlines,
      • bookings,
      • conversions,
      • clicks,
      • all_routes,
      • directions_by_host,
      • feedbacks,
      • bookings_detailed,
      • clicks_detailed.
    • дата создания отчёта.
    • скорость создания отчёта.
    • интервал.
    • размер.
    • статус. Возможные значения: ready, in_progress.
    • ссылка.

Отчёт с основной статистикой в виде графика /statistics/chartdata

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/statistics/chartdata?gate_id=6&market=all&length=9&start=0&sort=time&order=descend&interval=1h&from=2020-01-16&to=2020-01-23&metrics=Searches&compare=1w

Параметры запроса

Обязательные параметры:

  • compare — с каким предыдущим периодом сравнивается. Значения:
    • 1w (прошлая неделя),
    • 1d (прошлый день),
    • 1m (прошлый месяц),
    • 1y (прошлый год).
  • metrics — метрика. Значения параметров пишутся с прописной буквы:
    • Searches (поиски),
    • Sales (продажи),
    • Clicks (клики),
    • Errors (ошибки),
    • Zeros (пустые ответы),
    • Timeouts (таймауты),
    • Ctr (конверсия из поисков в клики, %),
    • Str (конверсия из кликов в продажи, %),
    • Search_results (результаты поисков).
  • interval — временной период для группировки данных. Возможные значения:
    • 1h (1 час),
    • 1d (1 день),
    • 1m (1 месяц).
  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.

Необязательные параметры:

  • gate_id — gate id партнёра.
  • sort — вид сортировки записей: time.
  • start — номер записи, с которой начнётся ответ.
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • length — количество записей в ответе.

Пример ответа

{
  "data": [
    {
      "compare_to_searches": 29100,
      "time": "2020-01-20 00:00",
      "searches": 37345
    }
     ]
}

Параметры ответа:

  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • compare_to_searches — количество поисков, с которым сравниваем. Параметр зависит от параметра запроса metrics.
    • time — дата и время по UTC, за которые посчитана статистика.
    • searches — количество поисков. Параметр зависит от параметра запроса metrics.

Уведомления /notifications

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/notifications

Параметры запроса

Для запроса параметры не требуются, вся информация берётся из токена.

Пример ответа

{
  "newNotifications": [],
  "archivedNotifications": [
    {
      "id": 902,
      "header": "Monitoring",
      "description": "Error rate is 76%",
      "checked": true,
      "deleted": false,
      "type": "error",
      "report": "errors",
      "created_at": "2018-10-04T09:28:00.762347"
      }
  ]
}

Параметры ответа

  • newNotifications — массив записей для новых уведомлений.
  • archivedNotifications — массив записей для уведомлений в архиве. Каждая запись содержит следующие значения:
    • id — id определённого уведомления.
    • header — заголовок уведомления.
    • description — описание уведомления, тип ошибки.
    • checked — отмечено ли уведомление: true/false.
    • deleted — удалено ли уведомление: true/false.
    • type — тип уведомления.
    • report — на какой отчёт в уведомлении генерируется ссылка. Обычно значение errors.
    • created_at — дата и время создания уведомления.

Уведомления /notifications/edit

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/notifications/edit?gate_id=80&id=477

Параметры запроса

Обязательные параметры:

  • gate_id — gate id партнёра.
  • id — id определённого уведомления.

Пример ответа

{
  "status": "ok"
}

Параметры ответа

Status — статус уведомления. Возможно только значение "ok".

Статистика по отзывам /feedbacks

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/feedbacks?gate_id=4&length=10&start=0&market=all&currency=RUB&order=descend&sort=created_at&from=2020-04-07&to=2020-04-14

Параметры запроса

Обязательные параметры:

  • from — дата начала периода выборки данных.
  • to — дата окончания периода выборки данных.
  • sort — вид сортировки записей: created_at.

Необязательные параметры:

  • length — количество записей в ответе.
  • order — порядок расположения записей с учётом сортировки: descend (по убыванию), ascend (по возрастанию).
  • gate_id — gate id партнёра.
  • start — номер записи, с которой начнётся ответ.
  • currency — валюта, в которой приходит цена билета. Заполняется символами верхнего регистра. Если параметр не передаётся, цена возвращается в рублях.
  • market — рынок, на котором работает гейт. All — для всех рынков.

Пример ответа

"data": [
    {
      "rating": null,
      "created_at": "2020-04-07 12:45:05",
      "reasons": [
        "wrong_price"
      ],
      "host": "iphone.aviasales.ru                                                                                                                                                                                                                                            ",
      "proposal_price": 4695,
      "feedback_comment": "                                                                                                                                                                                                                                                               ",
      "deeplink": "{\"url\":\"https://www.kupibilet.ru/booking/step0/Y10011APRLEDMRV/WV8xMDBfMTFBUFJMRURNUlZfZ2hlMDU2X18xNTg2MjYyODk3:1?agent=ghe056&tag=aaa0000&marker=d67ef7e1n8jk&locale=ru\"}"
    },
 ],
  "recordsTotal": 36
}   

Параметры ответа

  • recordsTotal — общее количество записей за запрошенный период.
  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • rating — рейтинг, который выставляет пользователь при ответе: от 1 до 5.
    • created_at — дата и время ответа пользователя.
    • reasons — выбранный пользователем вариант ответа на вопрос, почему он не купил билет. Возможные значения: no_wish, no_card, buy_later, wrong_price, site_error, buy_at_official, no_trust, no_ticket, card_error, use_problem, null.
    • host — хост. Хост other соответствует переходу с аффилированного сайта.
    • proposal_price — цена предложения (в рублях, если в запросе не был передан параметр currency).
    • feedback_comment — комментарий пользователя.
    • deeplink — ссылка, по которой пользователь перешёл с метапоиска на сайт партнёра.

Отчет о фильтрации АК /airlines_productivity

Метод: GET

Пример запроса

https://backoffice.aviasales.ru/api/v2/airlines_productivity?iata=DP&productivity=medium&gate_id=70

Параметры запроса

Необязательные параметры:

  • iata — IATA для поиска по определенной АК.
  • productivity — фильтрации по уровню продуктивности. Допустимые значения: 🟩 — good, 🟨 — medium, 🟥 — bad.

Пример ответа

{
  "data": [
    {
      "main_airline": "DP",
      "clicks_count": 65533,
      "predicted": 18811.0,
      "sales": 20485,
      "productivity": 1.065,
      "alpha": 0.881682206124937,
      "threshold": 0.982,
      "minimum_productivity": 1.18617569089491,
      "details": [
        {
          "pdate": "2020-12-22",
          "main_airline": "DP",
          "clicks_count": 9474,
          "predicted": 2731,
          "sales": 3009
        }
      ]
    }
  ]
}

Параметры ответа

  • data — корневой элемент, значением которого является массив записей. Каждая запись содержит следующие значения:
    • main_airline — IATA авиакомпании.
    • clicks_count — общее количество кликов.
    • predicted — общее количество предсказанных продаж.
    • sales — общее количество реальных продаж.
    • productivity — продуктивность.
    • threshold — пороговое значение продуктивности для фильтрации.
    • details — информация о фильтрации в разрезе по дням. Каждая запись содержит следующие значения:
      • pdate — дата;
      • main_airline — IATA авиакомпании;
      • clicks_count — количество кликов за текущую дату;
      • predicted — количество предсказанных продаж за текущую дату;
      • sales — количество реальных продаж за текущую дату.
Clone this wiki locally