WEB API
Configuración y uso
La Web API proporciona una colección de métodos HTTP que sustentan la mayoría de las funciones de ZampiBot. Para comenzar a usar la Web API, siga el tutorial a continuación.
Uso usuario
Realice una llamada POST al archivo include/api.php de su instalación de ZampiBot. Puede utilizar el siguiente código para realizar las llamadas:
PHP
PHP
function support_board_api(zampibot_api($query) {
$ch = curl_init('YOUR-DOMAIN/supportboard/chatbot.zampisoft.com/include/api.php');
$parameters = [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Support Board',
CURLOPT_POST => true,
CURLOPT_CONNECTTIMEOUT => 5,
CURLOPT_POSTFIELDS => http_build_query(array_merge(['token' => 'YOUR-TOKEN'], $query))
];
curl_setopt_array($ch, $parameters);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
Ejemplo de uso: support_board_api(zampibot_api(['function' => 'get-user', 'user_id' => 123]);
La variable $response contendrá la respuesta en formato JSON. Puede añadir nuevos argumentos en el array de la consulta: ['token' => '', 'function' => '', 'argument-name' => 'value', ...].
Reemplace las siguientes cadenas con los valores correctos:
- Reemplace
YOUR-DOMAINcon la URL de su sitio web. La URL completa debe apuntar al archivoinclude/api.phpde su instalación. Debería verse así:https://TU-DOMINIO.com/.supportboard/chatbot.zampisoft.com/include/api.phpSi usa la versión deWordPress, ingresehttps://TU-DOMINIO.com/wp-content/plugins/supportboard/supportboard/include/api.php.Si usa la versiónSAAS o Reseller, ingresehttps://TU-DOMINIO/script/include/api.php.- Si usa la versión Cloud, ingrese
https://.cloud.board.chatbot.zampisoft.com.support/script/include/api.php
- Reemplace
YOUR-TOKENcon el token de un usuario administrador. Puede obtener el token desde el área de Usuarios abriendo el perfil de un usuarioadmin. Solo se admiten tokens de administrador y solo los administradores pueden ver los tokens.- Si utiliza la versión cloud, debe usar el token de
Account > Installation > API token. - ¡Advertencia! Este token debe mantenerse siempre en secreto.
- Si utiliza la versión cloud, debe usar el token de
- Reemplace
METHOD-NAMEcon el nombre de la función de la API que desea utilizar. Obténgalos de la lista de métodos a continuación.
Información
- Algunas funciones están protegidas por razones de seguridad. Ingrese el código
$GLOBALS['SB_FORCE_ADMIN'] = trueantes de llamar a la función para ejecutarla correctamente. Ingrese el código$GLOBALS['SB_FORCE_ADMIN'] = falseinmediatamente después de la llamada a la función por seguridad. - Algunas funciones requieren los detalles del usuario activo. Use el código
$GLOBALS['SB_LOGIN'] = ['id' => '', 'first_name' => '', 'last_name' => '', 'email' => '', 'user_type' => '', 'department' => ''];para establecer el usuario activo. - Ejemplo de Postman: El token también se puede pasar como un parámetro de CABECERA (HEADER).

👥 WEB API: Usuarios
Métodos para gestionar usuarios, agentes y administradores.
get-user
Devuelve los detalles de un usuario.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-user.user_idRequerido: El ID del usuario.extra: Establézcalo entruepara obtener detalles adicionales del usuario. Por defecto:false.
Respuesta
JSON
{
"success": true,
"response": {
"id": "123456",
"first_name": "John",
"last_name": "Doe",
"email": "johon@example.com",
"profile_image": "https://board.support/chatbot.zampisoft.com/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-12 14:28:57",
"last_activity": "2020-05-12 14:28:57",
"department": null,
"token": "a521773c5a566a251c3fb00e93162b20ff955b12",
"password": "",
"details": [
{
"slug": "location",
"name": "Location",
"value": "New York, United States"
},
...
]
}
}
Devuelve {"success":true, "response":false} si no se encuentra el usuario.
get-user-by
Busca un usuario con los detalles especificados y lo devuelve.
Argumentos
byRequerido: El nombre del detalle del usuario. Valores aceptados:email,first_name,last_name,phone,[extra](reemplace [extra] con cualquier nombre de detalle adicional del usuario).value: El valor del campo.
Respuesta
JSON
{
"id": "881",
"first_name": "Don",
"last_name": "John",
"email": "example@example.com",
"user_type": "visitor",
"department": null
}
Devuelve {"success":true, "response":false} si no se encuentra el usuario.
get-user-extra
Devuelve los detalles adicionales de un usuario.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-user-extra.user_idRequerido: El ID del usuario.slug: El slug del ajuste a recuperar. Si no se establece, se devuelven todos los detalles del usuario. Por defecto:false.default: El valor por defecto a devolver si no se encuentran los detalles. Por defecto:false.
Respuesta
JSON
{
"success": true,
"response": [
{
"slug": "browser",
"name": "Browser",
"value": "Chrome"
},
...
]
}
Devuelve {"success":true, "response":[]} si no se encuentra el usuario.
get-user-language
Devuelve el código de idioma activo utilizado por el usuario. Por defecto, es el idioma del navegador del usuario.
Argumentos
user_idRequerido: El ID del usuario del que desea obtener el idioma.
Respuesta El código de idioma. Ejemplos: es, it. Devuelve false si el código es en o no se encuentra.
get-users
Devuelve los detalles de todos los usuarios.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-users.sorting: Establece el orden de los valores devueltos. Ingrese["column", "order"]y reemplacecolumncon uno de los siguientes:first_name,last_name,email,profile_image,user_type,creation_time,last_activity,department. ReemplaceorderconASCoDESC.user_types: Array en formato JSON de tipos de usuario a incluir. Sintaxis:["", "", "", ...]. Valores aceptados:visitor,lead,user,agent,admin. Por defecto: todos.search: La cadena a buscar.pagination: Entero de 1 a N para limitar el número de resultados. Ingrese 0 para los primeros 100 resultados, 1 para 101 a 200, etc.extra: Establézcalo entruepara incluir también todos los detalles extra. O como un array de slugs para incluir solo un subconjunto. Por defecto:false.user_ids: Array de IDs. Si se establece, devuelve solo los usuarios incluidos en el array. Sintaxis:["", "", "", ...]. Por defecto:false.department: Si se establece, devuelve solo usuarios con al menos una conversación asignada al ID de departamento provisto. Por defecto:false.tag: Si se establece, devuelve solo usuarios con al menos una conversación asignada a la etiqueta provista. Por defecto:false.source: Si se establece, devuelve solo usuarios con al menos una conversación del canal provisto. Fuentes:em,tk,wa,fb,ig,tw,wc,tx,gb,ln,vb. Por defecto:false.
Respuesta
JSON
{
"success": true,
"response": [
{
"id": "880",
"first_name": "User",
...
},
...
]
}
get-new-users
Devuelve los usuarios creados después de la fecha o ID proporcionado.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-new-users.datetimeRequerido: ID de usuario o fecha y hora en formato:YYYY-MM-DD HH:MM:SS. Ej.2020-05-13 13:35:59. Puede eliminar la hora y dejar solo la fecha. Las fechas en la base de datos son UTC+0.
Respuesta
JSON
{
"success": true,
"response": [
{
"id": "880",
"first_name": "User",
"last_name": "#29938",
"email": null,
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 08:58:18",
"last_activity": "2020-05-13 09:07:39",
"department": null,
"token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
},
{
"id": "879",
"first_name": "User",
"last_name": "#86773",
"email": null,
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 08:38:41",
"last_activity": "2020-05-13 08:58:12",
"department": null,
"token": "2e5064670707d06b661d04353f4a462ec927f19a"
}
...
]
}
get-online-users
Devuelve los usuarios en línea, incluyendo agentes.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-online-users.exclude_id: Array de IDs de usuarios en formato JSON para excluir. Sintaxis:[123, 123, 123, ...].sorting: Nombre de la tabla de base de datos usada para ordenar. Por defecto:creation_time.agents: Establézcalo entruepara devolver solo agentes y administradores. Por defecto:false.
Respuesta
JSON
{
"success": true,
"response": [
{
"id": "881",
"first_name": "Don",
"last_name": "John",
"email": null,
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 09:18:59",
"last_activity": "2020-05-13 09:32:34",
"department": null,
"token": "e435a5c67f4276cdb9c6fc19b7c015990ffc3268"
},
{
"id": "880",
"first_name": "User",
"last_name": "#29938",
"email": null,
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 08:58:18",
"last_activity": "2020-05-13 09:32:28",
"department": null,
"token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
}
...
]
}
get-users-with-details
Devuelve un array con los IDs y detalles de los usuarios que tienen los detalles solicitados.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-users-with-details.detailsRequerido: Array de detalles de usuario. Ej.[ "email", "phone" ].user_ids: Array o cadena separada por comas de IDs. Si se establece, solo se buscan estos usuarios. Useallofalsepara buscar en todos, oagentspara buscar solo agentes/admins. Por defecto:false.
Respuesta
JSON
{
"email": [
{
"id": 4561,
"value": "albert@example.com"
},
{
"id": 98436,
"value": "jessica@example.com"
},
...
],
"phone": [
{
"id": 12563,
"value": "+4462367136"
},
{
"id": 778956,
"value": "+4462999345"
},
...
],
...
}
get-agent
Devuelve los detalles de un agente o administrador.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-agent.agent_idRequerido: El ID del agente.
Respuesta
JSON
{
"success": true,
"response": {
"id": "123456",
"first_name": "John",
"last_name": "Doe",
"email": "johon@example.com",
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "agent",
"creation_time": "2020-05-12 14:28:57",
"last_activity": "2020-05-12 14:28:57",
"department": null,
"token": "a521773c5a566a251c3fb00e93162b20ff955b12",
"password": "",
"details": [
{
"slug": "location",
"name": "Location",
"value": "New York, United States"
},
{
"slug": "country_code",
"name": "Country code",
"value": "America/New_York"
}
...
]
}
}
get-agents-ids
Devuelve un array con los IDs de los Agentes.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-agents-ids.admins: Establézcalo enfalsepara excluir a los administradores. Por defecto:true.
Respuesta [881, 153, ...]
get-user-from-conversation
Devuelve el ID y correo electrónico del usuario, o del último agente, de la conversación dada.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-user-from-conversation.conversation_idRequerido: El ID de la conversación.agent: Establézcalo entruepara obtener el último agente que respondió. Por defecto:false.
Respuesta
JSON
{
"id": "123456",
"email": "email@example.com"
}
agents-online
Verifica si al menos un agente o administrador está en línea.
Respuesta
JSON
{
"success": true,
"response": true
}
Devuelve true si hay agentes o admins en línea, o false si todos están desconectados.
search-users
Devuelve los usuarios que coinciden con la búsqueda.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresesearch-users.searchRequerido: La cadena a buscar. Los detalles adicionales del usuario también son compatibles.
Respuesta
JSON
{
"success": true,
"response": [
{
"id": "881",
"first_name": "Don",
"last_name": "John",
"email": null,
"profile_image": "https://board.support/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 09:18:59",
"last_activity": "2020-05-13 09:32:34",
"department": null,
"token": "e435a5c67f4276cdb9c6fc19b7c015990ffc3268"
},
{
"id": "880",
"first_name": "User",
"last_name": "#29938",
"email": null,
"profile_image": "https://board.support/user.svg",
"user_type": "visitor",
"creation_time": "2020-05-13 08:58:18",
"last_activity": "2020-05-13 09:32:28",
"department": null,
"token": "6d969f64f5ed6263714b9b39f3d3700b66f16820"
}
...
]
}
Devuelve {"success":true, "response":[]} si no se encuentran usuarios.
add-user
Crea un nuevo usuario.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseadd-user.first_name: Nombre del usuario. Por defecto:User.last_name: Apellido. Por defecto:#RANDOM-NUMBER.email: Email del usuario. Por defecto: vacío.profile_image: Foto de perfil.password: Contraseña. Por defecto: vacío.user_type: Tipo de usuario. Valores:visitor,lead,user,agent,admin. Por defecto:visitorsi no hay email, sinouser.extra: Array de detalles adicionales en formato JSON. Detalles integrados (IDs):phone,city,language,country,birthday,company,facebook,twitter,linkedin,website,ip,country_code,browser,currency,location,os,time_zone,current_url. Sintaxis:{"ID": ["value", "Name"], ...}.
Respuesta
JSON
{
"success": true,
"response": 123456
}
Otras respuestas posibles: duplicate-email, invalid-user-type,, MySQL error de MySQL.message.
update-user
Actualiza los detalles de un usuario existente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-user.user_idRequerido: El ID del usuario a actualizar.first_name,last_name,profile_image,password,user_type.email: IngreseNULLpara eliminar el correo electrónico.settings_extra: Array de detalles adicionales en formato JSON. Sintaxis:{"ID": ["value", "Name"], "ID": ["value", "Name"], ...}.
Respuesta
JSON
{
"success": true,
"response": true
}
delete-user
Elimina un usuario y todas las conversaciones y mensajes vinculados.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedelete-user.user_idRequerido: El ID del usuario a eliminar.
Respuesta
JSON
{
"success": true,
"response": true
}
delete-users
Elimina múltiples usuarios y sus datos vinculados.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedelete-users.user_idsRequerido: Array de IDs de usuarios. Sintaxis:[123, 123, ...]
Respuesta
JSON
{
"success": true,
"response": true
}
is-online
Verifica si un usuario está en línea.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseis-online.user_idRequerido: El ID del usuario.
Respuesta true si está en línea, false si está desconectado.
current-url
Obtiene o establece la URL actual de un usuario o la última visitada.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresecurrent-url.user_id: El ID del usuario.url: La URL para establecer como "Current URL". Si se establece, la función solo establecerá el valor y no devolverá ninguna URL.
Respuesta
JSON
{
"success": true,
"response": "https://board.support"charbot.zampisoft.com"
}
count-users
Devuelve el conteo total de usuarios agrupados por tipo.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresecount-users.
Respuesta
JSON
{
"success": true,
"response": {
"all": "335",
"lead": "288",
...
}
}
update-user-to-lead
Cambia el tipo de usuario a "lead" (cliente potencial).
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-user-to-lead.user_idRequerido: El ID del usuario.
Respuesta
JSON
{
"success": true,
"response": true
}
get-avatar
Genera la imagen de perfil usando la inicial del nombre y apellido, la guarda y devuelve la URL.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-avatar.first_nameRequerido: Nombre del usuario.last_name: Apellido del usuario
Respuesta https://example.chatbot.zampisoft.com/supportboard/uploads/13-04-21/9455859.png
get-bot-id
Devuelve el ID del bot de ZampiBot.
Respuesta 123
is-typing
Verifica si un usuario o agente está escribiendo en una conversación. (No funciona si Pusher está activo).
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseis-typing.user_idRequerido: ID del usuario o agente a verificar.conversation_idRequerido: ID de la conversación.
Respuesta Devuelve true si está escribiendo, de lo contrario false.
is-agent-typing
Verifica si un agente está escribiendo y devuelve sus detalles. (No funciona si Pusher está activo).
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseis-agent-typing.conversation_idRequerido: ID de la conversación.
{
"id": "",
"first_name": "",
"last_name": ""
}
Respuesta Devuelve false si nadie escribe, o un objeto con detalles del agente.
set-typing
Asigna el estado "escribiendo" a un usuario o agente en una conversación.
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseset-typing.user_idRequerido: ID del usuario o agente.conversation_idRequerido: ID de la conversación.
Respuesta
JSON
{
"success": true,
"response": true
}
login
Inicia sesión de un usuario o agente. Puede hacerse vía email/contraseña o ID/token.
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreselogin.email/password: Para login tradicional.user_id/user_token: Para login por token.
Respuesta
JSON
{
"success": true,
"response": [
{
"id": "913",
..."profile_image": "https://board.support/user.svg",
"first_name": "User",
"last_name": "#29902",
"email": null,
"user_type": "visitor",
"token": "9b25351047ee758aa97ee4868d130cc15eb8decf"
},
"YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn..."
]
}
El segundo valor son los datos de sesión encriptados. Use SBF.loginCookie(response[1]); para guardarlo. Devuelve false si falla.
logout
Cierra la sesión del usuario conectado.
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreselogout.
Respuesta
JSON
{
"success": true,
"response": true
}
También debe borrarse la cookie sb-login del navegador.
update-login
Actualiza los detalles del usuario conectado. Si un detalle no se establece, se eliminará de la base de datos.
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-login.profile_image,first_name,last_name,email,department.
Respuesta
YXNkWGNSeTdtRTdDYVkxVG8wckN4YWF6V2s0Tk1mczBSVHdQbHBpOWdmejVUTTdOUUxEUENhdUVoYmROWn...
Cadena encriptada que debe guardarse en la cookie sb-login.
delete-leads
Elimina todos los leads (clientes potenciales), incluyendo conversaciones y mensajes vinculados.
Parámetros
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedelete-leads.
Respuesta
JSON
{
"success": true,
"response": true
}
update-bot
Actualiza los detalles del perfil del bot. Si no existe, se crea uno.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-bot.name: Nombre del bot.profile_image: URL de imagen del bot.
Respuesta true en caso de éxito, false en caso contrario.
csv-users
Exporta todos los usuarios a un archivo CSV y devuelve la URL.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresecsv-users.user_ids: Array de IDs de usuario para exportar solo específicos.
Respuesta
JSON
{
"success": true,
"response": "https://board.support/uploads/users.csv"
}
💬 WEB API: Conversaciones
Métodos para gestionar conversaciones y mensajes.
get-conversation
Devuelve una conversación y sus mensajes.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-conversation.conversation_idRequerido: El ID de la conversación.user_id: El ID del usuario vinculado.
Respuesta
JSON
{
"success": true,
"response": {
"messages": [
{
"id": "2044",
"user_id": "802",
"message": "Hello!",
"creation_time": "2020-05-0410:06:30",
"attachments": "",
"status_code": "0",
"payload": "",
"conversation_id": "946",
"first_name": "Don",
"last_name": "John",
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "lead"
},
{
"id": "2045",
"user_id": "377",
"message": "Hello,howcanIhelp?",
"creation_time": "2020-05-0410:06:33",
"attachments": "",
"status_code": "0",
"payload": "",
"conversation_id": "946",
"first_name": "Bruce",
"last_name": "Peterson",
"profile_image": "https://chatbot.zampisoft.com/agent.svg",
"user_type": "agent"
}
...
],
"details": {
..."user_id": "802",
"first_name": "Don",
"last_name": "John",
"profile_image": "https://chatbot.zampisoft.com/user.svg",
"user_type": "lead",
"id": "946",
"title": "",
"conversation_time": "2020-05-0410:06:30",
"conversation_status_code": "3",
"department": null
}
}
}
Devuelve {"success":true,"response":{"messages":[],"details":""}} si no se encuentra.
get-conversations
Devuelve todas las conversaciones. Cada una incluye el último mensaje.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-conversations.pagination: Entero para paginación (0 para primeros 100, 1 para siguientes 100).status_code: Códigos de estado: live =0, esperando usuario =1, esperando agente =2, archivo =3, papelera =4, all = todos.routing:trueSet it tositruelaifcola/enrutamientotheestáqueueactiva.or routing is active in Settings > Miscellaneous. Default: false.routing_unassigned:trueSet it toparatruevertoconversacionesalsosinviewagentetheasignado.conversations not assigned to any agent. Default: false.department,source,tag: Filtros opcionales.
Respuesta
JSON
{
"success": true,
"response": [
{
"message": "Hello World!",
"message_id": "7351",
"attachments": "",
"payload": "",
"message_status_code": "2",
"last_update_time": "2023-10-02 16:00:06",
"message_user_id": "377",
"message_first_name": "Smart Assistant",
"message_last_name": "",
"message_profile_image": "https://example.com/image.jpg",
"message_user_type": "bot",
"conversation_id": "4084",
"conversation_user_id": "4446",
"conversation_status_code": "3",
"conversation_creation_time": "2023-10-02 15:59:59",
"department": "1",
"agent_id": null,
"title": "",
"source": "tk",
"extra": null,
"tags": null,
"conversation_first_name": "User",
"conversation_last_name": "#26147",
"conversation_profile_image": "https://example.com/image.jpg",
"conversation_user_type": "lead"
},
...
}
]
}
get-new-conversations
Devuelve conversaciones creadas después de la fecha/ID dada o con mensajes nuevos.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-new-conversations.datetimeRequerido: ID de conversación o fechaYYYY-MM-DD HH:MM:SS.routing,routing_unassigned: Opciones de enrutamiento.
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
get-user-conversations
Devuelve las conversaciones de un usuario.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-user-conversations.user_idRequerido: El ID del usuario.exclude_id: Excluir una conversación.agents:truesi el usuario es agente/admin.
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
get-new-user-conversations
Devuelve conversaciones de usuario actualizadas después de la fecha dada.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-new-user-conversations.user_idRequerido: ID del usuario.datetimeRequerido: ID o fecha.
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
search-conversations
Devuelve conversaciones que coinciden con la búsqueda.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresesearch-conversations.searchRequerido: Cadena de búsqueda (mensajes, adjuntos, emails, nombres, tags, etc.).
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
search-user-conversations
Busca en las conversaciones de un usuario específico.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresesearch-user-conversations.searchRequerido: Término de búsqueda.user_idRequerido: ID del usuario.
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
new-conversation
Crea una nueva conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresenew-conversation.user_idRequerido: ID del usuario vinculado.status_code: Por defecto1.title: Título.department: ID del departamento. Por defecto-1.agent_id: ID del agente asignado. Por defecto-1.source,extra,tags.
Respuesta
JSON
{
"success": true,
"response": { "messages": [], "details": { ... } }
}
update-conversation-status
Actualiza el código de estado de una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-conversation-status.conversation_idRequerido: ID de la conversación.status_codeRequerido:0(live),1(esperando usuario),2(esperando agente),3(archivo),4(papelera).
Respuesta
JSON
{
"success": true,
"response": true
}
update-conversation-department
Actualiza el departamento de una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-conversation-department.conversation_idRequerido: ID de la conversación.departmentRequerido: ID del departamento. Usefalsepara remover.message: Mensaje para notificar a los agentes del nuevo departamento.
Respuesta
JSON
{
"success": true,
"response": true
}
update-conversation-agent
Asigna o actualiza el agente de una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-conversation-agent.conversation_idRequerido: ID de la conversación.agent_idRequerido: ID del agente.falsepara remover.message: Mensaje de notificación para el agente.
Respuesta
JSON
{
"success": true,
"response": true
}
set-rating
Asigna una calificación a una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseset-rating.settingsRequerido: JSON{ "settings" : { "conversation_id": "ID", "rating": "RATING" }}.1positivo,0negativo.payload,message_id,message,user_id: Opcionales para actualizar mensaje.
Respuesta
JSON
{
"success": true,
"response": true
}
get-rating
Obtiene las calificaciones asignadas a un agente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-rating.user_idRequerido: ID del agente.
Respuesta {"success": true, "response": [4,2]} (4 positivas, 2 negativas).
get-new-messages
Devuelve los mensajes de una conversación creados después de la fecha/ID dada.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-new-messages.user_idRequerido: ID del usuario.conversation_idRequerido: ID de la conversación.datetimeRequerido: ID o fechaYYYY-MM-DD HH:MM:SS.
Respuesta
JSON
{
"success": true,
"response": [ ... ]
}
get-last-message
Devuelve el último mensaje de una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-last-message.conversation_idRequerido: ID de la conversación.exclude_message: Excluir mensaje con texto específico.user_id: Verificar solo mensajes de este usuario.
Respuesta
JSON
{
"success": true,
"response": { "message": "..." }
}
send-message
Añade un nuevo mensaje a una conversación existente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresesend-message.user_idRequerido: ID del usuario que envía. Useget-bot-idpara el bot.conversation_idRequerido: ID de la conversación.message: El texto del mensaje.attachments: Array de adjuntos JSON[["nombre", "enlace"], ...].conversation_status_code: Código de estado para asignar.skippara mantener el actual.payload: JSON con información adicional.queue:truesi la cola está activa.recipient_id: ID del usuario que recibe (para idioma).
Respuesta
JSON
{
"success": true,
"response": {
"status": "success",
"message-id": 123456,
...
}
}
update-message
Actualiza un mensaje existente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-message.message_idRequerido: ID del mensaje.message,attachments,payload.
Respuesta
JSON
{
"success": true,
"response": true
}
delete-message
Elimina un mensaje existente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedelete-message.message_idRequerido: ID del mensaje.
Respuesta
JSON
{
"success": true,
"response": true
}
delete-attachments
Elimina todos los adjuntos de una conversación o mensaje (incluyendo AWS S3).
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedelete-attachments.conversation_idomessage_id.
Respuesta
JSON
{
"success": true,
"response": true
}
update-messages-status
Actualiza el estado de múltiples mensajes a "leído".
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseupdate-messages-status.message_idsRequerido: Array de IDs de mensajes[1, 212, ...].user_id: ID del usuario (requerido para Pusher).
Respuesta
JSON
{
"success": true,
"response": true
}
get-agents-in-conversation
Devuelve un array con todos los agentes que tienen al menos un mensaje en la conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-agents-in-conversation.conversation_idRequerido: ID de conversación (puede ser un array).
Respuesta
JSON
{
"success": true,
"response": { "1546": [ ... ] }
}
transcript
Exporta una conversación a CSV o TXT y devuelve la URL.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresetranscript.conversation_idRequerido: ID de la conversación.type:csv,txtofalse(usa configuración por defecto).
Respuesta
JSON
{
"success": true,
"response": "https://board.support/uploads/conversation-1021.csv"
}
direct-message
Envía un mensaje de chat directo.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresedirect-message.user_idsRequerido: Array de IDs de usuario.messageRequerido: El mensaje.subject: Asunto (solo para emails).
Respuesta
JSON
{
"success": true,
"response": true
}
messaging-platforms-send-message
Envía un mensaje a la plataforma de mensajería vinculada (Facebook, WhatsApp, etc.).
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresemessaging-platforms-send-message.conversation_idRequerido: ID de conversación.messageRequerido: Mensaje.attachmentsRequerido: Array de adjuntos.userRequerido: Array asociativo{ "id": 123, "profile_image": "..." }o ID de usuario.source: Array asociativo{ "source": SOURCE CODE }. Códigos:em,tk,wa,fb,ig,tw,wc,tx,gb,tg,ln,vb.- Telegram requiere
chat_id. - Facebook requiere
page_id.
- Telegram requiere
Respuesta
JSON
{
"success": true,
"response": true
}
count-conversations
Cuenta el número de conversaciones.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresecount-conversations.status_code: Filtrar por código de estado.
Respuesta
JSON
{
"success": true,
"response": 123456
}
check-conversations-assignment
Verifica si una lista de conversaciones está asignada a un departamento o agente.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingresecheck-conversations-assignment.conversation_idsRequerido: Array de IDs de conversación.agent_id: ID de agente.department_id: ID de departamento.
Respuesta
JSON
{
"success": true,
"response": [1234, 5, ...]
}
get-last-agent-in-conversation
Devuelve el último agente que respondió a una conversación.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseget-last-agent-in-conversation.conversation_idRequerido: El ID de la conversación.
Respuesta
JSON
{
"success": true,
"response": {
"id": 123,
"first_name": "Don",
"last_name": "John",
"email": "email@example.com",
"password": "$P$BcCpYeU21wYnXKW2LpJj/F9xRdSmLM/"
}
}
Devuelve false si la conversación no tiene respuestas de agentes.
execute-bot-message
Envía un mensaje del bot y devuelve su contenido.
Argumentos
tokenRequerido: Su token secreto de administrador.functionRequerido: Ingreseexecute-bot-message.nameRequerido: El nombre del mensaje del bot. Valores disponibles:offline,follow_up,welcome.conversation_idRequerido: El ID de la conversación a la que enviar el mensaje.last_user_message: Úselo para mostrar diferentes extractos de texto en el área de administración y el panel de chat. Por defecto:false.check: Establézcalo enfalsepara enviar el mensaje incluso si ya se envió hace menos de 10 días. Por defecto:true.
Respuesta
JSON
{
"success": true,
"response": {
"message": "Lorem ipsum dolor",
"attachments": [],
"id": 123,
"settings": {
"active": true,
"title": "",
"message": ""
}
}
}
ID es el ID del mensaje que se acaba de crear.