MyChat REST API є можливість спілкування з сервером месенджера MyChat за допомогою GET або POST запитів.

 

Структура запиту

  1. Адреса хоста або IP сервера
  2. Шлях входу /API/?data=
  3. SON-об'єкт, у якому зберігаються поля та їх значення

 

Як це виглядає

Наприклад, відправляємо 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_setlopt().

 

Дивитися ще

C#

Delphi XE3

Java

Python

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