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
- 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"
}
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 chatbotVersion- string - Versione dell'API utilizzataSuccess- boolean - Indica se l'operazione è andata a buon fineCode- integer - Codice di stato HTTPMessage- 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:
- Controllare il codice di stato HTTP per errori a livello di rete
- Esaminare i campi
CodeeMessagenella risposta per errori a livello business - Il campo
Messageconterrà informazioni dettagliate sull'errore
Possibili Errori
| Codice | Descrizione | Azione Consigliata |
|---|---|---|
| 400 | SerialNumber mancante o non valido | Verifica il formato del SerialNumber |
| 401 | Chiave API non valida | Controlla le credenziali di autenticazione |
| 404 | Chatbot non trovato | Verifica che il chatbot esista |
| 429 | Rate limit superato | Implementa 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.