L'API Notiondesk ti fornisce i dati statistici relativi alle pagine del tuo centro assistenza: visitatori, visualizzazioni degli articoli, tempo trascorso sulla pagina, paesi, termini di ricerca utilizzati dai lettori, ricerche che non producono risultati e reazioni dei lettori ai tuoi articoli. Utilizzala per alimentare uno strumento di business intelligence, pubblicare un report settimanale su Slack o individuare i contenuti che i tuoi lettori non riescono a trovare.
GET /sites/{site_id}/analytics/{report}report | Contiene |
|---|---|
quick | Riepilogo degli ultimi 30 giorni: articoli, visitatori, ricerche e reazioni |
overview | Visitatori, visualizzazioni degli articoli, tempo trascorso sulla pagina e paesi principali |
search | Ricerche, query più frequenti, ricerche senza risultati e percentuale di clic |
engagement | Visualizzazioni degli articoli, articoli più letti, fonti di riferimento, reazioni e articoli da rivedere |
Ogni report necessita dell'ambito read. Per leggere questi numeri nella dashboard, consulta Come migliorare il tuo centro assistenza con i feedback dei lettori .
Ricevi un riepilogo di 30 giorni
quick copre gli ultimi 30 giorni fino ad oggi e non accetta parametri di query. articles conta ogni articolo del centro assistenza, bozze incluse. reactions conta l'ultima reazione di ogni lettore per articolo.
Ottieni un report per un intervallo di date
overview, search e engagement accettano un intervallo di date e una dimensione del bucket:
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/analytics/quick" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"articles": 42,
"visitors": 25,
"searches": 9,
"reactions": 4
}| Parametro | Necessario | Note |
|---|---|---|
start_date | SÌ | Il primo istante dell'intervallo, come 2026-09-01T00:00:00Z |
end_date | SÌ | La fine dell'intervallo, esclusa. Deve essere dopo start_date |
date_scale | SÌ | La dimensione del bucket della serie temporale: minute, hour, day, week, month o year |
timezone | NO | Un fuso orario IANA che definisce i limiti dei bucket, ad esempio Europe/Paris. Valore predefinito: UTC |
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/analytics/search?start_date=2026-09-01T00:00:00Z&end_date=2026-10-01T00:00:00Z&date_scale=week&timezone=Europe/Paris" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"Regole per il poligono di tiro:
- Le date utilizzano il formato
YYYY-MM-DDTHH:MM[:SS]con un offset opzionale. Senza un offset, la data viene letta come UTC, non intimezone. Scrivi+come%2Bnell'URL oppure usaZ.
- Il periodo inizia a partire dal 1° gennaio 2020 e termina al massimo tra due giorni.
- Al massimo 1.000 secchi. Ad esempio,
minutecopre al massimo 16 ore ehoural massimo 41 giorni. Utilizzare un valore più ampio,date_scale, per intervalli più lunghi.
- La settimana inizia di lunedì.
Ogni report confronta il tuo intervallo con il periodo di pari durata immediatamente precedente: previous e total_previous descrivono tale periodo precedente.
serie di conteggio
visitors, article_views e searches condividono la stessa forma:
{
"total": 12,
"total_previous": 8,
"difference": 4,
"percentage_difference": 50.0,
"current": [{"date": "2026-09-14", "count": 7}, {"date": "2026-09-15", "count": 5}],
"previous": [{"date": "2026-08-20", "count": 8}]
}currentepreviouselencano solo i bucket che contengono dati, dal più vecchio al più recente.
- Il
datedi un secchio è quando inizia, intimezone:YYYY-MM-DDperdaye più grossolano,YYYY-MM-DDTHH:MMperhoureminute.
percentage_differenceè0.0quando il totale precedente è0.
overview
| Campo | Senso |
|---|---|
visitors | Serie di conteggio. total sono visitatori distinti nell'intervallo, non la somma dei punti |
article_views | Conteggio delle visualizzazioni della pagina dell'articolo |
session_durations | Tempo che i lettori trascorrono su una pagina, in secondi: average_seconds, e current e previous elenchi di {date, seconds} |
top_countries | Fino a 10 paesi: country (codice ISO), country_name e visitors |
search
| Campo | Senso |
|---|---|
searches | Conteggio delle serie di ricerche |
searches_with_results | Totali e un elenco queries: query, searches, clicks, articles_shown, click_through_rate e avg_click_position |
searches_without_results | Totali e un elenco queries: query e searches |
click_through_rate | Percentuale di ricerche con risultati che hanno portato a un clic: current, previous, difference e percentage_difference |
{
"searches_without_results": {
"total": 3,
"total_previous": 0,
"difference": 3,
"percentage_difference": 0.0,
"queries": [{"query": "refund policy", "searches": 3}]
}
}searches_without_results.queriesengagement
| Campo | Senso |
|---|---|
overview.current, overview.previous | views, articles_to_revise e un reaction_summary per ogni periodo |
article_views | Conteggio delle visualizzazioni della pagina dell'articolo |
top_articles | Gli articoli più visualizzati: title, host, pathname e views |
top_referrers | Da dove provenivano i visitatori: referrer (null per una visita diretta) e visitors |
article_engagements | Gli articoli che hanno suscitato il maggior apprezzamento da parte dei lettori sono: title, url, views e reaction_summary |
articles_to_revise | Gli articoli a cui i lettori hanno reagito più negativamente riguardano gli stessi campi |
Un reaction_summary segue il tuo stile di reazione:
score va da 0 a 100: la percentuale di reazioni positive, con una reazione neutra che conta la metà sotto emoji. Con lo stile thumbs, i gruppi sono helpful e not_helpful. Vedi Come raccogliere feedback con le reazioni agli articoli .
Elenco delle dimensioni
{
"style": "emoji",
"total": 6,
"score": 58,
"groups": [
{"key": "positive", "count": 3, "percent": 50},
{"key": "neutral", "count": 1, "percent": 17},
{"key": "negative", "count": 2, "percent": 33}
]
}- Gli elenchi di query
top_articles,top_referrers,article_engagementsearticles_to_revisepossono contenere fino a 50 righe ciascuno e coprono solo il periodo corrente. Un elenco di 50 righe potrebbe essere incompleto: restringi l'intervallo per visualizzare tutte le righe.
- I totali comprendono tutto, non solo le righe elencate.
title, , , , e provengono dai browser dei visitatori e chiunque può falsificarli. Bloccali prima di visualizzarli e non seguirli o agire in base ad essi senza averli controllati.urlhostpathnamereferrerqueryAnalisi e il tuo piano
L'accesso alle API richiede un piano Enterprise, che include analisi avanzate, pertanto ogni report accetta qualsiasi intervallo e scala entro 1.000 bucket.
Limite di velocità
Oltre alle 120 letture al minuto della tua chiave, i report di analisi vengono conteggiati rispetto a un budget di 30 richieste al minuto per centro assistenza , condiviso da ogni chiave e app OAuth del tuo spazio di lavoro. Una richiesta tramite essa risponde con 429 rate_limited e la sua intestazione Retry-After indica quando riprovare. Memorizza i report nella cache invece di richiederli a ogni caricamento della pagina.
Errori
| Stato | Quando | code |
|---|---|---|
| 400 | Un parametro è mancante, malformato o sconosciuto, quick ha ricevuto un parametro oppure una regola di intervallo non funziona. L'elenco errors specifica il parametro e la regola | validation_error |
| 403 | La chiave non ha l'ambito read | insufficient_scope |
| 403 | Le analisi sono disabilitate per il centro assistenza. | permission_denied |
| 404 | report non è uno dei quattro report oppure il centro assistenza non esiste nel tuo spazio di lavoro | not_found |
| 429 | Il budget per le analisi del centro assistenza è stato speso | rate_limited |
| 503 | Il servizio di analisi non ha risposto. Riprova o restringi l'intervallo | internal_error |
Vedi Errori API, limiti di frequenza e tentativi di invio dell'handle Notiondesk .
Domande frequenti
Come posso trovare ciò che i lettori cercano ma non riescono a trovare?
Consulta il report search e leggi searches_without_results.queries. Ogni voce rappresenta una query che non ha restituito alcun articolo, con l'indicazione del numero di volte in cui è stata effettuata la ricerca.
Perché il mio report restituisce 400 riguardo a dateScale?
dateScale?La gamma contiene più di 1.000 bucket presso il tuo date_scale. Utilizza una scala più grossolana, come day invece di hour, oppure una gamma più corta. Il messaggio dice dateScale, ma il parametro è date_scale.
Perché un elenco viene troncato a 50 righe?
Gli elenchi possono contenere fino a 50 righe. Suddividi un intervallo lungo in intervalli più brevi per visualizzare più query o articoli.
Posso ottenere le statistiche per un singolo articolo?
I report riguardano l'intero centro assistenza. Il numero di visualizzazioni e le reazioni di ciascun articolo sono inoltre presenti nell'elenco degli articoli , contrassegnati come views_count e reactions_percent.