Arriba

API ImbaChat

API para crear diálogos y conferencias

1.1 Crear un nuevo grupo con miembros

Descripción Al ejecutar este método, se creará un nuevo grupo y se agregarán 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 entero. 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 (consulte Posibles errores)
  2. login: parámetro obligatorio, nombre de usuario del usuario del sitio donde está instalado el widget. El tipo de variable es cadena. Si no se pasó el inicio de sesión 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 (consulte Posibles errores)
  3. contraseña: 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)
  4. room_title - Parámetro opcional, define el nombre de la habitación para todos los usuarios, es este parámetro el que el usuario ve en la lista de habitaciones. El tipo de variable es cadena. Si room_title no se pasó a la solicitud, el servidor asignará a esta variable el valor "nueva sala".
  5. room_pipe - Un parámetro opcional, este parámetro es un identificador de cadena del grupo, es necesario para poder definir grupos sin especificar room_id. El tipo de variable es cadena. Si room_pipe no se pasó a la solicitud, el servidor asignará un valor único aleatorio a esta variable.
  6. room_is_public - Parámetro opcional, este parámetro determina si el grupo es público o no. El tipo de variable es entero. Los valores posibles son 1 - grupo público, 0 - grupo cerrado.
  7. room_type - Parámetro opcional, este parámetro determina el tipo de grupo que se creará. El tipo de variable es entero. Valores posibles: 0 - diálogo, 1 - conferencia, 3 - sala de soporte técnico.
  8. users_ids - Parámetro opcional, este parámetro define los miembros del grupo. El tipo de variable es una matriz asociativa. Parámetro de ejemplo: users_ids = [1, 2, 3]; El valor de la matriz son los ID de los usuarios registrados en el sitio externo.

Ejemplo de solicitud: RIZO: `` sh curl --location --request POST 'https://api.imbachat.com/imbachat/v1/widget/imba_rooms' \ --form 'imba_id = 209' \ --form 'login = admin' \ --form 'contraseña = admin' \ --form 'users_ids [0] = 3' \ --form 'tipo_habitación = 1' \ --form 'users_ids [1] = 4' \ --form 'room_title = Тестовая API группа 9' \ --form 'room_pipe =' \ --form 'room_is_public = 1'

''

PHP: `php $ curl = curl_init ();

curl_setopt_array ($ curl, matriz ( CURLOPT_URL => "https://api.imbachat.com/imbachat/v1/widget/imba_rooms", CURLOPT_RETURNTRANSFER => verdadero, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => verdadero, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "PUBLICAR", 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 => matriz ( ), ));

$ respuesta = curl_exec ($ curl);

curl_close ($ curl); echo $ respuesta;

''

Ejemplo de respuesta:

json { "código": 200, "message": "Éxito", "datos": [ { "éxito": cierto, "roomId": 613, "room_id": 613 } ] }

''

1.2 Agregar nuevos miembros al grupo creado por

Descripción La ejecución de este método 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 entero. 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. login: parámetro obligatorio, nombre de usuario del usuario del sitio donde está instalado el widget. El tipo de variable es cadena. Si no se pasó el inicio de sesión 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 (consulte Posibles errores)
  3. contraseña: 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)
  4. room_title - Parámetro opcional, define el nombre de la habitación para todos los usuarios, es este parámetro el que el usuario ve en la lista de habitaciones. El tipo de variable es cadena. Si room_title no se pasó a la solicitud, el servidor asignará a esta variable el valor "nueva sala".
  5. room_pipe - Parámetro opcional, este parámetro es un identificador de cadena del grupo, es necesario para que pueda definir grupos sin especificarroom_id. El tipo de variable es cadena. Si no se pasó room_pipe a la solicitud, el servidor asignará un valor único aleatorio a esta variable.
  6. room_is_public - Parámetro opcional, este parámetro determina si el grupo es público o no. El tipo de variable es entero. Los valores posibles son 1 - grupo público, 0 - grupo cerrado.
  7. room_type - Parámetro opcional, este parámetro determina el tipo de grupo que se creará. El tipo de variable es entero. Valores posibles: 0 - diálogo, 1 - conferencia, 3 - sala de soporte técnico.
  8. users_ids - Parámetro opcional, este parámetro define los miembros del grupo. El tipo de variable es una matriz asociativa. Parámetro de ejemplo: users_ids = [1, 2, 3]; El valor de la matriz son los ID de los usuarios registrados en el sitio externo.
  9. room_id - Parámetro opcional, este parámetro es un identificador numérico del grupo, es necesario para que pueda definir grupos sin especificarroom_pipe. El tipo de variable es entero. Si room_ id yroom_pipe no se pasaron a la solicitud, el servidor creará una nueva sala

Ejemplo de solicitud:

Request example: 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=Test API group 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' => 'Test API group 9','room_pipe' => '','room_is_public ' => '1','room_id' => '613'),
  CURLOPT_HTTPHEADER => array(
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Response example:

{
    "code": 200,
    "message": "Success",
    "data": [
        {
            "success": true,
            "roomId": 613,
            "room_id": 613
        }
    ]
}

Response example:

{
    "code": 200,
    "message": "Success",
    "data": [
        {
            "error": false,
            "success": true,
            "room_id": "613",
        }
    ]
}

API para obtener una lista de usuarios con filtros aplicados

Descripción

Este método devuelve una lista de usuarios que coincidieron con los filtros pasados 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. "prohibido" - 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
}

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. "prohibido" - 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
}

API para obtener una lista de mensajes con filtros aplicados

Descripción

Este método devuelve una lista de mensajes 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. date - fecha del mensaje
  2. id - Número de identificación en el sistema imbachat
  3. room_type - tipo de salas (diálogo - 0 / conferencia - 1)
  4. user_name: nombre de usuario del usuario que escribió el mensaje
  5. user_role: el rol del usuario en la sala

Más documentación:

Documentación general de ImbaChat

API para chatbot

Función de chat grupal