Вы можете использовать любые команды из списка 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 Тогда
        Сообщить("Ошибка при отправке запроса: " + Результат.КодСостояния);
      КонецЕсли;
  Исключение
    Сообщить("Ошибка при отправке запроса: " + ОписаниеОшибки());
  КонецПопытки;

 

Результат работы

Отправка приватного сообщения из 1С в MyChat через REST

 

Ещё посмотреть

Команды MyChat Integration API

Список ошибок MyChat Integration API

C#

Delphi XE3

Java

Python

REST

Работа через сокеты