Controllers_Api

Описание

Контроллер: Api


Класс Controllers_Api позволяет сторонним сайтам и приложениям осуществлять взаимодействия с магазином;

$api = new mogutaApi('адрес магазина''токен''секретный ключ');
$testParam = array('111''222''333');
$res $api->run('test'$testParamtrue);
viewData($res);
Методы класса
array test() Метод для проверки подключения к API магазина.
array getUsers() Метод для получения списка пользователей getUsers (синоним exportUsers)

$param['page'] - страница для выгрузки
$param['count'] - количество пользователей на страницу максимум 250
// или
$param['email'] - массив email'ов пользователей, которых надо найти
string importUsers() Метод для импорта пользователей.

$param['users'] - входящий список пользователей для импорта (желательно до 100)
$param['enableUpdate'] - (true/false) включить или выключить обновление пользователей
string deleteUser() Метод для удаления пользователей.

$param['email'] - список емэйлов пользователей, которых нужно удалить.
string findUser() Метод для поиска пользователей по электронной почте.

$param['email'] - емэйл пользователя, информацию о котором нужно получить.
array getCategory() Метод для получения списка категорий getCategory (синоним exportCategory).

$param['page'] - страница для выгрузки
$param['count'] - количество категорий на страницу максимум 250
// или
$param['id'] - массив id категорий
// или
$param['url'] - массив url'ов категорий (последняя секция)
string importCategory() Метод для импорта категорий.

$param['categories'] - входящий список категорий для импорта (желательно до 100)
string deleteCategory() Метод для удаления категорий.

$param['category'] - массив с id категорий, которые нужно удалить
array getOrder() Метод для получения заказов getOrder (синоним exportOrder).

$param['page'] - страница для выгрузки
$param['count'] - количество заказов на страницу максимум 250
// или
$param['id'] - массив id заказов
// или
$param['number'] - массив номеров заказов (вот это M-732468)
// или
$param['email'] - массив email'ов пользователей, заказы которых хотите выгрузить
string importOrder() Метод для импорта заказов.
$param['orders'] - входящий список заказов для импорта (желательно до 100)
string deleteOrder() Метод для удаления заказов.

$param['orders'] - массив с id заказов, которые нужно удалить
array getProduct() Метод для получения списка товаров getProduct (синоним exportProduct).

$param['page'] - страница для выгрузки
$param['count'] - количество заказов на страницу максимум 100
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['id'] - массив id товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['code'] - массив артикулов товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['title'] - массив названий товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
string importProduct() Метод для добавления или обновления товаров.

$param['products'] - входящий список товаров для импорта (максимум 100)
string deleteProduct() Метод для удаления товаров.

$param['products'] - массив id для удаления товаров
string createCustomFields() Метод для создания дополнительных полей у заказа.

$param['data'] - массив данных с информацией о дополнительных полях
Описание методов и примеры их использования

Метод

array test (array|null $param)

Параметры

  • $param: массив с любыми параметрами для тестового подключенияы

Описание

Метод для проверки подключения к API магазина.

Пример использования

$param = array('test1' => '111''test2' => '222');
$res $api->run('test'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=test&param={"test1":"111","test2":"222"}');

Метод

array getUsers (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для получения списка пользователей getUsers (синоним exportUsers)

$param['page'] - страница для выгрузки
$param['count'] - количество пользователей на страницу максимум 250
// или
$param['email'] - массив email'ов пользователей, которых надо найти

Пример использования

// Постраничная выгрузка пользователей
$param = array('page' => '1''count' => '15');
$res $api->run('getUsers'$paramtrue);
viewData($res);
// Выгразка пользователей по Емэйлу
$param['email'] = array('user@moguta.ru''admin@admin.ru');
$res $api->run('getUsers'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers&param={"page":"1","count":"15"}');
echo 
file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers&param={"email":["user@moguta.ru","admin@admin.ru"]}');

Метод

string importUsers (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для импорта пользователей.

$param['users'] - входящий список пользователей для импорта (желательно до 100)
$param['enableUpdate'] - (true/false) включить или выключить обновление пользователей

Пример использования

$param['users'] = array(
Array(
'id' => 1,    // id в базе
'email' => admin@admin.ru,    // email пользователя
'role' => 1,    // группа пользователей
'name' => Администратор,    // имя пользователя (ФИО)
'sname' => ,    // фамилия (не используется почти)
'address' => ,    // адресс
'phone' => ,    // телефон
'date_add' => 2017-07-12 10:05:47,    // дата создания пользователя
'blocked' => 0,    // блокировка доступа к личному кабинету
'activity' => 1,    // статус
'inn' => ,    // ИНН
'kpp' => ,    // КПП
'nameyur' => ,    // Юр. лицо
'adress' => ,    // Юр. адрес
'bank' => ,    // Банк
'bik' => ,    // БИК
'ks' => ,    // К/Сч
'rs' => ,    // Р/Сч
'birthday' => ,    // день рождения пользователя
)));
$param['enableUpdate'] = true;
$res $api->run('importUsers'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importUsers&param={"users":[{"id":1,"email":"admin@admin.ru","role":1,"name":"\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440","sname":null,"address":null,"phone":null,"date_add":"2017-07-12 10:05:47","blocked":0,"activity":1,"inn":null,"kpp":null,"nameyur":null,"adress":null,"bank":null,"bik":null,"ks":null,"rs":null,"birthday":null}]}');

Метод

string deleteUser (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для удаления пользователей.

$param['email'] - список емэйлов пользователей, которых нужно удалить.

Пример использования

$param['email'] = array('user1@mail.ru''user2@email.ru''user3@mail.ru');
$res $api->run('deleteUser'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteUser&param={"email":["user1@mail.ru","user2@email.ru","user3@mail.ru"]}');

Метод

string findUser (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для поиска пользователей по электронной почте.

$param['email'] - емэйл пользователя, информацию о котором нужно получить.

Пример использования

$param = array('email' => 'user2@email.ru');
$res $api->run('findUser'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=findUser&param={"email":"user1@moguta.ru"}');

Метод

array getCategory (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для получения списка категорий getCategory (синоним exportCategory).

$param['page'] - страница для выгрузки
$param['count'] - количество категорий на страницу максимум 250
// или
$param['id'] - массив id категорий
// или
$param['url'] - массив url'ов категорий (последняя секция)

Пример использования

// постраничная выгрузка категорий
$param['page'] = 1;
$param['count'] = 15;
$res $api->run('getCategory'$paramtrue);
viewData($res);
// поиск категорий по id
$param['id'] = array(12);
$res $api->run('getCategory'$paramtrue);
viewData($res);
// поиск категорий по урлу
$param['url'] = array('smartfony');
$res $api->run('getCategory'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory&param={"page":1,"count":20}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory&param={"id":[1,2,3,4,5]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory&param={"url":["smartphone","ball"]}');

Метод

string importCategory (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для импорта категорий.

$param['categories'] - входящий список категорий для импорта (желательно до 100)

Пример использования

$param['categories'] = Array(
Array (
'id' => 1,    // id категории
'title' => 'Обезжелезивание реагентное',    // название категории
'url' => 'obezjelezivanie-reagentnoe',    // url категории
'parent' => 0,    // id родительской категории
'parent_url' => ,    // родительский url (полная ссылка без сайта)
'sort' => 1,    // параметр для сортировки
'html_content' => ,    // описание категории
'meta_title' => ,    // SEO заголовок
'meta_keywords' => ,    // SEO ключевые слова
'meta_desc' => ,    // SEO описание
'invisible' => 0,    // скрыть категорию
'1c_id' => ,    // идентификатор в 1с
'image_url' => ,    // изображение категории
'menu_icon' => ,    // иконка в меню
'rate' => 0,    // наценка
'unit' => 0,    // единица измерения товара
'export' => 1,    //
'seo_content' =>,    //
'activity' => 1,    // активность
)
);
$res $api->run('importCategory'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importCategory&param={"categories":[{"id":1,"title":"\u041e\u0431\u0435\u0437\u0436\u0435\u043b\u0435\u0437\u0438\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0430\u0433\u0435\u043d\u0442\u043d\u043e\u0435","url":"obezjelezivanie-reagentnoe","parent":0,"parent_url":null,"sort":1,"html_content":null,"meta_title":null,"meta_keywords":null,"meta_desc":null,"invisible":0,"1c_id":null,"image_url":null,"menu_icon":null,"rate":0,"unit":0,"export":1,"seo_content":null,"activity":1}]}');

Метод

string deleteCategory (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для удаления категорий.

$param['category'] - массив с id категорий, которые нужно удалить

Пример использования

$param['category'] = array(12345);
$res $api->run('deleteCategory'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteCategory&param={"category":[1,2,3,4,5]}');

Метод

array getOrder (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для получения заказов getOrder (синоним exportOrder).

$param['page'] - страница для выгрузки
$param['count'] - количество заказов на страницу максимум 250
// или
$param['id'] - массив id заказов
// или
$param['number'] - массив номеров заказов (вот это M-732468)
// или
$param['email'] - массив email'ов пользователей, заказы которых хотите выгрузить

Пример использования

// постраничная выгрузка заказов
$param['page'] = 1;
$param['count'] = 25;
$res $api->run('getOrder'$paramtrue);
viewData($res);
// выгрузка заказов по id
$param['id'] = array(1);
$res $api->run('getOrder'$paramtrue);
viewData($res);
// выгрузка заказов по номеру заказа
$param['number'] = array('M-0109749529854');
$res $api->run('getOrder'$paramtrue);
viewData($res);
// выгрузка заказов по email'у пользователя
$param['email'] = array('user@moguta.ru');
$res $api->run('getOrder'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder&param={"page":1,"count":25}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder&param={"id":[1,2,5]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder&param={"number":["M-732468","M-768743"]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder&param={"email":["user1@moguta.ru","user2@moguta.ru"]}');

Метод

string importOrder (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для импорта заказов.
$param['orders'] - входящий список заказов для импорта (желательно до 100)

Пример использования

$param['orders'] = Array (
Array(
'id' => 1,    // id заказа
'updata_date' => '2017-08-18 13:07:29',    // время изменения заказа
'add_date' => '2017-08-18 13:07:29',    // время добавления заказа
'pay_date' => '2017-08-18 13:07:29',    // время оплаты заказа
'close_date' => '2017-08-18 13:07:29',    // время завершения заказа
'user_email' => 'hg@ds.aq',    // емэйл пользователя
'phone' =>,    // телефон пользователя
'address' =>,    // адресс доставки
'summ' => 17519.00,    // сумма товаров заказа
'order_content' => 'a:1:{i:0;a:16:{s:2:\"id\";s:3:\"256\";s:7:\"variant\";s:1:\"0\";s:5:\"title\";s:90:\"Кухонная мойка гранитная MARRBAXX Рики Z22 темно-серый\";s:4:\"name\";s:90:\"Кухонная мойка гранитная MARRBAXX Рики Z22 темно-серый\";s:8:\"property\";s:0:\"\";s:5:\"price\";s:4:\"1000\";s:8:\"fulPrice\";s:4:\"1000\";s:4:\"code\";s:5:\"CN256\";s:6:\"weight\";s:1:\"0\";s:12:\"currency_iso\";s:3:\"RUR\";s:5:\"count\";s:1:\"1\";s:6:\"coupon\";s:1:\"0\";s:4:\"info\";s:0:\"\";s:3:\"url\";s:71:\"kuhonnye-moyki/kuhonnaya-moyka-granitnaya-marrbaxx-riki-z22-temno-seryy\";s:8:\"discount\";s:1:\"0\";s:8:\"discSyst\";s:11:\"false/false\";}}',
// сожержание заказа в сериализированном виде
'delivery_id' => 1,    // id способа доставки
'delivery_cost' => 0,    // стоимость доставки
'delivery_options' =>,    // дополнительная информация о способе доставке
'payment_id' => 1,    // id способа оплаты
'status_id' => 0,    // статус заказа
'user_comment' => ,    // комментарий пользователя
'comment' => ,    // комментарий менеджера
'yur_info' => ,    // информация о юридическом лице
'name_buyer' => ,    // ФИО покупателя
'date_delivery' => ,    // дата доставки
'ip' => '::1',    // ip с которого был оформлен заказ
'number' => 'M-0105341895042',    // номер заказа
'1c_last_export' => '2017-08-18 13:07:29',    // идентификатор в 1с
'storage' => ,    // склад
'summ_shop_curr' => 1000,    // сумма заказа в валюте магазина
'delivery_shop_curr' => 0,    // стоимость доставки в валюте магазина
'currency_iso' => 'RUR',    // код валюты
)
);
$res $api->run('importOrder'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder&param={"orders":[{"id":1,"updata_date":"2017-08-18 13:07:29","add_date":"2017-08-18 13:07:29","pay_date":"2017-08-18 13:07:29","close_date":"2017-08-18 13:07:29","user_email":"hg@ds.aq","phone":null,"address":null,"summ":17519,"order_content":"a:1:{i:0;a:16:{s:2:\\\"id\\\";s:3:\\\"256\\\";s:7:\\\"variant\\\";s:1:\\\"0\\\";s:5:\\\"title\\\";s:90:\\\"\u041a\u0443\u0445\u043e\u043d\u043d\u0430\u044f \u043c\u043e\u0439\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0442\u043d\u0430\u044f MARRBAXX \u0420\u0438\u043a\u0438 Z22 \u0442\u0435\u043c\u043d\u043e-\u0441\u0435\u0440\u044b\u0439\\\";s:4:\\\"name\\\";s:90:\\\"\u041a\u0443\u0445\u043e\u043d\u043d\u0430\u044f \u043c\u043e\u0439\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0442\u043d\u0430\u044f MARRBAXX \u0420\u0438\u043a\u0438 Z22 \u0442\u0435\u043c\u043d\u043e-\u0441\u0435\u0440\u044b\u0439\\\";s:8:\\\"property\\\";s:0:\\\"\\\";s:5:\\\"price\\\";s:4:\\\"1000\\\";s:8:\\\"fulPrice\\\";s:4:\\\"1000\\\";s:4:\\\"code\\\";s:5:\\\"CN256\\\";s:6:\\\"weight\\\";s:1:\\\"0\\\";s:12:\\\"currency_iso\\\";s:3:\\\"RUR\\\";s:5:\\\"count\\\";s:1:\\\"1\\\";s:6:\\\"coupon\\\";s:1:\\\"0\\\";s:4:\\\"info\\\";s:0:\\\"\\\";s:3:\\\"url\\\";s:71:\\\"kuhonnye-moyki\/kuhonnaya-moyka-granitnaya-marrbaxx-riki-z22-temno-seryy\\\";s:8:\\\"discount\\\";s:1:\\\"0\\\";s:8:\\\"discSyst\\\";s:11:\\\"false\/false\\\";}}","delivery_id":1,"delivery_cost":0,"delivery_options":null,"payment_id":1,"status_id":0,"user_comment":null,"comment":null,"yur_info":null,"name_buyer":null,"date_delivery":null,"ip":"::1","number":"M-0105341895042","1c_last_export":"2017-08-18 13:07:29","storage":null,"summ_shop_curr":1000,"delivery_shop_curr":0,"currency_iso":"RUR"}]}');

Метод

string deleteOrder (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для удаления заказов.

$param['orders'] - массив с id заказов, которые нужно удалить

Пример использования

$param['orders'] = array('1''2''3''4''5');
$res $api->run('deleteOrder'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteOrder&param={"orders":[1,2,3,4,5]});

Метод

array getProduct (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для получения списка товаров getProduct (синоним exportProduct).

$param['page'] - страница для выгрузки
$param['count'] - количество заказов на страницу максимум 100
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['id'] - массив id товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['code'] - массив артикулов товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик
// или
$param['title'] - массив названий товаров для выгрузки
$param['variants'] - включает вывод вариантов
$param['property'] - включает вывод характеристик

Пример использования

// постраничная выгрузка товаров
$param['page'] = 1;
$param['count'] = 20;
$param['variants'] = true;
$param['property'] = true;
$res $api->run('getProduct'$paramtrue);
viewData($res);
// выгрузка товаров по id
$param['id'] = array(112);
$param['variants'] = true;
$param['property'] = false;
$res $api->run('getProduct'$paramtrue);
viewData($res);
// выгрузка товаров по артикулу
$param['code'] = array('SKU348''SKU165');
$param['variants'] = true;
$param['property'] = false;
$res $api->run('getProduct'$paramtrue);
viewData($res);
// выгрузка товаров по названию
$param['title'] = array('Фитнес-трекер Xiaomi');
$param['variants'] = true;
$param['property'] = false;
$res $api->run('getProduct'$paramtrue);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct&param={"page":1,"count":20,"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct&param={"id":[1,2,3],"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct&param={"code":["SKU348","SKU165"],"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct&param={"title":["Фитнес-трекер Xiaomi"],"variants":"true","property":"false"}');

Метод

string importProduct (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для добавления или обновления товаров.

$param['products'] - входящий список товаров для импорта (максимум 100)

Пример использования

$param['products'] = array(
'id' => 1,    // id товара
'cat_id' => 1,    // id категории
'title' => 'Распределительный электрошкаф',    // название товара
'description' => '<p>Периодичность обс>ила.</p>',    // описание товара
'short_description' => '<p>Периодичность обс>ила.</p>',    // краткое описание товара
'price' => 87894,    // цена
'url' => 'raspredelitelnyy-elektroshkaf',    // последняя секция урла
'image_url' => 'no-img.jpg',    // ссылки на изображения, разделитель |
'code' => 'TR-15000-V1',    // артикул
'count' => 35,    // количество
'activity' => 1,    // видимость товара
'meta_title' => 'Распределительный электрошкаф',    // заголовок страницы
'meta_keywords' => 'Распределительный, электрошкаф',    // ключевые слова
'meta_desc' => 'Распределительный электрошкаф',    // мета описание
'old_price' => 38517,    // старая цена
'weight' => 422.019,    // вес
'link_electro' => ,    // сыылка на электронный товар
'currency_iso' => 'RUR',    // символьный код валюты
'price_course' => 87894,    // цена в валюте магазина
'image_title' => ,    //
'image_alt' => ,    //
'unit' => ,    // единица измерения
'variants' => Array(    // варианты
Array(
'title_variant' => '-Var1',    // заголовок варианта
'image' => ,    // ссылка на изображение
'price' => 87894,    // цена
'old_price' => 38517,    // старая цена
'count' => 43,    // количество
'code' => 'TR-15000-V1',    // артикул
'weight' => 422.019,    // вес товара
'currency_iso' => 'RUR',    // символьный код валюты
'price_course' => 87894,    // цена в валюте магазина
'color' => 87894,    // id цвета товара (если есть) от характеристики
'size' => 87894,    // id размера товара (если есть) от характеристики
),
),
'property' => Array(    // характиеристики
array(
'name' => 'Строковая характеристик',    // название характеристики
'type' => 'string',    // тип хварактеристики
'value' => 'Значение',    // значение характеристики
),
array(
'name' => 'Текстовая характеристика',    // название характеристики
'type' => 'textarea',    // тип хварактеристики
'value' => 'Тут может быть много текста',    // значение характеристики
)
)
);
$res $api->run('importProduct'$paramtrue);
viewData($res);

Метод

string deleteProduct (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для удаления товаров.

$param['products'] - массив id для удаления товаров

Пример использования

$param['products'] = array('1''2''3''4''5');
$res $api->run('deleteProduct'$paramtrue);
viewData($res);

Метод

string createCustomFields (array|null $param)

Параметры

  • $param: - массив описанных параметров

Описание

Метод для создания дополнительных полей у заказа.

$param['data'] - массив данных с информацией о дополнительных полях

Пример использования

$param['data'] = Array(
Array(
'name' => 'инпут',
'type' => 'input',
'required' => 0,
'active' => 1,
),
Array(
'name' => 'селект',
'type' => 'select',
'variants' => Array(
'первый',
'второй',
),
'required' => 0,
'active' => 1,
),
Array(
'name' => 'чекбокс',
'type' => 'checkbox',
'required' => 1,
'active' => 1,
),
Array(
'name' => 'радио',
'type' => 'radiobutton',
'variants' => Array(
'первый',
'второй',
'третий',
),
'required' => 0,
'active' => 0,
),
Array(
'name' => 'текст',
'type' => 'textarea',
'required' => 1,
'active' => 1,
)
);
$res $api->run('createCustomFields'$paramtrue);
viewData($res);