Trigger Notion синхронизируется с API Notiondesk

Синхронизируйте свой справочный центр Notiondesk из Notion через API: запускайте синхронизацию сайта, коллекции или статьи, а также включайте или выключайте запланированную синхронизацию.

2 мин чтения

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

Метод Путь Объем Делает
POST/sites/{site_id}/syncsyncСинхронизирует весь справочный центр.
POST/sites/{site_id}/categories/{category_id}/syncsyncСинхронизирует одну коллекцию и содержащиеся в ней статьи.
POST/sites/{site_id}/articles/{article_id}/syncsyncСинхронизирует одну статью
PATCH/sites/{site_id}/settings/auto-syncsyncВключает или выключает запланированную синхронизацию

Впервые сталкиваетесь с синхронизацией? Сначала прочтите инструкцию по синхронизации справочного центра с Notion .

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

Синхронизировать весь справочный центр

Маршрут Notiondesk повторно считывает каждую статью и коллекцию из Notion и публикует изменения. Маршрут отвечает 204 No Content, как только синхронизация ставится в очередь, и синхронизация выполняется в фоновом режиме.

Одновременно выполняется только одна синхронизация сайта. Пока синхронизация справочного центра находится в очереди или выполняется (независимо от того, была ли она запланирована, запущена с панели управления или через API), другой триггер выдает ошибку 409 conflict_error. Подождите несколько минут и запустите триггер снова.

Контент, не изменившийся с момента последней синхронизации, не переводится повторно.

Синхронизировать одну коллекцию

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

Синхронизировать одну статью

Используйте id из списка статей .

curl -i -X POST "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/sync" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Idempotency-Key: 9b2e4c1a-sync-after-notion-edit"
curl -i -X POST "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/categories/1761493027/sync" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Idempotency-Key: 2c8e5b7d-sync-billing"
curl -i -X POST "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/articles/1761580412/sync" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Idempotency-Key: 4d7a0f3e-sync-getting-started"
Синхронизация статьи повторно импортирует файлы статьи, размещенные в Notion: изображения, видео, файлы, аудио, PDF-файлы и встроенные элементы, загруженные в Notion. Для статьи, содержащей любой из этих элементов, каждый вызов функции публикует новую версию, и, пока включен автоматический перевод, переводит и оплачивает каждый автоматически переведенный язык заново, даже если текст не изменился. Notiondesk хранит 50 версий для каждого перевода, поэтому повторные вызовы вытесняют старые версии из истории восстановления.

Чем синхронизация коллекций и статей отличается от синхронизации всего сайта?

Синхронизация сайта Синхронизация коллекции или статьи
Читает из Notion Каждая статья и подборка Один сборник и его статьи или одна статья
В это время выполняется еще одна синхронизация того же элемента. Ответы 409 __СОХРАНЕНО_45__ Поставляется в очередь еще одна синхронизация. Ответ на conflict_error так и не приходит.
Ограничено Синхронизация по одной за раз Ваш лимит записи по ключу составляет 20 запросов в минуту.

Каждая завершенная синхронизация обновляет весь справочный центр. Запускайте синхронизацию один раз после каждого редактирования в Notion, а не по таймеру. Для регулярных обновлений используйте запланированную синхронизацию.

Подтвердите синхронизацию

Триггер синхронизации отвечает 204, когда синхронизация поставлена ​​в очередь, а не когда она завершена. Синхронизации, запущенные через API, не отображаются в статусе синхронизации , который содержит только список запланированных запусков.

Чтобы подтвердить синхронизацию, прочтите опубликованный контент:

  1. Запустите синхронизацию и запишите время.
  1. Читайте отредактированную статью с помощью GET /sites/{site_id}/articles/{article_id} каждые 30 секунд.
  1. Остановитесь, когда last_updated станет позже указанного вами времени или когда text покажет ваши изменения.
  1. Если sync_failed равно true, то sync_error_code объясняет причину. Исправьте статью в Notion и выполните повторную синхронизацию.

Включить или выключить запланированную синхронизацию

curl -i -X PATCH "https://api.notiondesk.so/sites/c74781f6-1aea-4e17-ab23-bbb8b4d174b6/settings/auto-sync" \
  -H "Authorization: Bearer $NOTIONDESK_API_KEY" \
  -H "nd-version: 2026-10-16" \
  -H "Content-Type: application/json" \
  -d '{"auto_sync_enabled": true}'
Поле Тип Примечания
auto_sync_enabledлогический Синхронизируется ли Notiondesk из Notion по расписанию.

Маршрут отвечает 204 No Content. Ознакомьтесь с новым состоянием в auto_sync_enabled справочного центра и расписанием в его статусе синхронизации.

  • Отправьте логические значения JSON true или false. Значения 0 и "false" считываются как true.
  • Частоту синхронизации нельзя изменить через API: отправка auto_sync_frequency приводит к ответу 400 validation_error. Измените её на панели управления.
  • Ваш тарифный план должен включать запланированную синхронизацию.
  • Включение запланированной синхронизации позволяет запускать платный перевод в автоматическом режиме, даже когда автоматический перевод включен.

Для этого маршрута требуется область видимости sync, а не write, поскольку именно она определяет, когда запускаются автоматические синхронизации.

Ошибки

Статус Когдаcode
400 Только автоматическая синхронизация: в теле документа содержится неизвестное поле, в том числе auto_sync_frequencyvalidation_error
403 Ключ не имеет области видимости syncinsufficient_scope
403 Центр поддержки отключен, ваш тарифный план не включает запланированную синхронизацию, или создатель ключа не может синхронизировать этот центр поддержки.permission_denied
404 Центр поддержки, подборка статей или сама статья отсутствуют в вашем рабочем пространстве.not_found
409 Только синхронизация сайта: синхронизация справочного центра уже поставлена ​​в очередь или выполняется.conflict_error
409 Запрос с тем же номером Idempotency-Key все еще обрабатывается.request_in_progress

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

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

Безопасно ли повторять запуск синхронизации?

Да, с Idempotency-Key. Повторная попытка с тем же ключом отвечает 204 с X-Idempotent-Replay: true и ничего не ставит в очередь, даже пока выполняется первая синхронизация.

Как узнать, когда синхронизация завершилась?

Читайте синхронизированную статью или коллекцию до тех пор, пока last_updated не станет позже, чем ваш триггер, или пока text не отобразит ваше изменение. Не полагайтесь только на sync_in_progress: он может оставаться false в течение нескольких секунд после триггера, прежде чем начнется синхронизация, поставленная в очередь. Синхронизация, запускаемая через API, не отображается в статусе синхронизации.

Следует ли синхронизировать одну статью или весь справочный центр?

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

Можно ли синхронизировать данные из GitHub Actions?

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

Что дальше?

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

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

Still need help? Ask us