Автоматизуйте Open Badges за допомогою Zapier, Make та n8n (no-code рецепти)
Запускайте видачу значка після заповнення Typeform, покупки в Stripe або тега в Mailchimp — три робочі no-code рецепти, кожен менш ніж за 10 хвилин.
Nacho founded Badges Ninja to make issuing verifiable digital credentials as simple as a single API call — Open Badge v2.0 badges and certificates, minted, hosted, and verifiable without standing up your own issuer infrastructure.
Якщо ви ведете навчальну програму, платний курс або email-розсилку з рівнями, момент, коли хтось завершує, купує чи кваліфікується, зазвичай уже десь відстежується — відповідь на форму, списання в Stripe, тег у Mailchimp. Значок має видаватися автоматично слідом за цією подією. Рідко так буває, бо «видати посвідчення» — не типова дія в більшості інструментів, а створювати власний webhook-приймач заради одноразової автоматизації — це вже занадто.
Саме для цього й існують Zapier, Make та n8n. Усі три можуть напряму викликати API Badges Ninja — без плагінів, без проміжного сервера, без розгортання коду. Нижче — три робочі рецепти, які можна скопіювати вже сьогодні, а також те, як правильно обробляти API-ключ і повторні спроби після помилок, щоб значки не переставали видаватися непомітно.
Що ви з’єднуєте
Кожен рецепт має однакову структуру: тригер → (опційно) пошук отримувача → HTTP POST на /awards. Ендпоінт /awards — це те, що безпосередньо видає значок отримувачу: ви вказуєте наявний badgeId, і він створює унікальну, верифіковану нагороду з власною URL-адресою перевірки, QR-кодом і PDF-сертифікатом. Якщо ви ще не створили значок, перегляньте швидкий старт з API — вам знадобиться його ID, перш ніж будь-яка з цих автоматизацій зможе працювати.
Автентифікація однакова для всіх трьох платформ: заголовок X-Api-Key із ключем, згенерованим у вашій панелі керування. Платформи автоматизації погано працюють із потоками OAuth для довільних REST API, тож API-ключі тут — правильний вибір: довготривалі, прив’язані до вашого акаунта і відкличні одним клацанням, якщо Zap колись почне поводитися неправильно.
Спочатку створіть API-ключ

У своїй панелі керування відкрийте Settings → API Keys, натисніть Create Key і дайте ключу назву, що відповідає його завданню — zapier-course-completions, а не key1. Це важливіше, ніж здається: якщо через півроку якась автоматизація почне поводитися неправильно, ви захочете відкликати саме той ключ, не зламавши три інші інтеграції, які випадково його ділять.

Ключ показується один раз, повністю, одразу після створення. Скопіюйте його одразу в безпечне сховище облікових даних вашої платформи автоматизації — «Connection» у Zapier, «Connection» у Make або обліковий запис (credential) у n8n — ніколи в звичайне текстове поле всередині самого Zap/сценарію/workflow.
Рецепт 1: Typeform → Badges Ninja (форма завершення когорти)
Сценарій використання: когорта завершує курс і заповнює коротку форму «я це завершив(ла)» (або ви надсилаєте форму як останній крок самостійного треку).
У Zapier:
- Тригер: Typeform — New Entry, обмежений вашою формою завершення.
- Дія: Webhooks by Zapier — POST.
- URL:
https://api.badges.ninja/awards - Заголовки:
X-Api-Key: bws_<your key>,Content-Type: application/json - Дані (мапляться з полів Typeform):
{
"badgeId": "bdg_9f2a1c",
"recipient": {
"name": "{{typeform_name}}",
"email": "{{typeform_email}}"
},
"issuedOn": "2026-08-27"
}
Це весь Zap. Крок фільтра не потрібен, якщо форма спрацьовує лише при реальних завершеннях — якщо це загальна контактна форма, додайте крок Filter by Zapier, який перевіряє приховане поле чи значення відповіді перед тим, як спрацює webhook, щоб не видавати значки зі спаму чи тестових надсилань.
Рецепт 2: Stripe → Badges Ninja (покупка = посвідчення)
Сценарій використання: платний сертифікаційний іспит, преміум-рівень курсу або план членства, де значок — частина того, що люди купують.
У Zapier:
- Тригер: Stripe — New Charge (або New Invoice Payment Succeeded для підписок).
- Фільтр: сума списання точно дорівнює ціні продукту, за яким видається посвідчення — це важливо, якщо ваш акаунт Stripe обробляє кілька продуктів через один webhook.
- Дія: Webhooks by Zapier — POST на
https://api.badges.ninja/awards, ті самі заголовки, що й вище. - Дані: мапте
charge.billing_details.emailіcharge.billing_details.nameуrecipient.email/recipient.name.
Приємна сторона прив’язки видачі до події оплати: це майже природно ідемпотентно. ID списань Stripe унікальні, тож якщо ви побоюєтеся, що Zap спрацює повторно через дубльований webhook, додайте крок Storage by Zapier, який перевіряє, чи цей ID списання вже було оброблено, перш ніж викликати /awards.
Рецепт 3: Тег Mailchimp → Badges Ninja
Сценарій використання: ви вручну тегуєте підписників (або це робить інша автоматизація), коли вони досягають етапу — відвідали вебінар, завершили drip-послідовність, залучили трьох людей — і хочете, щоб цей тег запускав видачу значка без вашого власного втручання в API.
У Zapier:
- Тригер: Mailchimp — New Tag Added to Subscriber, відфільтрований до конкретного тега (напр.
webinar-attended). - Дія: Webhooks by Zapier — POST на
https://api.badges.ninja/awards. - Дані: мапте
subscriber.email_addressтаsubscriber.merge_fields.FNAME+LNAMEу поля отримувача.
Цей патерн популярний для програм визнання — sales-SPIFF, етапи спільноти, відвідування подій — де хтось у команді вже має звичку тегувати контакти, а ви просто хочете, щоб значок безкоштовно випливав із цієї звички.
Обробка помилок і повторних спроб
Платформи автоматизації не є транзакційними щодо даних ваших значків, тож вибудуйте таку саму дисципліну, якої б ви очікували від справжньої інтеграції:
- Перевіряйте код відповіді.
200означає, що нагороду створено;4xxзазвичай означає неправильнийbadgeIdабо некоректний email — це помилка конфігурації в Zap, а не те, що варто сліпо повторювати.5xxможна безпечно повторити. - Zapier: невдалі запуски Zap потрапляють у Zap History з повним запитом і відповіддю. Увімкніть Auto-Replay для тимчасових збоїв, але також налаштуйте сповіщення на email/Slack при повторюваних збоях, щоб тихо зламаний Zap не означав три місяці відсутніх значків.
- Make: сценарії підтримують нативний маршрут Error Handler — прикріпіть директиву Resume або Rollback до HTTP-модуля і спрямовуйте стійкі збої до модуля сповіщень, а не просто відкидайте їх.
- n8n: оскільки це self-hosted або хмарне рішення з детальнішим контролем, обгорніть вузол HTTP Request у workflow Error Trigger і розгляньте можливість запису невдалих payload у легке резервне сховище (Airtable, Google Sheets), яке можна відтворити вручну.
У всіх трьох випадках уникайте пастки «спрацювало зелено — значить, все ок». Відповідь, що виглядає як 200 від неправильно налаштованого кроку webhook (неправильний URL, відсутній заголовок), усе одно може завершитися невдачею на боці Badges Ninja. Вибірково перевіряйте список нагород у панелі керування щотижня, принаймні протягом першого місяця будь-якої нової автоматизації.
Еквівалент у Make.com
Візуальний конструктор сценаріїв Make майже напряму відтворює наведені вище кроки Zapier:
- Модуль тригера — модуль спостереження Typeform / Stripe / Mailchimp, так само як тригер у Zapier.
- HTTP → Make a Request module — метод
POST, URLhttps://api.badges.ninja/awards, заголовки задані в таблиці Headers (X-Api-Key,Content-Type: application/json), тіло як сирий JSON зі змінними, змапленими з тригера. - Опційний Filter між модулями для перевірки суми Stripe або перевірки «реального завершення» в Typeform.
Перевага Make тут — у наочності: редактор сценарію показує фактичний JSON-payload на кожному кроці до того, як ви його увімкнете, що робить налагодження неправильного мапування поля значно швидшим, ніж більш лінійний, покроковий тестовий вигляд Zapier.
Еквівалент у n8n
n8n — найкращий вибір, якщо ви хочете тримати це на власному хостингу або вже автоматизуєте там інші частини свого стеку:
- Вузол тригера — Typeform Trigger / Stripe Trigger / Mailchimp Trigger (усі вбудовані вузли).
- Вузол HTTP Request — метод
POST, URLhttps://api.badges.ninja/awards, автентифікація встановлена як Header Auth із вашимX-Api-Key, збереженим як обліковий запис n8n (не захардкоджений у вузлі), тіло JSON побудоване з виразу, що посилається на вихідні дані вузла тригера. - Вузол IF (опційно) — та сама перевірка завершення/суми, що й вище, розташована перед вузлом HTTP Request.
Оскільки облікові дані n8n зашифровані та придатні для повторного використання в різних workflow, це чистіший варіант, якщо ви плануєте більш ніж одну автоматизацію Badges Ninja — ви налаштовуєте обліковий запис один раз і повторно використовуєте його в кожному workflow, який має видавати значки.
Чому загальний крок webhook, а не нативний застосунок
Zapier, Make та n8n мають маркетплейси застосунків, і природний інстинкт — шукати застосунок «Badges Ninja», перш ніж звертатися до загального HTTP/webhook-модуля. Пропустіть цей пошук — для настільки невеликого REST API (створити емітента, створити значок, створити нагороду — готово) загальний крок webhook виводить вас у продакшн за десять хвилин без жодної залежності від стороннього мейнтейнера застосунку, що встигає за змінами API. Спеціалізований застосунок додає рівень абстракції, який вам не потрібен: ви все одно заповнюватимете ті самі поля badgeId, recipient.email та recipient.name, просто через форму замість JSON-тіла. Довідник API достатньо короткий, щоб прочитати за п’ять хвилин, і щойно ви це зробите, підхід із прямим HTTP насправді менш крихкий — між зміною в API Badges Ninja та відновленням роботи вашої автоматизації немає жодного циклу схвалення в app store.
Протестуйте, перш ніж запускати наживо
Кожна платформа вище дає спосіб виконати одне тестове виконання, не чекаючи реальної події тригера:
- Zapier — використайте «Test» на кроці тригера, щоб отримати зразок запису, а потім «Test» на дії webhook, щоб надіслати рівно один реальний запит. Перевірте, що нагорода з’явилася у вашій панелі керування, перш ніж вмикати Zap.
- Make — запустіть сценарій вручну один раз (кнопка «Run once») зі зразковим набором даних і перевірте бульбашку виводу HTTP-модуля, щоб побачити фактичне тіло відповіді.
- n8n — використайте «Execute Node» на вузлі HTTP Request із тестовими вхідними даними, що дає змогу побачити запит і відповідь безпосередньо в редакторі.
Дві речі варто перевірити під час цього першого тестового запуску: чи справді захардкоджений badgeId належить тому значку, який ви маєте на увазі (застарілий ID із дубльованого Zap — поширена помилка), і чи поле email отримувача підтягує реальну адресу, а не заповнювач на кшталт {{email}}, що лишився нерозв’язаним через помилку в мапуванні. Обидві помилки непомітні в індикаторі «успіху» платформи автоматизації — виклик HTTP усе одно поверне 200 в обох випадках, — тож єдина надійна перевірка — відкрити нагороду у своїй панелі керування й переконатися, що отримувач саме той, кого ви очікуєте.
Уникнення дубльованих значків
Кожне з наведених вище джерел тригерів у реальних умовах може спрацювати більше одного разу для тієї самої події — Stripe повторює webhook-и при таймауті, Typeform може надіслати двічі при повільному з’єднанні, автоматизації Mailchimp можуть спрацювати повторно, якщо тег видалили й додали знову. Якщо видача значків не ідемпотентна, це перетворюється на отримувачів, які отримують те саме посвідчення двічі, що виглядає недбало і генерує листи в підтримку.
Найчистіший захист — крок «пошук перед створенням»: перед POST на /awards додайте дію Search («Find Award» у Zapier через GET-запит, або еквівалент HTTP GET у Make/n8n) щодо ваших власних записів про нагороди — легкий Google Sheet чи журнал в Airtable, куди той самий Zap записує одразу після успішної нагороди, чудово підходить для цього, якщо ви не хочете запитувати API. Якщо запис для цієї комбінації отримувач + значок уже існує, розгалужуйте на no-op замість повторної видачі. Це доповнення на п’ять хвилин, і воно є різницею між автоматизацією, якій ви довіряєте без нагляду, і тією, за якою доводиться постійно наглядати.
Коли no-code недостатньо
Ці рецепти добре покривають окремі одиничні тригери. Щойно ви починаєте видавати сотні значків з одного CSV-експорту — когорта, що випускається, список учасників конференції, масове поновлення CE-кредитів — пропустіть платформу автоматизації й скористайтеся масовим завантаженням значків напряму: воно призупиняється і відновлюється посередині пакету й переживає закриту вкладку браузера, чого no-code webhook-цикли не витримують так елегантно при великих обсягах.
Готові видати своє перше верифіковане посвідчення? Почніть безкоштовно на badges.ninja — візуальний дизайнер, публічна сторінка перевірки, PDF-сертифікат, вивід у форматі Open Badge v2.0. Без кредитної картки.
Як створено цю статтю
Деякі публікації в цьому блозі створюються за допомогою ШІ-асистента, а потім перевіряються, звіряються з фактами й редагуються командою Badges Ninja перед публікацією. Кожен приклад коду та ціна звіряються з актуальним продуктом. Докладніше про наш редакційний процес і процес роботи з ШІ читайте на сторінці редакційного процесу .

Про автора
Nacho Coll
Founder & Engineer at Badges Ninja
Nacho founded Badges Ninja to make issuing verifiable digital credentials as simple as a single API call — Open Badge v2.0 badges and certificates, minted, hosted, and verifiable without standing up your own issuer infrastructure. Writes about the Open Badges spec, credential verification, and running a credentialing platform serverless on AWS, from the operator side of the wire.
Більше від Nacho Coll
- Заміна нативних Open Badges Moodle на Badges Ninja (кращий редактор дизайну, той самий API)31 серп. 2026 р. · 7хв читання
- Як додати кнопку LinkedIn «Додати до профілю» до ваших Open Badges20 серп. 2026 р. · 9хв читання
- Open Badges проти PDF-сертифікатів: що підходить для вашої програми в 2026 році?10 серп. 2026 р. · 6хв читання

