cargo.run-api-docs

Обзор API CARGO.RUN

Этот документ содержит общие принципы работы API и служит вводной точкой перед изучением детальных сценариев.


1. Стиль и структура API

API CARGO.RUN построен на REST и использует:

Все структуры данных и модели определены в swagger (раздел components/schemas).


2. Авторизация

Большинство методов требует токен:

Authorization: Bearer <token>

Полное описание авторизации приведено в разделе:
Auth API


3. Модели и данные

Структуры объектов строго соответствуют схемам swagger:

components → schemas

Объекты Заявки и Заказы содержат поле updatedAt, но официальная инкрементальная синхронизация реализована только методом:

GET /api/bids/GetListForExternal

API-методы по справочникам не поддерживают фильтрацию по updatedAt.


4. Правила работы с API

4.1. Формат данных

API принимает и возвращает JSON.
Подробные правила работы с форматами описаны в:
Форматы данных


4.2. Даты и время

Swagger задаёт даты как:

string (date-time)

Это формат ISO 8601.
Используйте смещения времени так, как указано в swagger-примерах (как правило, UTC).


4.3. Пагинация и фильтрация

Поддерживаются параметры OData:

Они применимы только к методам, в swagger которых явно описаны query‑параметры.


4.4. Регистрозависимость URL

API CARGO.RUN регистронезависим.
Однако для единообразия во всей документации используется нижний регистр URL.


4.5. Ошибки

Swagger не описывает универсальную структуру ошибок.

API возвращает:


4.6. Используемые HTTP‑методы

API CARGO.RUN использует только два HTTP‑метода:

Методы DELETE, PUT, PATCH не используются.

Примеры POST-команд:

POST /api/bids/delete
POST /api/bids/restore
POST /api/truckingbids/revert
POST /api/truckingbids/setstatus
POST /api/truckingbids/forcecomplete

4.7. Общий паттерн создания и обновления объектов

Для большинства сущностей используется единый подход:

Создание объекта

POST /api/.../apply
{
  "id": 0,
  ...
}

Обновление объекта

POST /api/.../apply
{
  "id": <фактический идентификатор объекта>,
  ...
}

5. Сценарии интеграции

Заявка создаётся в CARGO.RUN

CARGO.RUN → учетная система

Заявка создаётся во внешней системе

Учетная система → CARGO.RUN

Общая синхронизация справочников и заявок:
Синхронизация данных


6. Дополнительные материалы