...
- Сервер УКМ 5 работает как клиент для сервера товаро-учетной системы. Т.е. в товаро-учетной системе должен быть REST API-сервис, который реализует следующую схему запросов:
- Авторизация не требуется. IT-службы клиента должны обеспечивать безопасность.
- На сервере УКМ 5 реализован один метод для получения продаж: /api/v1/export/shift/{storeId}/{posId}/{date}. Он позволяет внешней системе получить от кассового сервера данные по сменам, которые были закрыты в указанную дату. Информация о сменах содержит и чеки за эти смены..
- Данные выгружаются из kafka. Для работы требуется, чтобы была включена передача данных с касс через kafka.
- Смены выгружаются по факту закрытия вместе со всеми чеками, которые были в смене. При этом чеки запрашиваются из базы данных. Если в базе данных не хватает чеков, смена не будет выгружаться.
- Данные выгружаются последовательно, в порядке прихода с касс. Если при выгрузке данных возникает внутренняя ошибка (например, не все чеки по смене пришли на сервер), данные перекладываются в отдельный топик, чтобы не блокировать выгрузку остальных. Фоновый процесс пытается выгрузить данные из топика с ошибками.
- Данные хранятся в kafka 7 дней. Если за это время они не будут выгружены, то будут потеряны.
...