Страница 1 из 1

Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 12:50 pm
sertak
Приведите, пжлста, тестовый пример отправки из браузера, что типа такого:
Код: Выделить всё
http://192.168.1.123:8081/API/?data={"cmd":"0011","UserName":"3","Message":"Hello","Subject":"Hello","APIStype":"phpbb","ServerKey":"PHbL-****"}
Мой пример не работает.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 12:56 pm
Георгий Лысенко
Здравствуйте!

Пример работы приведен в справке.

Покажите ошибку, которую вам возвращает сервер.
Из того, что вижу сразу, вы должны провести urlencode для JSON, который отправляете.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:01 pm
sertak
Да, я оттуда и пытался сделать простой пример, убрав параметры типа Link, но у меня возвращает следующее:
Код: Выделить всё
{"Cmd":1,"Error":15,"hash":"ikOTyO0VkVj5GHD","Name":"phpbb","CMD":"6"}


В параметр UserName я передаю UIN, возможно так нельзя делать.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:02 pm
Георгий Лысенко
Чего вы хотите добиться этой командой?

Приведенная в примере отправляет сообщение из форума phpBBна сервер.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:05 pm
sertak
Я хочу отправить тестовое сообщение пользователю с UIN = 3. Я не знаю назначение параметра Name, поэтому оставил его как есть. Было бы неплохо какое-то описание параметров и их возможных значений, может, я его не нашел просто.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:07 pm
Георгий Лысенко

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:15 pm
sertak
Это парамеры для MyChat Integration API, для REST они такие же? Не нашел того же UserName, к примеру.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:17 pm
Георгий Лысенко
Это парамеры для MyChat Integration API, для REST они такие же?

Да.

Вам нужно указать только UIN отправителя и получателя, остальная информация про пользователей уже есть на сервере.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:39 pm
sertak
Отправляю вот такой запрос:
Код: Выделить всё
http://192.168.1.223:8081/API/?data={"cmd":"0011","UserName":"3","Message":"Hello","Subject":"Hello","APIStype":"phpbb","ServerKey":"*****"}, декодированный он выглядит так: http://192.168.1.223:8081/API/?data={%22UserFrom%22:%221%22,%22UserTo%22:%223%22,%22Msg%22:%22Hellomsg%22,%22APIStype%22:%22mydata%22,%22***%22})


Сервер ничего не отвечает в браузере, но в логах сервера появляется такая строка:
Код: Выделить всё
[err  28:01:2019 13:35:49]: Hash not found:


Намекните, куда копать.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:43 pm
sertak
Прошу прощения, такой:
Код: Выделить всё
192.168.1.223:8081/API/?data={"UserFrom":"1","UserTo":"3","Msg":"Hellomsg","APIStype":"mydata","ServerKey":"*****"}

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:43 pm
Георгий Лысенко
Эта строка:
Код: Выделить всё
http://192.168.1.223:8081/API/?data={"cmd":"0011","UserName":"3","Message":"Hello","Subject":"Hello","APIStype":"phpbb","ServerKey":"*****"}

Отличается от этой:
Код: Выделить всё
http://192.168.1.223:8081/API/?data={%22UserFrom%22:%221%22,%22UserTo%22:%223%22,%22Msg%22:%22Hellomsg%22,%22APIStype%22:%22mydata%22,%22***%22}


Пожалуйста, внимательно читайте справку и примеры в ней:
Код: Выделить всё
$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);


Конкретно в вашем случае вы совсем не указали номер команды, который для отправки приватного сообщения должен быть '0002', не указали пароль IntegrationAPI сервера.

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:45 pm
sertak
Да, Георгий, извините, неправильно скопировал.
Передаю 5 параметров:
UserFrom
UserTo
Msg
APIStype
ServerKey

Re: Пример работы REST API

СообщениеДобавлено: Пн янв 28, 2019 1:47 pm
sertak
Да, не хватало параметра cmd.

Вот рабочий пример:
192.168.1.223:8081/API/?data={"cmd":"0002","UserFrom":"1","UserTo":"3","Msg":"Hellomsg","APIStype":"mydata","ServerKey":"****"}

Спасибо за помощь!