Примеры интеграции с 1С¶
Раздел содержит типовые рекомендации для интеграции 1С с CARGO.RUN Загрузки.
1. Типовой обмен¶
1С может быть источником заказов или получателем заказов из CARGO.RUN.
1С создает заказы¶
- Пользователь создает заказ в 1С.
- 1С отправляет заказ в CARGO.RUN через
POST /api/Orders/Apply. - CARGO.RUN публикует заказ перевозчикам.
- 1С получает отклики через
GET /api/Orders/GetInfo. - После выбора перевозчика 1С получает исполнителя и дальнейшие статусы.
CARGO.RUN создает заказы¶
- Пользователь создает заказ в CARGO.RUN.
- 1С получает новые и измененные заказы через
GET /api/Orders/GetIntegrationList. - 1С сохраняет ID заказа CARGO.RUN у себя.
- 1С периодически обновляет статус и результат выполнения.
2. Хранение идентификаторов¶
В 1С рекомендуется хранить:
| Поле | Назначение |
|---|---|
cargorunOrderId |
ID заказа в CARGO.RUN |
externalId |
ID заказа в 1С |
updatedAt |
Дата последней синхронизации |
status |
Последний полученный статус заказа |
bidStatus |
Последний полученный статус заявки |
3. Обработка ошибок¶
В журнале обмена рекомендуется хранить:
- метод API;
- тело запроса;
- тело ответа;
- HTTP-код;
- ID заказа;
- дату и время.
Для ошибок 400 тело ответа нужно показывать администратору интеграции: обычно там указана причина, например неверное значение enum или отсутствующее обязательное поле.
4. Рекомендации¶
- Не получать новый токен перед каждым запросом.
- Использовать
RefreshToken. - Делать polling по
updatedAt. - Ограничивать размер страницы через
$top. - Проверять справочники перед созданием заказа.
- Для адресов использовать
GET /api/Map/ReverseSearchAddresses.