В состав Супермаг+ добавлен сервер обмена данными и администратор сервера обмена данными.
Сервер и администратор устанавливаются как в 32-х битном исполнении, так и в 64-х битном.
Сервер обмена данными является WEB-сервисом. Сервис работает по REST-протоколу и передает информацию в виде XML \ JSON - данных.
Сервис выполняет команды запроса информации.
REST API запросы к серверу обмена данных.
Для получения информации в консоли (cmd.exe), в читаемом виде, установите кодовую страницу UTF8
@mode con cp select=65001
Справка: По умолчанию cmd.exe использует кодировку cp866. Текущую кодировку можно посмотреть командой chcp. Иногда возникает необходимость использовать в терминале юникод.
Для этого необходимо использовать шрифт "Lucida Console" и переключить кодировку командой
>chcp <codepage>
Где параметр <codepage> для UTF-8 равен 65001
Запросить объекты из БД Супермага можно, например, утилитой curl.exe:
curl -X GET http://хост:порт/out/xml/схема/идентификатор_объекта.xml,
например, curl -X GET http://192.168.10.3:8080/out/xml/CD/00345.xml.
Для задания идентификаторов объектов, имеющих в составе русские буквы
или служебные символы, надо использовать шестнадцатеричные коды символов:
curl -X GET http://localhost:8080/out/xml/CD/%%D0%%A6004177.xml (карточка Ц004177).
Для запроса справочника после его имени надо указать произвольный идентификатор (*)
curl -X GET http://localhost:8080/out/xml/RFSABANKS/*
Если объект имеет составной идентификатор, то части идентификатора должны разделяться запятой. Если часть идентификатора объекта содержит запятую или начинается с апострофа, то эта часть идентификатора должна быть заключена в апострофы. Например:
curl -X GET http://localhost:8080/out/xml/BC/5000281006024 ,’%%D0%%A6004177’.xml
№ п.п. | Запрос | Пример | Результат (если при просмотре - файл будет пустой, просто сохраните его к себе на рабочую станцию) |
---|---|---|---|
1. | Запросить классификатор товаров | curl -X GET http://localhost:8080/out/JSON/RFSACARDCLASS/* >> 1.txt | Создан файл 1.txt |
2. | Передать (загрузить в БД) классификатор. (без указания идентификатора адресата (анонимный доступ)) | curl -F "file=@1.json" http://192.168.13.108:8080/in/json > Response.xml | Создан файл ответа, в виде квитанции: <?xml version="1.0" encoding="UTF-8"?> |
3. | Передать классификатор. (с указанием идентификатора адресата) | curl -F "file=@1.json" http://192.168.13.108:8080/in/db/ex/json > Response.xml | --- пока нет примера |
4. | Запросить результат получения данных по номеру квитанции. | curl -X GET http://localhost:8080/out/ticket/7d33a15f-c94e-4949-a69d-f11ff45a7c47 > GetTicket.xml | <?xml version="1.0" encoding="UTF-8"?> <ticket> <ticketId>5c2c7f5a-961d-44d2-b40e-3127be4f08bb</ticketId> <date>2022-10-20T17:22:43.000</date> <state>Success</state> <direction>Import</direction> <schemaType>JSON</schemaType> <processed> <object ObjType="RF" ObjId="SACARDCLASS" /> </processed> </ticket> |
5. | Запросить справочник дополнительных характеристик и его значений по умолчанию. | curl -X GET http://localhost:8080/out/JSON/RFSACARDPROPDEF/* >> 2.txt | Создан файл 2.txt |
6. | Запросить карточку товара, например, артикул 000001. | curl -X GET http://localhost:8080/out/JSON/CD/000001.json >> 3.txt | Создан файл 3.txt |
7. | Запросить классификатор товаров. | curl -X GET http://localhost:8080/out/JSON/RFSACARDCLASS/* >> 4.txt | Создан файл 4.txt |
8. | Запросить склад или магазин с ID=1. | curl -X GET http://localhost:8080/out/JSON/SH/1.json >> 5.txt | Создан файл 5.txt |
Документация с 1.038 по 1.049.
Можно передавать в сервер обмена данными или получать их из сервера обмена данных, как в формате XML, так и в формате JSON.
Формат передаваемых данных необходимо указать при описании схемы объекта.
Перед началом работы с сервисом его необходимо настроить.