Dashboard General

Análisis financiero y métricas de consumo de tokens en tiempo real.

Costo Total Acumulado

$0.00 USD

Calculado de tarifas vigentes

Tokens Consumidos

0

0 in / 0 out

Conversaciones (Números)

0

Clientes únicos registrados

Interacciones Totales

0

Preguntas y respuestas totales

Histórico de Consumos y Costos (Últimos 14 días)

Línea de Tiempo

Distribución de Costo por Modelo

Modelos OpenAI

Top 5 Clientes Más Activos

Por Mensajes

Cargando conversaciones...

Visualizador de Conversaciones

Selecciona un número de teléfono de la lista izquierda para auditar el historial de chat completo, los tokens consumidos y el costo exacto por interacción.

Filtros y Búsqueda

Fecha Teléfono Nombre Modelo Mensaje Cliente Respuesta Bot Tokens (In/Out) Costo Est.
Mostrando 0 de 0 registros

¿Cómo conectar tu flujo de n8n con este Dashboard?

El Dashboard funciona mediante un endpoint REST seguro. Una vez que tu bot de n8n procesa la pregunta del cliente usando OpenAI, debes configurar un nodo **HTTP Request** al final de tu flujo de n8n para enviar y registrar la interacción.

1

Arquitectura del Flujo en n8n

Tu flujo de n8n debería verse estructurado de la siguiente forma:

Webhook Evolution API OpenAI (Chat Llama) Evolution API (Send Message) HTTP Request (Dashboard)
2

Configuración del Nodo HTTP Request

Crea el nodo **HTTP Request** con los siguientes parámetros. Ten en cuenta que para mayor seguridad hemos habilitado la autenticación mediante cabecera de llave de API:

Parámetro Valor
Método POST
URL http://localhost:3000/api/webhook
Headers (Cabeceras) Añade la siguiente cabecera de seguridad para autorizar la ingesta:
- Nombre: X-API-Key
- Valor: whatsoptima-secure-secret-token
Body Content Type JSON
3

Payload JSON del Body

Mapea dinámicamente las variables correspondientes a Evolution API y tu nodo de OpenAI:

Payload JSON (Cuerpo)
{
  "phone": "{{ $json.key.remoteJid }}", // Remitente de WhatsApp
  "name": "{{ $json.pushName }}", // Nombre del cliente
  "message_user": "{{ $json.message.conversation }}", // Pregunta
  "message_bot": "{{ $node['OpenAI'].json.output }}", // Respuesta
  "model": "gpt-4o-mini", // Modelo OpenAI utilizado
  "prompt_tokens": {{ $node['OpenAI'].json.usage.prompt_tokens }}, // Tokens de entrada
  "completion_tokens": {{ $node['OpenAI'].json.usage.completion_tokens }} // Tokens de salida
}
4

Importación directa a n8n (JSON del Nodo)

Copia el siguiente código JSON e impórtalo en tu editor de n8n presionando Ctrl + V. El nodo ya incluye la clave de seguridad X-API-Key configurada por defecto:

Nodo n8n para importar
{
  "meta": {
    "instanceId": "cb876ab39031ef09c123450a876bfbc4"
  },
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "http://localhost:3000/api/webhook",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "X-API-Key",
              "value": "whatsoptima-secure-secret-token"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"phone\": \"{{ $json.key.remoteJid.replace('@s.whatsapp.net', '') }}\",\n  \"name\": \"{{ $json.pushName || 'Cliente WhatsApp' }}\",\n  \"message_user\": \"{{ $json.message.conversation || $json.message.extendedTextMessage.text }}\",\n  \"message_bot\": \"{{ $node['OpenAI'].json.output }}\",\n  \"model\": \"gpt-4o-mini\",\n  \"prompt_tokens\": {{ $node['OpenAI'].json.usage.prompt_tokens || 0 }},\n  \"completion_tokens\": {{ $node['OpenAI'].json.usage.completion_tokens || 0 }}\n}",
        "options": {}
      },
      "id": "2bb8ad09-22a3-4876-8be7-fa825c040d21",
      "name": "Registrar en Dashboard",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        1040,
        240
      ]
    }
  ]
}