Интеграция 1С и WOOCommerce через API без плагинов
Рассмотрим простейший пример интеграции 1С и интернет-магазина на базе WordPress WOOCommerce. Для начала настроим API интерфейс на стороне WordPress.
Подключение REST API WOOCommerce
Создадим ключ API для этого перейдем в раздел WOOCommerce — Настройки, на вкладке Дополнительно выберем REST API.
На открывшейся странице кликнем по кнопке Добавит ключ. У меня на рисунке ключ уже сгенерирован. Я добавлю еще один.
Система сгенерирует Пользовательский ключ и Секретный код пользователя. Сгенерированные данные необходимо сохранить в текстовый документ, так, как секретный ключ будет спрятан, после того, как вы уйдете с этой страницы.
Дополнительно никакие модули и плагины для авторизации через API не нужны. Перейдем на страницу описания API WOOCommerce.
https://woocommerce.github.io/woocommerce-rest-api-docs/?shell#create-a-product
Рассмотрим пример кода создания нового товара на стороне WOOCommerce. В меню слева выберем пункт Products и подпункт Create a product, далее переместимся в правое поле и кликнем по заголовку cURL, скопируем предложенный код в буфер обмена.
curl -X POST https://example.com/wp-json/wc/v3/products \
-u consumer_key:consumer_secret \
-H "Content-Type: application/json" \
-d '{
"name": "Premium Quality",
"type": "simple",
"regular_price": "21.99",
"description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.",
"short_description": "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.",
"categories": [
{
"id": 9
},
{
"id": 14
}
],
"images": [
{
"src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_front.jpg"
},
{
"src": "http://demo.woothemes.com/woocommerce/wp-content/uploads/sites/56/2013/06/T_2_back.jpg"
}
]
}'
Создание товара WOOCommerce из Postman
Скачаем или запустим веб версию Postman импортируем скопированный код в Postman
Postman сформирует новый POST запрос перед выполнением запроса перейдем на вкладку Authorization и введем полученный нами Пользовательский ключ и Секретный код пользователя.
Не забудьте поменять тестовый адрес https://example.com/ POST запроса на фактический и после выполнить его, кликнув по кнопке Send.
Если все сделано правильно, то в результате получим JSON с id созданного товара и полное его описание.
Проверим, появился ли товар в WordPress? Как видим товар создан, значит API интерфейс работает правильно.
Теперь реализуем работу с API WOOCommerce из 1С.
Список товара WOOCommerce из 1С
Создадим новую внешнюю обработку, кинем на форму кнопку и попробуем получить список товаров из WooCommerce
consumer_key = "ck_хххххххххххххххххххххххххххххххххххххххх";
consumer_secret = "cs_хххххххххххххххххххххххххххххххххххххххх";
Соединение = Новый HTTPСоединение("voblachke.ru",443,consumer_key,consumer_secret,,,Новый ЗащищенноеСоединениеOpenSSL()); // HTTPS!
ЗаголовкиЗапроса = Новый Соответствие;
ЗаголовкиЗапроса.Вставить("Content-Type", "application/json;charset=utf-8");
// Получаем список заказов начиная с установленной даты
Запрос = Новый HTTPЗапрос("/wp-json/wc/v3/products", ЗаголовкиЗапроса);
Результат = Соединение.Получить(Запрос);
Сообщить("Нам вернули код: " + Результат.КодСостояния);
Сообщить("Нам вернули код: " + Результат.ПолучитьТелоКакСтроку());
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Результат.ПолучитьТелоКакСтроку());
Проверим выполнение обработки, получаем ответ 200.
Мы реализовали простейший пример интеграции 1С и WooCommerce без дополнительных плагинов. Если для вас необходимо разработать интеграцию, пишите в наш телеграмм, если есть вопросы по обработке пишите в комментарии к инструкции.
Скачать пример обработки можно тут, в модуле формы необходимо указать свой Пользовательский ключ и Секретный код пользователя.