Перейти к содержанию

Обзор интеграции

Этот раздел описывает архитектуру интеграции CARGO.RUN Загрузки с внешними системами: 1С, ERP, TMS, WMS и внутренними сервисами клиентов.


1. Основная модель интеграции

Интеграция строится вокруг заказа на перевозку.

Заказ может появиться двумя способами:

  1. во внешней системе и затем быть передан в CARGO.RUN;
  2. в интерфейсе CARGO.RUN и затем быть загружен во внешнюю систему.

Обе модели поддерживаются API.


2. Участники процесса

Грузоотправитель или экспедитор

Создает заказ, управляет видимостью, получает отклики перевозчиков и выбирает исполнителя.

Основные методы:

  • POST /api/Orders/Apply;
  • GET /api/Orders/GetIntegrationList;
  • GET /api/Orders/GetInfo;
  • POST /api/OrderTruckMatchings/Accept;
  • POST /api/Orders/StartOrder;
  • POST /api/Orders/CancelOrder.

Перевозчик

Получает доступные заказы, отправляет отклики и передает данные по ТС, водителю и исполнению.

Основные методы:

  • GET /api/TransporterOrders/GetList;
  • GET /api/TransporterOrders/GetInfo;
  • POST /api/TransporterOrderTruckMatchings/ApplyMatching;
  • POST /api/TransporterOrderTruckMatchings/ApplyManualMatching;
  • GET /api/TransporterBids/GetInfo.

3. Основные потоки

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

Внешняя система создает заказ и передает его в CARGO.RUN.

Дальше CARGO.RUN используется для:

  • публикации заказа перевозчикам;
  • сбора откликов;
  • выбора перевозчика;
  • контроля выполнения;
  • возврата результата во внешнюю систему.

Подробно: Учетная система → CARGO.RUN

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

Пользователь создает заказ в CARGO.RUN. Внешняя система периодически получает новые и измененные заказы, сохраняет их у себя и обновляет данные по мере исполнения.

Подробно: CARGO.RUN → учетная система

Интеграция перевозчика

Перевозчик работает со своей учетной записью и видит только доступные ему заказы.

Подробно: Интеграция перевозчика


4. Рекомендуемая последовательность внедрения

  1. Настроить авторизацию.
  2. Синхронизировать или проверить справочники.
  3. Реализовать создание или получение заказов.
  4. Реализовать получение деталей заказа.
  5. Реализовать обработку откликов.
  6. Реализовать получение результатов выполнения.
  7. Добавить обработку отмены и ошибок.

5. Важные ограничения

  • Не нужно запрашивать новый access token перед каждым методом. Используйте refresh token.
  • Для polling рекомендуется не превышать 10 запросов в секунду без отдельного согласования.
  • Заказы и отклики нужно сопоставлять по ID CARGO.RUN и внешним ID, если они передаются.
  • При ошибках 400 нужно сохранять тело ответа: оно содержит причину валидации или бизнес-ошибки.