API Notiondesk предоставляет вам данные, лежащие в основе аналитики вашего справочного центра: посетители, просмотры статей, время, проведенное на странице, страны, поисковые запросы читателей, запросы, которые не дают результатов, и реакция читателей на ваши статьи. Используйте его для передачи данных в инструмент бизнес-аналитики, публикации еженедельного отчета в Slack или поиска контента, которого не хватает вашим читателям.
GET /sites/{site_id}/analytics/{report}report | Содержит |
|---|---|
quick | Краткий обзор за 30 дней: статьи, посетители, поисковые запросы и отзывы. |
overview | Посетители, просмотры статей, время на странице и страны с наибольшей посещаемостью. |
search | Поисковые запросы, самые популярные запросы, поисковые запросы без результатов и коэффициент кликабельности (CTR). |
engagement | Просмотры статей, самые популярные статьи, источники переходов, реакции и статьи для пересмотра. |
В каждом отчете необходимо указать область действия read. Чтобы прочитать эти числа на панели мониторинга, см. раздел «Как улучшить ваш справочный центр с помощью анализа данных о читателях» .
Получите 30-дневный отчет.
quick охватывает последние 30 дней, заканчивающиеся сейчас, и не принимает параметров запроса. articles подсчитывает количество всех статей справочного центра, включая черновики. reactions подсчитывает последние реакции каждого читателя на каждую статью.
Получите отчет за определенный период времени.
overview, search и engagement принимают диапазон дат и размер интервала:
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
}| Параметр | Необходимый | Примечания |
|---|---|---|
start_date | Да | Первый символ диапазона, например, 2026-09-01T00:00:00Z |
end_date | Да | Конец диапазона исключен. Должно быть после start_date |
date_scale | Да | Размер временного интервала: minute, hour, day, week, month или year |
timezone | Нет | Часовой пояс IANA, устанавливающий границы временных интервалов, например, Europe/Paris. По умолчанию — 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"Правила пользования стрельбищем:
- Для работы с датами используется формат
YYYY-MM-DDTHH:MM[:SS]с необязательным смещением. Без смещения дата считывается как UTC, а не в форматеtimezone. В URL-адресе+следует записывать как%2B, или использовать форматZ.
- Данный период начинается 1 января 2020 года или позже и заканчивается не позднее чем через два дня.
- Максимум 1000 интервалов. Например,
minuteохватывает максимум 16 часов, аhour— максимум 41 день. Для более длинных диапазонов используйте более крупныйdate_scale.
- Неделя начинается в понедельник.
В каждом отчете ваш диапазон сравнивается с периодом той же длины, непосредственно предшествующим ему: previous и total_previous описывают этот более ранний период.
Серия подсчетов
visitors, article_views и searches имеют одну общую форму:
{
"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}]
}currentиpreviousотображают только те сегменты, в которых есть данные, начиная с самых старых.
dateведра — это его начальная концентрация, вtimezone:YYYY-MM-DDдляdayи более крупных фракций,YYYY-MM-DDTHH:MMдляhourиminute.
percentage_differenceстановится0.0, когда предыдущая сумма равна0.
overview
| Поле | Значение |
|---|---|
visitors | Подсчет рядов. total — это количество уникальных посетителей в заданном диапазоне, а не сумма точек. |
article_views | Подсчет количества просмотров страниц статьи в серии |
session_durations | Время, которое читатели проводят на странице, в секундах: average_seconds, а также current и previous списки {date, seconds} |
top_countries | До 10 стран: country (код ISO), country_name и visitors |
search
| Поле | Значение |
|---|---|
searches | Подсчет серий поисковых запросов |
searches_with_results | Итоговые данные и список queries: query, searches, clicks, articles_shown, click_through_rate и avg_click_position |
searches_without_results | Итоги и список queries: query и searches |
click_through_rate | Доля поисковых запросов, результаты которых привели к клику, в процентах: current, previous, difference и 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
| Поле | Значение |
|---|---|
overview.current, overview.previous | views, articles_to_revise и reaction_summary для каждого периода |
article_views | Подсчет количества просмотров страниц статьи в серии |
top_articles | Самые просматриваемые статьи: title, host, pathname и views |
top_referrers | Откуда прибыли посетители: referrer (null для прямого посещения) и visitors |
article_engagements | Статьи, на которые читатели отреагировали наиболее позитивно: title, url, views и reaction_summary |
articles_to_revise | Статьи, вызвавшие наиболее негативную реакцию читателей, были опубликованы в тех же разделах. |
A reaction_summary соответствует вашему стилю реакции:
score варьируется от 0 до 100: это доля положительных реакций, при этом нейтральная реакция учитывается как половина в рамках emoji. В стиле thumbs группы обозначаются как helpful и not_helpful. См. раздел «Как собирать отзывы с помощью реакций на статьи» .
Ограничения списка
{
"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}
]
}- Запросы
top_articles,top_referrers,article_engagementsиarticles_to_reviseсодержат до 50 строк каждый и охватывают только текущий период. Список из 50 строк может быть неполным: сузьте диапазон, чтобы увидеть все строки.
- Итоговые суммы охватывают все данные, а не только указанные строки.
title, , , , и поступают из браузеров посетителей, и любой может их подделать. Экранируйте их, прежде чем отображать, и никогда не следуйте им и не действуйте на их основе без проверки.urlhostpathnamereferrerqueryАналитика и ваш план
Для доступа к API требуется корпоративный тарифный план, который включает расширенную аналитику, поэтому каждый отчет принимает любой диапазон и масштаб в пределах 1000 сегментов.
Лимит скорости
Помимо 120 запросов в минуту, необходимых для чтения вашего ключа, отчеты аналитики учитываются в рамках бюджета в 30 запросов в минуту на каждый центр поддержки , который используется каждым ключом и приложением OAuth в вашем рабочем пространстве. Запрос по этому адресу отвечает кодом 429 rate_limited, а заголовок Retry-After указывает, когда следует повторить попытку. Кэшируйте отчеты вместо того, чтобы запрашивать их при каждой загрузке страницы.
Ошибки
| Статус | Когда | code |
|---|---|---|
| 400 | Отсутствует, имеет некорректный или неизвестный параметр, quick получил параметр, или правило диапазона не выполняется. Список errors содержит имена параметра и правила. | validation_error |
| 403 | Ключ не имеет области видимости read | insufficient_scope |
| 403 | Аналитика для справочного центра отключена. | permission_denied |
| 404 | report не входит в число четырех отчетов, или же центр поддержки отсутствует в вашем рабочем пространстве. | not_found |
| 429 | Бюджет центра поддержки, предназначенный для аналитики, израсходован. | rate_limited |
| 503 | Аналитическая служба не ответила. Повторите попытку или сузьте диапазон. | internal_error |
См. раздел «Обработка ошибок API Notiondesk, ограничений скорости и повторных попыток» .
Часто задаваемые вопросы
Как мне найти то, что ищут читатели, но не могут найти?
Вызовите отчет search и прочитайте отчет searches_without_results.queries. Каждая запись представляет собой запрос, который не вернул ни одной статьи, с указанием количества поисковых запросов.
Почему в моем отчете ответ 400 касается dateScale?
dateScale?Диапазон вмещает более 1000 ведер при вашем значении date_scale. Используйте более крупный масштаб, например day вместо hour, или более короткий диапазон. В сообщении указано dateScale, но параметр равен date_scale.
Почему список обрезается после 50 строк?
В списках может содержаться до 50 строк. Разделите длинный диапазон на более короткие, чтобы просмотреть больше запросов или статей.
Могу ли я получить аналитику по одной статье?
Отчеты охватывают весь справочный центр. Количество просмотров и реакций на каждую статью также указаны в списке статей под номерами views_count и reactions_percent.