Saltar al contenido principal

Conteggio Mensajes del Chatbot

La API de Neoagent te permite obtener el número de mensajes en el historial de un chatbot específico enviando una solicitud POST al endpoint /chat/Chatbot/GetMessageCountByChatbot.

Endpoint

URL de la Solicitud: https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot
Método: POST

Headers requeridos

  • Authorization: <Your-Secret-Key> - cadena, obligatorio - La clave secreta para autenticar la solicitud API

Cuerpo de la Solicitud

{
"SerialNumber": "36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"
}

Parámetros

  • SerialNumber - cadena, obligatorio - El identificador único del chatbot

Ejemplos de Solicitud

const res = await fetch('https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot', {
method: 'POST',
headers: {
"Authorization": "<Your-Secret-Key>"
},
body: JSON.stringify({
"SerialNumber": "36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"
})
});

const data = await res.json();
console.log(data);

Respuesta

La respuesta de la API será un objeto JSON con la siguiente estructura:

{
// int - Número de mensajes para el chatbot
"Data": 13,
// string - Versión de la API
"Version": "1.0.0",
// boolean - Estado de éxito de la operación
"Success": true,
// integer - Código de estado HTTP
"Code": 200,
// string - Mensaje de error si está presente
"Message": ""
}

Campos de la Respuesta

  • Data - integer - Número total de mensajes en el historial del chatbot
  • Version - string - Versión de la API utilizada
  • Success - boolean - Indica si la operación se realizó con éxito
  • Code - integer - Código de estado HTTP
  • Message - string - Mensaje de error o información adicional

Casos de Uso

📊 Analítica y Reportes

Utiliza esta API para:

  • Monitoreo de actividades - Realiza un seguimiento del volumen de conversaciones
  • Reportes periódicos - Genera estadísticas mensuales/semanales
  • Análisis de tendencias - Identifica picos de uso
  • Facturación - Calcula costos basados en el uso

🔄 Automatización

Integra en tus flujos para:

  • Alertas automáticas - Notificaciones para umbrales de uso
  • Escalado dinámico - Adapta recursos según el tráfico
  • Programación de mantenimiento - Programa mantenimientos en períodos de baja actividad

Ejemplo Práctico

async function getChatbotStats(serialNumber, apiKey) {
try {
const response = await fetch('https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot', {
method: 'POST',
headers: {
'Authorization': apiKey
},
body: JSON.stringify({
'SerialNumber': serialNumber
})
});

const result = await response.json();

if (result.Success) {
const messageCount = result.Data;
console.log(`El chatbot ${serialNumber} ha procesado ${messageCount} mensajes`);

// Lógica de negocio basada en el conteo
if (messageCount > 1000) {
console.log('⚠️ Volumen alto - considera actualizar el plan');
} else if (messageCount < 10) {
console.log('📈 Chatbot nuevo - monitorea la adopción');
}

return messageCount;
} else {
throw new Error(result.Message);
}
} catch (error) {
console.error('Error al recuperar estadísticas:', error);
return null;
}
}

// Uso
getChatbotStats('36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35', 'your-api-key');

Dashboard de Analytics

Ejemplo de cómo integrar en un dashboard:

async function buildChatbotDashboard(chatbotIds, apiKey) {
const stats = [];

for (const id of chatbotIds) {
const count = await getChatbotStats(id, apiKey);
stats.push({
chatbotId: id,
messageCount: count,
status: count > 100 ? 'active' : 'low-activity'
});
}

// Ordenar por actividad
stats.sort((a, b) => b.messageCount - a.messageCount);

return stats;
}

Gestión de Errores

Si la solicitud falla, deberías:

  1. Verificar el código de estado HTTP para errores a nivel de red
  2. Examinar los campos Code y Message en la respuesta para errores a nivel de negocio
  3. El campo Message contendrá información detallada sobre el error

Posibles Errores

CódigoDescripciónAcción Recomendada
400SerialNumber faltante o no válidoVerifica el formato del SerialNumber
401Clave API no válidaRevisa las credenciales de autenticación
404Chatbot no encontradoVerifica que el chatbot exista
429Límite de tasa superadoImplementa reintento con retroceso

Ejemplo de Manejo de Errores

async function safeGetMessageCount(serialNumber, apiKey) {
try {
const response = await fetch(/* ... */);
const result = await response.json();

if (!result.Success) {
switch (result.Code) {
case 404:
console.error('Chatbot no encontrado:', serialNumber);
break;
case 401:
console.error('Credenciales no válidas');
break;
default:
console.error('Error API:', result.Message);
}
return null;
}

return result.Data;
} catch (error) {
console.error('Error de red:', error);
return null;
}
}
Sugerencia para el Rendimiento

Para dashboards con muchos chatbots, considera implementar solicitudes en lote o cache de resultados para evitar exceder los límites de tasa.