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
- JavaScript (Fetch API)
- Python (Requests)
- cURL
- HTTP Raw
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);
import requests
import json
url = 'https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot'
headers = {
"Authorization": "<Your-Secret-Key>"
}
data = {
"SerialNumber": "36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"
}
response = requests.post(url, headers=headers, json=data)
data = response.json()
print(data)
curl 'https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot' \
-X POST \
-H 'Authorization: <Your-Secret-Key>' \
-d '{"SerialNumber":"36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"}'
POST /chat/Chatbot/GetMessageCountByChatbot HTTP/1.1
Host: app.neoagent.co
Authorization: <Your-Secret-Key>
{
"SerialNumber": "36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"
}
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 chatbotVersion- string - Versión de la API utilizadaSuccess- boolean - Indica si la operación se realizó con éxitoCode- integer - Código de estado HTTPMessage- 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:
- Verificar el código de estado HTTP para errores a nivel de red
- Examinar los campos
CodeyMessageen la respuesta para errores a nivel de negocio - El campo
Messagecontendrá información detallada sobre el error
Posibles Errores
| Código | Descripción | Acción Recomendada |
|---|---|---|
| 400 | SerialNumber faltante o no válido | Verifica el formato del SerialNumber |
| 401 | Clave API no válida | Revisa las credenciales de autenticación |
| 404 | Chatbot no encontrado | Verifica que el chatbot exista |
| 429 | Límite de tasa superado | Implementa 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.