В состав Супермаг+ добавлен сервер обмена данными и администратор сервера обмена данными.
Сервер и администратор устанавливаются как в 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 | |
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 | |
6. | Запросить Карточку товара, например, артикул 000001. | curl -X GET http://localhost:8080/out/JSON/CD/000001.json >> 3.txt curl -X GET http://localhost:8080/out/JSON/CD/000001.json >> 33.txt | |
7. | Запросить Классификатор товаров. | curl -X GET http://localhost:8080/out/JSON/RFSACARDCLASS/* >> 4.txt | |
8. | Запросить Склад или магазин с ID=2. | curl -X GET http://localhost:8080/out/JSON/SH/2.json >> 5.txt | |
9. | Запросить Статистику по текущим остаткам МХ с ID 4. | curl -X GET http://localhost:8080/out/JSON/SG/4.JSON >> Rest.txt | |
10. | Запросить Классификатор номенклатур | ||
11. | Запросить привязку карточки к классификатору номенклатур. Например, карточка 000001, номенклатура 3. | curl -X GET http://localhost:8080/out/JSON/AM/3,000001.JSON >> 8.txt | |
12. | Запросить Справочник Производителей \ Импортеров | curl -X GET http://localhost:8080/out/JSON/RFSAPRODUCERS/* >> 9.txt | |
13. | Передать карточку товара. Внимание! Требуется авторизация. В противном случае получите ошибку: Из подчиненной базы в старшую / доверительную не могут пересылаться глобальные артикулы и синхронизированные с глобальными временные артикулы. Попытка принять артикул 000002 из базы ID=2. | curl -F "file=@33.json" -u SMP:1 http://192.168.13.108:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | |
14. | Запросить Справочник Дополнительных характеристик карточке товара. | curl -X GET http://localhost:8080/out/JSON/RFSACARDPROPDEF/* >> 10.txt | Схема JSON: RFSACARDPROPDEF.JSON |
15. | Запросить Штриховой код. Например, карточка 0, ШК - 2400000000013 . | curl -X GET http://localhost:8080/out/JSON/BC/2400000000013,0.json >> 11.txt | |
16. | Запросить Акт переоценки - AC2E0000000001 | curl -X GET http://localhost:8080/out/JSON/AC/AC2E0000000001.JSON >> 14.txt | |
17. | Передать накладную поставщика WE - WEWE19И019-000137 | curl -F "file=@D.json" -u SMP:1 http://192.168.13.108:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | |
18. | Запросить требование на отбор SW - SW20000000001 | curl -X GET http://localhost:8080/out/JSON/SW/SW20000000001.JSON >> SW.txt | |
19. | Передать требование на отбор SW - SW20000000002 | curl -F "file=@SW1.json" -u SMP:1 http://192.168.147.71:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | |
20. | Запросить Статистику по текущим остаткам SG, по месту хранения №19 | curl -X GET http://localhost:8080/out/JSON/SG/19.json >> SG.txt где, SG - тип объекта. 19.JSON - 19й ID Места хранения. | |
21. | Передать Статистику по текущим остаткам SG. | curl -F "file=@SG.json" -u SMP:1 http://192.168.147.71:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | |
22. | Запросить информацию о клиенте \ поставщике CL с ID=1 | curl -X GET http://localhost:8080/out/JSON/CL/1.json >> 20.txt | |
23. | Запросить информацию о выкладке LT, для Артикула 458589 и Места хранения с ID=8 | curl -X GET http://localhost:8080/out/JSON/LT/458589,8.json >> LT1.txt | |
24. | Передать информацию о выкладке LT, для Артикула 458589 и Места хранения с ID=8 | curl -F "file=@LT1.json" -u SMP:1 http://localhost:8080/in/json > Respon Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | Пример - LT1.JSON |
25. | Передать несколько документов, часть из которых с ошибками. Получить расшифровку ошибок. | curl -F "file=@ERROR.json" -u SMP:1 http://192.168.13.108:63412/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | |
curl -F "file=@ERROR.json" -u SMP:1 http://192.168.13.108:63412/in/json > Response.xml | |||
curl -X GET http://localhost:63412/out/ticket/471705be-b4a0-4853-a324-f4c3831c0f01 > GetTicket.xml | |||
26. | Запросить информацию об Уровнях товарных запасов GL. | curl -X GET http://localhost:8080/out/JSON/GL/4603757585026,2.json >> GL.txt Где, 4603757585026 - код артикула, 2 - код места хранения. | Схема: GL.JSON Пример: GL_4603757585026.txt |
27. | Передать информацию об Уровнях товарных запасов GL. | curl -F "file=@GL_4603757585026.json" -u SMP:1 http://localhost:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | Схема: GL_Экспорт.json Пример: GL_4603757585026.JSON |
28. | Запросить Заказ от клиента OC - 0000000039 | curl -X GET http://192.168.13.118:8080/out/json/OC/0000000039.JSON >> OC.TXT | Схема: OC_Import.JSON Пример: OC.JSON |
29. | Отослать Заказ от клиента OC - 0000000039 | curl -F "file=@OC.JSON" -u SMP:1 http://192.168.13.118:8080/in/json > Response.xml curl -F "file=@c:\temp\oc.json" http://192.168.13.118:8080/in/json > Response.xml Где, -u SMP:1 указание на наличие авторизации и его параметры – логин (SMP) и пароль (1) | Схема: OC_Import.JSON Пример: OC.JSON |
Документация с 1.038 по 1.049.
Можно передавать в сервер обмена данными или получать их из сервера обмена данных, как в формате XML, так и в формате JSON.
Формат передаваемых данных необходимо указать при описании схемы объекта.
Перед началом работы с сервисом его необходимо настроить.