Этот сценарий описывает ситуацию, когда заявка (Bid) создаётся и редактируется в системе CARGO.RUN, а внешняя система (1С, ERP или другое приложение) должна получать эти данные, реагировать на изменения и использовать их в собственных процессах.
Процесс синхронизации в этом сценарии включает три части:
Внешняя система не должна создавать заявку в CARGO.RUN — только принимать и обрабатывать.
Заявки формируются логистами CARGO.RUN:
После сохранения заявка получает статус New или Planned, в зависимости от процесса клиента.
Внешняя система должна периодически выполнять запрос на получение заявок, созданных или обновлённых после определенного момента времени.
Типовой алгоритм:
GET /bids?updatedAt>={lastSyncTimestamp}
Или OData-стиль: GET /bids?$filter=updatedAt ge {lastSyncTimestamp}Запросы могут использовать:
page / pageSize$top / $skip$filter, $orderByв зависимости от особенностей метода.
Перед обработкой новых заявок внешняя система должна обеспечить актуальность справочников:
Если у заявки указан водитель с driverId, который отсутствует в внешней базе, система должна либо:
CARGO.RUN управляет статусами заявки (этапы выполнения рейса).
Внешняя система должна регулярно получать актуальные статусы:
GET /bids?updatedAt>=…
GET /bids/{id}
Статусы, которые важно отслеживать:
PlannedNewDoneCancelledВнешняя система должна обновлять свои записи в соответствии с полученными статусами.
Дополнительно могут передаваться:
Эти данные используются во внешних системах для:
Подходы:
При высокой нагрузке возможно использовать:
$top=500_orderBy=updatedAt descВнешняя система должна корректно обрабатывать:
При ошибке желательно:
Сценарий обратного направления:
Внешняя система → CARGO.RUN
Механизмы синхронизации:
Синхронизация данных
Минимальные требования к данным:
Минимальные требования