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

28.04.20

Интеграция - Сайты и интернет-магазины

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

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

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

Преамбула.

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

Рейтинг CMS.

Как и в предыдущей статье WordPress занимает лидирующие позиции по количеству установок и работающих сайтов в мире, и не только не сдает своих позиций, но и понемногу растет:

Рис. 1.1

А так как WordPress является платформой для электронной коммерции, соответственно магазин WooCommerce, так же занимает лидирующие позиции в другом мировом рейтинге:

Рис 1.2

Это конечно прекрасно, но помимо достоинств, описанных в этой статье, есть еще один немаловажный фактор, о котором мне хотелось бы сообщить. Это формат обмена данными между 1С и сайтом электронной коммерции.

JSON vs. XML

Почему JSON и XML? XML является стандартом де-факто в 1С. JSON, на мой взгляд, имеет значительно больше перспектив, проще, удобнее.

От настольных компьютеров до веб-и мобильных устройств, почти все компьютерные приложения, которые мы используем сегодня, полагаются на один из двух основных стандартов сообщений: JSON и XML. Сегодня JSON является наиболее широко используемым форматом, но он обогнал XML только за последние пять лет. Быстрый онлайн-поиск «JSON vs. XML» принесет бесчисленное количество статей и постов в блогах, сравнивающих эти два стандарта и составляющих постепенно расширяющуюся предвзятость, восхваляющую простоту JSON и критикующую многословие XML. Многие статьи настаивают на том, что JSON превосходит XML из-за его краткой семантики и дисконтирует XML как неэффективный и запутанный стандарт прошлого, и здесь мне тяжело не согласиться.

Почему JSON стал более популярным, чем XML

Я на деюсь все знают, что JSON-это родной формат данных в приложениях JavaScript. Написание приложений на JavaScript почти полностью требует использования JSON для обмена данными. Возможны и другие форматы, но они требуют больше усилий, чем в случае с JSON. По мере того как JavaScript набирал популярность для разработки приложений, JSON вплотную следовал за ним как простой в использовании и изначально интегрированный формат обмена данными.

История и эволюционный путь интернета сыграли значительную роль в популяризации JSON. Согласно Stack Overflow, теперь больше вопросов задается о JSON, чем о других форматах обмена данными.

Рис 2.1

Согласно Google Trends, похожая ситуация наблюдается при сравнении интереса поиска для JSON и XML.

Рис 2.2.

Основная разница между JSON и XML

JSON

XML

JSON-объект имеет тип

XML-данные не содержат типов

Типы JSON: строка, число, массив, логическое значение

Все данные XML должны быть строковыми

Данные легко доступны в виде объектов JSON.

Данные XML должны быть проанализированы.

JSON поддерживается большинством браузеров.

Кросс-браузерный анализ XML может быть сложным

JSON не имеет возможностей отображения.

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

JSON поддерживает только текстовые и числовые данные.

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

Получить значение легко

Получить значение сложно

Поддерживается многими инструментами Ajax

Не полностью поддерживается инструментарием Ajax

Полностью автоматизированный способ десериализации / сериализации JavaScript.

Разработчики должны написать код JavaScript для сериализации / десериализации из XML

Нативная поддержка объекта.

Объект должен быть выражен соглашениями - в основном пропущено использование атрибутов и элементов.

Он поддерживает только кодировку UTF-8.

Он поддерживает различные кодировки.

Это не поддерживает комментарии.

Поддерживает комментарии.

Файлы JSON легко читаются по сравнению с XML.

XML-документы относительно сложнее для чтения и интерпретации.

Он не обеспечивает никакой поддержки пространств имен.

Он поддерживает пространства имен.

Это менее защищено.

Это более безопасно, чем JSON.

 

JSON Code vs XML Code

Пример JSON

{
  “firstName”: “Jonathan”,
  “lastName”: “Freeman”,
  “loginCount”: 4,
  “isWriter”: true,
  “worksWith”: [“Spantree Technology Group”, “InfoWorld”],
  “pets”: [
    {
      “name”: “Lilly”,
      “type”: “Raccoon”
    }
  ]
}

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

Пример XML

<?xml version="1.0"?>
<person>
  <first_name>Jonathan</first_name>
  <last_name>Freeman</last_name>
  <login_count>4</login_count>
  <is_writer>true</is_writer>
  <works_with_entities>
    <works_with>Spantree Technology Group</works_with>
    <works_with>InfoWorld</works_with>
  </works_with_entities>
  <pets>
    <pet>
      <name>Lilly</name>
      <type>Raccoon</type>
    </pet>
  </pets>
</person>

Помимо того, что XML является более подробным (в данном случае ровно в два раза более подробным), он также вносит некоторую двусмысленность при синтаксическом анализе в удобную для JavaScript структуру данных. Преобразование XML в объект JavaScript (да и в 1С будет не мало) может занять от десятков до сотен строк кода и в конечном счете требует настройки на основе конкретного анализируемого объекта. Преобразование JSON в объект JavaScript занимает одну строку кода (и в 1С три) и не требует каких-либо предварительных знаний о анализируемом объекте.

С точки зрения обычного человека выбор здесь очевиден. Ведь даже судя по размеру встроенной справки 1С по работе с XML и JSON можно сделать вывод, что с JSON работать проще.

Рис. 2.3

За последние 15 лет JSON стал повсеместным в интернете. Сегодня этот формат является наиболее предпочтительным практически для всех общедоступных веб-сервисов, а также часто используется для частных веб-сервисов.

JSON затмил XML как предпочтительный формат обмена данными для веб-приложений и веб-служб.

Возможно, многим покажется, что здесь избыточно рассказывается о преимуществах JSON. Безусловно, у JSON есть свои недостатки, у XML есть свои преимущества. Но я рассказываю об этом «со своей колокольни». Что касается WordPress, там естественно имеется поддержка XML. Но безусловные преимущества JSON над XML, такие как: простота написания кода, объем передаваемых данных, перспектива, однозначно предопределили мой выбор.

Думаю, что, почитав подробнее в интернете об JSON vs. XML, вы тоже сделаете свой выбор.

Но хватит про выбор, давайте начнем и сделаем что-нибудь.

Запрос данных из WordPress из 1С посредством REST API.

С момента написания прошлой статьи ничего лучше плагина Advanced Access Manager (ААМ) не появилось, поэтому продолжим с ним. Все подробности по настройке можно прочитать здесь.

Весь приводимый ниже код использовался в обработке написанной под управляемые формы. С таким же успехом его можно использовать в обычных формах (версия платформы 1С должна быть не ниже 8.3.6).

 Условно постоянные значения, используемые в обработке (константы).

1. СоединениеССайтом_JWTServer. Строка подключения к сайту (host) без https://

2. СоединениеССайтом_JWToken. Токен полученный от сайта

3. СоединениеССайтом_Таймаут. Таймаут (секунд) подключения к сайту

4. СоединениеССайтом_ЭтоHTTPS_Соединение. Флаг указывающий на HTTPS-соединение.

В свой конфигурации вам надо будет их создать.

Небольшая ремарка, HTTP-соединение тестировалось, работает как надо.

Используемые маршруты WordPress.

  1. /wp-json/aam/v2. Выдает полный перечень сервисов плагина авторизации.
  2. /wp-json/aam/v2/jwt/validate. Валидация (проверка валидности) имеющегося токена.
  3. /wp-json/aam/v2/jwt/refresh. Обновление токена.
  4. /wp-json/aam/v2/jwt/revoke. Отзыв токена.
  5. /wp-json/aam/v2/authenticate. Аутентикация пользователя на сайте посредством пары «логин : пароль».
  6. /wp-json/wp/v2/categories/. Запрос категорий постов сайта.
  7. /wp-json/wp/v2/media/. Запрос списка картинок сайта.
  8. /wp-json/wp/v2/posts/. Запрос списка постов сайта.
  9. /wp-json/wp/v2/pages/. Запрос списка страниц сайта

В контексте данной статьи п.п. 3, 4, 5 не используются, за ненадобность (но вы можете поэкспериментировать самостоятельно, «authenticate» работает точно). Остальные приведены справочно, для демонстрации работоспособности кода. См. видео в конце статьи.

Конечные точки WordPress.

  1. POST.
  2. GET.

Процедуры и функции используемые в модуле формы.

 

 
 ПриОткрытии и ПриОткрытииНаСервере используются для получения констант сайта и токена.

 ПриОткрытии и ПриОткрытииНаСервере используются для получения констант сайта и токена.

 

 
 ПослатьЗапросНаСайт и ПослатьЗапросНаСайтНаСервере

используются соответственно для посылки запроса на сайт. Связаны с кнопкой «Послать запрос на сайт». Здесь мы упаковываем исходные данные в структуру и передаем в модуль объекта для обработки, и отсылки на сайт. Получаем ответ также в виде структуры, частично обрабатываем его и передаем ответ от сайта в процедуру «ПолучитьВрДеревоНаСервере». Описание структуры ответа ниже по тексту.

 

 
 ПолучитьВрДеревоНаСервере

ПолучитьВрДеревоНаСервере процедура конвертации дерева значений ответа в реквизит формы «дерево значений», для наглядной демонстрации полученных результатов.

 

Картинка формы обработки

 

Процедуры и функции, используемые в модуле объекта.

Подготовка данных перед отправкой на сайт.

 
 Функция рс_ПолучитьТиповыеЗаголовкиХТТП()

Здесь формируем типовые заголовки http-запроса, которые используются практически во всех запросах к сайту. Иногда к ним могут добавиться другие, например при посылке картинки на сайт. Четвертый мой, персональный, для понимания логов сайта, можно не использовать.

 

 
 Функция рс_подготовка_КонвертироватьВСоответствие(ВходДанные)

Предварительная конвертация в соответствие из "таблицы значений" и "структуры" для последующей конвертации в JSON. Если вы будете использовать только соответствие, можно не использовать.

 

 
 Функция рс_подготовка_ОбъектВJSON

Здесь происходит конвертация данных в JSON. И дополнительный обработчик конвертации, на случай если вдруг "прилетела" "структура", "дерево значений" или строка "дерева значений". Если иные данные кроме соответствия не используются можно оставить только строки "лОбъектJSON = ПереданноеДерево;" и код внутри комментария "/////    Привет XML парсеру".

 

 
 Функция рс_подготовка_ПолучитьЗапросHTTP

Здесь формируется штатный запрос 1С "Новый HTTPЗапрос" и в соответствии с входящими данными получаем тот или иной вид. Его чуть позже пошлем на сайт.

 

 
Функция рс_подготовка_СоздатьСтруктуруВозвращаемогоОтвета

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

 

Отправка данных на сайт.

 
 Функция рс_публикация_ПолучитьСоединениеHTTPS

Здесь, мое мнение, комментарии излишни, штатная процедура 1С.

 

 
 Функция рс_публикация_ПодсистемаWordPressПостыСтраницы, комментарии по спойлером

 

Функция рс_публикация_ПодсистемаWordPressПостыСтраницы(_ВхСтруктураПараметров) Экспорт
	/////_ВхСтруктураПараметров структура данных необходимых для действий на сайте, не нужные удаляются
	ВозвращаемыйОтвет=рс_подготовка_СоздатьСтруктуруВозвращаемогоОтвета();
	Если ТипЗнч(_ВхСтруктураПараметров)<>Тип("Структура") Тогда    ////проверка
		ВозвращаемыйОтвет.Вставить("ОписаниеОтвета","Входящие параметры не соответствуют типу данных <Структура>");
	    Возврат ВозвращаемыйОтвет;
	КонецЕсли;
	
	/////  в этом блоке получаем и удаляем из структуры данные необходимые для подготовки к публикации
	_token_			=_ВхСтруктураПараметров["Token"];
	_JWTServer_		=_ВхСтруктураПараметров["Server"];
	_Маршрут_		=_ВхСтруктураПараметров["Маршрут"];
	_КонечнаяТочка_ =_ВхСтруктураПараметров["КонечнаяТочка"];
	
	_ВхСтруктураПараметров.Удалить("Token");
	_ВхСтруктураПараметров.Удалить("Server");
	_ВхСтруктураПараметров.Удалить("Маршрут");
	_ВхСтруктураПараметров.Удалить("КонечнаяТочка");
	/////  в этом блоке получаем и удаляем из структуры данные необходимые для подготовки к публикации
	
	_ТелоЗапроса_=Неопределено;
	Если _ВхСтруктураПараметров.Количество()>0 Тогда        									///// здесь остаются только данные которы надо непосредственно отослать на сайт, статья, товар и т.д.
		_БодиПубликации_=рс_подготовка_КонвертироватьВСоответствие(_ВхСтруктураПараметров);     ////создаем боди/тело с данными для подстановки в ЗапросHTTP 
		_ТелоЗапроса_	=рс_подготовка_ОбъектВJSON(_БодиПубликации_);                           ////конвертируем боди в JSON
	КонецЕсли; 
	_ЗаголовкиHTTP_	= рс_ПолучитьТиповыеЗаголовкиХТТП();                                        ////штатные заголовки  ЗапросHTTP
	_ЗаголовкиHTTP_.Вставить("Authentication", "Bearer "+_token_);                              ////Добавляем заголовок для авторизации
	
	Запрос 			=рс_подготовка_ПолучитьЗапросHTTP(_Маршрут_, _ЗаголовкиHTTP_, _ТелоЗапроса_);     ////получаем  ЗапросHTTP
	Результат		=рс_публикация_ПослатьГотовыйЗапросНаСайт(_КонечнаяТочка_, _JWTServer_, Запрос);  ////посылаем запрос на сайт и получаем результат HTTPОтвет 
	
	/////---получаем результат ответа - соответствие
	РезультатРасшифровка=Контроль_РезультатHTTPЗапросаСодержитОшибку(Результат);       			////Расшифровываем ответ от сайта
	
	/////// преобразовываем  JSON результат ответа в "дерево значений"
	РезультатОтветаДерево=рс_ПостОбработка_ЗаполнитьДеревоJSON(Результат.ПолучитьТелоКакСтроку());
	
	ВозвращаемыйОтвет.Вставить("ЗначениеОтвета",РезультатОтветаДерево);                      ////дерево с ответом из рс_ПостОбработка_ЗаполнитьДеревоJSON
	ВозвращаемыйОтвет.Вставить("КодСостояния",РезультатРасшифровка["КодСостояния"]);         //// код состояния 200, 201, 404, и т.д.  из Контроль_РезультатHTTPЗапросаСодержитОшибку
	ВозвращаемыйОтвет.Вставить("ОписаниеОтвета",РезультатРасшифровка["ОписаниеОшибки"]);     //// краткое описание ошибки из Контроль_РезультатHTTPЗапросаСодержитОшибку
	
	Возврат ВозвращаемыйОтвет;
КонецФункции // ПодсистемаWordPressПостыСтраницы()

 

 

 
 Функция рс_публикация_ПослатьГотовыйЗапросНаСайт

Посылаем запрос на сайт штатными средствами и  получаем ответ.

Ну и последнее.

Постобработка ответа с сайта.

 
 Функция Контроль_РезультатHTTPЗапросаСодержитОшибку

Обработчик ответа от сайта, получаем код успеха/ошибки и описание.

 
 Функция рс_ПостОбработка_ЗаполнитьДеревоJSON

Сначала конвертируем "сырой" ответ из JSON в соответствие.

 
 Функция ЗаполнитьДеревоЖсон

Потом конвертируем "соответствие" в "дерево значений" для последующей обработки. Кому оно не нравится может использовать что-то иное. Мне очень удобно. Функция не моя, скачал здесь, на Инфостарте, понравилась, спасибо, правда не помню кому.

Возвращаем структуру с ответом в модуль формы для последующего понятного отображения.

Хочу отметить, что самый важный код - это Функция рс_публикация_ПодсистемаWordPressПостыСтраницы. А здесь самое важное - создание тела публикации "_БодиПубликации_". Сколько шишек здесь было набито... Отладите его, дальше всё пойдет как по маслу. И использоваться эта функция будет практически для всего, что надо отправить на сайт, или получить с сайта.

Ну и на последок видео, без него сейчас никуда.

На этом всё, первый шаг сделан, подставляйте свои маршруты и дерзайте.

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

Плюсуем, не стесняемся, делимся, комментируем.

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

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

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

Версия WordPress: 5.4
PHP Версия : 7.3.15
Платформа: 1С:Предприятие 8.3 (8.3.13.1644).
Минимально необходимый релиз: 8.3.6.

Источники

  1. toptal
  2. guru99
  3. infoworld 
  4. itrack 
  5. builtwith
  6. WordPress

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

См. также

Сайты и интернет-магазины Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Готовое интеграционное решение для оплаты покупок Долями в 1C:Розница 2.3. Реализовано в виде расширения. Интеграция сервиса dolyame.ru для приема платежей в рассрочку. Присутствует возможность работы подсистемы как с использованием в составе РИБ (распространение расширения в составе обновления Распределенной информационной базы, работа в рамках РИБ), так и отдельно.

20400 руб.

19.12.2023    2700    19    6    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    18744    10    15    

16

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    16511    15    18    

15

Сайты и интернет-магазины Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Расширение для 1С Управление торговлей, реализует: а) Загрузку номенклатуры с сайта с нужными параметрами. б) Позволяет быстро обновлять цены и остатки из 1С в Веб сайт на Битрикс, на лету. (онлайн). в) Моментально прогружать заказы и создавать реализации.

30000 руб.

29.03.2024    743    1    1    

0

Сайты и интернет-магазины Программист Бухгалтер Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

В обработке реализован механизм интеграции между системой поставщика на базе конфигураций 1с(управление торговлей 11) и Личным кабинетом Hoff. Реализован обмен остатками. Обработка реализована и тестировалась для УТ 11.4 Система позволяет выгружать из базы 1с поставщика хофф остатки товаров и другие данные в систему Hoff Преимущества: оперативное и регулярное обновление информации на сайте, уходит двойная работа по вводу остатков в разных системах (1С и личном кабинете HOFF), что чревато возникновением большого количества ошибок в управленческом учете. А также сократятся трудозатраты и повысится прибыль предприятия от продаж. Целевая аудитория: отделы маркетинга, продаж и склад, управленцы из сферы крупного, среднего бизнеса и мелкие предприниматели, владельцы ИП.

29880 руб.

16.11.2022    6511    1    5    

2

Оптовая торговля Розничная торговля Сайты и интернет-магазины Программист Платформа 1С v8.3 Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

С начала момента разработки мы спарсили более 300 сайтов и записали эти товары в 1С. В итоге на свет появился универсальный парсер, который поможет Вам спарсить интернет-магазин, товары, цены и данные каталога, и при этом не написать ни строчки кода.

9600 руб.

19.10.2018    52942    220    101    

112
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. baracuda 2 28.04.20 12:18 Сейчас в теме
Спасибо. Познавательно. Я давно хочу сваять интернет магазин на Wordpress. ОДнако останавливает отсутствие в API массового создания товаров bulk_create()
2. osivv 267 28.04.20 13:34 Сейчас в теме
(1)
Спасибо. Познавательно. Я давно хочу сваять интернет магазин на Wordpress. ОДнако останавливает отсутствие в API массового создания товаров bulk_create()

Если это PHP, то не знаю. Но в Rest API есть пакетное создание товаров, до 100 шт единовременно.
15. baracuda 2 01.05.20 02:47 Сейчас в теме
(2) ткните пож-та ссылку на документацию. Я не нашел такого.
16. osivv 267 01.05.20 09:58 Сейчас в теме
(15) Пожалуйста.

Batch update products
This API helps you to batch create, update and delete multiple products.

Note: By default it's limited to up to 100 objects to be created, updated or deleted.
HTTP request
POST /wp-json/wc/v3/products/batch

Link
17. baracuda 2 02.05.20 02:57 Сейчас в теме
18. baracuda 2 02.05.20 02:58 Сейчас в теме
(2) кстати там указано..
Note: By default it's limited to up to 100 objects to be created, updated or deleted.
то есть тереотически лимит можно расширить получается..
20. osivv 267 02.05.20 11:40 Сейчас в теме
(18)
то есть тереотически лимит можно расширить получается..

Не получится, ограничение разработчиков.
Хотя если вы гуру PHP, и код WooCommerce знаете как свои 5 пяльцев, можете попробовать.
Пробовал, возвращается ошибка, и ничего не создается.
3. malikov_pro 1307 29.04.20 05:30 Сейчас в теме
(1)
Преимуществ группового создания перед одиночным не вижу.
в woo базово внешние коды не хранятся, поэтому нужно хранить коды в 1С.
При анализе изменений делаю левое соединение к таблице с идентификаторами и если id > 0 то PUT, иначе POST.
6. osivv 267 29.04.20 10:23 Сейчас в теме
(3)
Преимуществ группового создания перед одиночным не вижу.

Конечно!!! Какая разница, отправлять 100 позиций в цикле или одним запросом?
Гуру 1С, напишите свои размышления на этот счет пожалуйста!
4. malikov_pro 1307 29.04.20 05:39 Сейчас в теме
1. Странно работаете с JSON, проще создать соответствие и сериализовать его.
2. Используете JWT имеет смысл статья https://infostart.ru/public/611505/ (использовал в своих работах)
3. Для HTTP имеет смысл переиспользовать https://infostart.ru/public/709325/, он есть и в git (сам свой велосипед использую, планирую переходить/использовать наработки)
5. osivv 267 29.04.20 10:19 Сейчас в теме
(4)
2. Используете JWT имеет смысл статья https://infostart.ru/public/611505/ (использовал в своих работах)

Не нашел про JWT ничего кроме описания в 3-х словах. К чему эта отсылка?
Странно не использовать то, что уже есть... Или мы, как истинные россияне, должны идти "своим путём", велосипед уже изобретён, но нам нужен свой?
И ладно бы изобрели лучше, но ведь делаем копию хуже китайской, и потом гордимся "Вот, мы изобрели собственный велосипед!!!"

(4)
Для HTTP имеет смысл переиспользовать

Не имеет, здесь используется "чистый" код 1С, без встраивания сторонних библиотек и прочего, с которыми еще надо разобраться как работают.
По сути вы пересобрали всевозможные варианты работы с HTTP в одну библиотеку...
Не написано, ни где использовалась, ни как использовалась, ни примеры работы, голый код. Да ещё неработающий.
За меня всё сказали другие комментаторы.
8. bonv 1536 29.04.20 13:59 Сейчас в теме
(5) Давайте по пунктам:
Не имеет, здесь используется "чистый" код 1С, без встраивания сторонних библиотек и прочего, с которыми еще надо разобраться как работают.

Что в вашем понимании "чистый" код 1С?

Не написано, ни где использовалась, ни как использовалась, ни примеры работы, голый код. Да ещё неработающий.

Вы же прокрутили дальше заголовка? Собственно вся статья про то как использовать на примерах.
Что в вашем понимании голый код?

Да ещё неработающий.

Вы же попробовали сначала и у вас не получилось? Можно примеры неработающего кода?
10. osivv 267 29.04.20 15:20 Сейчас в теме
(8) У нас с вами разные задачи. У вас вроде универсальный вариант. У меня "заточенный" под WordPress.
Ваш с WordPress работает?
11. bonv 1536 29.04.20 15:31 Сейчас в теме
(10) Прочитайте мои вопросы, они достаточно конкретные. Ответы я на них так и не получил.

Я нигде не утверждал, что моя библиотека заточена под WordPress.
Библиотека заточена на работу с HTTP на клиентской стороне.
12. osivv 267 29.04.20 17:18 Сейчас в теме
(11)
Я нигде не утверждал, что моя библиотека заточена под WordPress.
Библиотека заточена на работу с HTTP на клиентской стороне.

Аналогично. Я просто спросил.
7. iliabvf 29.04.20 10:49 Сейчас в теме
Решил данную задачу через соединение с MySQL на определенный IP. Сделал вывод что легче сразу работать с БД сайта.
vladimirmatancev; +1 Ответить
9. osivv 267 29.04.20 15:12 Сейчас в теме
(7)
Решил данную задачу через соединение с MySQL на определенный IP. Сделал вывод что легче сразу работать с БД сайта.

Конечно легче, только есть парочка "но".
На мой, сугубо личный, взгляд, работать по IP - моветон. Для этого и придуман DNS. Вы с базой 1С тоже по IP соединяетесь?
Как с безопасностью?
Соединение постоянное? Если да, то как поддерживать постоянно?
Наверняка надо писать процедуру "прослушки" MySQL, если какие-то изменения.
14. Diversus 2317 29.04.20 20:00 Сейчас в теме
(9)
На мой, сугубо личный, взгляд, работать по IP - моветон. Для этого и придуман DNS. Вы с базой 1С тоже по IP соединяетесь?

DNS - это получение IP-адреса по наименованию хоста. Моветона нет и не может быть, если IP-адрес постоянный. И с базой 1С достаточно часто работают по IP. Например, когда компьютер соединяется с рабочей сетью через VPN. Доступ к сети с базой 1С есть, а вот DNS-записей нет, так как используется VPN. Напрасно вы так.

Наверняка надо писать процедуру "прослушки" MySQL, если какие-то изменения.

С MySQL автор комментария наверняка работает через ADODB.Connection, поддерживать соединение постоянно нет необходимости, только когда запускается обмен. А вот с безопасностью беда, как сказал выше.
vladimirmatancev; +1 Ответить
19. iliabvf 02.05.20 09:43 Сейчас в теме
(9) IP клиентский, как раз чтобы была безопасность. Соединение периодическое. Читаются новые заказы, и связанные с ними товары и клиенты.
13. Diversus 2317 29.04.20 19:50 Сейчас в теме
(7) Открытие доступа к MySQL во вне - это плохо с точки зрения безопасности (даже если соединение на определенный IP).
На крупных проектах такое не подойдет.
21. iliabvf 05.05.20 09:40 Сейчас в теме
(13) Тут по подробнее, почему?
22. FreeArcher 162 07.05.20 04:23 Сейчас в теме
А как насчет другой истории. Не из 1С отправлять данные на сайт, а с сайта забирать данные из 1С посредствам HTTP сервисов? Мне кажется это более гибкое решение.
23. osivv 267 07.05.20 11:12 Сейчас в теме
(22)Возможно и то и другое.
24. reset2 17 26.09.22 18:43 Сейчас в теме
Могу предложить свой готовый вариант для Розницы, код открытый, можно в своих разработках использовать.
https://infostart.ru/public/1545735/
Оставьте свое сообщение