Переглянути довідковий центр

Автоматизація Transept за допомогою тригерів вебхуків

Підтримує Vitalii VlasiukCo-founder

Зазвичай робочий процес запускається натисканням кнопки Run. Тригер вебхуку замінює цей спосіб запуску на URL-адресу: спрямуйте на неї будь-яку систему, здатну надсилати HTTP-запити, і процес запускатиметься автоматично.

На цій сторінці

Як перевести робочий процес на тригер вебхуку?

Відкрийте збережений робочий процес у конструкторі та зверніть увагу на картку тригера вгорі — ту, де написано Ви запускаєте його вручну. Це перемикач. Manual — це варіант за замовчуванням: ви самі натискаєте Run. Webhook надає робочому процесу приватну URL-адресу, на яку зовнішня система надсилає POST-запит, тож запуск відбувається автоматично. Тригер належить до збереженого робочого процесу, тому спочатку збережіть його — у незбереженій чернетці опція Webhook залишається неактивною.

Картка тригера: Manual або Webhook.

Як отримати та оновити URL-адресу вебхуку?

Переведіть картку в режим Webhook, налаштуйте параметри запуску (див. нижче) і збережіть зміни. Transept згенерує секретну URL-адресу для цього робочого процесу та покаже її лише один раз — обов’язково скопіюйте її, адже в системі зберігається лише хеш, і побачити повну адресу знову буде неможливо. Секретний ключ міститься в самій URL-адресі, а не в заголовку, оскільки найпростіші сервіси-відправники не можуть налаштовувати заголовки; тому ставтеся до URL-адреси як до пароля — будь-хто, хто її має, зможе запустити процес.

Відкривши картку пізніше, ви побачите маскований префікс (whk_live_…) замість повної URL-адреси, а також кнопку Rotate. Оновлення створює нову URL-адресу та миттєво анулює стару після підтвердження — саме так можна деактивувати посилання, яке було скомпрометоване. Ви також можете вимкнути тригер (off), не видаляючи його, або видалити його зовсім. У картці відображається час останнього запуску.

Активний тригер — маскована URL-адреса, Rotate, час останнього запуску.

Що опрацьовується під час кожного спрацювання

Два параметри визначають, які об’єкти опрацьовує робочий процес під час звернення до URL-адреси:

  • Цільконкретний документ, який ви вкажете (кожен запуск спрямовується на цей документ та його мовну групу), або сторінка Notion, зазначена в даних вхідного запиту (Transept зіставляє її з вашим документом, імпортуючи сторінку, коли бачить її вперше).
  • Мовиусі мовні версії (варіант за замовчуванням; запуск охоплює кожну мову цілі як груповий запуск) або лише один документ.
  • Лише оновлений контентувімкнено за замовчуванням, адже автоматичний запуск має опрацьовувати лише те, що змінилося з минулого разу, а не перекладати весь документ заново при кожному спрацюванні. Див. Запуск лише для зміненого контенту.

Запуск через автоматизацію бази даних Notion

Автоматизація бази даних Notion може активувати тригер за допомогою дії Send webhook: вкажіть у цій дії URL-адресу тригера, і щоразу, коли спрацьовуватиме автоматизація, Transept запускатиме робочий процес для сторінки, яка спричинила запуск. Перед використанням цього методу варто врахувати два нюанси.

По-перше, автоматизації Notion спрацьовують у разі зміни властивості (або створення нової сторінки), а не лише через редагування вмісту — тому саме лише редагування тексту на сторінці може не призвести до запуску. Надійний підхід — використовувати властивість Status, за якою стежитиме автоматизація: змініть її значення (наприклад, на Ready to translate), і саме ця зміна стане сигналом.

По-друге, вебхук Notion лише вказує на сторінку — він ніколи не передає її вміст — тому Transept зчитує сторінку через ваше підключення до Notion, якому потрібно надати доступ до бази даних у самому Notion. Обидва кроки (підключення Notion і надання доступу до бази даних для інтеграції) описані в розділі «Тригери Notion: надання доступу Transept» статті Автоматизація Transept за допомогою API. Якщо пропустити будь-який із них, кожне спрацювання буде відхилено через помилку доступу.

Як запустити тригер через Zapier, n8n або скрипт?

Будь-який інструмент, здатний надіслати запит HTTP POST, може активувати тригер — крок у Zapier чи n8n, завдання CI або команда curl наприкінці збірки. Для цілі конкретний документ вміст тіла не має значення, тому достатньо навіть порожнього POST-запиту; лише для цілі сторінка Notion зчитується тіло, щоб дізнатися, яка саме сторінка змінилася. Заголовок Authorization не потрібен — секретним ключем є вся URL-адреса.

Що відбувається під час спрацювання

За замовчуванням запуск охоплює всі мовні версії, і — якщо параметр «Лише оновлений контент» увімкнено — перекладаються лише ті блоки, оригінал яких змінився з моменту останнього запуску, тож невелике редагування коштує лише кілька блоків, а не весь документ. Запуски, ініційовані в такий спосіб, тарифікуються за кількістю слів так само, як і в редакторі додатка; якщо ж балансу недостатньо для виконання запуску, нічого не надсилається і кошти не списуються.

Крок, налаштований на очікування вашої перевірки, усе одно зупиняється: після спрацювання переклад виконується до цієї межі, а потім призупиняється, і мовна версія з’являється в панелі редактора «Готово до перевірки» для вашого затвердження — автоматизація не оминає встановлені вами етапи перевірки. А коли не вдається зчитати цільову сторінку Notion (зазвичай тому, що доступ до бази даних не було надано інтеграції), на картці тригера з’являється повідомлення про останню помилку «не вдалося зчитати сторінку Notion» із позначкою часу, щоб ви могли бачити, чому спрацювання не дало результату.

Чи може вебхук передавати сам контент?

Так. Встановіть ціль тригера на «тіло запиту — це контент», і все, що ви надішлете через POST-запит на цю URL-адресу, стане документом: необроблений Markdown, HTML або звичайний текст (надсилайте відповідний заголовок Content-Type) або JSON на кшталт {"content": "…", "content_type": "markdown"}. Для кожного тригера виберіть, чи буде кожна доставка створювати новий документ, чи оновлювати один конкретний документ — при оновленні контент зіставляється заново, тому перекладаються лише змінені блоки. Саме так поштові платформи, кроки Zapier/n8n або будь-які скрипти передають шаблони чи статті безпосередньо в робочий процес перекладу без ручного завантаження. Повторні спроби доставки дедуплікуються протягом 24 годин; для точного контролю додайте в JSON external_id (ідентифікатор вашого повідомлення). Розмір тіла запиту — до 10 МБ.

Режим корисного навантаження: тіло запиту стає документом.
Огляд функцій

Досі потрібна допомога? Запитайте Literess у застосунку або напишіть на [email protected].