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

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

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

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

42
Интеграция 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. Если вам интересна описанная в публикации тема, вы готовы посвятить этому некоторое своё свободное время, есть желание, милости прошу присоединиться к моему проекту, пишите, не стесняйтесь.

42

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

Наименование Файл Версия Размер
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. информационная база:
.zip 186,08Kb
12.10.19
1
.zip 0.1.0 186,08Kb 1 Скачать
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. конфигурация.:
.cf 140,40Kb
12.10.19
2
.cf 0.1.0 140,40Kb 2 Скачать
Интеграция 1С с сайтом (магазином) WordPress (WooCommerce) с помощью Rest API сайта. Часть 1. демо обработка:
.epf 9,27Kb
12.10.19
2
.epf 9,27Kb 2 Скачать

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

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

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

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

Зачем делать так сложно и в чем именно преимущество не понятно.
4. a45 65 13.10.19 09:35 Сейчас в теме
(2) а корректно ли работает плагин при выгрузка 10к +- товаров?
5. zeegin 45 13.10.19 10:36 Сейчас в теме
(4) По-моему настройка интеграции из 1С ограничивает пакет тем количеством, которое вы за захотите. И можно ведь выгружать не все, а только измененные по плану обмена.
6. a45 65 13.10.19 10:49 Сейчас в теме
(5) в php коде echenge. Php от 1 до 10 importN. Xml вроде бы стоит. Т. Е сильно не разгуляешься. И изменения тоже могут проходить по всей номенклатуре - например когда ежедневно перезагружается цены от поставщиков. Таким образом план обмена огромный. В итоге при обмене не приходит ответ от сервера - обмен всегда с ошибкой.
7. zeegin 45 13.10.19 10:57 Сейчас в теме
(6) На стороне 1с точно есть настройка ограничения. Типа 50 номенклатур в пакете, 3 попытки, можно задать любое другое.
Будут у тебя 10 000 товаров с измененной ценой - значит это будет выполняться 200 запросов, если они все с первого раза будут выполнены.
8. zeegin 45 13.10.19 10:59 Сейчас в теме
(6) Ну и если реально нужно быстро с гарантией доставки и все такое, то надо делать свою систему с RabbitMQ или Apache Kafka или любым другим брокером сообщений.
10. osivv 90 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 90 13.10.19 14:24 Сейчас в теме
(2) zeegin Это старый плагин, вернее давно "на рынке", цитата из его описания:
"Предоставляет обмен данными между плагином для электронной коммерции WooCommerce и приложением для бизнеса "1C:Предприятие 8. Управление торговлей" (и совместимыми)."
А моему механизму вси-равно, какая конфигурация, надо только сопоставить данные из 1С с данными WooCommerce.
И самая важная разница: выгрузка-загрузка. В моем - он-лайн: послал запрос-получил ответ, положительны, отрицательный, не важно, сразу.
12. blackhole321 1123 13.10.19 15:45 Сейчас в теме
(9)Нормальный рабочий подход. А если у Вас реализована отправка обновлений, скажем в подписках справочников etc. - вообще прекрасно. Менеджер добавил товар и через несколько секунд он на сайте.
В общем - пишите еще. Хотелось бы посмотреть на реализацию очереди отправки, а также на то, как Вы боретесь с ситуациями, когда Вы отправили запрос, wordpress произвел какие-то действия, а ответ не дошел до вызывающей стороны.
13. osivv 90 13.10.19 18:58 Сейчас в теме
(12)
В общем - пишите еще. Хотелось бы посмотреть на реализацию очереди отправки, а также на то, как Вы боретесь с ситуациями, когда Вы отправили запрос, wordpress произвел какие-то действия, а ответ не дошел до вызывающей стороны.

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

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

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

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

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

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

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

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

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

Если хотите изучить API изнутри, то на ютубе в поиске найдите серию моих видео "WOOCOMMERCE И 1С"
20. osivv 90 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 90 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 90 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
Оставьте свое сообщение

См. также

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Автозаполнение адреса по КЛАДР в УПП при выгрузке контрагента с портала компании (API dadata) 26

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Заведение, согласование контрагентов организовано на портале компании. Далее по web-сервису контрагенты выгружаются в УПП (юр.адрес и факт.адрес выгружаются строкой). Задача автоматизировать заполнение адреса в УПП по КЛАДР.

1 стартмани

03.12.2019    1362    1    John_d    8       

Работа с Яндекс-картами в 1С 42

Отчеты и формы Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) WEB

Работа с Яндекс-картами в 1С (управляемое приложение). Обработка показывает, как можно найти адреса на карте Яндекс, проложить маршрут.

1 стартмани

20.11.2019    3885    32    Diana.dedov.91    0       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

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

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) Практика программирования WEB Работа с интерфейсом

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

1 стартмани

24.10.2019    4831    8    blackhole321    2       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Яндекс сервисы [Расширение] 38

Инструменты и обработки no Расширение (cfe) v8 1cv8.cf Абонемент ($m) Универсальные обработки WEB

Расширение для работы с Яндекс-сервисами (предиктор,переводчик,проверка орфографии)

1 стартмани

24.10.2019    3994    6    noprogrammer    2       

Telegram бот на 1С 42

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Telegram бот на 1С в виде внешней обработки, встраиваемой в типовые 1С 8.3.

1 стартмани

24.09.2019    5313    14    budidich    15       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Выгрузка номенклатуры в социальную сеть Вконтакте 32

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Оптовая торговля Розничная торговля Абонемент ($m) WEB

Обработка для быстрой и легкой выгрузки товаров Вконтакт. Так просто еще не было)))

2 стартмани

14.08.2019    4171    14    kalyuzhny    23       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Путеводитель по истории релизов 37

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) WEB

Отчет по истории выпуска релизов и анализа информации по обновлениям.

5 стартмани

13.08.2019    4760    7    YPermitin    15       

Подключение к сайту и отправка или получение данных по API (POST, GET...) (с описанием кода) 28

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

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

1 стартмани

12.08.2019    4032    6    MaxPowerr    5       

Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.

29700 руб.

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

Статья Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) WEB

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

1 стартмани

06.08.2019    6767    9    Sedaiko    22       

Конфигурация для обмена данными (интеграционная шина) 27

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Внешние источники данных WEB

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

4 стартмани

08.07.2019    4233    19    miha-28    15       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Шаблон http-сервиса для вашего проекта 89

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

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    8947    57    MarkoSokolov    47       

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

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

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

1 стартмани

22.04.2019    18665    18    riposte    63       

Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.

19700 руб.

1С и WebKit. Вариант взаимодействия 51

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) WEB

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.

2 стартмани

23.02.2019    12721    40    mi1man    42       

Строим маршруты на картах в 1С с помощью OpenStreetMap, OSRM и Leaflet 77

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Транспорт, автопарки, такси Абонемент ($m) WEB

Краткая статья о том как вывести на карту (в 1С) маршруты с помощью OpenStreetMap, OSRM и Leaflet. По данной системе очень мало примеров, но так как OpenStreetMap является бесплатным сервисом и не требует никаких ключей и регистраций, и является довольно мощным механизмом, решил написать небольшую статью "как это сделать?". В первую очередь скажу, все намного проще, если вы используете последнюю версию платформы (8.3.14), где есть поддержка практически всех браузеров (IE 11, EDGE, Mozilla), но что делать если у нас не самая свежая платформа, где поддержка только IE 9?

2 стартмани

12.02.2019    11918    63    Ditron    21       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

Яндекс карта в документе "Заказ клиента" на закладке "Доставка". (Расширение) УТ 11.4 28

Инструменты и обработки Пользователь Расширение (cfe) v8 УТ11 Россия УУ Оптовая торговля Абонемент ($m) Обработка документов WEB

Показ яндекс карты в документе "Заказ клиента" на закладке "Доставка" и печать карты для курьера с контактными данными. (Расширение)

3 стартмани

05.02.2019    4985    11    ret    6       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 562

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    31464    281    bonv    117       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

Яндекс карты 2.1. Построение маршрута. Передача длины маршрута в реквизит формы 43

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Пригодится как пример использования Яндекс карты 2.1 для построения маршрута.

1 стартмани

24.01.2019    6199    53    John_d    32       

Проверка VAT номеров 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB

Обработка для вызова сервиса проверка VAT номера.

1 стартмани

26.11.2018    5278    wtlz    0       

Новогодние скидки на авторское ПО Промо

В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.

Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С 29

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) WEB

Пришла в голову идея создать универсальную веб-форму входа в веб-клиент 1С на HTML/CSS/PHP/HTTP-сервисы 1С. Чтобы прямо как на нормальных сайтах. Заодно и для ознакомления с 1С с новой, для себя, стороны. Интересно было попробовать интеграцию PHP - 1С.

1 стартмани

08.11.2018    8945    21    Бэнни    15       

Загрузка чека онлайн-касс (загрузка товаров из чека) 39

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Кассовые операции Розничная торговля Абонемент ($m) Внешние источники данных WEB

Обработка-пример, позволяет любому и из любой конфигурации загрузить информацию о товарах из чека(и не только) с сервера ФНС proverkacheka.nalog.ru

2 стартмани

08.10.2018    9417    26    echo77    33       

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Работа с публикациями "Инфостарт" 14

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    10802    10    RocKeR_13    16       

SOAP для чайников 90

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Обмен через XML WEB

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    23513    26    dusha0020    18