Перейти к содержимому

Авторизация и API-ключи

Кто Чем Заголовок
Интеграция (1С, SAP, ваш сервер) API-ключ компании X-Api-Key: orda_sk_… или Authorization: Bearer orda_sk_…
Человек (веб-кабинет, приложения) токен пользователя после входа и 2FA Authorization: Bearer <токен>

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

Администратор компании (с правом «Интеграции → управление») создаёт ключ в кабинете или запросом:

Окно терминала
curl -s -X POST "$ORDA_API/api-keys" -H "Authorization: Bearer <токен администратора>" \
-H "Content-Type: application/json" \
-d '{ "name": "1С: выгрузка заказов", "scopes": ["orders.view", "orders.create", "orders.edit", "customers.view", "customers.create", "customers.edit"] }'

В ответе поле key — полный ключ, показывается один раз. В Orda хранится только его хэш, восстановить ключ нельзя — только выпустить новый. Ключ можно ограничить сроком (expiresAt) и отозвать в любой момент (DELETE /api-keys/{id}) — он перестаёт работать сразу.

Право имеет вид раздел.действие. Доступные ключам разделы:

Раздел Что внутри
orders заказы: view, create, edit, delete
customers точки доставки (клиенты)
warehouses, vehicles, drivers склады, машины, водители
planning построение плана маршрутов: view, create
routes утверждение плана: approve
integrations вебхуки: view, create, edit, delete

Полный список: GET /api-keys/scopes. Пользователи, роли, настройки компании, оплата и выпуск ключей ключам недоступны никогда. Нужное право для каждого метода указано в справочнике (поле x-orda-permission).

Ключ действует от имени сотрудника, который его создал, и никогда не сильнее его текущих прав: если у сотрудника забрали право или его заблокировали — ключи, которые он выпустил, сразу теряют это право или перестают работать. Поэтому ключи для постоянной интеграции лучше выпускать от служебной учётной записи администратора.

  • Храните ключ в хранилище секретов (в 1С — в защищённых настройках/безопасном хранилище, не в коде и не в справочнике, который видят все пользователи).
  • Один ключ — одна интеграция. Для теста и боевого контура — разные ключи (и разные компании, см. Песочница).
  • Ключ попал в чат, письмо или репозиторий — отзовите его и выпустите новый.
  • Вызывайте API только с сервера. Ключ в браузере или мобильном приложении — утечка.
Код code Что значит
401 INVALID_API_KEY ключ неверный, отозван, истёк или его владелец заблокирован
403 FORBIDDEN у ключа нет нужного права (message называет право)
403 API_KEY_NOT_ALLOWED метод недоступен по ключу (например, управление пользователями)
429 RATE_LIMITED превышен лимит запросов, см. Ошибки и лимиты