Passa al contenuto principale

Conteggio Messaggi Chatbot

L'API di Neoagent ti consente di ottenere il numero di messaggi nella cronologia di un chatbot specifico inviando una richiesta POST all'endpoint /chat/Chatbot/GetMessageCountByChatbot.

Endpoint

URL della Richiesta: https://app.neoagent.co/chat/Chatbot/GetMessageCountByChatbot
Metodo: POST

Headers richiesti

  • Authorization: <Your-Secret-Key> - string, obbligatorio - La chiave segreta per autenticare la richiesta API

Corpo della Richiesta

{
"SerialNumber": "36XXGxiYDigrQgg5xz4n45bcBW7qeYyW35"
}

Parametri

  • SerialNumber - string, obbligatorio - L'identificativo univoco del chatbot

Esempi di Richiesta

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);

Risposta

La risposta API sarà un oggetto JSON con la seguente struttura:

{
// int - Numero di messaggi per il chatbot
"Data": 13,
// string - Versione API
"Version": "1.0.0",
// boolean - Stato di successo dell'operazione
"Success": true,
// integer - Codice di stato HTTP
"Code": 200,
// string - Messaggio di errore se presente
"Message": ""
}

Campi della Risposta

  • Data - integer - Numero totale di messaggi nella cronologia del chatbot
  • Version - string - Versione dell'API utilizzata
  • Success - boolean - Indica se l'operazione è andata a buon fine
  • Code - integer - Codice di stato HTTP
  • Message - string - Messaggio di errore o informazioni aggiuntive

Casi d'Uso

📊 Analytics e Reportistica

Utilizza questa API per:

  • Monitoraggio attività - Traccia il volume di conversazioni
  • Report periodici - Genera statistiche mensili/settimanali
  • Analisi trend - Identifica picchi di utilizzo
  • Billing e fatturazione - Calcola costi basati sull'utilizzo

🔄 Automazione

Integra nei tuoi flussi per:

  • Alert automatici - Notifiche per soglie di utilizzo
  • Scaling dinamico - Adatta risorse in base al traffico
  • Maintenance scheduling - Programma manutenzioni nei periodi di bassa attività

Esempio Pratico

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(`Chatbot ${serialNumber} ha processato ${messageCount} messaggi`);

// Logica business basata sul conteggio
if (messageCount > 1000) {
console.log('⚠️ Volume alto - considera l\'upgrade del piano');
} else if (messageCount < 10) {
console.log('📈 Chatbot nuovo - monitora l\'adozione');
}

return messageCount;
} else {
throw new Error(result.Message);
}
} catch (error) {
console.error('Errore nel recupero statistiche:', error);
return null;
}
}

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

Dashboard Analytics

Esempio di come integrare in una 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'
});
}

// Ordina per attività
stats.sort((a, b) => b.messageCount - a.messageCount);

return stats;
}

Gestione degli Errori

Se la richiesta fallisce, dovresti:

  1. Controllare il codice di stato HTTP per errori a livello di rete
  2. Esaminare i campi Code e Message nella risposta per errori a livello business
  3. Il campo Message conterrà informazioni dettagliate sull'errore

Possibili Errori

CodiceDescrizioneAzione Consigliata
400SerialNumber mancante o non validoVerifica il formato del SerialNumber
401Chiave API non validaControlla le credenziali di autenticazione
404Chatbot non trovatoVerifica che il chatbot esista
429Rate limit superatoImplementa retry con backoff

Esempio di Gestione Errori

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 non trovato:', serialNumber);
break;
case 401:
console.error('Credenziali non valide');
break;
default:
console.error('Errore API:', result.Message);
}
return null;
}

return result.Data;
} catch (error) {
console.error('Errore di rete:', error);
return null;
}
}
Suggerimento per le Performance

Per dashboard con molti chatbot, considera di implementare richieste in batch o cache dei risultati per evitare di superare i rate limit.