Веб-сервис REST получения данных по кассирам и ролям

Публичный ресурс

Веб-сервис REST получения данных по кассирам и ролям

 

https://crystals.atlassian.net/browse/SRTS-1114

https://crystals.atlassian.net/browse/CR-8434

10.2.18.0

Описание

Методы позволяют получить данные по кассирам из SetCentrum10, чтобы в дальнейшем передать их во внутреннюю систему управления учетными данными.

Возможности

Возможно выполнить следующие операции при запросах к SetCentrum10:

  1. Проверка существования учетной записи плюс считывание значения выражения blocked для существующих УЗ по tab_num.

  2. Считывание по tab_num следующих атрибутов учетной записи:

    1. barcode

    2. blocked

    3. first_name

    4. middle_name

    5. last_name

  3. Считывание по tab_num значения id_role.

  4. Считывание всех ролей (имя, идентификатор)

  5. Считывание ролей по подстроке названия (имя, идентификатор)

  6. Поиск идентификатора роли по названию

  7. Считывание списка активных УЗ

Методы и поля

Открыть в отдельном окне

Пример с Postman

1. Скачайте Postman.

2. В библиотеке Collections в новой вкладке → выберите метод GET → введите адрес для запроса к API по получению данных кассира например http://IP_АДРЕС_SetCentrum:8090/SET-Cashiers-REST/v1/cashiers/search?lastName=Иванов → перейдите на вкладку Params → в столбец KEY введите наименование поля для поиска или несколько полей, в столбец VALUE введите значения для поиска → кликните Send → появится результат выполнения запроса для передачи во внешнюю систему.

Пример результатов поиска кассира

{ "cashiers": [ { "tabNum": "1", "barcode": null, "firstName": "Иван", "middleName": "Иванович", "lastName": "Иванов", "shopIndex": 234, "role": { "roleId": 3, "role": "Сервисный инженер" }, "blocked": false, "deleted": false }, { "tabNum": "09876", "barcode": null, "firstName": "Станислав", "middleName": "Тарасович", "lastName": "Иванов", "shopIndex": 234, "role": { "roleId": 3, "role": "Сервисный инженер" }, "blocked": false, "deleted": false }, { "tabNum": "99999", "barcode": null, "firstName": "Иван", "middleName": "", "lastName": "Иванов", "shopIndex": 234, "role": { "roleId": 2, "role": "Кассир" }, "blocked": false, "deleted": false }, { "tabNum": "2983", "barcode": "1234567890128", "firstName": "Иван", "middleName": "Иванович", "lastName": "Иванов", "shopIndex": 234, "role": { "roleId": 1, "role": "Администратор" }, "blocked": false, "deleted": false } ] }

Генерация штрих-кода и печать бейджа кассира

https://crystals.atlassian.net/browse/SRTS-3731

https://crystals.atlassian.net/browse/CR-13320

10.4.16.0

1. Добавьте привилегию: ПерсоналРоли пользователейУправление продажамиКассирыГенерация пароля и ШК, печать бейджей кассиров через API

Пользователи, которым присвоена данная привилегия, имеют доступ для выполнения запросов для генерации нового пароля и штрих-кода, а также для генерации файла для печати бейджей.

image-20250707-205030.png

2. На сервере SetRetail/SetCentrum в базе данных set в таблице sales_management_proiperties установите настройку cashiers.barcode.generate=true

Свойство

Значение

Описание

cashiers.barcode.generate

false

Автоматическая генерация пароля и штрих-кода для кассиров

cashiers.barcode.generate.secretkey

345678

Ключ для генерации пароля и штрих-кода для кассиров

cashiers.barcode.generate.prefix

X-

Префикс штрихкода кассира при генерации RANDOM

cashiers.barcode.generate.algorithm

NCR

Алгоритм генерации пароля и штрихкода для кассиров (NCR; NCR2; RANDOM - только ш/к)

cashiers.barcode.generate.relevance.days

0

Период действия штрихкода (в днях)

 

Метод для генерации нового штрих-кода и пароля кассира

Метод операции

POST

Метод операции

POST

URL

http://<IP-адрес сервера SetRetail10>:8090/SET-Cashiers-REST/v1/cashiers/generate-password-and-barcode

Назначение

Генерация новых штрих-кодов и паролей кассиров

Необходима авторизация

Да

basic авторизация (логин/пароль) - в headers запроса необходимо передать логин и пароль пользователя, которому присвоена привилегия “Генерация пароля и ШК, печать бейджей кассиров через API“

Response status code

  • 204 No content

  • 400 Bad Request

  • 401 Unauthorized

  • 403 Forbidden

  • 500 Internal Server Error

Входные параметры для метода (список штрихкодов)

BODY:

Параметр

Тип данных

Обязательный

Пример

Описание

Параметр

Тип данных

Обязательный

Пример

Описание

tabNums

Array (String)

да

“426667”, “426668“

Табельные номера кассиров

shopNum

Integer

нет

11

Номер магазина

При выполнении запроса на сервере Retail передача данного параметра не требуется

При выполнении запроса на сервере Centrum если не передать данный параметр, то штрих-код и пароль будет сгенерирован для тех кассиров, которые были импортированы без привязки к конкретному магазину

Выходные параметры для метода

Отсутствуют

Коды и тексты ошибок:

Код HTTP

Текст ошибки
errorMessage

Описание

Код HTTP

Текст ошибки
errorMessage

Описание

400

Обязательный параметр tabNum отсутствует в запросе

Обязательный параметр отсутствует в запросе

401

Неавторизованный доступ

В запросе не переданы логин/пароль либо переданы неверные учетные данные пользователя

403

Недостаточно привилегий для выполнения запроса

У пользователя отсутствует привилегия “Генерация пароля и ШК, печать бейджей кассиров через API“

500

Что-то пошло не так

В процессе обработки запроса произошла ошибка

Метод для генерации файла для печати бейджей кассиров

REST-метод для формирования файлов для печати бейджей кассиров.

  • Метод принимает на вход список табельных номеров кассиров,

  • Метод возвращает успешный ответ в случае, когда файл с бейджами кассиров успешно сформирован,

  • Если какой-либо табельный номер из переданного списка не был найден в БД сервера, то данный кассир пропускается, бейдж по нему не формируется

  • В случае ошибки при выполнении запроса сервер возвращает ошибку с кодом 500

Метод операции

POST

Метод операции

POST

URL

http://<IP-адрес сервера SetRetail10>:8090/SET-Cashiers-REST/v1/cashiers/generate-badge

Назначение

Генерация файла для печати бейджей кассиров

Необходима авторизация

Да

basic авторизация (логин/пароль) - в headers запроса необходимо передать логин и пароль пользователя, которому присвоена привилегия “Генерация пароля и ШК, печать бейджей кассиров через API“

Response status code

  • 200 OK

  • 400 Bad Request

  • 401 Unauthorized

  • 403 Forbidden

  • 500 Internal Server Error

Входные параметры для метода (список штрихкодов)

BODY:

Параметр

Тип данных

Обязательный

Пример

Описание

Параметр

Тип данных

Обязательный

Пример

Описание

tabNums

Array (String)

да

“426667”, “426668“

Табельные номера кассиров

shopNum

Integer

нет

11

Номер магазина

При выполнении запроса на сервере Retail передача данного параметра не требуется

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

Выходные параметры для метода

Параметр

Тип данных

Пример

Описание

Параметр

Тип данных

Пример

Описание

response

String

-

В ответе вернется файл в формате pdf в виде последовательности байт.

Коды и тексты ошибок:

Код HTTP

Текст ошибки
errorMessage

Описание

Код HTTP

Текст ошибки
errorMessage

Описание

400

Обязательный параметр tabNum отсутствует в запросе

Обязательный параметр отсутствует в запросе

401

Неавторизованный доступ

В запросе не переданы логин/пароль либо переданы неверные учетные данные пользователя

403

Недостаточно привилегий для выполнения запроса

У пользователя отсутствует привилегия “Генерация пароля и ШК, печать бейджей кассиров через API“

500

Что-то пошло не так

В процессе обработки запроса произошла ошибка

© 1995-2025, ООО "Кристалл Сервис Интеграция".
Все права защищены.

Политика обработки персональных данных