API УКМ 5 доступно на кассовом сервере. Порт: 29017.
Там же доступно актуальное swagger описание Актуальное описание swagger-схем с возможностью выполнения запросов доступно по адресу: http://ukm5-server:29017/api/v1/import/docs/swagger-ui/index.html?url=/api/v1/import/assets/swagger.json#/.
Совместимость версий API гарантируется в пределеах пределах мажорной версии. Т.е. версии 1.0, 1.1, 1.2 и т.д. n совместимы, но версии 1.n 1 и 2.n 3, например, нет.
Импорт торговых данных
Особенности:
- Сервер УКМ5 УКМ 5 всегда выступает в роли сервера. Клиентом является товаро-учетная система;.
- Авторизация не требуется. IT-службы клиента должны обеспечивать безопасность;.
- Загрузка данных всегда производится пачкамипартиями. Размер пачки партии ограничен выделенным ресурсами. Рекомендуемый размер пачки - партии – 1000 записей;.
- Рекомендуется загружать данные в один поток. Следующий запрос можно посылать только получив ответ после получения ответа на предыдущий;.
- При импорте проверяется соответствие данных схеме и , а также наличие дубликатов;.
- Загрузка данных всегда происходит в инкрементальном режиме. Т.е. новые данные дополняют уже имеющиеся;.
- Для удаления данных используется поле deleted, которое присутствует во всех сущностях;.
- Успешный импорт означает, что запрос сконвертирован во внутренний формат УКМ5 УКМ 5 и передан на дальнейшую обработку. Это не значитОднако, из этого не следует, что он загружен в БД базу данных и передан на кассы.
Экспорт продаж
Особенности:
- Сервер УКМ5 УКМ 5 работает как клиент для сервера товаро-учетной системы. Т.е. в товаро-учетной системе должен быть REST API-сервис, который реализует следующую схему запросов:
- Авторизация не требуется. IT-службы клиента должны обеспечивать безопасность;.
- На сервере УКМ5 УКМ 5 реализован один метод для получения продаж: /api/v1/export/shift/{storeId}/{posId}/{date}. Он предназначен для повторной выгрузки данных о продажах конкретной кассы за указаннаю указанную дату;.
- Данные выгружаются из kafka. Для работы требуется, чтобы была включена передача данных с касс через kafka;.
- Смены выгружаются по факту закрытия вместе со всеми чеками, которые были в смене. При этом чеки запрашиваются из БДбазы данных. Если в БД базе данных не хвататет хватает чеков, смена не будет выгружаться;.
- Данные выгружаются последовательно, в пордке порядке прихода с касс. Если при выгрузке данных возникает внутреняя внутренняя ошибка (например, не все чеки по смене пришли на сервер), данные перекладываются в отдельный топик, чтобы не блокировать выгрузку остальных. Фоновый процесс пытается выгрузить данные из топика с ошибками;
- Данные храняться хранятся в kafka 7 дней. Если за это время они не будут выгружены, то будут потеряны.
...