1С WordPress Авторизация. Интеграция 1С с сайтом WordPress. Часть 1.

Альфа-Авто обмен с сайтом и интернет-магазином
79 / 100

Интеграция 1С с сайтом WordPress. 1С WordPress Авторизация.

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

1С WordPress Авторизация. Преамбула

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

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

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

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

1С WordPress Авторизация. Интеграция 1С с сайтом WordPress. Часть 1. 1
общий рейтинг CMS
1С WordPress Авторизация. Интеграция 1С с сайтом WordPress. Часть 1. 2
Рейтинг бесплатных CMS
1С WordPress Авторизация. Интеграция 1С с сайтом WordPress. Часть 1. 3
Динамика числа установок CMS
1С WordPress Авторизация. Интеграция 1С с сайтом WordPress. Часть 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С. 
    Но выход был найден, и как обычно, «всё гениальное просто», для 1С WordPress Авторизация заключался он в JSON Web Token (JWT). Что это такое вы можете прочитать в википедии, там всё достаточно подробно описано.

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

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

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

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

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

1С WordPress Авторизация. Добавить плагин ААМ
Добавить плагин ААМ

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

1С WordPress Авторизация. Установка плагина ААМ
Установка плагина ААМ

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

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

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

1С WordPress Авторизация. Открытие плагина ААМ
Открытие плагина ААМ

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

1С WordPress Авторизация. Вкладка "настройки" плагина ААМ
Вкладка «настройки» плагина ААМ

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

1С WordPress Авторизация. Включение нужных переключателе плагина ААМ
Включение нужных переключателе плагина ААМ

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

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

1С WordPress Авторизация. Добавление пользователя WordPress
Добавление пользователя WordPress

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

1С WordPress Авторизация. Настройка пользователя в плагине ААМ
Настройка пользователя в плагине ААМ

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

1С WordPress Авторизация. Кликаем на «шестеренку».
Кликаем на «шестеренку».

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

1С WordPress Авторизация. Теперь в левой панели кликаем как на рисунке.
Теперь в левой панели кликаем как на рисунке.

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

1С WordPress Авторизация. Создаем новый токен нажав кнопку «+ Create»
Создаем новый токен нажав кнопку «+ Create»

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

1С WordPress Авторизация. Задаем дату окончания действия токена и жмем «Create»
Задаем дату окончания действия токена и жмем «Create»

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

1С WordPress Авторизация. Посмотреть, скопировать токен можно нажав «глаз»
1С WordPress Авторизация посмотреть, скопировать токен можно нажав «глаз»
1С WordPress Авторизация. Посмотреть, скопировать токен можно нажав «глаз»
1С WordPress Авторизация. Сам токен

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

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

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

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

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

Общие глобальные модули (надеюсь названия говорят сами за себя):

1. Процедуры и функции общего назначения.

1. Процедуры и функции общего назначения
1. Процедуры и функции общего назначения

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

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

Константы:

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

Пункты 1 и 2 очень нужны для 1С WordPress Авторизация, и без них никак.

Общие формы:

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

1С WordPress Авторизация. 1. Форма констант. Здесь хранятся данные, которые нам всегда необходимы для обмена с сайтом.
Здесь хранятся данные, которые нам всегда необходимы для обмена с сайтом.

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

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

Справочники:

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

1С WordPress Авторизация
1Сделан для удобства и категоризации маршрутов и конечных точек.

Регистры сведений:

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

1С WordPress Авторизация
Здесь хранятся пары «ключ» и «значение» для обмена с сайтом по RestAPI. Для удобства быстрой выборки или поиска.

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

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

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

1С WordPress Авторизация. демо обработка
1С WordPress Авторизация. демо обработка

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

Демо запрос к категориям сайта
Демо запрос к категориям сайта

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

Демо запрос к медиа сайта
Демо запрос к медиа сайта

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

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

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

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

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

1С WordPress Авторизация
5. Проверить валидность токена.

На этом всё, статья про 1С WordPress Авторизация окончена.

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

Скачать демонстрационную конфигурацию для 1с можно здесь.

Все эксперименты проводились на этом сайте.

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

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

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

Перейти на главную.

Перейти на страницу блога.

Все публикации этого проекта.

Прочитайте об отказе об ответственности и гарантий автора.

1С WordPress Авторизация. Интеграция 1С с сайтом WordPress.

Цена: 48

Валюта: EUR

Операционная система: Windows, 1C

Категория приложения: System soft

1С WordPress Авторизация. Интеграция 1С с сайтом WordPress.

Цена: 48

Валюта: EUR

Операционная система: Windows, 1C

Категория приложения: System soft

Добавить комментарий