Dokumentacja dla deweloperówPierwsze kroki
Uwierzytelnianie
Klucze API, zakresy i listy dozwolonych adresów IP.
Wysyłaj klucz API jako token bearer w każdym zapytaniu do /v1.
curl https://runner.cargoduo.com/v1/balance \
-H "Authorization: Bearer $CARGODUO_API_KEY"Klucze API
| Klucz | Szczegóły |
|---|---|
| Format | cd_live_ + 40 znaków |
| Kto tworzy | Właściciel organizacji, w konsoli deweloperskiej |
| Widoczność | Tylko raz, przy utworzeniu. Przechowujemy wyłącznie hash |
| Na organizację | Maks. liczba aktywnych kluczy: 20 |
| Opcjonalnie | Data wygaśnięcia, lista dozwolonych adresów IP (adresy IP lub zakresy CIDR) |
| Wymiana | Nowy sekret, te same ustawienia. Stary przestaje działać natychmiast |
Trzymaj klucze na serwerze. Nigdy nie umieszczaj ich w kodzie działającym w przeglądarce ani w aplikacji mobilnej.
Zakresy
| Zakres | Endpointy |
|---|---|
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} |
Nowe klucze dostają wszystkie zakresy. POST /v1/projects/{id}/pack wymaga zarówno pack:write, jak i resources:write.
Błędy
| Status | Kod | Znaczenie |
|---|---|---|
| 401 | unauthorized | Brak klucza API, nieprawidłowy format klucza lub nieznany klucz. |
| 401 | key_revoked | Klucz został unieważniony. |
| 401 | key_expired | Klucz utracił ważność. |
| 403 | ip_not_allowed | Adresu IP, z którego przyszło wywołanie, nie ma na liście dozwolonych adresów klucza. |
| 403 | subscription_inactive | Organizacja nie ma aktywnej subskrypcji obejmującej API. |
| 403 | account_inactive | Organizacja jest zawieszona albo nie ma właściciela z aktywnym kontem. |
| 403 | scope_missing | Klucz nie ma zakresu wymaganego przez ten endpoint. |
| 429 | rate_limited | Za dużo zapytań w bieżącej minucie, godzinie lub dobie (na klucz lub na organizację) albo przekroczony limit nieudanych uwierzytelnień z Twojego adresu IP (60 na minutę). |