ImbaChat API
API для создание диалогов и конференций
1.1 Создание новой группы с участниками
Описание Выполнение данного метода приведет к созданию новой группы и добавлению в эту группу пользователей перечисленных в теле запроса. Параметры запроса
imba_id
– Обязательный параметр, определяет принадлежность к виджету. Тип переменной – integer. В случае еслиimba_id
был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)login
– Обязательный параметр, логин пользователя сайта, на котором установлен виджет. Тип переменной – string. В случае если login был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)password
– Обязательный параметр, пароль пользователя сайта, на котором установлен виджет. Тип переменной – string. В случае если password был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)room_title
– Необязательный параметр, определяет название комнаты для всех пользователей, именно этот параметр, пользователь видит в списке комнат. Тип переменной – string. В случае если room_title был не передан в запрос, сервер присвоит этой переменной значение “new room”.room_pipe
– Необязательный параметр, данный параметр является строковым идентификатором группы, нужен для того, чтоб можно было определить группы без указанияroom_id
. Тип переменной – string. В случае еслиroom_pipe
был не передан в запрос, сервер присвоит этой переменной случайное уникальное значение.room_is_public
– Необязательный параметр, данный параметр определяет является ли группа публичной или нет. Тип переменной – integer. Возможные значение 1 – публичная группа, 0 – закрытая группа.room_type
– Необязательный параметр, данный параметр определяется тип создаваемой группы. Тип переменной – integer. Возможные значения: 0 – диалог, 1 – конференция, 3 – комната тех поддержки.users_ids
– Необязательный параметр, данный параметр определяет участников группы. Тип переменной – ассоциативный массив. Пример параметра:users_ids
= [1, 2, 3]; Значение массива это ид пользователей, которые зарегистрированы на внешнем сайте.
Пример запроса: CURL:
curl --location --request POST 'https://api.imbachat.com/imbachat/v1/widget/imba_rooms' \
--form 'imba_id=209' \
--form 'login=admin' \
--form 'password=admin' \
--form 'users_ids[0]=3' \
--form 'room_type=1' \
--form 'users_ids[1]=4' \
--form 'room_title=Тестовая API группа 9' \
--form 'room_pipe=' \
--form 'room_is_public =1'
PHP:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.imbachat.com/imbachat/v1/widget/imba_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' => '209','login' => 'admin','password' => 'admin','users_ids[0]' => '3','room_type' => '1','users_ids[1]' => '4','room_title' => 'Тестовая API группа 9','room_pipe' => '','room_is_public ' => '1'),
CURLOPT_HTTPHEADER => array(
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответа
{
"code": 200,
"message": "Success",
"data": [
{
"success": true,
"roomId": 613,
"room_id": 613
}
]
}
1.2 Добавление новых участников в группу, созданную
Описание Выполнение данного метода приведет к созданию новой группы и добавлению в эту группу пользователей перечисленных в теле запроса. Параметры запроса:
imba_id
– Обязательный параметр, определяет принадлежность к виджету. Тип переменной – integer. В случае еслиimba_id
был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)login
– Обязательный параметр, логин пользователя сайта, на котором установлен виджет. Тип переменной – string. В случае если login был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)password
– Обязательный параметр, пароль пользователя сайта, на котором установлен виджет. Тип переменной – string. В случае если password был не передан в запрос, сервер вернет ошибку с кодом 422 и сообщением, что обязательный параметр был не передан (см. Возможные ошибки)room_title
– Необязательный параметр, определяет название комнаты для всех пользователей, именно этот параметр, пользователь видит в списке комнат. Тип переменной – string. В случае еслиroom_title
был не передан в запрос, сервер присвоит этой переменной значение “new room”.room_pipe
– Необязательный параметр, данный параметр является строковым идентификатором группы, нужен для того, чтоб можно было определить группы без указания room_id. Тип переменной – string. В случае если room_pipe был не передан в запрос, сервер присвоит этой переменной случайное уникальное значение.room_is_public
– Необязательный параметр, данный параметр определяет является ли группа публичной или нет. Тип переменной – integer. Возможные значение 1 – публичная группа, 0 – закрытая группа.room_type
– Необязательный параметр, данный параметр определяется тип создаваемой группы. Тип переменной – integer. Возможные значения: 0 – диалог, 1 – конференция, 3 – комната тех поддержки.users_ids
– Необязательный параметр, данный параметр определяет участников группы. Тип переменной – ассоциативный массив. Пример параметра:users_ids
= [1, 2, 3]; Значение массива это ид пользователей, которые зарегистрированы на внешнем сайте.room_id
– Необязательный параметр, данный параметр является числовым идентификатором группы, нужен для того, чтоб можно было определить группы без указанияroom_pipe
. Тип переменной – integer. В случае еслиroom_ id
иroom_pipe
был не передан в запрос, сервер создаст новую комнату
Пример запроса: CURL:
curl --location --request POST 'https://api.imbachat.com/imbachat/v1/widget/imba_rooms' \
--form 'imba_id=209' \
--form 'login=admin' \
--form 'password=admin' \
--form 'users_ids[0]=1' \
--form 'room_type=1' \
--form 'room_title=Тестовая API группа 9' \
--form 'room_pipe=' \
--form 'room_is_public =1' \
--form 'room_id=613'
PHP:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.imbachat.com/imbachat/v1/widget/imba_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' => '209','login' => 'admin','password' => 'admin','users_ids[0]' => '1','room_type' => '1','room_title' => 'Тестовая API группа 9','room_pipe' => '','room_is_public ' => '1','room_id' => '613'),
CURLOPT_HTTPHEADER => array(
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Пример ответа
{
"code": 200,
"message": "Success",
"data": [
{
"success": true,
"roomId": 613,
"room_id": 613
}
]
}
Пример ответа
{
"code": 200,
"message": "Success",
"data": [
{
"error": false,
"success": true,
"room_id": "613",
}
]
}
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
}
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
}
API для получения списка сообщений с применением фильтров
Описание
Данный метод возвращает список сообщений, которые подошли под фильтры, которые были переданы в запросе, также возвращается успешный ответ если был передан заголовок "JWT" с токеном.
Фильтры:
date
- дата сообщенияid
- Идентификационный номер в системе imbachatroom_type
- тип комнат (диалог - 0 / конференция - 1)user_name
- Имя пользователя написавшего сообщениеuser_role
- Роль пользователя находящегося в комнате
Больше документации: