Работа с MyChat Integration API через сокеты, напрямую
Если по какой-то причине вы не можете работать с DLL библиотекой или в списке интеграций нет того, что вам нужно, можно работать с сервером MyChat напрямую, через сетевые сокеты. Это позволяет большинство языков и систем программирования.
Данные по сети отправляются в однобайтовой ASCII кодировке. Каждая строка заканчивается символом CRLF (#13#10), 2 байта, внутренних разделителей в самой строке нет, все данные "склеиваются" одно за другим.
Схема работы любой команды MyChat Integration API состоит из четырёх этапов:
- Подключение к серверу.
 - Отправка команды в JSON формате.
 - Получение результата работы в JSON формате.
 - Отключение от сервера.
 
Например, JSON объект для отправки приватного сообщения (MCIAPI_CS_SendPrivateMessage):
SendPrivateMessage JSON
{
  "UserTo"   : 15427,
  "UserFrom" : 0,
  "Msg"      : "Hello",
  "hash"     : "",
  "APIStype" : "customapi",
  "ServerKey" : "iddqd"
}
Как отправить команду и получить ответ о том, что случилось?
Работаем в синхронном режиме (blocked mode), команды отправки и чтения идут строго по порядку.
На псевдокоде это будет выглядеть так:
try
  1. Connect to IP/port
  2. writeln "mc2023.4.0"
  3. writeln "{"Secured":""}"
  4. readln (sc_hello)
  5. writeln MagicPacket + cs_integration_api + iFlag + MCIAPI_CS_SendPrivateMessage + JSON
  6. readln (JSON, server reply)
except
  Warning!!! Network Error (SOCKET) number and description
end;
Константы, которые вы будете использовать
| 
    Константа  | 
  
    Значение  | 
  
    Размер в байтах  | 
 
| 
    CRLF  | 
  
    #13#10  | 
  
    2 (текстовая строка)  | 
 
| 
    MCIAPI_CS_SendPrivateMessage  | 
  
    "0002"  | 
  
    4 (текстовая строка)  | 
 
| 
    MagicPacket  | 
  
    #23#6  | 
  
    2  | 
 
| 
    cs_integration_api  | 
  
    "0077"  | 
  
    4 (текстовая строка)  | 
 
| 
    iFlag  | 
  
    30  | 
  
    2  | 
 
Ещё посмотреть
1C 8.xx / 1С через REST
Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor