API Notiondesk позволяет считывать и изменять фирменный стиль вашего справочного центра: цвета, шрифты, макет, заголовок и нижний колонтитул, ссылки, отображение поиска и обратной связи, а также тему оформления. Используйте его для внедрения единого фирменного стиля в нескольких справочных центрах или для сохранения фирменного стиля в коде в соответствии с остальной частью вашей системы дизайна.
| Метод | Путь | Объем | Делает |
|---|---|---|---|
GET | /sites/{site_id}/settings/customize | read | Читает фирменную символику |
PATCH | /sites/{site_id}/settings/customize | admin | Обновляет фирменный стиль. |
GET | /sites/{site_id}/themes | read | Отображает список доступных тем. |
Фирменный стиль отображается на каждой общедоступной странице, поэтому для его обновления требуется область действия admin, а не write. Только ключ, созданный владельцем рабочей области или администратором, содержит admin.
Чтобы изменить фирменную символику на панели управления, см. раздел «Настройка цветов и шрифтов справочного центра» .
Что API не меняет
Эти данные остаются только на панели управления. Маршрут чтения их не возвращает, а обновление, в котором указан один из них, приводит к ошибке 400 validation_error:
- Пользовательские CSS и JavaScript. См. раздел «Настройка справочного центра с помощью пользовательских CSS ».
- Логотипы (светлые и темные), логотипы в нижнем колонтитуле (светлые и темные), значок сайта (favicon), изображение для социальных сетей и изображения в шапке сайта (светлые и темные).
Прочитайте свой фирменный стиль.
В ответе содержатся в точности те же поля, которые принимает обновление, под теми же именами. Сокращенный пример:
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"colors": {
"primary": "#2563eb",
"text": "#111827",
"link": "#2563eb",
"link_hover": "#1d4ed8",
"header": "#2563eb",
"header_text": "#ffffff",
"background": "#ffffff",
"footer_background": ""
},
"appearance": null,
"layout_collection": "column_2",
"layout_article": "column_1",
"footer_layout": "compact",
"primary_font": "Inter",
"header_links": [{"title": "Docs", "url": "https://example.com/docs"}],
"footer_links": [{"title": "Product", "links": [{"title": "Pricing", "url": "https://example.com/pricing"}]}],
"show_powered_by_badge": false,
"theme": null
}- Цвет, который никогда не был установлен, обозначается как
"".colors.darkсодержит цвета темного режима и отсутствует, если в справочном центре нет темной палитры.
- Список, в котором ничего нет, выглядит так:
[].
theme— этоcodeтекущей темы илиnull.
Обновите свой фирменный стиль.
Маршрут соответствует коду 204 No Content. Чтобы подтвердить изменение, перечитайте информацию о бренде.
curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"primary_font": "Inter", "colors": {"primary": "#2563eb"}, "header_links": [{"title": "Docs", "url": "https://example.com/docs"}]}'- Поле, которое вы пропускаете, сохраняет своё значение. Внутри
colorsцвет, который вы пропускаете, также сохраняет своё значение.
- Отправленный вами список заменяет весь сохраненный список, а
[]очищает его.
- Цвета задаются в шестнадцатеричном формате
#rrggbbили"". Сокращенные формы, такие как#fff, отклоняются.
- Отправка логических значений в формате JSON. Значения
0и"false"считываются какtrue, аnullкакfalse.
Безопасные обновления: прочитать, изменить, отправить обратно
Самый безопасный способ обновить фирменную символику — отправить обратно прочитанный текст с внесенными изменениями. Поле, отправленное с его текущим значением, принимается в любом тарифном плане, поэтому этот подход никогда не превысит лимит тарифного плана для полей, которые вы не изменяли.
В двух случаях отправленное сообщение может быть отклонено. Исправьте значение на панели управления или исключите это поле из сообщения:
const url = "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize";
const headers = {
Authorization: `Bearer ${process.env.NOTIONDESK_API_KEY}`,
"nd-version": "2026-10-16",
"Content-Type": "application/json",
};
const branding = await (await fetch(url, { headers })).json();
branding.colors.primary = "#7c3aed";
branding.colors.link = "#7c3aed";
const response = await fetch(url, { method: "PATCH", headers, body: JSON.stringify(branding) });
console.log(response.status);- Сохраненный цвет в сокращенной форме, например,
#fff;
- Сохраненный список, превышающий указанные ниже ограничения.
Поля, которые вы можете изменить
| Область | Поля |
|---|---|
| Цвета | colors с primary, text, link, link_hover, header, header_top, header_text, header_top_text, header_link, header_link_hover, background, footer_background, footer_text, article_card_background, collection_card_background, aside_menu_text, aside_menu_text_hover, aside_menu_background_hover и dark с одинаковыми полями для темного режима |
| Появление | appearance (default: light, dark или system; strict: логическое значение) |
| Шрифты и оформление | primary_font, secondary_font, layout_collection, layout_article (column_1, column_2 или column_3), theme |
| Заголовок | header_variant (hero или bar), headline_size, header_background_type (color, image или gradient), header_gradient_type, header_gradient_angle, header_gradient_colors, header_shape_type, header_links, header_link_translations, homepage_link, homepage_link_translations |
| Поиск | search_bar_length, search_bar_alignment, search_bar_corner_style, search_bar_shadow, search_result_variant, instant_search, segmented_search_results, ai_search_enabled, ai_search_display_mode, ai_search_aside_position |
| Коллекции | collections_style, collection_card_corner_style, collection_section_variant, collection_content_variant, collapsable_sub_categories, collapsable_sub_categories_default_state, show_collection_icons, show_collection_descriptions, show_collection_content, show_collection_authors, show_collection_articles_count |
| Статьи | articles_style, article_card_corner_style, content_tabs_style, article_footer_variant, table_of_contents_position, show_table_of_contents, show_article_icons, show_article_descriptions, show_article_authors, show_related_articles, show_breadcrumb_icon, show_article_publish_date, show_article_page_author |
| Обратная связь | show_article_feedback_form, require_email_for_article_feedback, feedback_reaction_style (emoji или thumbs), feedback_question_label, feedback_comment_mode |
| Боковое меню | aside_menu_expansion_mode, show_aside_menu_article_icons, show_aside_menu_collection_icons |
| Нижний колонтитул | footer_layout (compact, standard или multi_level), footer_shape_type, footer_links, footer_link_translations, footer_text_translations, social_media_links, social_link_translations |
| Кнопка "Контакты" | show_contact_us_button, contact_us_custom_link, contact_us_button_position (header или footer) |
| Значок | show_powered_by_badge |
Ссылки представляют собой объекты с параметрами title и url. Группы ссылок в нижнем колонтитуле представляют собой объекты с параметрами title и списком links. Переводы представляют собой объекты с параметром locale и переведенным значением links, groups или value.
Плановые ограничения
| Поля | Для изменения этих параметров необходима функция планирования. |
|---|---|
show_powered_by_badge | Удалите фирменную символику. См. Инструкцию по удалению значка "Powered by Notiondesk". |
theme, header_shape_type, instant_search, segmented_search_results, ai_search_display_mode, ai_search_aside_position, show_article_publish_date, show_article_page_author, поля обратной связи, поля бокового меню, поля нижнего колонтитула, поля ссылок на социальные сети и поля кнопки «Контакты». | Расширенные возможности настройки |
Изменение одного из этих параметров в тарифном плане без этой функции приводит к ошибке 403 permission_denied, в сообщении указывается название функции, но ничего не отображается.
Без расширенной настройки цвета нижнего колонтитула сохраняют свои сохраненные значения без ошибок. Без включенного чат-бота с искусственным интеллектом значения ai_search_display_mode, ai_search_aside_position и ai_search_enabled: true также сохраняют свои значения.
Ограничения списка
- Каждый список содержит до 100 записей, как и каждый список
linksилиgroupsвнутри него.
- В совокупности все списки содержат до 3000 записей, включая вложенные записи и сохраненные списки, которые не были включены в ваш основной текст.
Кнопка «Контакты» включает форму обратной связи.
В то время как show_contact_us_button заменяется на true в тарифном плане с расширенными возможностями настройки, каждое обновление фирменной символики включает форму обратной связи в центре поддержки, как и сохранение в панели управления. См. раздел «Форма обратной связи» в документе « Обновление настроек центра поддержки с помощью API Notiondesk» .
Выберите тему
Список всегда содержит все темы в одном ответе, в порядке отображения. Чтобы применить одну из них, отправьте ее code как theme:
Для установки темы требуется расширенная настройка. Отправка "theme": null оставляет тему без изменений.
Ошибки
curl "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/themes" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16"{
"object": "list",
"data": [
{
"code": "ocean",
"name": "Ocean",
"description": "A calm, airy theme",
"preview_image_url": "https://example.com/ocean.png",
"layout": "default"
}
],
"has_more": false,
"next_cursor": null
}curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/customize" \
-H "Authorization: Bearer $NOTIONDESK_API_KEY" \
-H "nd-version: 2026-10-16" \
-H "Content-Type: application/json" \
-d '{"theme": "ocean"}'| Статус | Когда | code |
|---|---|---|
| 400 | В тексте сообщения указано поле, доступное только для панели мониторинга, значение не входит в число вариантов выбора поля, цвет не соответствует #rrggbb, обязательное значение — null, список слишком длинный, theme не содержит названия темы, или в тексте сообщения указано неизвестное поле. | validation_error |
| 403 | Ключ не имеет области действия read или admin для обновления. | insufficient_scope |
| 403 | В результате обновления изменяется поле, которое не входит в ваш тарифный план, или же создатель ключа не может изменить этот справочный центр. | permission_denied |
| 404 | Центр поддержки отсутствует в вашем рабочем пространстве. | not_found |
В случае ошибок поля значение указывается, например, colors.primary или footer_links[0].links. См. раздел «Обработка ошибок API Notiondesk, ограничений скорости и повторных попыток» .
Часто задаваемые вопросы
Могу ли я загрузить логотип с помощью API Notiondesk?
Нет. Логотипы, значок сайта и изображения заголовка устанавливаются в панели управления.
Могу ли я изменять пользовательские CSS- или JavaScript-коды с помощью API?
Нет. Пользовательские CSS и JavaScript доступны только на панели управления, и API никогда их не считывает и не изменяет.
Почему при обновлении появляется ошибка 403 по полю, которое я не изменял?
Вы отправили значение, отличающееся от сохраненного, для поля, которое не входит в ваш тарифный план. Сначала ознакомьтесь с фирменной символикой и отправьте сохраненное значение обратно или исключите это поле из плана.
Требуется ли синхронизация при обновлении фирменного стиля?
Нет. Обновление автоматически обновляет весь справочный центр.