Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. Авторизация

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

Разработка - Системная интеграция - Интеграция с WEB

WordPress WooCommerce RestAPI Интеграция сайтом Rest API обмен данными

Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью функционала Rest API предоставляемого платформой (CMS) WordPress (WooCommerce). Без дополнительных приложений на PHP/вставьте сюда любой другой язык программирования/.

Преамбула.

     В настоящее время торговля в глобальной сети развивается гигантскими шагами. Появляется огромное количество сайтов и интернет-магазинов самого разного уровня и содержания. Сегодня в процессе создания любого сайта/интернет-магазина не обойтись без системы управления контентом (CMS). Иначе CMS называют «движком» сайта/интернет-магазина. Но какой «движок» выбрать? Ведь на сегодняшний день на рынке присутствует не один десяток систем. А в нашей стране (по моему мнению), где большинство компаний (больших и малых) продающих товары/услуги ведут учет в программе на базе 1С (неважно какой), актуальность обмена данными с интернет-магазином возрастает с каждым днём. И если, интернет-магазин базируется не на Битриксе, то возникают большие проблемы (а может и нет, могу ошибаться), да и с Битриксом далеко не всё так «гладко и сладко».

Проблем обмена с сайтом/интернет-магазином из 1С интересовала давно, и когда в прошлом году начал в плотную заниматься вопросом в каком направлении «копать», изучал множество CMS. Основными критериями были:

1. Только он-лайн обмен, без файла обмена.
2. Без вмешательства в платформу сайта, использовать только те инструменты, что предоставляет сайт.
3. Минимум финансовых затрат, максимально обходиться тем, что дается бесплатно.
4. Без вмешательства в 1С (внешняя обработка/отдельная конфигурация), использовать только те инструменты, что предоставляет 1С.
5. Настройка работы должна быть простой и минималистичной.

Что касается CMS, «копание» было недолгим, посмотрите рисунки, я думаю вы все поймете почему выбор пал на WordPress (источник сайт «itrack.ru», данные на 2019 год, но суть не меняется). Рис.1.1

рис 1.1-общий рейтинг CMS

рис 1.1-общий рейтинг CMS

рис 1.2-рейтинг бесплатных CMS

рис 1.3-динамика числа установок CMS

рис 1.4-динамика числа установок CMS

    И всё же, почему WordPress?  Плюсов в нём на порядок больше, чем в других платформах, но это тема отдельной статьи, если интересно готов потом написать. В двух словах скажу, что, если вы хоть немного разберетесь с WordPress, вам не нужны будут дизайнеры, верстальщики, PHP-программисты и прочие, связанные с сайтом. И самый жирный «+» это то, что WordPress был самым простым в изучении для начинающих. И самое главное REST API. Ведь REST API WordPress/ WooCommerce и сам WordPress полностью удовлетворяет первые три моих принципа.

1. Он-лайн обмен - он для этого и создан.
2. Предоставляется платформой (сообществом разработчиков WordPress/ WooCommerce).
3. Бесплатно. Также в WordPress превеликое множество бесплатных приложений и инструментов, которые нужны для сайта.

     Что касается стороны 1С, то пункт 4 тоже беспроблемный, что касается пункта 5, не скажу, что просто, но проще настроек Битрикса по обмену с сайтом - однозначно. 

    Также сыграло огромную роль то, что REST API WordPress был очень хорошо документирован, имелось множество разработок и примеров использования в интернете, встроен в CMS. И самое главное он бурно развивается, и прирастает всё новыми и новыми функциями («конечными точками» выражаясь языком разработчиков). Забегая немного вперед скажу, что уже есть немало плагинов, которые предоставляют свои REST API, тем самым расширяют возможности WordPress. Такой один, очень интересный с моей точки зрения, «Booking» (он-лайн запись на прием/ремонт к специалисту, в общем там много «фишек»), использую в изучении и тестировании.

С чего начать?

Наверное, с самого главного вопроса «Как соединиться с сайтом?»

    В этой статье расскажу вам о двух моментах, без которых будет невозможно осуществлять обмен с сайтом. И самое главное авторизоваться на сайте для дальнейшей работы по обмену данными. Искал долго и упорно, пробовал много способов и предлагаемые разработчиками, и  Basic Auth, и плагинами для WordPress, все оказались замороченными и сложными, и как правило требовалось вмешиваться в работу сайта, правки htaccess, или чего-то иного. В том числе, значительно усложняли код 1С. 
    Но выход был найден, и как обычно, «всё гениальное просто», заключался он в JSON Web Token (JWT). Что это такое вы можете прочитать в википедии, там всё достаточно подробно описано.

Первый момент - нам JWT нужен для авторизации на сайте и получения доступа к REST API сайта.
Второй момент - это плагин для генерации токенов.

    Я просмотрел и протестировал несколько плагинов для получения JWT. Но все они оказались или устаревшими, или сложны в настройке. Остановился на одном, он называется Advanced Access Manager (ААМ). Правда он предназначен для другого, но нам это не важно. Важно то, что он отлично справляется с главной для нас задачей - генерацией токенов.

    Лирическое отступление. Многие скачивали (в том числе не так давно) мою старую обработку по авторизации, и потом говорили, что, что-то не работает. Так вот, эта обработка устарела и морально и физически, так как разработчик плагина шагнул далеко вперёд (в этом есть и моя заслуга, так как с моей помощью он исправил пару-тройку недочетов плагина). И если раньше использовались только временные токены, то сейчас можно генерировать токены с неопределенно долгим сроком действия (хоть месяц, хоть год, хоть два).
     А что нам дает токен? А то, что теперь нам не нужны ни логины, ни пароли, ни шифрование и прочее связанное с авторизацией. В конечном итоге на порядок упрощается код 1С для авторизации на сайте. 

Установка и настройка Advanced Access Manager (ААМ).

Заходим на сайт в консоль администрирования. Заходим на страницу плагинов и жмем кнопку "Добавить новый".

В строке поиска вводим «AMM». После этого жмем кнопку "Установить".

После установки активируем плагин нажав кнопку "Активировать".
На этом процесс установки завершен.

Настройка ААМ для генерации токенов

Откроем настройки плагина.

Кликаем на вкладку Settings.

Ставим переключатели как на картине.

Остальное можно оставить по-умолчанию.

    Далее, добавляем нового пользователя и присваиваем ему роль «Редактор», если используется магазин WooCommerce, то роль «Менеджер магазина». Пароли задайте по-сложнее и по-длиннее, и хотя они нам в 1С не понадобятся, лучше задать.

Далее идем снова в управление AAM. Кликаем в правой панели вкладку «users».

Кликаем на «шестеренку».

Теперь в левой панели кликаем как на рисунке.

Создаем новый токен нажав кнопку «+ Create»

Задаем дату окончания действия токена и жмем «Create»

Посмотреть, скопировать токен можно нажав «глаз»

Всё… Нам больше ничего от сайта не надо, разве что скопированный в буфер обмена сам токен.

 

Программа (конфигурация) «1C WordPress Rest API service»

 

    Хочу поделиться своим опытом и найти тех, у кого есть желание и возможность развить направление, описанное выше, и принять непосредственное участие в разработке прототипа программы (конфигурации) по обмену данными между 1С и сайтом WordPress по протоколу RestAPI. И не только с WordPress, но возможно и других CMS (Joomla, OpenCart, правда документация и описание у них не идет ни в какое сравнение с WordPress, но есть), ведь даже Битрикс не так давно заявил о своем RestAPI.
    В представленном прототипе пока реализована только первая часть, авторизация с сайтом. Но в следующих частях мы вместе будем раскрывать огромный потенциал и функционал, который предоставляет нам WordPress.
 

Краткое описание представленного прототипа.

 

Общие глобальные модули (надеюсь названия говорят сами за себя):
1. Процедуры и функции общего назначения


2. Процедуры и функции работы с сайтом 

Константы:
1. СоединениеССайтом_JWTServer (Строка подключения к сайту (host) без https://)
2. СоединениеССайтом_JWToken (Токен полученный от сайта)
3. СоединениеССайтом_Таймаут (Таймаут (секунд) подключения к сайту)
4. СоединениеССайтом_ЭтоHTTPS_Соединение Флаг указывающий на HTTPS-соединение.
Небольшая ремарка, HTTP-соединение не тестировалось, поэтому, как будет работать прототип с ним не знаю.
    Надеюсь, что необходимость заполнения значений констант не вызывает сомнений, так как на текущий момент проверки этого программе нет. 

Общие формы:
1. Форма констант. Здесь хранятся данные, которые нам всегда необходимы для обмена с сайтом.

2. Форма просмотра ответа с сайта (отладочная). Здесь можно посмотреть "сырой", необработанный ответ с сайта. 


 

Справочники:
1. Предопределенные значения маршрутов и конечных точек Rest API. Сделан для удобства и категоризации маршрутов и конечных точек. 


 

Регистры сведений:
1. Предопределенные ключи и значения для RestAPI. Здесь хранятся пары «ключ» и «значение» для обмена с сайтом по RestAPI. Для удобства быстрой выборки или поиска. 

 

В контексте данной публикации это всё.

Что бы проверить работоспособность или протестировать прототип отдельным файлом идет внешняя демо обработка (думаю, что она не нужна в составе конфигурации). 

С помощью нее вы сможете посмотреть в ответе от сайта список (ограничен 10 шт.): 

1. Категория/группа постов/страниц, имеющихся на сайте. 

2. Медиа/фото/видео файлов, хранящихся на сайте.

3. Посты опубликованные на сайте. 

4. Страницы опубликованные на сайте.

5. Проверить валидность токена. 


 

Установка программы.


Важное предупреждение!!!
Версия платформы 1С на которой будет корректно работать программа должна быть больше 8.3.6
Как узнать версию вашей платформы 1С? Смотрите рис. 

2.1.Вариант базы-источника-файловый

Установка/подключение программы.
Прототип присутствует в двух вариантах: в виде конфигурационного файла и в виде готовой информационной базы. Если вы скачиваете конфигурационный файл, то знаете, как с ним работать и что с ним делать, поэтому инструкции по работе с ним писать не буду.
Инструкция по подключению информационной базы.
1. Скачайте и распакуйте архив с программой в любой каталог вашего диска. Должен появиться файл с именем "1Cv8.1CD" (далее по тексту "ФП" - файл программы).
2. Создайте папку на диске и перенесите туда ФП (можно распаковать с разу в эту папку).
3. Запустите 1С. Появится окно со списком информационных баз (или с пустым списком). 

4. Нажмите кнопку "Добавить".
5. Выберите (о) "Добавление в список существующей информационной базы". 

6. Нажмите кнопку "Далее".
7. Внесите наименование и нажмите кнопку [...], и выберите папку в которую сохранили ФП в п. 2.

8. Нажмите кнопку "Далее".


9. Нажмите кнопку "Готово". 

На этом установка/подключение программы завершена.

Для запуска программы нажмите кнопку "1С:Предприятие".

***Важное замечание.

Общее для всего контекста связанного с числовыми значениями: все числа передаваемые на сайт посредством запросов должны передаваться в числовом формате '123654987.321', формат 1С '123 235 987.123' (с разделителями тысяч) будет выдавать ошибку! Или в текстовом виде "123145.113". Числовой формат предпочтителен.

Чтобы настроить числовой формат в конфигураторе перейдите "Администрирование" -> "Региональные установки информационной базы" и установите настройки числа как на рисунке.

 

На этом всё, первая часть окончена.

Желаю приятных экспериментов на ниве обмена из 1С с сайтом WordPress. 

Продолжение следует.

В следующей части будем публиковать/изменять/удалять категории постов/страниц, сами посты/страницы.

 

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

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

Версия WordPress: 5.2
MySQL Версия : 5.7.23-24
PHP Версия : 7.3.6
Платформа: 1С:Предприятие 8.3 (8.3.13.1644)


P.S. Если вам интересна описанная в публикации тема, вы готовы посвятить этому некоторое своё свободное время, есть желание, милости прошу присоединиться к моему проекту, пишите, не стесняйтесь.

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

Наименование Файл Версия Размер
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. информационная база:

.zip 186,08Kb
12.10.19
9
.zip 0.1.0 186,08Kb 9 Скачать
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. конфигурация.:

.cf 140,40Kb
12.10.19
5
.cf 0.1.0 140,40Kb 5 Скачать
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. демо обработка:

.epf 9,27Kb
12.10.19
8
.epf 9,27Kb 8 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. zeegin 91 13.10.19 01:25 Сейчас в теме
> должны передаваться в числовом формате '123654987.321', формат 1С '123 235 987.123'

Если следовать стандарту https://its.1c.ru/db/v8std#content:763:hdoc и использовать XMLСтрока для сериализации, то такие ухищрения не понадобятся.
2. zeegin 91 13.10.19 01:33 Сейчас в теме
Есть open source плагин https://github.com/sgtpep/woocommerce-1c

Он позволяет настроить обмен между любой типовой конфигурацией через ее механизм синхронизации с сайтом (без доработок и снятия с поддержки) с WooCommerce используя CommerceML.

Зачем делать так сложно и в чем именно преимущество не понятно.
4. a45 79 13.10.19 09:35 Сейчас в теме
(2) а корректно ли работает плагин при выгрузка 10к +- товаров?
5. zeegin 91 13.10.19 10:36 Сейчас в теме
(4) По-моему настройка интеграции из 1С ограничивает пакет тем количеством, которое вы за захотите. И можно ведь выгружать не все, а только измененные по плану обмена.
6. a45 79 13.10.19 10:49 Сейчас в теме
(5) в php коде echenge. Php от 1 до 10 importN. Xml вроде бы стоит. Т. Е сильно не разгуляешься. И изменения тоже могут проходить по всей номенклатуре - например когда ежедневно перезагружается цены от поставщиков. Таким образом план обмена огромный. В итоге при обмене не приходит ответ от сервера - обмен всегда с ошибкой.
7. zeegin 91 13.10.19 10:57 Сейчас в теме
(6) На стороне 1с точно есть настройка ограничения. Типа 50 номенклатур в пакете, 3 попытки, можно задать любое другое.
Будут у тебя 10 000 товаров с измененной ценой - значит это будет выполняться 200 запросов, если они все с первого раза будут выполнены.
30. twilight_dream 11.04.20 20:44 Сейчас в теме
(7)На стороне 1С такого точно нет.
8. zeegin 91 13.10.19 10:59 Сейчас в теме
(6) Ну и если реально нужно быстро с гарантией доставки и все такое, то надо делать свою систему с RabbitMQ или Apache Kafka или любым другим брокером сообщений.
10. osivv 177 13.10.19 14:31 Сейчас в теме
(4) Моей разработке всё-равно, здесь идет ограничение WooCommerce. Возможность одновременной публикации/обновления количества товаров ограничена 100.
И если будете ставить больше, просто будет возвращаться ошибка.
Я выгружал с нуля порядка 9500 товаров, заняло около 2-3 часов, точно не помню. И это с учетом пауз, чтобы сайт не воспринял публикации как хакерскую атаку.
Ошибок публикаций не было, за исключением того, что были товары с одинаковыми SKU, штук 20 было вроде.
27. pudoff 15.10.19 12:53 Сейчас в теме
(4) вот мне тоже интересно, сайт на ВП недавно сделали по схеме https://txtlab.ru/kak-sdelat-sajt-na-wordpress/ , но вручную слишком много выгружать...
9. osivv 177 13.10.19 14:24 Сейчас в теме
(2) zeegin Это старый плагин, вернее давно "на рынке", цитата из его описания:
"Предоставляет обмен данными между плагином для электронной коммерции WooCommerce и приложением для бизнеса "1C:Предприятие 8. Управление торговлей" (и совместимыми)."
А моему механизму вси-равно, какая конфигурация, надо только сопоставить данные из 1С с данными WooCommerce.
И самая важная разница: выгрузка-загрузка. В моем - он-лайн: послал запрос-получил ответ, положительны, отрицательный, не важно, сразу.
12. blackhole321 1185 13.10.19 15:45 Сейчас в теме
(9)Нормальный рабочий подход. А если у Вас реализована отправка обновлений, скажем в подписках справочников etc. - вообще прекрасно. Менеджер добавил товар и через несколько секунд он на сайте.
В общем - пишите еще. Хотелось бы посмотреть на реализацию очереди отправки, а также на то, как Вы боретесь с ситуациями, когда Вы отправили запрос, wordpress произвел какие-то действия, а ответ не дошел до вызывающей стороны.
13. osivv 177 13.10.19 18:58 Сейчас в теме
(12)
В общем - пишите еще. Хотелось бы посмотреть на реализацию очереди отправки, а также на то, как Вы боретесь с ситуациями, когда Вы отправили запрос, wordpress произвел какие-то действия, а ответ не дошел до вызывающей стороны.

Немного не понял сути, подобной ситуации никогда не наблюдал. В одном сеансе отправляется запрос и сразу же получаете ответ, ответ получите в любом случае: 200 (201) всё ОК или об ошибке.
За идею с подписками спасибо, что-то сам не догадался, ))
Но здесь один маленький нехороший ньюанс, надо внедрять код в конфигурацию.
14. blackhole321 1185 13.10.19 19:07 Сейчас в теме
(13)
Немного не понял сути, подобной ситуации никогда не наблюдал. В одном сеансе отправляется запрос и сразу же получаете ответ, ответ получите в любом случае: 200 (201) всё ОК или об ошибке.

Ну суть в том, что в процессе отправки обновления связь может прерваться и Вы не получите ответ 200, хотя изменения на сайте будут произведены. Собственно система должна отслеживать такие моменты, чтобы не пытаться внести изменения еще раз.

Но здесь один маленький нехороший ньюанс, надо внедрять код в конфигурацию.

Можно использовать расширения и в любом случае, поскольку Вы не изменяете типовые объекты, а добавляете свои - нет особых причин для беспокойства.
16. osivv 177 13.10.19 19:12 Сейчас в теме
(14)
Ну суть в том, что в процессе отправки обновления связь может прерваться и Вы не получите ответ 200, хотя изменения на сайте будут произведены.

Думаю, что при современном уровне развития систем связи, вероятность разрыва соединения стремится к нулю. Думаю вряд ли кто-то сейчас использует модемы, хотя возможно.
17. blackhole321 1185 13.10.19 19:26 Сейчас в теме
(16)Тут дело не в модеме и качестве связи. Такая ситуация может возникнуть по множеству причин: проблемы оборудования (вашего, провайдера, по пути к датацентру, датацентра etc.), перезагрузка сетевых устройств etc.
29. twilight_dream 11.04.20 20:43 Сейчас в теме
(2)Далеко не с любой, и он не настраивается. Работает только с типовой УТ на управляемых формах.
3. DNN13 29 13.10.19 08:35 Сейчас в теме
Это рейтинг CMS в мире или в России?
11. malikov_pro 557 13.10.19 15:31 Сейчас в теме
"Если вам интересна описанная в публикации тема" - интересна, периодически пишу интеграции с сайтами есть желание сделать "конвеер".
Woocommece хорош что у него есть HTTP API, но в доработках сложен. Наличие API есть у prestashop, за деньги у OpenCart (в паре проектов использовал), cs-cart и.т.д. Есть пара проектов где к битриксу доделываем блоки с HTTP API.
Контроллеры REST API можно в дальнейшем использовать для RabbitMQ.

Профита от вынесения путей в справочник особо не вижу, т.к. реализация обработки данных все равно в модуле обработки.

Забивать статью картинками про установку базы - тратить внимание читателя в пустую. Больше описания самого механизма и подходов к решению проблем.

Отладку проще вести postman + конфигуратор.
SVSVSV999; zeegin; +2 Ответить
15. osivv 177 13.10.19 19:09 Сейчас в теме
(11)
Профита от вынесения путей в справочник особо не вижу, т.к. реализация обработки данных все равно в модуле обработки.

Подскажите куда вставить? В код зашивать особого смысла тоже нет (а может есть?), это надо постоянно в памяти держать. В справочник загнал для удобства, и возможности самому дописывать нужные маршруты. А сами маршруты хранятся в регистре сведений, чтобы проще было доставать по подсистемам. Изучаю сейчас плагин с "букингом", это другая подсистема, другие маршруты.
18. malikov_pro 557 13.10.19 20:54 Сейчас в теме
(15) Возможно сложность моей системы не требует подхода с общим справочником адресов, мне хватает в процедуре работы с данными скомпоновать через соответствие DTO, сериализовать в JSON и отправить его POST(АдресРесурса, ТелоСообщения), после проверить на ошибки по кодам состояния и при необходимости передать в процедуру обработки результата.
Если в контексте обмена с сайтами, то расширение с общей структурой настроек и перечисление с типами обменов а вся транспортная логика (специфика API конкретного сайта) переносится в соответствующую обработку.
19. Region102 14.10.19 07:52 Сейчас в теме
1. Механизм токенов в принципе делается для периодической генерации, а не для использования его бесконечно долго.
2. И ваш исходный код ОПЯТЬ закрыт? Если да, то я ни одного упоминания ОПЯТЬ не увидел в тексте статьи.

Если хотите изучить API изнутри, то на ютубе в поиске найдите серию моих видео "WOOCOMMERCE И 1С"
20. osivv 177 15.10.19 00:13 Сейчас в теме
(19)
И ваш исходный код ОПЯТЬ закрыт?
для тебя да.
[IS-QUOTE]"Если хотите изучить API изнутри, то на ютубе в поиске найдите серию моих видео "WOOCOMMERCE И 1С" [IS-QUOTE]
Реклама себя?

Все комменты по видео:

Слишком много функций, разделено, по конечным точкам, у меня всё делается в одной функции.
Массовая отправка товаров не реализована? Что так этож просто...
Нельзя получить доступ к консумер-кей и консумер-секрет? Не смешите...Учите мат.часть лучше.
Дополнительный сторонний пароль, сам признаешься что не безопасен.
Только 2 функции "Получить список продуктов" и "создать продукт"? Маловато будет...
WWW в строке запроса - лишнее, или неправильна настроена переадресация сайта.
Один маршрут?
Насмешил, "Если плагина нет происходят непонятные ошибки"...
Если не в курсе, просвещу, для доступа к Rest API WordPress ни логин ни пароль не нужны.
Не вводите людей в заблуждение по документации WordPress, там нет методов и т.д.
Есть Маршруты и конечные точки, читайте документацию внимательно.
Цитата:
"Key Concepts
To get started with using the WordPress REST API we will break down some of the key concepts and terms associated with the API:
Routes/Endpoints"

Получил список товаров, а в удобочитаемый вид привести? Зачем смотреть на "сырой" ответ в JSON?
Категорию создавать на сайте? Да ее проще создать чем товар...
ID категории прописывать в коде? Даже не знаю как комментировать..
Открою секрет, в 1С урл картинки не нужен.
Еще секрет, числовые данные лучше передавать как число, а не текст, хоть WordPress и производит конвертацию, частенько бывают ошибки...
Советовать из документации:
"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"
}
не оттестировав этот код грешно, задвоение картинок на сайте не напрягает?
А если их несколько сотен? И каждая по 1,5-2 мегабайта, сколько лишнего будет на сайте и как потом понимать какая к чему относится?
Дошел до 39:29 дальше смотреть не стал...
Просто боюсь предположить, что насоветуешь и чему научишь впоследствии...
В общем палец вниз за видео.

ОООчень много водыыыы
22. Region102 15.10.19 03:52 Сейчас в теме
(20)
И ваш исходный код ОПЯТЬ закрыт?
для тебя да.

Ух какой злой дядька, видимо его задели мои комментарии по поводу закрытого кода его обработок. Я кстати считаю, что любой закрытый код - это зло, так как банально тормозит прогресс.


(20)
[IS-QUOTE]"Если хотите изучить API изнутри, то на ютубе в поиске найдите серию моих видео "WOOCOMMERCE И 1С" [IS-QUOTE]
Реклама себя?

Ну если сам себя не похвалишь, то как тебя другие найдут ), а инфостарт коммент с ссылкой не пропустил бы. Партизанский маркетинг называется.

(20)
Слишком много функций, разделено, по конечным точкам, у меня всё делается в одной функции.

Видал я в работе супер универсальные функции на тысячи строк кода, одна и супер универсальная, уверен, что ваша еще круче.


(20)
Массовая отправка товаров не реализована? Что так этож просто...

Да для этого есть методы, но в данном видео они не рассматриваются.


(20)
Нельзя получить доступ к консумер-кей и консумер-секрет? Не смешите...Учите мат.часть лучше.

Учу ежедневно, но вы же супер эксперт, вам виднее.


(20)
Дополнительный сторонний пароль, сам признаешься что не безопасен.

Да, получать токен на месяц, год, или более, как вы учите в своей статье не безопасно. Но как вы писали, нет других плагинов. А но нормальному, токен надо выдавать на час, а потом он должен "протухать".

(20)
Только 2 функции "Получить список продуктов" и "создать продукт"? Маловато будет...

Это обучающее видео, а не коммерческая разработка.

(20)
WWW в строке запроса - лишнее, или неправильна настроена переадресация сайта.

Да, без WWW тоже будет работать.Кстати первый комментарий, который я с натяжкой могу считать конструктивным.


(20)
Насмешил, "Если плагина нет происходят непонятные ошибки"...
Если не в курсе, просвещу, для доступа к Rest API WordPress ни логин ни пароль не нужны.

Посмеюсь с вами ))), только вот странно, но POST запросы по добавлению картинок без логина и пароля не работают, а так смеемся дальше ))).


(20)
Не вводите людей в заблуждение по документации WordPress, там нет методов и т.д.
Есть Маршруты и конечные точки, читайте документацию внимательно.
Цитата:
"Key Concepts
To get started with using the WordPress REST API we will break down some of the key concepts and terms associated with the API:
Routes/Endpoints"

Открою для вас один секрет, все http запросы в WordPress обрабатываются процедурами и функциями на языке PHP, так что там есть методы и т.д. Этот комментарий из разряда, придраться к формулировкам.

(20)
Получил список товаров, а в удобочитаемый вид привести? Зачем смотреть на "сырой" ответ в JSON?

Ну я так просто люблю сырое, вкусовщина скажем.

(20)
Категорию создавать на сайте? Да ее проще создать чем товар...

Знаю, в следующем видео как раз делаю все автоматизировано.

(20)
ID категории прописывать в коде? Даже не знаю как комментировать..

Ну я тоже, наверное для простоты, это же обучающее видео по работе с REST API, а не супер обработка по выгрузке товаров с закрытым кодом.

(20)
Открою секрет, в 1С урл картинки не нужен.

Это вам не нужен, а вот чат боту в телеге с inline поиском, они бы очень пригодились для отображения в поиске.

(20)
Еще секрет, числовые данные лучше передавать как число, а не текст, хоть WordPress и производит конвертацию, частенько бывают ошибки...

Это просто гениальный секрет, прочитал в вашей статье, теперь буду знать. Особенное спасибо вам скажет бухгалтер за настройку числового формата. Ошибки преобразования числа? Да вы шутите.


(20)
Советовать из документации:
"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"
}
не оттестировав этот код грешно, задвоение картинок на сайте не напрягает?
А если их несколько сотен? И каждая по 1,5-2 мегабайта, сколько лишнего будет на сайте и как потом понимать какая к чему относится?

Так откуда нам не сведущим брать инфу, только из грешной документации. Задвоение картинок исправляю в следующем видео.


(20)
Дошел до 39:29 дальше смотреть не стал...
Просто боюсь предположить, что насоветуешь и чему научишь впоследствии...
В общем палец вниз за видео.

ОООчень много водыыыы

Спасибо за ваш конструктивный отзыв и за вашу отличную статью, без воды, ну без ручейка скажем вначале, ну ладно, без речки. А палец вниз всего лишь поднимает мое видео в выдаче ютуба, ведь не знать это просто грех, так что спасибо и на этом!
21. osivv 177 15.10.19 01:06 Сейчас в теме
Небольшое уточнение к "Если не в курсе, просвещу, для доступа к Rest API WordPress ни логин ни пароль не нужны."
Это справедливо для GET многих запросов (все не проверял).
23. Region102 15.10.19 04:10 Сейчас в теме
(21) Ну вы POST проверьте ) или тоже раньше не использовали?
24. Region102 15.10.19 04:19 Сейчас в теме
А что нам дает токен? А то, что теперь нам не нужны ни логины, ни пароли, ни шифрование и прочее связанное с авторизацией. В конечном итоге на порядок упрощается код 1С для авторизации на сайте.


Интересно, то есть, я перехватив ваш http запрос, ведь зачем нам https и шифрование, и прочее связанное с авторизацией, смогу просто месяц, год или даже два, иметь полный доступ к REST API вашего сайта.

Насколько я понял, вы хотите сделать коммерческую разработку по выгрузке товаров на сайты, надеюсь о безопасности вы тоже подумаете и напишите свой плагин с генераций токенов, которые "протухают" через час.
25. osivv 177 15.10.19 08:21 Сейчас в теме
(24)
Интересно, то есть, я перехватив ваш http запрос, ведь зачем нам https и шифрование, и прочее связанное с авторизацией, смогу просто месяц, год или даже два, иметь полный доступ к REST API вашего сайта. Да, получать токен на месяц, год, или более, как вы учите в своей статье не безопасно. Но как вы писали, нет других плагинов. А но нормальному, токен надо выдавать на час, а потом он должен "протухать"

Метод по логину и паролю - истина в последней инстанции, открытый всем ветрам.
Отставил это на усмотрение пользователя, пусть сам сделает выбор, а если не в курсе, ААМ позволяет получать токены хоть каждую секунду, выбор за пользователем.
И еще просвещу, авторизация по токену считается одним из безопасных методов авторизации (по-гуглите если не сложно), уж безопаснее пары логин-пароль однозначно.
Сударь с вами разговаривать, что с радио спорить....
26. Region102 15.10.19 12:14 Сейчас в теме
(25) JWT токен безусловно хорошее решение для безопасности, но вы же пишите
И если раньше использовались только временные токены, то сейчас можно генерировать токены с неопределенно долгим сроком действия (хоть месяц, хоть год, хоть два).
и это проблема.

Токен должен генерироваться периодически, это и позволяет избежать многих проблем с безопасностью. Хотя я могу и ошибаться, и jwt токены вполне безопасно генерировать на длительный срок. Просто привык работать с REST API по протоколу Oauth2.
28. user1326141 12.12.19 07:58 Сейчас в теме
Мне нужна помощь в интеграции 1С (10.3) с Woocommerce за денежку естественно. Буду рад вашему сообщению на майл w3b@w3b.ee
31. vlad_ST 23.07.20 22:58 Сейчас в теме
Сколько времени занимает обновление цен и наличия у 10000товаров?
33. mixeev24 23.09.20 14:24 Сейчас в теме
Кому интересно, есть готовое решение по Интеграции 1с и Woocommerce
Оставьте свое сообщение

См. также

Hello world на metadata.js Промо

Инструментарий разработчика WEB Мобильная разработка v8 1cv8.cf Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    58604    unpete    208    

Отправка картинок из 1С на сайт WordPress. Через REST API WordPress

WEB v8 УТ11 КА2 Абонемент ($m)

Обработка на управляемых формах. Читает из каталога на компьютере фотографии и публикует их на сайте на движке WordPress

1 стартмани

16.09.2020    712    1    otcheskiy    0    

Перенос всех логов в Elasticsearch

WEB v8 Абонемент ($m)

В качестве стандартного места хранения логов в "1С:Предприятие" используется Журнал регистрации. Также часто для хранения служебных событий создают специальные Регистры сведений. Но у этих решений есть свои недостатки. В статье описан подход для хранения любых логов в самой популярной свободной поисковой системе Elasticsearch.

1 стартмани

15.07.2020    2371    kuleshov.x    4    

Выбираем российского провайдера для интеграции с WhatsApp

WEB Интеграция v8 Россия Абонемент ($m)

Собственно, почему выбираем именно провайдера и почему российского? WhatsApp, создавая свое API, преследовал две цели - делать деньги и минимизировать спам. И чтобы убить сразу двух зайцев, было принято решение предлагать API исключительно через партнеров. Ну а вопрос по поводу российского партнера скорее уже риторический. И не только из-за курса рубля, но и из-за таланта работать с российскими телефонными номерами, коим одарены далеко не все провайдеры. Между тем статья не претендует на всесторонний анализ всех возможностей всех провайдеров. Мы копнем лишь верхушку айсберга этого немаленького рынка.

1 стартмани

19.05.2020    4069    ripreal1    1    

Демо связи веб сервисов 1С и php Промо

Практика программирования Математика и алгоритмы WEB v8 1cv8.cf Абонемент ($m)

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

1 стартмани

19.07.2013    32182    Трактор    20    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    4410    osivv    23    

Telegram bot API - разбор документации с примерами

WEB v8 Абонемент ($m)

Перевод документации на язык 1С.

1 стартмани

06.04.2020    36062    leongl    46    

Синтез речи из текста с помощью Яндекс SpeechKit

WEB v8 1cv8.cf Абонемент ($m)

В статье описан процесс подключения Яндекс SpeechKit API и программная реализация синтеза речи из текста с помощью этого API. Тестировалось на релизе платформы 8.3.16.1224. Может использоваться в любой конфигурации. Синтез речи может использоваться для самых разных целей, в моём случае потребовалось перевести лекции из текстовых файлов в звук

1 стартмани

05.04.2020    2682    m0zg153    2    

Примеры пользования web сервисов 1С из браузера Промо

WEB Практика программирования v8 1cv8.cf Абонемент ($m)

Даны примеры реализации доступа к web сервисам 1С из браузера. Примеры web сервисов, а также javascript'ы для доступа к этим сервисам. AJAX доступ к 1С.

1 стартмани

29.06.2008    153235    Трактор    233    

Вариант реализации REST API для 1С-Битрикс Управление сайтом

WEB v8 Россия Абонемент ($m)

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс управление сайтом с иcпользованием компонентов Symfony, в качестве примера обмен данными по товарам.

1 стартмани

28.01.2020    5023    malikov_pro    2    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    13566    blackhole321    7    

АИТП. Автоматизируем управление ресурсами на примере Яндекс.Почта для домена

WEB v8 1cv8.cf Абонемент ($m)

В статье демонстрируется использование программного пакета АИТП для автоматизации предоставления ИТ-ресурсов сотрудникам на примере управления почтовыми ящиками Яндекс.Почта для домена.

1 стартмани

26.08.2019    4500    blackhole321    4    

Использование HTTP-сервиса для создания "фронтенда" HTML/CSS/jQuery с кэшированием

WEB v8 1cv8.cf Абонемент ($m)

В статье описан способ создания "фронтенда" на HTML/CSS/jQuery и скрипт кеширования AJAX запросов на PHP.

1 стартмани

06.08.2019    13844    Sedaiko    25    

Обмен с интернет-магазином на платформе DOCPART

WEB Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Абонемент ($m)

В настоящее время существует множество платформ для создания интернет-магазинов. Удобные и не очень, платные или бесплатные. У каждого решения найдутся свои сторонники, но наличие оперативного обмена с учётной системой важно для любой платформы. В этой публикации мы рассмотрим одну из популярных платформ для создания интернет-магазина по продаже автозапчастей Docpart и организацию обмена данными с ней.

10 стартмани

04.07.2019    4945    Johny_v    18    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    33254    riposte    65    

Подключение к REST API через OAuth протокол из 1С

WEB v8 1cv8.cf Абонемент ($m)

В статье описаны варианты подключения И решение граблей по подключению к REST API через протокол OAuth 2.0 из 1С. При разработке такого подключения для получения данных и загрузки в базу 1С я столкнулся с некоторыми проблемами, решил их и хочу поделиться этими наработками.

1 стартмани

06.09.2018    12829    chemezov    11    

HTTP Сервисы: Путь к своему сервису. Часть 1

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

Уже много было написано про http-сервисы, но то и дело всплывают «Новые» статьи по обмену между базами V8 по COM, что «Немножко» удивляет. Решил внести свои 5 копеек, поработаем с http-сервисом.

1 стартмани

15.07.2018    86350    dsdred    32    

А чё это вы здесь делаете, а?

WEB v8 1cv8.cf Абонемент ($m)

Разработчикам тиражных обработок близка и понятна проблема обратной связи с пользователем. Много важного и полезного можно почерпнуть, зная, что делает бухгалтер, который запустил обработку. В большом мире вэба сбор статистики на сайте дело привычное и даже обязательное. Эта статья покажет практику применения инструментов сбора статистики из мира веба для обработок на платформе 1С:Предприятие.

1 стартмани

21.01.2018    23825    infosoft-v    42    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    46950    sandybaev    24    

Получение данных из Wialon Hosting через HTTP запросы (Remote API)

WEB v8 1cv8.cf Автомобили, автосервисы Россия Абонемент ($m)

Статья будет полезна для быстрого старта работы с Wialon Hosting. Здесь я опишу основные принципы работы с системой Wialon через Remote API.

1 стартмани

12.09.2017    21989    maxopik2    21    

Google OAuth и мобильное приложение

Мобильная разработка Обмен данными 1С Внешние источники данных WEB v8 v8::Mobile 1cv8.cf Абонемент ($m)

Об аутентификации для работы с сервисами google из мобильного или настольного приложения

1 стартмани

29.08.2017    11540    stveans@gmail.com    3    

Заполнение ОГРН с использованием Инструментов разработчика

Обработка справочников WEB v8 Россия Абонемент ($m)

Вот и до нашей организации добралось требование указывать в отчетности для ГлавКонтроля ОГРН контрагента. Как всегда, задача возникла внезапно, и решить ее нужно было "вчера".

1 стартмани

14.04.2017    6634    vsuh    0    

Передача большого количества объектов через Web-сервисы

WEB v8 УТ11 Абонемент ($m)

Один из вариантов передачи большого количества объектов при использовании Web-сервисов.

1 стартмани

31.01.2017    15430    SinglCOOLer    14    

Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5

Практика программирования WEB v8 1cv8.cf Абонемент ($m)

Пошаговая инструкция настройки web-сервисов для 1Сv8.3 и IIS 8.5. Windows Server 2012 R2 Standard, 1С:Предприятие 8.3 (8.3.4.465)

30.04.2014    382026    alexstey    104    

Пошаговая инструкция по созданию мобильного приложения для iOS с обменом через WEB сервисы Часть II.

Практика программирования WEB v8 Абонемент ($m)

Пошаговая инструкция по созданию мобильного приложения для iOS с обменом через WEB сервисы Часть II.

1 стартмани

16.05.2013    18075    amrec.ru    11