Отправка сообщений из "1С: Предприятие" в мессенджер MyChat через REST
Вы можете использовать любые команды из списка Integration API, синтаксис и параметры полностью совпадают.
В примере отправляется приватное сообщение от имени встроенного робота (Elisa) пользователю с email "johnshow@winterfell.com". Никаких DLL библиотек или внешних компонент не требуется.
Сервер = "192.168.10.1";
Порт = 80;
Ресурс = "/API/?data=";
Ключ = "iddqd";
UINПолучателя = "3";
ТекстСообщения = "Тестовое сообщение от " + ТекущаяДата() + Символы.ВК + Символы.ПС + "строка 2";
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("cmd", "0002");
СтруктураДанных.Вставить("UserFrom", "johnsnow@winterfell.com");
СтруктураДанных.Вставить("UserTo", UINПолучателя);
СтруктураДанных.Вставить("Msg", ТекстСообщения);
СтруктураДанных.Вставить("APIStype", "mcrest");
СтруктураДанных.Вставить("ServerKey", Ключ);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураДанных);
СтрокаJSON = ЗаписьJSON.Закрыть();
Попытка
HTTP = Новый HTTPСоединение(Сервер,Порт,,,,30);
HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded");
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Результат = HTTP.ОтправитьДляОбработки(HTTPЗапрос);
Если Результат.КодСостояния <> 200 Тогда
Сообщить("Ошибка при отправке запроса: " + Результат.КодСостояния);
КонецЕсли;
Исключение
Сообщить("Ошибка при отправке запроса: " + ОписаниеОшибки());
КонецПопытки;
Второй пример, то же самое, но через https, если ваш внутренний сервер NodeJS использует шифрование. У вас должен быть корректный сертификат, выданный на реально существующий домен.
Сервер = "my-domain.com";
Порт = 443;
Ресурс = "/API/?data=";
Ключ = "iddqd";
UINПолучателя = "3";
ТекстСообщения = "Тестовое сообщение от " + ТекущаяДата() + Символы.ВК + Символы.ПС + "строка 2";
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("cmd", "0002");
СтруктураДанных.Вставить("UserFrom", "johnsnow@winterfell.com");
СтруктураДанных.Вставить("UserTo", UINПолучателя);
СтруктураДанных.Вставить("Msg", ТекстСообщения);
СтруктураДанных.Вставить("APIStype", "mcrest");
СтруктураДанных.Вставить("ServerKey", Ключ);
ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураДанных);
СтрокаJSON = ЗаписьJSON.Закрыть();
Попытка
ssl = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(
СпособВыбораСертификатаWindows.Выбирать),
Новый СертификатыУдостоверяющихЦентровWindows());
HTTP = Новый HTTPСоединение(Сервер,Порт,,,,30,ssl);
HTTPЗапрос = Новый HTTPЗапрос(Ресурс);
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/x-www-form-urlencoded");
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
Результат = HTTP.ОтправитьДляОбработки(HTTPЗапрос);
Если Результат.КодСостояния <> 200 Тогда
Сообщить("Ошибка при отправке запроса: " + Результат.КодСостояния);
КонецЕсли;
Исключение
Сообщить("Ошибка при отправке запроса: " + ОписаниеОшибки());
КонецПопытки;
Результат работы
Ещё посмотреть
Команды MyChat Integration API