JSON API позволяет работать напрямую с базой данных PHPShop через внешние JSON запросы. Поддерживаются команды выборки, редактирования, удаления и создания данных.
Авторизация
Для авторизации запроса используются Token, его можно получить в разделе управления пользователем в закладке Права секция Доступ по API. Можно задать ограничение на принятие запросов только на Обзор, Редактирование и Создание.
Для смена или получения нового токена следует сменить пароль пользователя.
Запросы
Все запросы отправляются на адрес https://shopname.ru/base-xml-manager/json/. В заголовке запроса должен быть обязателен указан Токен авторизации {TOKEN} и передан массив данных $properties определенного содержания с указанием откуда производится выборка и по каким критериям на основе языка запросов SQL.
В ответ на запрос будет получен массив данных в формате JSON. В массиве data будет хранится информация из БД, в значении status будет статус ответа success, false или error. При наличии ошибки будет показан SQL код ошибки в поле error. Положительный результат выборки всегда дополняется статусом success.
В качестве имени from используются короткие имена таблиц в PHPShop, основные из них:
products - таблица товаров
categories - таблица каталогов
orders - таблица заказов
shopusers - таблица покупателей
Полный список таблиц с описанием доступен в панели управления База - SQL запрос к базе - Описание таблиц.
Массив $properties может содержать как один, так и сразу несколько запросов. Все они будут выполнены друг за другом в очередности нахождения в массиве.
Передача нескольких запросов
$properties[] = ['from'=>'products','method'=>'update','vars'=> ['price'=>1000,'name'=>'New name 1'],'where'=>'id=147','order'=>'','limit'=>'1'];$properties[] = ['from'=>'products','method'=>'update','vars'=> ['price'=>1000,'name'=>'New name 2'],'where'=>'id=148','order'=>'','limit'=>'1'];
update phpshop_products setname="New Name 1", price="1000"where id="147"limit1update phpshop_products setname="New Name 2", price="1000"where id="148"limit1
Для упрощения создания нового заказа создан готовый веб-хук (используется группа JSON запросов) по адресу https://shopname.ru/base-xml-manager/json/add-order.php
Для создания заказа передается массив, состоящих из артикулов и количества товара в заказе. Для авторизации используется почта и пароль покупателя магазина. После запроса в базе магазина будет создан новый заказа со всеми персональными данными покупателя и отправлены оповещения на почту покупателя и администратору как при ручном заказе через сайт.
Включение веб-хука
Для включения возможности принятия заказов следует 10 строкой в этом файле веб-хука заменить значение $enabled=false; на $enabled=true; и указать токен авторизации, под чьими правами будут создаваться заказы.
// Включение$enabled=true;// Токен$TOKEN ='{TOKEN}';// ID Способ оплаты Счет в банк$payment =3;