====== Обмен данными с интернет-магазином ====== ===== Как это работает ===== Инициатором обмена данными выступает UniproRetail. \\ По команде пользователя, или автоматически через заданное время, UniproRetail подключается к Вашему сайту и передает информацию о товарах (Наименование, Цену, Количество на складе и т.д.)\\ Необходимо, чтобы web-программист реализовал скрипт на сайте, который будет получать информацию в формате JSON и создавать/обновлять информацию о товарах на сайте. ===== Настройка ===== Для настройки выберите меню: "Сервис"-"Обмен данными"-"Обмен с интернет-магазином" {{ :обмен_данными_с_другими_системами:setup-js-inet-m.png?nolink |}} * **Имя задания для выгрузки** - для различия настроек, если несколько интернет-магазинов. * **Идентификатор текущей базы данных** - по этому идентификатору интернет-магазин может определить, поступил ли запрос со "своей" базы. * **URL скрипта сервера...** - адрес страницы сайта, через который UniproRetail будет загружать данные. В адресе указывайте тип соединения HTTP или HTTPS. В адресной строке можно передавать дополнительные параметры, например: \\ ''http://test-json.unipro.ua/upload.php?pass=12345&baseID=1003'' * **Группы товаров для выгрузки** - если выгружать необходимо не все товары. * **Выгружать товары, по которым были движения** - если выгружать необходимо не все товары, а только те, по которым за последние N-дней были движения по складу. * **Организации** - если несколько организаций, то выбирать, по каким показывать остатки. * **Склады** - если несколько складов, то выбирать, по каким показывать остатки. * **Автоматическая отправка** - выставляется период времени в минутах, минимальное значение 5 минут. Сайт [[http://test-json.unipro.ua|http://test-json.unipro.ua]] создан для тестирования и проверки работоспособности выгрузки товаров.\\ Если выбран URL скрипта: //test-json.unipro.ua/upload.php//, то выгружаемые товары можно посмотреть по ссылке: [[http://test-json.unipro.ua|http://test-json.unipro.ua]] ===== Формат обмена данными ===== В JSON-файле обмена с интернет-магазином присутствуют три раздела: **info**, **goods**, **goodsgroups**.\\ Описание формата обмена данными JSON: [[обмен_данными_с_другими_системами:формат_обмена_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"}}'; }