Получите аналитику справочного центра с помощью API Notiondesk

Экспорт аналитики справочного центра Notiondesk через REST API: посетители, просмотры статей, самые популярные поисковые запросы, поисковые запросы без результатов и реакции читателей.

2 мин чтения

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.queries

engagement

Поле Значение
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 Ключ не имеет области видимости readinsufficient_scope
403 Аналитика для справочного центра отключена.permission_denied
404 report не входит в число четырех отчетов, или же центр поддержки отсутствует в вашем рабочем пространстве.not_found
429 Бюджет центра поддержки, предназначенный для аналитики, израсходован.rate_limited
503 Аналитическая служба не ответила. Повторите попытку или сузьте диапазон.internal_error

См. раздел «Обработка ошибок API Notiondesk, ограничений скорости и повторных попыток» .

Часто задаваемые вопросы

Как мне найти то, что ищут читатели, но не могут найти?

Вызовите отчет search и прочитайте отчет searches_without_results.queries. Каждая запись представляет собой запрос, который не вернул ни одной статьи, с указанием количества поисковых запросов.

Почему в моем отчете ответ 400 касается dateScale?

Диапазон вмещает более 1000 ведер при вашем значении date_scale. Используйте более крупный масштаб, например day вместо hour, или более короткий диапазон. В сообщении указано dateScale, но параметр равен date_scale.

Почему список обрезается после 50 строк?

В списках может содержаться до 50 строк. Разделите длинный диапазон на более короткие, чтобы просмотреть больше запросов или статей.

Могу ли я получить аналитику по одной статье?

Отчеты охватывают весь справочный центр. Количество просмотров и реакций на каждую статью также указаны в списке статей под номерами views_count и reactions_percent.

Что дальше?

Связанные статьи

Эта страница была полезной?

Still need help? Ask us