Skip to main content

WEB API

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

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($query) {
    $ch = curl_init('YOUR-DOMAIN/supportboard/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(['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-DOMAIN con la URL de su sitio web. La URL completa debe apuntar al archivo include/api.php de su instalación. Debería verse así: https://TU-DOMINIO.com/supportboard/include/api.php.
    • Si usa la versión de WordPress, ingrese https://TU-DOMINIO.com/wp-content/plugins/supportboard/supportboard/include/api.php.
    • Si usa la versión SAAS o Reseller, ingrese https://TU-DOMINIO/script/include/api.php.
    • Si usa la versión Cloud, ingrese https://cloud.board.support/script/include/api.php.
  • Reemplace YOUR-TOKEN con el token de un usuario administrador. Puede obtener el token desde el área de Usuarios abriendo el perfil de un usuario admin. 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.
  • Reemplace METHOD-NAME con 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'] = true antes de llamar a la función para ejecutarla correctamente. Ingrese el código $GLOBALS['SB_FORCE_ADMIN'] = false inmediatamente 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-user.
  • user_id Requerido: El ID del usuario.
  • extra: Establézcalo en true para 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/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

  • by Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-user-extra.
  • user_id Requerido: 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_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-users.
  • sorting: Establece el orden de los valores devueltos. Ingrese ["column", "order"] y reemplace column con uno de los siguientes: first_name, last_name, email, profile_image, user_type, creation_time, last_activity, department. Reemplace order con ASC o DESC.
  • 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 en true para 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-new-users.
  • datetime Requerido: 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": [ ... ]
}

get-online-users

Devuelve los usuarios en línea, incluyendo agentes.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-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 en true para devolver solo agentes y administradores. Por defecto: false.

Respuesta

JSON

{
    "success": true,
    "response": [ ... ]
}

get-users-with-details

Devuelve un array con los IDs y detalles de los usuarios que tienen los detalles solicitados.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-users-with-details.
  • details Requerido: 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. Use all o false para buscar en todos, o agents para buscar solo agentes/admins. Por defecto: false.

Respuesta

JSON

{
    "email": [
        { "id": 4561, "value": "albert@example.com" },
        ...
    ],
    ...
}

get-agent

Devuelve los detalles de un agente o administrador.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-agent.
  • agent_id Requerido: El ID del agente.

Respuesta

JSON

{
   "success": true,
   "response": {
       "id": "123456",
       "user_type": "agent",
       ...
   }
}

get-agents-ids

Devuelve un array con los IDs de los Agentes.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-agents-ids.
  • admins: Establézcalo en false para 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-user-from-conversation.
  • conversation_id Requerido: El ID de la conversación.
  • agent: Establézcalo en true para 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese search-users.
  • search Requerido: La cadena a buscar. Los detalles adicionales del usuario también son compatibles.

Respuesta

JSON

{
    "success": true,
    "response": [ ... ]
}

Devuelve {"success":true, "response":[]} si no se encuentran usuarios.

add-user

Crea un nuevo usuario.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese add-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: visitor si no hay email, sino user.
  • 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, error de MySQL.

update-user

Actualiza los detalles de un usuario existente.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-user.
  • user_id Requerido: El ID del usuario a actualizar.
  • first_name, last_name, profile_image, password, user_type.
  • email: Ingrese NULL para eliminar el correo electrónico.
  • settings_extra: Array de detalles adicionales en formato JSON. Sintaxis: {"ID": ["value", "Name"], ...}.

Respuesta

JSON

{
    "success": true,
    "response": true
}

delete-user

Elimina un usuario y todas las conversaciones y mensajes vinculados.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese delete-user.
  • user_id Requerido: El ID del usuario a eliminar.

Respuesta

JSON

{
    "success": true,
    "response": true
}

delete-users

Elimina múltiples usuarios y sus datos vinculados.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese delete-users.
  • user_ids Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese is-online.
  • user_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese current-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"
}

count-users

Devuelve el conteo total de usuarios agrupados por tipo.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese count-users.

Respuesta

JSON

{
    "success": true,
    "response": {
        "all": "335",
        "lead": "288",
        ...
    }
}

update-user-to-lead

Cambia el tipo de usuario a "lead" (cliente potencial).

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-user-to-lead.
  • user_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-avatar.
  • first_name Requerido: Nombre del usuario.
  • last_name: Apellido del usuario
Respuesta https://example.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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese is-typing.
  • user_id Requerido: ID del usuario o agente a verificar.
  • conversation_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese is-agent-typing.
  • conversation_id Requerido: ID de la conversación.

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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese set-typing.
  • user_id Requerido: ID del usuario o agente.
  • conversation_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese login.
  • email / password: Para login tradicional.
  • user_id / user_token: Para login por token.

Respuesta

JSON

{
    "success": true,
    "response": [
        { "id": "913", ... },
        "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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese logout.

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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-login.
  • profile_image, first_name, last_name, email, department.

Respuesta 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese delete-leads.

Respuesta

JSON

{
    "success": true,
    "response": true
}

update-bot

Actualiza los detalles del perfil del bot. Si no existe, se crea uno.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese csv-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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-conversation.
  • conversation_id Requerido: El ID de la conversación.
  • user_id: El ID del usuario vinculado.

Respuesta

JSON

{
    "success": true,
    "response": {
        "messages": [ ... ],
        "details": { ... }
    }
}

Devuelve {"success":true,"response":{"messages":[],"details":""}} si no se encuentra.

get-conversations

Devuelve todas las conversaciones. Cada una incluye el último mensaje.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-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: true si la cola/enrutamiento está activa.
  • routing_unassigned: true para ver conversaciones sin agente asignado.
  • department, source, tag: Filtros opcionales.

Respuesta

JSON

{
    "success": true,
    "response": [
        {
            "message": "Hello World!",
            "conversation_id": "4084",
            ...
        }
    ]
}

get-new-conversations

Devuelve conversaciones creadas después de la fecha/ID dada o con mensajes nuevos.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-new-conversations.
  • datetime Requerido: ID de conversación o fecha YYYY-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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-user-conversations.
  • user_id Requerido: El ID del usuario.
  • exclude_id: Excluir una conversación.
  • agents: true si 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-new-user-conversations.
  • user_id Requerido: ID del usuario.
  • datetime Requerido: ID o fecha.

Respuesta

JSON

{
    "success": true,
    "response": [ ... ]
}

search-conversations

Devuelve conversaciones que coinciden con la búsqueda.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese search-conversations.
  • search Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese search-user-conversations.
  • search Requerido: Término de búsqueda.
  • user_id Requerido: ID del usuario.

Respuesta

JSON

{
  "success": true,
  "response": [ ... ]
}

new-conversation

Crea una nueva conversación.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese new-conversation.
  • user_id Requerido: ID del usuario vinculado.
  • status_code: Por defecto 1.
  • 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-conversation-status.
  • conversation_id Requerido: ID de la conversación.
  • status_code Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-conversation-department.
  • conversation_id Requerido: ID de la conversación.
  • department Requerido: ID del departamento. Use false para 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-conversation-agent.
  • conversation_id Requerido: ID de la conversación.
  • agent_id Requerido: ID del agente. false para 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese set-rating.
  • settings Requerido: JSON { "settings" : { "conversation_id": "ID", "rating": "RATING" }}. 1 positivo, 0 negativo.
  • 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-rating.
  • user_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-new-messages.
  • user_id Requerido: ID del usuario.
  • conversation_id Requerido: ID de la conversación.
  • datetime Requerido: ID o fecha YYYY-MM-DD HH:MM:SS.

Respuesta

JSON

{
    "success": true,
    "response": [ ... ]
}

get-last-message

Devuelve el último mensaje de una conversación.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-last-message.
  • conversation_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese send-message.
  • user_id Requerido: ID del usuario que envía. Use get-bot-id para el bot.
  • conversation_id Requerido: 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. skip para mantener el actual.
  • payload: JSON con información adicional.
  • queue: true si 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-message.
  • message_id Requerido: ID del mensaje.
  • message, attachments, payload.

Respuesta

JSON

{
    "success": true,
    "response": true
}

delete-message

Elimina un mensaje existente.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese delete-message.
  • message_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese delete-attachments.
  • conversation_id o message_id.

Respuesta

JSON

{
    "success": true,
    "response": true
}

update-messages-status

Actualiza el estado de múltiples mensajes a "leído".

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese update-messages-status.
  • message_ids Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese get-agents-in-conversation.
  • conversation_id Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese transcript.
  • conversation_id Requerido: ID de la conversación.
  • type: csv, txt o false (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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese direct-message.
  • user_ids Requerido: Array de IDs de usuario.
  • message Requerido: 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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese messaging-platforms-send-message.
  • conversation_id Requerido: ID de conversación.
  • message Requerido: Mensaje.
  • attachments Requerido: Array de adjuntos.
  • user Requerido: 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.

Respuesta

JSON

{
    "success": true,
    "response": true
}

count-conversations

Cuenta el número de conversaciones.

Argumentos

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese count-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

  • token Requerido: Su token secreto de administrador.
  • function Requerido: Ingrese check-conversations-assignment.
  • conversation_ids Requerido: Array de IDs de conversación.
  • agent_id: ID de agente.
  • department_id: ID de departamento.

Respuesta

JSON

{
    "success": true,
    "response": [1234, 5, ...]
}