1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API

Публикация № 1100074

Разработка - Обработки - Универсальные обработки

WordPress Woocommerce REST API интеграция WEB

11
Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

Публикую 2 обработки по обмену данными из 1С с сайтом/магазином WordPress/Woocommerce. В них показаны принципы позволяющие публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce, получать ответы от сайта/магазина.

  1. ОбменССайтом_RestAPI_БезКомментариев - моя первая рабочая обработка сделанная в декабре 2018, связанная с темой REST API WordPress/Woocommerce. "Голый" код, без комментариев. Разработана под конфигурацию "Альфа-Авто", для "ассов" 1С готовых разбираться в "замусоренном" коде. Присутствует дополнительный код, связанный с обменом непосредственно для "Альфа-Авто" и сайтом, может подчерпнете что-то полезное. Сделана "я его слепила, из того, что было", вопросы, запросы, просьбы о комментариях и т.д и т.п. не поддерживаются.
  2. OsiW_1C_WordPress_RestAPI_Client_InfoStart_FullHelp - потомок обработки из п.1, "вылизанная", оптимизированная, с минимально необходимым кодом для обмена с сайтом/магазином WordPress/Woocommerce, со встроенной справкой по использованию, комментариями к коду. Привязки к какой-то конфигурации нет, подойдет для любой которая использует обычные формы. Сделана под стандарты REST API WordPress: Маршруты (Routes), Конечные точки (Endpoints), Запросы (Requests), Ответы (Responses). В случае необходимости готов написать статью (несколько статей) с подробным описанием работы (может вы только начинаете работать с REST API и вам не всё понятно :), пишите в комментах).

Данные обработки предназначены в первую очередь для программистов 1С, тем кому интересна тема REST API, обменом с сайтом.

Используя и модифицируя обработки под свои "хотелки", вы сможете творить практически все, что вам нужно для публикации/редактирования страниц/товаров сайта/магазина. С помощью кода этих обработок, приложив свои знания, навыки, желания, и небольшие усилия можно легко и просто опубликовать пост/страницу/товар на сайте прямо из 1С без специфических знаний PHP и иных языков, используя только знания в программировании 1С*. 

Демонстрационное видео публикации товара: посмотреть.

Тестировалось на моем сайте: перейти.

Версия WordPress : 5.2

MySQL Версия : 5.7.23

PHP Версия : 7.2.14

Обработка тестировалась:

Конфигурации: Альфа-Авто: Автосалон+Автосервис+Автозапчасти, редакция 5.1 (5.1.10.09)
Платформа: 1С:Предприятие 8.3 (8.3.13.1644)

Важное замечание.
Конфигурация должна быть в режиме совместимости не ниже 8.3.6

*Данные обработки подпадают по действие Пользовательского соглашения (и в особенности п.6.1)

Здравая критика приветствуется.

С удовольствием выслушаю предложения и пожелания.

Спасибо за проявленный интерес.
11

Скачать файлы

Наименование Файл Версия Размер
1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API. Со справкой и комментариями к коду.:
.epf 108,89Kb
29.07.19
3
.epf 108,89Kb 3 Скачать
1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API без комментариев:
.EPF 68,08Kb
29.07.19
0
.EPF 68,08Kb Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. 1segen1 32 30.07.19 03:22 Сейчас в теме
Голосую за статью.
P.S. Прошу прошения - по ошибке нажал на "-"
2. capitan 1245 30.07.19 09:37 Сейчас в теме
Чем она от прошлых отличается ?
3. osivv 38 30.07.19 13:39 Сейчас в теме
(2)Добавлен обмен с магазином, оптимизирован код.
4. MORT32Ram 11 05.08.19 11:05 Сейчас в теме
В случае необходимости готов написать статью (несколько статей) с подробным описанием работы (может вы только начинаете работать с REST API и вам не всё понятно :)

Здравствуйте, было бы просто замечательно. Скачивал Вашу обработку http://infostart.ru/public/902801/, и ее не смог проверить так как не получилось настроить Rest API со стороны Woocommerce. В настройки зашел галку поставил, токен получил, при обращении к сайту обработкой ответ 404... Цикл статей был бы великим вложением с Вашей стороны в популяризацию отличного Woocommerca среди 1Сников.

//П.С данную обработку хотелось бы скачать, но боязно что в случае как с http://infostart.ru/public/902801/ настроить не получится.
5. osivv 38 05.08.19 23:04 Сейчас в теме
(4)
//П.С данную обработку хотелось бы скачать, но боязно что в случае как с http://infostart.ru/public/902801/ настроить не получится.

Та обработка давным давно устарела, и морально и физически, т.к. всё изменилось, сейчас генерить токен не надо, логины-пароли юзеров WC не нужны, значительно упростилось, в связи этим код 1С уменьшился.
Напишу, только не знаю, с чего начать, подкинете план, буду признателен.
Спасибо за проявленный интерес.
6. Xershi 695 11.08.19 00:57 Сейчас в теме
У своего клиента внедрили платную обработку для обмена с вукомрцем.
Решение работает, но они сделали целую подсистему, чтобы продублировать функционал вукомерца и подобных систем.
Ваше решение я так понимаю реализовало доступ к АПИ вукомерца.
Статья была бы очень кстати, которая покажет базовые примеры работы с АПИ и опишет в понятиях 1С работу с вукомерц.
В идеале описание всех методов АПИ и сущностей вукомерца, которые можно заполнить данными 1С.
7. lisrws 102 14.08.19 15:40 Сейчас в теме
Валерий, спасибо за разработку. Посмотрел ее, есть вопрос. В этой разработке вы авторизуетесь с помощью токена JVT. Возможно подскажете, можно ли использовать для авторизации логин и секретный ключ вукомерса и как этого добиться? в их инструкции есть раздел Authentication over HTTPS, там они вроде как подключаются через HTTP Basic Auth, но у меня никак не получается, может есть какая-то тонкость. Хотел несколько способов авторизации использовать, по желанию пользователя.
8. osivv 38 14.08.19 20:20 Сейчас в теме
(7)
Возможно подскажете, можно ли использовать для авторизации логин и секретный ключ вукомерса и как этого добиться? в их инструкции есть раздел Authentication over HTTPS, там они вроде как подключаются через HTTP Basic Auth

Можно, пробовал этот метод очень давно, с год наверное, уже не помню как. Но этот способ очень замороченный, сложный, требовавший (на тот момент) вмешательства в работу сайта, правки htaccess, в общем плюнул. Описаний и примеров каких-либо толковых не нашел. Может сейчас что-то изменилось, не в курсе.

(7)
Хотел несколько способов авторизации использовать, по желанию пользователя

Зачем?
Искал, пробовал много способов, все замороченные и сложные, и как правило надо вмешиваться в работу сайта, см. выше. В том числе, значительно усложняли код 1С.
9. lisrws 102 14.08.19 21:22 Сейчас в теме
(8) ясно. я думал что так может кому-то удобней будет. но видимо нет. спасибо
12. DVBLEX 06.09.19 12:26 Сейчас в теме
А как картинкы крепятса до товару ? и как оны отсилаютса с товаром на сайт ?
13. DVBLEX 07.09.19 11:41 Сейчас в теме
Как прикрепить к товару не одну картинку а несколько ? Можно и без отображения просто штоб в номенклатуре были прикреплены к одному товару ? Вот есть код но он прикрепляет только одну картинку. как из него зделать так штоб можно было прикрепить не одну а хотябы 5 или 10 ?
&НаКлиенте Процедура ПрикрепитьФайл(Команда) // ОбъектТекущий = РеквизитФормыВЗначение(“Объект”); Режим = РежимДиалогаВыбораФайла.Открытие; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим); ДиалогОткрытияФайла.ПолноеИмяФайла = “”; ДиалогОткрытияФайла.Расширение = “”; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; // ДиалогОткрытияФайла.ВыбранныеФайлы = “”; ДиалогОткрытияФайла.Заголовок = “Выберите файлы”; Если ДиалогОткрытияФайла.Выбрать() Тогда ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла; // Получение двоичные данные файла //ПутьКФайлу = ДиалогОткрытияФайла.Расширение; ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу); // Имя = Новый ДвоичныеДанные(ПутьКФайлу); //Разширение = Новый ДвоичныеДанные(ПутьКФайлу); // Передача двоичных данные на сервер ПрикрепитьФайлНаСервере(ДвоичныеДанные); Иначе Текст = “ru = “”Файл(ы) не выбран!””; en = “”File(s) not selected!”””; Предупреждение(НСтр(Текст)); КонецЕсли; КонецПроцедуры &НаСервере Процедура ПрикрепитьФайлНаСервере(ДвоичныеДанные) // Трансформируем объект формы в справочник-объект ОбъектТекущий = РеквизитФормыВЗначение(“Объект”); // Присваиваем новое значение реквизиту “Данные” //РегистрыСведений.СопоставлениеДанных. = Новый ХранилищеЗначения(ДвоичныеДанные); ОбъектТекущий.Картинка = Новый ХранилищеЗначения(ДвоичныеДанные); //ОбъектТекущий.КартинкаИмя = Новый ХранилищеЗначения(Имя); //ОбъектТекущий.КартинкаРазширение = Новый ХранилищеЗначения(Разширение); //ОбъектТекущий.Данные = Новый ХранилищеЗначения(ДвоичныеДанные); //ОбъектТекущий.РегистрыСведений.СопоставлениеДанных.Данные = Новый ХранилищеЗначения(ДвоичныеДанные); // Сохраняем изменения ОбъектТекущий.Записать(); // Данные = РегистрыСведений.СопоставлениеДанных.Данные; КонецПроцедуры
14. osivv 38 07.09.19 16:37 Сейчас в теме
(13)
Как прикрепить к товару не одну картинку а несколько ? Можно и без отображения просто штоб в номенклатуре были прикреплены к одному товару ? Вот есть код но он прикрепляет только одну картинку. как из него зделать так штоб можно было прикрепить не одну а хотябы 5 или 10 ?

Зачем вы изобретаете велосипед?
Давно всё изобретено, используйте штатные механизмы конфигураций, УТ например.
Вы где взяли этот код?
15. DVBLEX 09.09.19 17:26 Сейчас в теме
Ну а как их добавить в свою розработку? И откуда взять ету УТ ? Еслы купить целый пакет ради Добавленние фалов т оето как то не совсем то што мне нужно, по сколько я не буду ее юзать. Может кто срисовать в общих чертах у кого она есть как такео реализовать?
16. DVBLEX 10.09.19 10:51 Сейчас в теме
В той конфигурации што у меня есть там обычние формы а мне надо управляемые поетому и пишу сюда.
Оставьте свое сообщение