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
}