Управление языками и автоматическим переводом с помощью API Notiondesk

Добавляйте или удаляйте языки справочного центра, устанавливайте язык по умолчанию и включайте или выключайте автоматический перевод с помощью ИИ через REST API.

2 мин чтения

API Notiondesk позволяет изменять языки, используемые в вашем справочном центре, выбирать язык по умолчанию, а также включать или отключать автоматический перевод с помощью ИИ. Используйте его для внедрения нового языка в нескольких справочных центрах или для синхронизации языковых настроек с вашей собственной конфигурацией.

Метод Путь Объем Делает
PATCH/sites/{site_id}/settings/supported-languageswriteЗадает языки, которые будут использоваться, и язык по умолчанию.
PATCH/sites/{site_id}/settings/auto-translatewriteВключает или выключает автоматический перевод и задает исходный язык.

Оба маршрута отвечают 204 No Content. Новое состояние считывается с помощью GET /sites/{site_id}, как описано в разделе «Чтение справочных центров с помощью API Notiondesk» .

Оба варианта позволяют начать платный перевод. Добавление языка при включенном автоматическом переводе переводит ваш контент на этот язык, а включение автоматического перевода запускает перевод вашего справочного центра. В обоих случаях плата взимается за символы перевода. Для начала ознакомьтесь с информацией о ценах и оплате автоматического перевода с помощью ИИ .

Укажите языки, на которых работает ваш справочный центр.

curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/supported-languages" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Content-Type: application/json" \
  -d '{"locales": ["en", "fr", "de"], "default_locale": "en"}'
Поле Тип Примечания Прочитайте в обратном порядке
localesсписок строк Как минимум один язык должен соответствовать одному из языков, поддерживаемых справочным центром. Каждый язык должен быть одним из языков, включенных в список available_locales справочного центра.supported_locales
default_localeнить Язык, к которому возвращаются читатели. Должен быть на результирующих языках и не может быть nulldefault_locale

Поле, которое вы не указали, сохраняет своё текущее значение.

locales Заменяет весь список. Язык, который вы не упомянули, будет удален из справочного центра вместе с его настройками, такими как заголовок страницы и описание. Чтобы добавить язык, сначала прочтите список, а затем отправьте полный список с добавленным новым языком.supported_locales

Аналогичное дополнение в JavaScript, с сохранением существующих языков:

Плановые ограничения

Ваш тарифный план определяет, сколько языков может обслуживать центр поддержки. Список, превышающий это количество, отвечает на 403 вопроса.

Когда ваш справочный центр хранит язык, который не отображается в его supported_locales, каждый запрос к этому маршруту получает ответ 403 permission_denied, независимо от того, что вы отправляете. Это происходит, когда:

const siteId = "c74781f6-1aea-4e17-ab23-bbb8b4d174b6";
const headers = {
  Authorization: `Bearer ${process.env.NOTIONDESK_API_KEY}`,
  "nd-version": "2026-10-16",
  "Content-Type": "application/json",
};

const site = await (await fetch(`https://api.notiondesk.so/sites/${siteId}`, { headers })).json();
const locales = [...new Set([...site.supported_locales, "de"])];

await fetch(`https://api.notiondesk.so/sites/${siteId}/settings/supported-languages`, {
  method: "PATCH",
  headers,
  body: JSON.stringify({ locales }),
});
  • В справочном центре доступно больше языков, чем позволяет тарифный план, например, после понижения уровня подписки;
  • Сохраненный язык отключен;
  • Язык по умолчанию не имеет сохраненных настроек и занимает одно из мест, указанных в тарифном плане.

Измените язык справочного центра на панели управления. API отклоняет изменение, чтобы защитить языки, которые он не может вам показать: запрос, изменяющий только язык по умолчанию, в противном случае удалит их вместе с их настройками. См. раздел «Поддержка нескольких языков в вашем справочном центре» .

Включить или выключить автоматический перевод

curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/auto-translate" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Content-Type: application/json" \
  -d '{"auto_translate_enabled": true, "auto_translate_source_locale": "en"}'
Поле Тип Примечания
auto_translate_enabledлогический Будет ли происходить автоматическое создание отсутствующих переводов?
auto_translate_source_localeстрока или null Язык, с которого считывается автоматический перевод. Должен быть одним из языков, указанных в списке supported_locales справочного центра. null очищает его.

Отправьте логические значения JSON true или false. Значения 0 и "false" считываются как true, что включает платный перевод.

Включение автоматического перевода запускает перевод вашего справочного центра. При первом включении также активируется оплата за перевод для вашего рабочего пространства. Ваш тарифный план должен включать автоматический перевод. Узнайте, как это работает, в разделе «Начало работы с автоматическим переводом с использованием ИИ» .

Что касается перевода счетов, пока он включен?

Действие Что переведено
Добавление языка Содержание справочного центра переведено на новый язык.
Любая синхронизация, запланированная или инициированная. Содержимое, измененное в результате синхронизации на исходном языке, а также все, что еще не переведено.
Синхронизация статьи с файлами, загруженными в Notion. Все автоматически переведенные языки этой статьи, даже при неизменном тексте.

См. раздел «Синхронизация Notion с API Notiondesk» для получения информации о том, как происходит преобразование данных при синхронизации.

Ошибки

Статус Когдаcode
400 Поле locales пустое или содержит недоступный язык, поле default_locale соответствует полю null или отсутствует в результирующих языках, поле auto_translate_source_locale не входит в число языков справочного центра, или в тексте содержится неизвестное поле.validation_error
403 Ключ не имеет области видимости writeinsufficient_scope
403 Слишком много языков для вашего тарифного плана, сохраненный язык скрыт (см. Ограничения тарифных планов ), ваш тарифный план не включает автоматический перевод, или создатель ключа не может изменить этот справочный центр.permission_denied
404 Центр поддержки отсутствует в вашем рабочем пространстве.not_found

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

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

Как добавить язык, не удаляя остальные?

Прочитайте информацию в справочном центре supported_locales, добавьте новый язык и отправьте весь список как locales. Маршрут заменит список тем, что вы отправите.

Какие языковые коды я могу использовать?

Те, что находятся в справочном центре available_locales, возвращенные GET /sites/{site_id}.

Можно ли перевести отдельную статью с помощью API?

Нет. Автоматический перевод выполняется для всего справочного центра, пока он включен, и каждая синхронизация переводит внесенные изменения. API включает или выключает его и устанавливает исходный язык.

При удалении языка в Notion удаляются соответствующие статьи?

Нет. API никогда не изменяет содержимое вашего Notion. Удаление языка приводит к тому, что справочный центр перестает его предоставлять и удаляет настройки справочного центра для этого языка.

Что дальше?

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

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

Still need help? Ask us