Контроллер: Api
Класс Controllers_Api позволяет сторонним сайтам и приложениям осуществлять взаимодействия с магазином;
$api = new mogutaApi('адрес магазина', 'токен', 'секретный ключ');
$testParam = array('111', '222', '333');
$res = $api->run('test', $testParam, true);
viewData($res);
array | test() |
Метод для проверки подключения к API магазина.
$param = array('test1' => '111', 'test2' => '222'); |
array | getUsers() |
Метод для получения списка пользователей getUsers (синоним exportUsers)
// Постраничная выгрузка пользователей $param['page'] - страница для выгрузки $param['count'] - количество пользователей на страницу максимум 250 // или $param['email'] - массив email'ов пользователей, которых надо найти |
string | importUsers() |
Метод для импорта пользователей.
$param['users'] = array( $param['users'] - входящий список пользователей для импорта (желательно до 100) $param['enableUpdate'] - (true/false) включить или выключить обновление пользователей |
string | deleteUser() |
Метод для удаления пользователей.
$param['email'] = array('user1@mail.ru', 'user2@email.ru', 'user3@mail.ru'); $param['email'] - список емэйлов пользователей, которых нужно удалить. |
string | findUser() |
Метод для поиска пользователей по электронной почте.
$param = array('email' => 'user2@email.ru'); $param['email'] - емэйл пользователя, информацию о котором нужно получить. |
array | getCategory() |
Метод для получения списка категорий getCategory (синоним exportCategory).
// постраничная выгрузка категорий $param['page'] - страница для выгрузки $param['count'] - количество категорий на страницу максимум 250 // или $param['id'] - массив id категорий // или $param['url'] - массив url'ов категорий (последняя секция) |
string | importCategory() |
Метод для импорта категорий.
$param['categories'] = Array( $param['categories'] - входящий список категорий для импорта (желательно до 100) |
string | deleteCategory() |
Метод для удаления категорий.
$param['category'] = array(1, 2, 3, 4, 5); $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'] = Array ( $param['orders'] - входящий список заказов для импорта (желательно до 100) |
string | deleteOrder() |
Метод для удаления заказов.
$param['orders'] = array('1', '2', '3', '4', '5'); $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'] = array(array( $param['products'] - входящий список товаров для импорта (максимум 100) |
string | deleteProduct() |
Метод для удаления товаров.
$param['products'] = array('1', '2', '3', '4', '5'); $param['products'] - массив id для удаления товаров |
string | createCustomFields() |
Метод для создания дополнительных полей у заказа.
$param['data'] = Array( $param['data'] - массив данных с информацией о дополнительных полях |
Метод
array test (array|null $param)
Параметры
Описание
Метод для проверки подключения к API магазина.
$param = array('test1' => '111', 'test2' => '222');
$res = $api->run('test', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=test¶m={"test1":"111","test2":"222"}');
Метод
array getUsers (array|null $param)
Параметры
Описание
Метод для получения списка пользователей getUsers (синоним exportUsers)
// Постраничная выгрузка пользователей
$param = array('page' => '1', 'count' => '15');
$res = $api->run('getUsers', $param, true);
viewData($res);
// Выгразка пользователей по Емэйлу
$param['email'] = array('user@localhost/mogutasite', 'admin@admin.ru');
$res = $api->run('getUsers', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers¶m={"page":"1","count":"15"}');
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getUsers¶m={"email":["user@localhost/mogutasite","admin@admin.ru"]}');
Метод
string importUsers (array|null $param)
Параметры
Описание
Метод для импорта пользователей.
$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', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importUsers¶m={"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['email'] = array('user1@mail.ru', 'user2@email.ru', 'user3@mail.ru');
$res = $api->run('deleteUser', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteUser¶m={"email":["user1@mail.ru","user2@email.ru","user3@mail.ru"]}');
Метод
string findUser (array|null $param)
Параметры
Описание
Метод для поиска пользователей по электронной почте.
$param = array('email' => 'user2@email.ru');
$res = $api->run('findUser', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=findUser¶m={"email":"user1@localhost/mogutasite"}');
Метод
array getCategory (array|null $param)
Параметры
Описание
Метод для получения списка категорий getCategory (синоним exportCategory).
// постраничная выгрузка категорий
$param['page'] = 1;
$param['count'] = 15;
$res = $api->run('getCategory', $param, true);
viewData($res);
// поиск категорий по id
$param['id'] = array(1, 2);
$res = $api->run('getCategory', $param, true);
viewData($res);
// поиск категорий по урлу
$param['url'] = array('smartfony');
$res = $api->run('getCategory', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"page":1,"count":20}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"id":[1,2,3,4,5]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getCategory¶m={"url":["smartphone","ball"]}');
Метод
string importCategory (array|null $param)
Параметры
Описание
Метод для импорта категорий.
$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', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=importCategory¶m={"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['category'] = array(1, 2, 3, 4, 5);
$res = $api->run('deleteCategory', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteCategory¶m={"category":[1,2,3,4,5]}');
Метод
array getOrder (array|null $param)
Параметры
Описание
Метод для получения заказов getOrder (синоним exportOrder).
// постраничная выгрузка заказов
$param['page'] = 1;
$param['count'] = 25;
$res = $api->run('getOrder', $param, true);
viewData($res);
// выгрузка заказов по id
$param['id'] = array(1);
$res = $api->run('getOrder', $param, true);
viewData($res);
// выгрузка заказов по номеру заказа
$param['number'] = array('M-0109749529854');
$res = $api->run('getOrder', $param, true);
viewData($res);
// выгрузка заказов по email'у пользователя
$param['email'] = array('user@localhost/mogutasite');
$res = $api->run('getOrder', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"page":1,"count":25}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"id":[1,2,5]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"number":["M-732468","M-768743"]}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"email":["user1@localhost/mogutasite","user2@localhost/mogutasite"]}');
Метод
string importOrder (array|null $param)
Параметры
Описание
Метод для импорта заказов.
$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', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getOrder¶m={"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['orders'] = array('1', '2', '3', '4', '5');
$res = $api->run('deleteOrder', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=deleteOrder¶m={"orders":[1,2,3,4,5]});
Метод
array getProduct (array|null $param)
Параметры
Описание
Метод для получения списка товаров getProduct (синоним exportProduct).
// постраничная выгрузка товаров
$param['page'] = 1;
$param['count'] = 20;
$param['variants'] = true;
$param['property'] = true;
$res = $api->run('getProduct', $param, true);
viewData($res);
// выгрузка товаров по id
$param['id'] = array(1, 12);
$param['variants'] = true;
$param['property'] = false;
$res = $api->run('getProduct', $param, true);
viewData($res);
// выгрузка товаров по артикулу
$param['code'] = array('SKU348', 'SKU165');
$param['variants'] = true;
$param['property'] = false;
$res = $api->run('getProduct', $param, true);
viewData($res);
// выгрузка товаров по названию
$param['title'] = array('Фитнес-трекер Xiaomi');
$param['variants'] = true;
$param['property'] = false;
$res = $api->run('getProduct', $param, true);
viewData($res);
// вызов через GET
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"page":1,"count":20,"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"id":[1,2,3],"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"code":["SKU348","SKU165"],"variants":"true","property":"false"}');
// или
echo file_get_content('http://site.ru/api?token=ключ-приложения&method=getProduct¶m={"title":["Фитнес-трекер Xiaomi"],"variants":"true","property":"false"}');
Метод
string importProduct (array|null $param)
Параметры
Описание
Метод для добавления или обновления товаров.
$param['products'] = array(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, // количество
'storage' : => '1716535424571', // Идентификатор склада, на котором нужно установить передаваемое количество товара. Работает только при обновлении товара. Идентификатор нужного склада можно найти на вкладке настройки складов
'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', $param, true);
viewData($res);
Метод
string deleteProduct (array|null $param)
Параметры
Описание
Метод для удаления товаров.
$param['products'] = array('1', '2', '3', '4', '5');
$res = $api->run('deleteProduct', $param, true);
viewData($res);
Метод
string createCustomFields (array|null $param)
Параметры
Описание
Метод для создания дополнительных полей у заказа.
$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', $param, true);
viewData($res);