ImbaChat API
API для Отправки сообщений
1 Отправка сообщений
Описание Выполнение данного метода приведет к созданию новой группы и добавлению в эту группу пользователей перечисленных в теле запроса.
Параметры запроса
imba_id– Обязательный параметр, определяет принадлежность к виджету. Тип переменной –integer. В случае еслиimba_idбыл не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)user_id– Обязательный параметр, ИД пользователя (внешнего сайта) от которого отправляется сообщениеroom_id– Обязательный параметр, данный параметр является числовым идентификатором группы, нужен для того, чтоб можно было определить групп. Тип переменной –integer.password– Обязательный параметр, пароль пользователя сайта, на котором установлен виджет. Тип переменной –string. В случае если password был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)message-string. Обязательный параметр. Текст передаваемого сообщения. Пример запроса: CURL:curl --location --request POST \ --user imba_id:secret_key \ --form 'user_id="1"' \ --form 'room_id="1536"' \ --form 'message="api message"'
PHP:
```php
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://api.imbachat.com/imbachat/v2/627/send_msg',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('user_id' => '1','room_id' => '1536','message' => 'api message'),
CURLOPT_USERPWD => "imba_id:secret_key",
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответа
{
"success": true,
"message": {
"id": 4543,
"uuid": "1536-1608275827-Z6Eq1W",
"message": "api message",
"time": "1608275827",
"answer_to": 0,
"liked": "0",
"user_id": 2046,
"room_id": "1536",
"meta": []
},
"user": {
"name": "spray",
"user_id": "2046",
"user_mail": "danil-kravtsiv@mail.ru",
"chat_role": "admin",
"status": 0,
"avatar_url": false,
"profile_url": false,
"profiles": {
"1": {
"profile_id": 1,
"name": "spray",
"chat_role": "admin",
"avatar_url": false,
"profile_url": false,
"user_id": "2046",
"status": 0,
"lastlogin": -1,
"remote_user_id": 1
}
},
"lastlogin": -1,
"remote_user_id": 1
},
"relation": 0
}
2 API для получения списка пользователей с применением фильтров
Описание
Данный метод возвращает список пользователей, которые подошли под фильтры, которые были переданы в запросе.
Авторизация:
Для получения доступа к запросу необходимо пройти Basic аутентификацию. Логин - ИД виджета, пароль - секретный ключ
Фильтры:
login- имя пользователя зарегистрированного в чатеid- Идентификационный номер в системе imbachatimba_id- Идентификационный номер виджетаstatus- Статус пользователя (пользователь / администратор)last_message_date- дата последнего сообщенияbanned- статус бана
Пример запроса: CURL:
curl --location --request POST 'http://api.imbachat.com/imbachat/v2/627/get_users' \
--user imba_id:secret_key \
--form 'imba_id="627"' \
--form 'status="user"' \
PHP:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://api.imbachat.com/imbachat/v2/627/get_users',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('imba_id' => 627, 'status' => 'user'),
CURLOPT_USERPWD => "imba_id:secret_key",
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответа
{
"success": "true",
"data": [
{
"id": 2046,
"deleted_at": null,
"created_at": "2020-11-23 05:26:41",
"updated_at": "2020-11-24 06:59:54",
"remote_user_id": "1",
"user_data": null,
"imba_id": 627,
"login": "NULL",
"password": "NULL",
"status": "admin",
"avatar_url": "https://secure.gravatar.com/avatar/3875115bacc48cca24ac51ee4b0e7975?s=48&d=identicon"
}
],
"code": 200
}
3 API для получения списка комнат с применением фильтров
Описание
Данный метод возвращает список комнат, которые подошли под фильтры, которые были переданы в запросе, также возвращается успешный ответ если был передан заголовок "JWT" с токеном.
Фильтры:
room_type- тип комнат (диалог - 0 / конференция - 1)status- статус пользователя находящегося в комнатеimba_id- Идентификационный номер виджетаcount_users- количество пользователейlast_message_date- дата последнего сообщенияbanned- статус бана
Пример запроса: CURL:
curl --location --request POST 'http://api.imbachat.com/imbachat/v2/627/get_rooms' \
--user imba_id:secret_key \
--form 'imba_id="627"' \
--form 'room_type="0"'
PHP:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://api.imbachat.com/imbachat/v2/627/get_rooms',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('imba_id' => 627, 'room_type' => '0'),
CURLOPT_USERPWD => "imba_id:secret_key",
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответа
{
"success": "true",
"data": [
{
"id": 1853,
"pipe": "5fde659f0ba18_1608410527",
"name": "Technical support",
"admin_id": 2157,
"type": 3,
"tab": 0,
"is_public": 0,
"created_at": "2020-12-19 20:42:07",
"updated_at": "2020-12-19 20:42:07",
"deleted_at": null,
"status": 0,
"imba_id": 627
},
{
"id": 1314,
"pipe": "5fbcaf6a4ba35_1606201194",
"name": "New conversation",
"admin_id": 2046,
"type": 0,
"tab": 0,
"is_public": 0,
"created_at": "2020-11-24 06:59:54",
"updated_at": "2020-11-24 06:59:54",
"deleted_at": null,
"status": 0,
"imba_id": 627
}
],
"code": 200
}