Документация для разработчиковНачало работы
Аутентификация
API-ключи, области доступа и списки разрешённых IP.
Передавайте API-ключ как bearer-токен в каждом запросе к /v1.
curl https://runner.cargoduo.com/v1/balance \
-H "Authorization: Bearer $CARGODUO_API_KEY"API-ключи
| Параметр | Описание |
|---|---|
| Формат | cd_live_ + 40 символов |
| Кто создаёт | Владелец организации, в консоли разработчика |
| Показ | Один раз, при создании. Хранится только хеш |
| На организацию | Активных ключей: до 20 |
| Необязательно | Срок действия, список разрешённых IP (адреса или диапазоны CIDR) |
| Ротация | Новый секрет, те же настройки. Старый перестаёт работать сразу |
Храните ключи на своём сервере. Никогда не встраивайте их в браузерный код или мобильное приложение.
Области доступа
| Область доступа | Endpoints |
|---|---|
pack:write | POST /v1/pack, POST /v1/estimate, DELETE /v1/jobs/{id}, POST /v1/projects/{id}/pack |
jobs:read | GET /v1/jobs, GET /v1/jobs/{id}, GET /v1/jobs/{id}/result |
account:read | GET /v1/limits, GET /v1/balance, GET /v1/usage |
resources:read | GET /v1/projects, GET /v1/projects/{id}, GET /v1/vehicles, GET /v1/vehicles/{id}, GET /v1/templates, GET /v1/templates/{id} |
resources:write | POST /v1/projects, PATCH /v1/projects/{id}, DELETE /v1/projects/{id}, POST /v1/projects/{id}/pack, POST /v1/vehicles, PATCH /v1/vehicles/{id}, DELETE /v1/vehicles/{id}, POST /v1/templates, PATCH /v1/templates/{id}, DELETE /v1/templates/{id} |
Новые ключи получают все области доступа. Для POST /v1/projects/{id}/pack нужны и pack:write, и resources:write.
Ошибки
| Статус | Код | Значение |
|---|---|---|
| 401 | unauthorized | API-ключ отсутствует, имеет неверный формат или неизвестен. |
| 401 | key_revoked | Ключ отозван. |
| 401 | key_expired | Срок действия ключа истёк. |
| 403 | ip_not_allowed | IP-адреса вызывающей стороны нет в списке разрешённых IP для этого ключа. |
| 403 | subscription_inactive | У организации нет активной подписки, включающей API. |
| 403 | account_inactive | Работа организации приостановлена, или у неё нет владельца с активной учётной записью. |
| 403 | scope_missing | У ключа нет области доступа, необходимой для этого endpoint. |
| 429 | rate_limited | Слишком много запросов за текущую минуту, час или сутки (на ключ или на организацию) либо число неудачных попыток аутентификации с вашего IP-адреса превысило 60 в минуту. |