Описание API

Возможности API

Через API можно выполнять следующие действия:

  • Компании. Получать список компаний с информацией о них (название, баланс, кредит и т.д.), обновлять данные компаний и добавлять новые компании.
  • Сотрудники. Получать список сотрудников с полными данными (документы, карты лояльности, роль в компании), добавлять, обновлять и удалять сотрудников, сбрасывать пароль рядовому сотруднику (отправка нового — на почту).
  • Заказы. Получать список заказов с фильтрами и выгрузкой в XLSX, менять статусы заказов (согласовывать, оплачивать и отменять), загружать маршрут-квитанции, ваучеры и другие документы по заказу.
  • Заявки. Получать список заявок (обмен, возврат, изменение данных), создавать новые заявки и прикладывать к ним файлы.
  • Поездки. Создавать и редактировать поездки, управлять составом сотрудников, отменять поездки и отправлять их на согласование. Настраивать собственные поля поездки (цель, место назначения, даты и т.д.). Получать счёт по поездке и формировать приказ на командировку в XLSX.
  • Согласование. Управлять схемами согласования компании (этапы, согласующие по сотруднику, роли или руководителю группы, привязка к сотрудникам, группам и центрам затрат). Получать статус и схему процесса согласования, список ожидающих решения, согласовывать или отклонять.
  • Авансовые отчёты. Создавать и обновлять авансовые отчёты по поездке (суточные, выплаты, расходы с подтверждающими документами), выгружать отчёт по форме АО-1 в XLSX.
  • Центры затрат. Получать список центров затрат, создавать, обновлять и удалять их.
  • Тревел-политики. Получать список тревел-политик и групп тревел-политик, создавать, обновлять и удалять их.
  • Финансы. Получать записи финансового журнала, закрывающие документы и выставлять счёт на пополнение баланса.

Получение ключа и авторизация

API-ключи привязываются к сотрудникам и позволяют действовать от их имени без дополнительной авторизации. Доступ через API осуществляется с теми же правами, что и у владельца API-ключа.

Идентификатор организации и API ключ находится в разделе «Настройки» в личном кабинете Авиасейлс для бизнеса:

Для авторизации во все запросы нужно передавать HTTP-заголовок, вместо yourapikeyhere — ваш ключ API:

Authorization: Token yourapikeyhere

Идентификатор компании

Во все запросы, кроме GET /api/companies, нужно передавать UUID компании, для которой выполняется запрос. Получить список компаний пользователя с их идентификаторами можно через GET /api/companies.

Способ передачи зависит от метода:

  • Методы /api/v1/..., /api/advance-reports/... и формирование приказа на командировку принимают идентификатор в HTTP-заголовке:
    X-Current-Company: 00000000-0000-0000-0000-000000000000
  • Остальные методы принимают его в GET-параметре current_company:
    GET /api/orders?current_company=00000000-0000-0000-0000-000000000000

Формат запросов и ошибок

  • Тело запросов и ответов — JSON.
  • Списки возвращаются постранично: параметры page и page_size.
  • Ошибки: 400 или 422 — некорректные данные (в detail указано поле и причина), 403 — нет прав, 404 — объект не найден, 409 — операция недопустима в текущем статусе, 429 — превышен лимит запросов.
  • Для создания и изменения авансовых отчётов и загрузки вложений к ним обязателен заголовок Idempotency-Key — уникальная строка на каждую операцию. Повторный запрос с тем же ключом вернёт прежний результат и не создаст дубль.
  • Формирование приказа на командировку, выгрузка АО-1 и выставление счёта ограничены 50 запросами в час на сотрудника.

Документация методов

Подробная документация доступна по этой ссылке, также доступен swagger-файл в формате JSON (OpenAPI 3.0).

Похожие статьи