I-automate ang Open Badges gamit ang Zapier, Make, at n8n (No-Code na mga Recipe)
I-trigger ang pag-issue ng badge mula sa pagkumpleto ng Typeform, pagbili sa Stripe, o Mailchimp tag — tatlong gumaganang no-code recipe na tig-10 minuto lang bawat isa.
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.
Kung nagpapatakbo ka ng training program, paid course, o email list na may tiers, kadalasan naka-track na kung saan ang sandaling may nakumpleto, bumili, o naging qualified — form response, Stripe charge, Mailchimp tag. Dapat awtomatikong sumusunod ang badge mula sa event na iyon. Bihira itong mangyari dahil ang “mag-issue ng credential” ay hindi native na action sa karamihan ng tools, at overkill ang pagbuo ng custom webhook receiver para sa one-off na automation.
Ito mismo ang dahilan kung bakit meron ang Zapier, Make, at n8n. Puwedeng tumawag ang tatlo diretso sa Badges Ninja API — walang plugin, walang middleware server, walang code deployment. Nasa ibaba ang tatlong gumaganang recipe na puwede mong kopyahin ngayon, kasama ang API key handling at error-retry behavior na kailangan mong ayusin para hindi tahimik na mabigo mag-issue ang mga badge.
Ano ang ikakabit mo
Sinusunod ng bawat recipe ang parehong shape: trigger → (optional) recipient lookup → HTTP POST papuntang /awards. Ang /awards endpoint ang talagang nag-i-issue ng badge sa recipient — itinuturo mo ito sa isang existing na badgeId at gagawa ito ng unique, verifiable na award na may sariling verification URL, QR code, at PDF certificate. Tingnan ang API quickstart kung wala ka pang nagawang badge; kakailanganin mo ang ID nito bago makatakbo ang alinman sa mga automation na ito.
Pareho ang authentication para sa tatlong platform: isang X-Api-Key header na may dalang key na na-generate mula sa dashboard mo. Hindi maayos hawakan ng mga automation platform ang OAuth flows para sa kung anu-anong REST API, kaya tama ang API keys dito — long-lived, naka-scope sa account mo, at puwedeng i-revoke sa isang click kung magkamali ang isang Zap.
I-create muna ang API key

Mula sa dashboard mo, buksan ang Settings → API Keys, i-click ang Create Key, at bigyan ito ng pangalang bagay sa job nito — zapier-course-completions, hindi key1. Mas mahalaga ang naming na ito kaysa sa tunog nito: kung magkaproblema ang isang automation pagkalipas ng anim na buwan, gusto mong i-revoke yung key na iyon nang hindi sinisira ang tatlong ibang integration na nagkataong may share dito.

Ipapakita ang key nang isang beses lang, buo, agad pagkatapos ma-create. Kopyahin agad ito sa secure credential store ng automation platform mo — ang “Connection” ng Zapier, “Connection” ng Make, o isang n8n credential — huwag kailanman ilagay sa plain-text field sa loob mismo ng Zap/scenario/workflow.
Recipe 1: Typeform → Badges Ninja (cohort completion form)
Use case: nakumpleto ng isang cohort ang isang course at pinunan ang maikling “natapos ko na ito” na form (o nagpapadala ka ng form bilang huling step ng self-paced na track).
Sa Zapier:
- Trigger: Typeform — New Entry, naka-scope sa completion form mo.
- Action: Webhooks by Zapier — POST.
- URL:
https://api.badges.ninja/awards - Headers:
X-Api-Key: bws_<key mo>,Content-Type: application/json - Data (naka-map mula sa Typeform fields):
{
"badgeId": "bdg_9f2a1c",
"recipient": {
"name": "{{typeform_name}}",
"email": "{{typeform_email}}"
},
"issuedOn": "2026-08-27"
}
Iyan na ang buong Zap. Hindi na kailangan ng filter step kung nag-fifire lang ang form sa totoong completions — kung general contact form ito, magdagdag ng Filter by Zapier step na nagche-check ng hidden field o answer value bago mag-fire ang webhook, para hindi ka mag-issue ng badges mula sa spam o test submissions.
Recipe 2: Stripe → Badges Ninja (pagbili = credential)
Use case: paid certification exam, premium course tier, o membership plan kung saan bahagi ng binibili ng mga tao ang badge.
Sa Zapier:
- Trigger: Stripe — New Charge (o New Invoice Payment Succeeded para sa subscriptions).
- Filter: pareho ang charge amount sa eksaktong presyo ng credentialed product — importante ito kung maraming products na hawak ang Stripe account mo sa isang webhook.
- Action: Webhooks by Zapier — POST papuntang
https://api.badges.ninja/awards, parehong headers gaya sa itaas. - Data: i-map ang
charge.billing_details.emailatcharge.billing_details.namepapunta sarecipient.email/recipient.name.
Ang maganda sa pag-tie ng issuance sa payment event: naturally idempotent-adjacent ito. Unique ang Stripe charge IDs, kaya kung nag-aalala ka na mag-re-fire ulit ang Zap sa retried webhook, magdagdag ng Storage by Zapier step na nagche-check kung na-process mo na yung charge ID bago tumawag sa /awards.
Recipe 3: Mailchimp tag → Badges Ninja
Use case: nagta-tag ka ng subscribers manually (o sa pamamagitan ng ibang automation) kapag umabot sila sa isang milestone — dumalo sa webinar, natapos ang drip sequence, nag-refer ng tatlong tao — at gusto mong mag-trigger ng badge ang tag na iyon nang hindi mo na kailangang galawin ang API mismo.
Sa Zapier:
- Trigger: Mailchimp — New Tag Added to Subscriber, naka-filter sa specific tag (hal.
webinar-attended). - Action: Webhooks by Zapier — POST papuntang
https://api.badges.ninja/awards. - Data: i-map ang
subscriber.email_addressatsubscriber.merge_fields.FNAME+LNAMEpapunta sa recipient fields.
Popular ang pattern na ito para sa recognition programs — sales SPIFFs, community milestones, event attendance — kung saan may nakasanayan na ang isang tao sa team na mag-tag ng contacts, at gusto mo lang na lumabas ang badge mula sa habit na iyon nang libre.
Paghawak ng errors at retries
Hindi transactional ang mga automation platform sa badge data mo, kaya i-build in ang parehong discipline na gusto mo mula sa totoong integration:
- I-check ang response code. Ibig sabihin ng
200, nagawa ang award; ibig sabihin naman ng4xxna may masamangbadgeIdo malformed na email — configuration bug iyan sa Zap, hindi bagay na dapat i-retry nang bulag-bulagan. Safe i-retry ang5xx. - Zapier: napupunta ang failed Zap runs sa Zap History kasama ang buong request/response. I-on ang Auto-Replay para sa transient failures, pero mag-set up ng email/Slack alert para sa paulit-ulit na failures para hindi mangahulugan ng tatlong buwang nawawalang badges ang tahimik na sirang Zap.
- Make: may native Error Handler route ang scenarios — mag-attach ng Resume o Rollback directive sa HTTP module, at i-route ang persistent failures papunta sa notification module sa halip na basta itapon lang.
- n8n: dahil self-hosted o cloud ito na may mas granular na control, i-wrap ang HTTP Request node sa Error Trigger workflow, at isaalang-alang ang pagsulat ng failed payloads sa lightweight fallback store (Airtable, Google Sheets) na puwede mong i-replay manually.
Sa lahat ng tatlo, iwasan ang bitag ng “tumakbo nang green kaya gumana.” Ang response na mukhang 200 mula sa maling-configured na webhook step (maling URL, missing header) ay puwede pa ring mabigo sa side ng Badges Ninja. Mag-spot-check sa award list ng dashboard linggo-linggo sa unang buwan ng bagong automation.
Ang Make.com equivalent
Halos direktang tumutugma ang visual scenario builder ng Make sa mga Zapier step sa itaas:
- Trigger module — Typeform / Stripe / Mailchimp watch module, kapareho ng Zapier trigger.
- HTTP → Make a Request module — Method
POST, URLhttps://api.badges.ninja/awards, headers na naka-set sa Headers table (X-Api-Key,Content-Type: application/json), body bilang raw JSON na may mapped variables mula sa trigger. - Optional na Filter sa pagitan ng modules para sa Stripe amount check o “totoong completion” guard sa Typeform.
Ang advantage ng Make dito ay visibility — ipinapakita sa iyo ng scenario editor ang aktwal na JSON payload sa bawat step bago mo i-on ito, kaya mas mabilis mag-debug ng maling field mapping kumpara sa mas linear na step-by-step test view ng Zapier.
Ang n8n equivalent
Ang n8n ang pinakamainam kung gusto mong self-hosted ito, o kung nag-a-automate ka na ng ibang parte ng stack mo dito.
- Trigger node — Typeform Trigger / Stripe Trigger / Mailchimp Trigger (lahat built-in na nodes).
- HTTP Request node — Method
POST, URLhttps://api.badges.ninja/awards, authentication naka-set sa Header Auth na naka-store angX-Api-Keymo bilang n8n credential (hindi hardcoded sa node), JSON body na binuo mula sa expression na tumutukoy sa output ng trigger node. - IF node (optional) — parehong completion/amount guard gaya sa itaas, nakalagay bago ang HTTP Request node.
Dahil encrypted at reusable across workflows ang n8n credentials, ito ang mas malinis na option kung mag-pa-plano ka ng higit sa isang Badges Ninja automation — i-set up ang credential nang isang beses, i-reuse ito sa bawat workflow na kailangang mag-issue ng badges.
Bakit generic webhook step sa halip na native app
May app marketplaces ang Zapier, Make, at n8n, at ang instinct ay maghanap ng “Badges Ninja” app bago kumapit sa generic HTTP/webhook module. Laktawan ang paghahanap na iyon — para sa REST API na ganito kaliit (gumawa ng issuer, gumawa ng badge, gumawa ng award, tapos), makakapag-live ka sa loob ng sampung minuto gamit ang generic webhook step nang walang dependency sa third-party app maintainer na dapat tumapat sa mga API changes. Nagdadagdag ang dedicated app ng abstraction layer na hindi mo naman kailangan: puno-puno mo pa rin yung parehong badgeId, recipient.email, at recipient.name fields, sa pamamagitan lang ng form sa halip na JSON body. Ang API reference ay maikli lang para mabasa sa loob ng limang minuto, at kapag nagawa mo na iyon, ang raw HTTP approach ay talagang mas hindi delikado — walang app-store approval cycle na nakaharang sa pagitan ng pagbabago sa Badges Ninja API at pagganang muli ng automation mo.
Mag-test bago i-live
Bawat platform sa itaas ay nagbibigay sa iyo ng paraan para magpatakbo ng iisang test execution nang hindi na kailangang maghintay ng totoong trigger event:
- Zapier — gamitin ang “Test” sa trigger step para kumuha ng sample record, tapos “Test” naman sa webhook action para mag-fire ng eksaktong isang totoong request. I-check kung lumitaw ang award sa dashboard mo bago i-on ang Zap.
- Make — patakbuhin ang scenario nang manual isang beses (“Run once” button) gamit ang sample bundle, at siyasatin ang output bubble ng HTTP module para sa aktwal na response body.
- n8n — gamitin ang “Execute Node” sa HTTP Request node gamit ang test input data, na nagpapahintulot sa iyong makita ang request at response nang diretso sa editor.
May dalawang bagay na worth i-check sa unang test run na iyon: na ang badgeId na hinardcode mo ay talagang kabilang sa badge na inaakala mong kinabibilangan nito (karaniwang mistake ang stale ID mula sa duplicated Zap), at na ang recipient email field ay kumukuha ng totoong address at hindi placeholder gaya ng {{email}} na naiwang unresolved dahil sa mapping typo. Parehong invisible ang dalawang mistake sa “success” indicator ng automation platform — nagbabalik pa rin ng 200 ang HTTP call kahit ano pa mangyari — kaya ang tanging maaasahang check ay ang pagbukas ng award sa dashboard mo at pagkumpirma na yung recipient ay siya talaga ang inaasahan mo.
Pag-iwas sa duplicate badges
Bawat trigger source sa itaas ay puwedeng, sa totoong sitwasyon, mag-fire nang higit sa isang beses para sa parehong event — nag-re-retry ang Stripe ng webhooks pag nag-timeout, puwedeng mag-double-submit ang Typeform sa mabagal na connection, puwedeng mag-re-trigger ang Mailchimp automations kung tinanggal at idinagdag ulit ang isang tag. Kung hindi idempotent ang badge issuance mo, magiging ganito ang mangyayari: makakatanggap ang mga recipient ng parehong credential nang dalawang beses, na mukhang pabaya at gumagawa ng support email.
Ang pinakamalinis na guard ay isang lookup-before-create step: bago ang /awards POST, magdagdag ng Search action (“Find Award” ng Zapier gamit ang GET request, o ang katumbas na Make/n8n HTTP GET) laban sa sarili mong award records — gumagana rin para dito ang isang lightweight Google Sheet o Airtable log na sinusulatan ng parehong Zap agad pagkatapos ng successful award, kung ayaw mong i-query ang API para dito. Kung may existing na record na para sa recipient + badge combination na iyon, mag-branch papunta sa no-op sa halip na mag-issue ulit. Limang-minutong dagdag lang ito, at ito ang pagkakaiba sa pagitan ng automation na pinagkakatiwalaan mo nang walang bantay at isa na kailangan mong bantayan.
Kapag hindi na sapat ang no-code
Mahusay na sinasaklaw ng mga recipe na ito ang single-event triggers. Sa sandaling mag-i-issue ka na ng daan-daang badges mula sa iisang CSV export — isang cohort na nagta-graduate, listahan ng conference attendees, bulk CE-credit renewal — laktawan ang automation platform at gamitin diretso ang bulk badge upload: nagpa-pause at nagre-resume ito sa gitna ng batch at nakakasurvive sa closed browser tab, na hindi kayang gawin nang maayos ng no-code webhook loops sa malaking volume.
Handa ka na bang mag-issue ng first verifiable credential mo? Magsimula nang libre sa badges.ninja — visual designer, public verification page, PDF certificate, Open Badge v2.0 output. Walang kailangang credit card.
Paano ginawa ang artikulong ito
Ang ilang artikulo sa blog na ito ay ginagawa gamit ang tulong ng AI assistant, pagkatapos ay sinusuri, tinitiyak ang katumpakan, at ine-edit ng Badges Ninja team bago ilathala. Bawat code sample at presyo ay beripikado laban sa live na produkto. Alamin pa ang tungkol sa aming editorial at AI na proseso sa aming pahina ng editorial process .

Tungkol sa may-akda
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.
Higit pa mula kay Nacho Coll
- Palitan ang Native Open Badges ng Moodle gamit ang Badges Ninja (Mas Magandang Designer, Parehong API)Ago 31, 2026 · 8min basahin
- Paano Mag-add ng LinkedIn ”Add to Profile” Button sa Iyong Open BadgesAgo 20, 2026 · 11min basahin
- Open Badges vs PDF Certificates: Alin ang Tama para sa Program Mo sa 2026?Ago 10, 2026 · 7min basahin

