Подключение и авторизация¶
Что выдаёт CARGO.RUN¶
Для партнёрского сервиса создаётся интеграционный клиент. CARGO.RUN передаёт:
clientId;clientSecret;<baseUrl>тестового или промышленного API.
Дополнительно CARGO.RUN настраивает платформу клиента, разрешения, callback и подписки.
Получение токена¶
{
"grantType": "client_credentials",
"clientId": "partner-client-id",
"clientSecret": "partner-client-secret"
}
| Поле | Тип | Обязательно | Значение |
|---|---|---|---|
grantType |
string | Да | Всегда client_credentials |
clientId |
string | Да | Идентификатор интеграционного клиента |
clientSecret |
string | Да | Секрет интеграционного клиента |
Из успешного ответа нужны:
expiresIn задаётся в секундах. Поля пользовательской авторизации refreshToken, twoFactorToken, twoFactorProvider, currentUser и requiresTwoFactor не входят в публичный M2M-контракт и не должны использоваться.
Использование токена¶
Во всех методах, кроме получения токена, передавайте:
Для JSON-запросов:
Для GET /api/integrations/Bids/GetList можно передать
X-Organization-Id. Заголовок ограничивает список одной доступной организацией;
без него метод возвращает заявки всех организаций интеграционного клиента. Для
остальных методов заголовок используйте только когда это прямо указано в контракте.
Обновление токена¶
- кешируйте токен до окончания
expiresIn; - не запрашивайте новый токен перед каждым вызовом;
- вызывайте
Account/Tokenне чаще двух раз за 30 секунд, иначе возможен429 Too Many Requests; - при
401 Unauthorizedодин раз получите новый токен и повторите исходный запрос; - не записывайте
clientSecretи токен в логи.
Настройка callback¶
Сотрудник CARGO.RUN указывает для интеграционного клиента:
callbackTarget— HTTPS URL партнёра;callbackSecret— секрет HMAC-подписи;- платформу, которой соответствуют связанные заявки;
- подписку
Bid/SummaryилиBid/Default.
Партнёрский сервис не меняет эти настройки через M2M API.
Формат запросов, подпись и правила повторной доставки описаны в разделе Webhook и подписки.
Проверка callback¶
CARGO.RUN отправит на callback тестовый webhook с заголовком:
Метод позволяет проверить доступность endpoint и реализацию проверки подписи.