Работа с MyChat Integration API через REST

MyChat Integration API через REST

MyChat REST API представляет собой возможность общения с сервером мессенджера MyChat посредством GET или POST запросов.

 

Структура запроса


 

1.Адрес хоста или IP сервера

2.Путь входа /API/?data=

3.JSON-обьект, в котором хранятся поля и их значения

 

Как это выглядит?


 

Например, отправляем GET запрос на IP 192.168.10.100, WEB-сервер MyChat работает на стандартном 80 TCP порту (возможен и https, 443 порт, это настраивается дополнительно):

http://192.168.10.100/API/?data={"cmd":"0011","UserName":"Glubber","Message":"Hello","LinkToPost":"\/viewtopic.php?f=&t=&p=#p","LinkToTopic":"\/viewtopic.php?f=&t=","LinkToProfile":"\/memberlist.php?mode=viewprofile&u=","Subject":"Hello","APIStype":"phpbb","ServerKey":"iddqd"}

 

Для корректной работы URL кодируется:

http://192.168.10.100/API/?data=%7B%22cmd%22%3A%220011%22%2C%22UserName%22%3Anull%2C%22Message%22%3Anull%2C%22LinkToPost%22%3A%22%5C%2Fviewtopic.php%3Ff%3D%26t%3D%26p%3D%23p%22%2C%22LinkToTopic%22%3A%22%5C%2Fviewtopic.php%3Ff%3D%26t%3D%22%2C%22LinkToProfile%22%3A%22%5C%2Fmemberlist.php%3Fmode%3Dviewprofile%26u%3D%22%2C%22Subject%22%3Anull%2C%22APIStype%22%3A%22phpbb%22%2C%22ServerKey%22%3A%22iddqd%22%7D

 

Пример отправки сообщения в чат на языке php


 
Отправляется приватное сообщение от имени встроенного бота (UIN 0) для пользователя с UIN = 1. Можно для удобства вместо UIN использовать ники или email.

$host = '192.168.10.100';
$portWEB = '80';
$typeOfConnection = 'http';
$integrationAPIKey = 'iddqd';

$cmd = '0002';
$userTo = '1';
$userFrom = '0';
$msg = 'hello';
$toolName = 'php';

$json = json_encode(array('cmd'=>$cmd, 'UserTo' =>$userTo, 'UserFrom' =>$userFrom, 'Msg'=>$msg, 'APIStype'=>$toolName, 'ServerKey'=>$integrationAPIKey));
$json = urlencode($json);

$URL = $typeOfConnection.'://'.$host.':'.$portWEB.'/API/?data=' . $json;

file_get_contents($URL);

 

Если ваш сервер использует шифрование, настоятельно рекомендуем использовать cURL, настроив его на игнорирование шифрования при запросе при помощи curl_setopt().

 

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

1C 8.xx / 1С через REST

C#

Delphi XE3

Java

Python

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