Этот раздел описывает, как получить доступ к API CARGO.RUN и как передавать токен авторизации в запросах.
Доступ к API CARGO.RUN защищён с помощью JWT-токена, который передаётся в HTTP-заголовке:
Authorization: Bearer <access_token>
В swagger-схеме используется схема безопасности Bearer:
apiKeyAuthorizationBearer {token}Базовый URL API определяется для конкретного клиента при подключении:
https://api.app.cargorun.ru/
https://api.test.cargorun.ru/
https://api.<customer>.cargorun.ru/
Во всех примерах далее используется абстрактный <baseUrl>.
Для получения токена используется метод:
POST /api/Account/GenerateToken
{
"userName": "string",
"password": "string",
"code": "string"
}
Для интеграции поле code может быть проигнорировано. Используется для авторизации водителей.
Полученный токен действителен в течение 30 минут и не требует повторного запроса при каждой операции. По истечении срока действия ключа (30 мин) необходимо отправить запрос на обновление токена.
POST <baseUrl>/api/Account/GenerateToken
Content-Type: application/json
{
"userName": "user@example.com",
"password": "P@ssw0rd",
"code": "999999"
}
Метод /api/Account/GenerateToken не предназначен для регулярного или частого вызова. На стороне сервера действуют ограничения (cooldown), и при слишком частом запросе токена сервер может вернуть ошибку 429.
Причина введения ограничения:
RefreshToken).Для обновления токена необходимо использовать метод:
POST /api/Account/RefreshToken
{
"accessToken": "string",
"refreshToken": "string"
}
POST <baseUrl>/api/Account/RefreshToken
Content-Type: application/json
{
"accessToken": "<старый_access_token>",
"refreshToken": "<refresh_token>"
}
Authorization: Bearer <access_token>
Пример:
GET <baseUrl>/api/bids/GetListForExternal
Authorization: Bearer eyJhbGciOiJIUzI1...