Зміст
Обмен данными с интернет-магазином
Как это работает
Инициатором обмена данными выступает UniproRetail.
По команде пользователя, или автоматически через заданное время, UniproRetail подключается к Вашему сайту и передает информацию о товарах (Наименование, Цену, Количество на складе и т.д.)
Необходимо, чтобы web-программист реализовал скрипт на сайте, который будет получать информацию в формате JSON и создавать/обновлять информацию о товарах на сайте.
Настройка
Для настройки выберите меню: “Сервис”-“Обмен данными”-“Обмен с интернет-магазином”
- Имя задания для выгрузки - для различия настроек, если несколько интернет-магазинов.
- Идентификатор текущей базы данных - по этому идентификатору интернет-магазин может определить, поступил ли запрос со “своей” базы.
- URL скрипта сервера… - адрес страницы сайта, через который UniproRetail будет загружать данные. В адресе указывайте тип соединения HTTP или HTTPS. В адресной строке можно передавать дополнительные параметры, например:
http://test-json.unipro.ua/upload.php?pass=12345&baseID=1003
- Группы товаров для выгрузки - если выгружать необходимо не все товары.
- Выгружать товары, по которым были движения - если выгружать необходимо не все товары, а только те, по которым за последние N-дней были движения по складу.
- Организации - если несколько организаций, то выбирать, по каким показывать остатки.
- Склады - если несколько складов, то выбирать, по каким показывать остатки.
- Автоматическая отправка - выставляется период времени в минутах, минимальное значение 5 минут.
Сайт http://test-json.unipro.ua создан для тестирования и проверки работоспособности выгрузки товаров.
Если выбран URL скрипта: test-json.unipro.ua/upload.php, то выгружаемые товары можно посмотреть по ссылке: http://test-json.unipro.ua
Формат обмена данными
В JSON-файле обмена с интернет-магазином присутствуют три раздела: info, goods, goodsgroups.
Описание формата обмена данными JSON: Формат обмена данными JSON
Программа отправляет POST-запрос с MIME-type: application/json. Получить файл на стороне сервера можно так:
$jsonFile = file_get_contents("php://input");
Ответ сервера
Если все ОК, то сервер должен ответить программе в JSON-формате:
{"status":{"code":200,"errortext":"OK"}}
Если были ошибки в обработке JSON-файла от программы, то сервер пишет любую ошибку отличную от 200 в параметре “status.code”, а в параметре “status.errortext” - текстовое описание ошибки, например:
{"status":{"code":1,"errortext":"JSON file size is too large!"}}
Пример PHP скрипта ответа сервера:
if ($lenJS > (30*(1024*1024)) /* 30 MB*/ ) { echo '{"status":{"code":1,"errortext":"JSON file size is too large!"}}'; } else { echo '{"status":{"code":200,"errortext":"OK"}}'; }