cargo.run-api-docs

Сценарий: заявка создаётся в CARGO.RUN

Этот сценарий описывает ситуацию, когда заявка (Bid) создаётся и редактируется в системе CARGO.RUN, а внешняя система (1С, ERP или другое приложение) должна получать эти данные, реагировать на изменения и использовать их в собственных процессах.


1. Структура процесса

Процесс синхронизации в этом сценарии включает три части:

  1. CARGO.RUN создаёт и изменяет заявки.
  2. Внешняя система регулярно запрашивает новые или обновлённые заявки.
  3. Внешняя система сохраняет данные и обновляет статусы у себя.

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


2. Создание заявки в CARGO.RUN

Заявки формируются логистами CARGO.RUN:

После сохранения заявка получает статус New или Planned, в зависимости от процесса клиента.


3. Получение заявок внешней системой

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

Типовой алгоритм:

  1. Хранить у себя timestamp последней успешной синхронизации.
  2. Запрашивать: GET /bids?updatedAt>={lastSyncTimestamp} Или OData-стиль: GET /bids?$filter=updatedAt ge {lastSyncTimestamp}
  3. Пробегать по массиву заявок в ответе.
  4. Создавать или обновлять данные у себя.

Запросы могут использовать:

в зависимости от особенностей метода.


4. Синхронизация справочников перед обработкой заявок

Перед обработкой новых заявок внешняя система должна обеспечить актуальность справочников:

Если у заявки указан водитель с driverId, который отсутствует в внешней базе, система должна либо:


5. Обработка статусов заявок

CARGO.RUN управляет статусами заявки (этапы выполнения рейса).
Внешняя система должна регулярно получать актуальные статусы:

GET /bids?updatedAt>=…

GET /bids/{id}

Статусы, которые важно отслеживать:

Внешняя система должна обновлять свои записи в соответствии с полученными статусами.


6. Обработка событий перевозки

Дополнительно могут передаваться:

Эти данные используются во внешних системах для:


7. Частота синхронизации

Подходы:

При высокой нагрузке возможно использовать:


8. Обработка ошибок и конфликтов

Внешняя система должна корректно обрабатывать:

При ошибке желательно:


9. Что изучать дальше