Возможности 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).