Arriba

API ImbaChat

API para enviar mensajes

1 enviando mensajes

Descripción Este método ayudará a crear un nuevo grupo y agregar los usuarios enumerados en el cuerpo de la solicitud a este grupo.

Solicitar parámetros

  1. imba_id: parámetro obligatorio, especifica la pertenencia al widget. El tipo de variable es integer. Si no se pasó imba_id a la solicitud, el servidor devolverá un error con el código 422 y un mensaje de que no se pasó el parámetro requerido (ver Posibles errores)
  2. user_id: parámetro obligatorio, ID del usuario (sitio externo) desde el que se envía el mensaje
  3. room_id - Parámetro obligatorio, este parámetro es el identificador numérico del grupo, es necesario para poder definir los grupos. El tipo de variable es "entero".
  4. password: parámetro obligatorio, contraseña del usuario del sitio donde está instalado el widget. El tipo de variable es "cadena". Si no se pasó la contraseña a la solicitud, el servidor devolverá un error con el código 422 y un mensaje de que no se pasó el parámetro requerido (ver Posibles errores)
  5. message - string. Parámetro requerido. El texto del mensaje transmitido.

Request example: CURL:

curl --location --request POST 'http://develop.im.awsweb.imbachat.com/imbachat/v2/627/send_msg' \
--user imba_id:secret_key \
--form 'user_id="1"' \
--form 'room_id="1536"' \
--form 'message="api message"'

PHP:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'http://develop.im.awsweb.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;

Response example:

{
    "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 para obtener una lista de usuarios con filtros aplicados

Descripción

Este método devuelve una lista de usuarios que coinciden con los filtros que se pasaron en la solicitud.

Autorización:

Para obtener acceso a la solicitud, debe aprobar la autenticación básica. Inicio de sesión - ID de widget, contraseña - clave secreta.

Filtros:

  1. login - nombre de usuario registrado en el chat
  2. id - Número de identificación en el sistema imbachat
  3. imba_id - ID de widget
  4. status: estado del usuario (usuario / administrador)
  5. last_message_date - fecha del último mensaje
  6. banned - estado de prohibición

Request example: 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;

Response example:

{
    "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 para obtener una lista de habitaciones con filtros aplicados

Descripción

Este método devuelve una lista de habitaciones que coinciden con los filtros que se pasaron en la solicitud, y también se devuelve una respuesta exitosa si se pasó el encabezado "JWT" con un token.

Filtros:

  1. room_type - tipo de salas (diálogo - 0 / conferencia - 1)
  2. status: el estado del usuario en la sala
  3. imba_id - ID de widget
  4. count_users - número de usuarios
  5. last_message_date - fecha del último mensaje
  6. banned - estado de prohibición

Request example: 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;

Response example:

{
    "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
}