La API Notiondesk te proporciona los datos que respaldan las páginas de análisis de tu centro de ayuda: visitantes, visualizaciones de artículos, tiempo de permanencia en la página, países, búsquedas de los lectores, búsquedas sin resultados y reacciones de los lectores a tus artículos. Úsala para alimentar una herramienta de inteligencia empresarial, publicar un informe semanal en Slack o encontrar el contenido que tus lectores no están viendo.
GET /sites/{site_id}/analytics/{report}report | Contiene |
|---|---|
quick | Resumen de 30 días: artículos, visitantes, búsquedas y reacciones. |
overview | Visitantes, visualizaciones de artículos, tiempo de permanencia en la página y principales países |
search | Búsquedas, consultas principales, búsquedas sin resultados y tasa de clics. |
engagement | Visualizaciones de artículos, artículos más populares, fuentes de referencia, reacciones y artículos para revisar |
Cada informe necesita el ámbito read. Para ver estos números en el panel de control, consulte Cómo mejorar su centro de ayuda con información sobre los lectores .
Obtén un resumen de 30 días
quick abarca los últimos 30 días hasta la fecha y no requiere ningún parámetro de consulta. articles contabiliza todos los artículos del centro de ayuda, incluidos los borradores. reactions contabiliza la última reacción de cada lector por artículo.
Obtenga un informe para un rango de fechas.
overview, search y engagement toman un rango de fechas y un tamaño de cubo:
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
}| Parámetro | Requerido | Notas |
|---|---|---|
start_date | Sí | El primer instante del rango, como 2026-09-01T00:00:00Z |
end_date | Sí | El final del rango, excluido. Debe ser posterior a start_date |
date_scale | Sí | Tamaño del intervalo de la serie temporal: minute, hour, day, week, month o year |
timezone | No | Una zona horaria de IANA que establece límites de cubos, como Europe/Paris. Valor predeterminado: 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"Reglas para el campo de tiro:
- Las fechas usan
YYYY-MM-DDTHH:MM[:SS]con un desplazamiento opcional. Sin desplazamiento, la fecha se lee en UTC, no entimezone. Escriba+como%2Ben la URL, o useZ.
- El periodo comienza el 1 de enero de 2020 o después de esa fecha y finaliza como máximo dentro de dos días.
- Como máximo 1000 cubos. Por ejemplo,
minutecubre como máximo 16 horas yhourcomo máximo 41 días. Utilice un valor más amplio,date_scale, para rangos más largos.
- Las semanas comienzan el lunes.
Cada informe compara su rango con el período de la misma duración justo antes: previous y total_previous describen ese período anterior.
Serie de recuento
visitors, article_views y searches comparten una 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}]
}currentypreviousenumeran solo los buckets que tienen datos, del más antiguo al más reciente.
- El
datede un cubo es cuando comienza, entimezone:YYYY-MM-DDparadayy más grueso,YYYY-MM-DDTHH:MMparahouryminute.
percentage_differencees0.0cuando el total anterior es0.
overview
| Campo | Significado |
|---|---|
visitors | Serie de recuento. total son visitantes distintos en el rango, no la suma de los puntos. |
article_views | Contar la serie de visitas a la página del artículo |
session_durations | Tiempo que los lectores pasan en una página, en segundos: average_seconds, y current y previous listas de {date, seconds} |
top_countries | Hasta 10 países: country (código ISO), country_name y visitors |
search
| Campo | Significado |
|---|---|
searches | Contar series de búsquedas |
searches_with_results | Totales y una lista queries: query, searches, clicks, articles_shown, click_through_rate y avg_click_position |
searches_without_results | Totales y una lista queries: query y searches |
click_through_rate | Porcentaje de búsquedas cuyos resultados generaron un clic: current, previous, difference y 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 | Significado |
|---|---|
| __PRESERVADO_67__, __PRESERVADO_66__ | views, articles_to_revise y un reaction_summary para cada período |
article_views | Contar la serie de visitas a la página del artículo |
top_articles | Los artículos más vistos: title, host, pathname y views |
top_referrers | De dónde procedían los visitantes: referrer (null para una visita directa) y visitors |
article_engagements | Los artículos que recibieron la reacción más positiva por parte de los lectores fueron: title, url, views y reaction_summary. |
articles_to_revise | Los artículos que generaron las reacciones más negativas entre los lectores, con los mismos campos. |
A reaction_summary sigue tu estilo de reacción:
score va de 0 a 100: la proporción de reacciones positivas, con una reacción neutral que cuenta la mitad bajo emoji. Con el estilo thumbs, los grupos son helpful y not_helpful. Consulta Cómo recopilar comentarios con reacciones a artículos .
Límites de la lista
{
"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}
]
}- Las listas de consulta
top_articles,top_referrers,article_engagementsyarticles_to_revisecontienen hasta 50 filas cada una y abarcan únicamente el período actual. Una lista de 50 filas puede estar incompleta: reduzca el rango para ver todas las filas.
- Los totales abarcan todo, no solo las filas indicadas.
title, , , , y provienen de los navegadores de los visitantes, y cualquiera puede falsificarlas. Evítalas antes de mostrarlas y nunca las sigas ni actúes en consecuencia sin verificarlas.urlhostpathnamereferrerqueryAnálisis y su plan
El acceso a la API requiere un plan Enterprise, que incluye análisis avanzados, por lo que cada informe acepta cualquier rango y escala dentro de 1000 intervalos.
Límite de tasa
Además de las 120 lecturas por minuto de tu clave, los informes de análisis se contabilizan dentro de un presupuesto de 30 solicitudes por minuto por centro de ayuda , compartido por cada clave y aplicación OAuth de tu espacio de trabajo. Una solicitud a través de ella responde con el código 429 rate_limited, y su encabezado Retry-After indica cuándo reintentar. Almacena en caché los informes en lugar de solicitarlos en cada carga de página.
Errores
| Estado | Cuando | code |
|---|---|---|
| 400 | Falta un parámetro, está mal formado o es desconocido, quick recibió un parámetro o falla una regla de rango. La lista errors nombra el parámetro y la regla. | validation_error |
| 403 | La clave carece del ámbito read | insufficient_scope |
| 403 | Las analíticas están desactivadas para el centro de ayuda. | permission_denied |
| 404 | report no es uno de los cuatro informes, o el centro de ayuda no existe en su espacio de trabajo. | not_found |
| 429 | El presupuesto de análisis del centro de ayuda se gasta | rate_limited |
| 503 | El servicio de análisis no respondió. Inténtelo de nuevo o reduzca el rango. | internal_error |
Consulte el manejo de errores de API, límites de velocidad y reintentos de Notiondesk .
Preguntas frecuentes
¿Cómo puedo encontrar lo que los lectores buscan pero no encuentran?
Llama al informe search y lee searches_without_results.queries. Cada entrada es una consulta que no devolvió ningún artículo, con la cantidad de veces que se buscó.
¿Por qué mi informe responde 400 sobre dateScale?
dateScale?El rango contiene más de 1000 cubetas en su date_scale. Use una escala más amplia, como day en lugar de hour, o un rango más corto. El mensaje dice dateScale, pero el parámetro es date_scale.
¿Por qué se corta una lista a las 50 filas?
Las listas admiten hasta 50 filas. Divide un rango largo en rangos más cortos para ver más consultas o artículos.
¿Puedo obtener estadísticas para un artículo?
Los informes abarcan todo el centro de ayuda. El número de visualizaciones y las reacciones de cada artículo también aparecen en la lista de artículos , como views_count y reactions_percent.