Automatisoi Open Badges -merkit Zapierilla, Makella ja n8n:llä (no-code-reseptit)
Käynnistä merkin myöntäminen Typeform-lomakkeen täyttämisestä, Stripe-ostosta tai Mailchimp-tagista — kolme toimivaa no-code-reseptiä, joista jokainen vie alle 10 minuuttia.
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.
Jos pyörität koulutusohjelmaa, maksullista kurssia tai tasoitettua sähköpostilistaa, hetki, jolloin joku suorittaa, ostaa tai täyttää ehdot, on yleensä jo seurattuna jossain — lomakevastauksessa, Stripe-veloituksessa, Mailchimp-tagissa. Merkin pitäisi seurata automaattisesti tästä tapahtumasta. Harvoin näin käy, koska ”myönnä osaamismerkki” ei ole natiivi toiminto useimmissa työkaluissa, ja mukautetun webhook-vastaanottimen rakentaminen kertaluonteista automaatiota varten on liikaa.
Juuri tähän Zapier, Make ja n8n ovat olemassa. Kaikki kolme voivat kutsua Badges Ninja API:a suoraan — ei lisäosaa, ei väliohjelmistopalvelinta, ei koodin julkaisua. Alla on kolme toimivaa reseptiä, jotka voit kopioida jo tänään, sekä API-avainten käsittely ja virheiden uudelleenyritys-käyttäytyminen, jotka sinun on saatava kuntoon, jotta merkit eivät jää hiljaa myöntämättä.
Mitä yhdistät
Jokainen resepti noudattaa samaa muotoa: laukaisin → (valinnainen) vastaanottajan haku → HTTP POST osoitteeseen /awards. /awards-päätepiste on se, joka todella myöntää merkin vastaanottajalle — osoitat sen olemassa olevaan badgeId-tunnukseen, ja se luo yksilöllisen, varmennettavan myöntötapahtuman omalla varmennussivullaan, QR-koodillaan ja PDF-todistuksellaan. Katso API-pikaopas, jos et ole vielä luonut merkkiä; tarvitset sen tunnuksen ennen kuin mikään näistä automaatioista voi toimia.
Todennus on kaikilla kolmella alustalla sama: X-Api-Key-otsake, joka kantaa hallintapaneelistasi luotua avainta. Automaatioalustat eivät käsittele OAuth-vuoita hyvin mielivaltaisille REST-API:lle, joten API-avaimet ovat oikea ratkaisu tähän — pitkäikäisiä, tiliisi sidottuja ja yhdellä klikkauksella peruutettavissa, jos jokin Zap joskus toimii väärin.
Luo API-avain ensin

Avaa hallintapaneelistasi Settings → API Keys, klikkaa Create Key ja anna sille nimi, joka vastaa sen tehtävää — zapier-course-completions, ei key1. Tällä nimeämisellä on enemmän merkitystä kuin miltä se kuulostaa: jos automaatio alkaa toimia väärin kuuden kuukauden päästä, haluat perua juuri sen avaimen rikkomatta kolmea muuta integraatiota, jotka sattuvat jakamaan sen.

Avain näytetään kerran, kokonaisuudessaan, heti luomisen jälkeen. Kopioi se automaatioalustasi turvalliseen tunnistetietovarastoon heti — Zapierin ”Connection”, Maken ”Connection” tai n8n-tunnistetieto — älä koskaan pelkkään tekstikenttään itse Zapin/skenaarion/työnkulun sisällä.
Resepti 1: Typeform → Badges Ninja (kohortin suorituslomake)
Käyttötapaus: kohortti suorittaa kurssin ja täyttää lyhyen ”suoritin tämän” -lomakkeen (tai lähetät lomakkeen itsenäisen opintopolun viimeisenä vaiheena).
Zapierissa:
- Laukaisin: Typeform — New Entry, rajattu suorituslomakkeeseesi.
- Toiminto: Webhooks by Zapier — POST.
- URL:
https://api.badges.ninja/awards - Otsakkeet:
X-Api-Key: bws_<avaimesi>,Content-Type: application/json - Data (yhdistettynä Typeform-kentistä):
{
"badgeId": "bdg_9f2a1c",
"recipient": {
"name": "{{typeform_name}}",
"email": "{{typeform_email}}"
},
"issuedOn": "2026-08-27"
}
Siinä koko Zap. Suodatinvaihetta ei tarvita, jos lomake laukeaa vain todellisista suorituksista — jos kyseessä on yleinen yhteydenottolomake, lisää Filter by Zapier -vaihe, joka tarkistaa piilotetun kentän tai vastausarvon ennen webhookin laukaisua, jotta et myönnä merkkejä roskapostista tai testilähetyksistä.
Resepti 2: Stripe → Badges Ninja (osto = osaamismerkki)
Käyttötapaus: maksullinen sertifiointitentti, premium-kurssitaso tai jäsenyyssuunnitelma, jossa merkki on osa sitä, mitä ihmiset ostavat.
Zapierissa:
- Laukaisin: Stripe — New Charge (tai New Invoice Payment Succeeded tilauksille).
- Suodatin: veloitussumma vastaa tarkalleen osaamismerkillä varustetun tuotteen hintaa — tämä on tärkeää, jos Stripe-tilisi käsittelee useita tuotteita yhden webhookin kautta.
- Toiminto: Webhooks by Zapier — POST osoitteeseen
https://api.badges.ninja/awards, samat otsakkeet kuin yllä. - Data: yhdistä
charge.billing_details.emailjacharge.billing_details.namekenttiinrecipient.email/recipient.name.
Mukava puoli myöntämisen sitomisessa maksutapahtumaan: se on luonnostaan lähes idempotentti. Stripen veloitustunnukset ovat yksilöllisiä, joten jos olet huolissasi siitä, että Zap laukeaa uudelleen uudelleenyritetyssä webhookissa, lisää Storage by Zapier -vaihe, joka tarkistaa, oletko jo käsitellyt kyseisen veloitustunnuksen ennen /awards-kutsua.
Resepti 3: Mailchimp-tagi → Badges Ninja
Käyttötapaus: tagitat tilaajia manuaalisesti (tai toisen automaation kautta), kun he saavuttavat virstanpylvään — osallistuivat webinaariin, suorittivat tiputussarjan, suosittelivat kolme henkilöä — ja haluat, että tuo tagi laukaisee merkin ilman, että kosket itse API:in.
Zapierissa:
- Laukaisin: Mailchimp — New Tag Added to Subscriber, suodatettuna tiettyyn tagiin (esim.
webinar-attended). - Toiminto: Webhooks by Zapier — POST osoitteeseen
https://api.badges.ninja/awards. - Data: yhdistä
subscriber.email_addressjasubscriber.merge_fields.FNAME+LNAMEvastaanottajakenttiin.
Tämä malli on suosittu tunnustusohjelmissa — myynnin SPIFF-kampanjat, yhteisön virstanpylväät, tapahtumaosallistuminen — joissa jollakulla tiimissä on jo tapana tagittaa kontakteja, ja haluat vain, että merkki putoaa siitä tavasta ilmaiseksi.
Virheiden ja uudelleenyritysten käsittely
Automaatioalustat eivät ole transaktionaalisia merkkitietosi kanssa, joten rakenna sisään sama kurinalaisuus, jota haluaisit oikealta integraatiolta:
- Tarkista vastauskoodi.
200tarkoittaa, että myöntötapahtuma luotiin;4xxtarkoittaa yleensä virheellistäbadgeId-tunnusta tai virheellisesti muotoiltua sähköpostia — se on Zapin konfigurointivirhe, ei jotain, mitä yritetään uudelleen sokeasti.5xxon turvallista yrittää uudelleen. - Zapier: epäonnistuneet Zap-ajot päätyvät Zap Historyyn koko pyynnön ja vastauksen kanssa. Kytke Auto-Replay päälle tilapäisiä virheitä varten, mutta aseta sähköposti-/Slack-hälytys toistuville virheille, jotta hiljaa rikkoutunut Zap ei tarkoita kolmea kuukautta puuttuvia merkkejä.
- Make: skenaariot tukevat natiivia Error Handler -reittiä — liitä Resume- tai Rollback-direktiivi HTTP-moduuliin ja ohjaa jatkuvat virheet ilmoitusmoduuliin sen sijaan, että vain hylkäisit ne.
- n8n: koska se on itse isännöity tai pilvipohjainen tarkemmalla hallinnalla, kääri HTTP Request -solmu Error Trigger -työnkulkuun ja harkitse epäonnistuneiden hyötykuormien kirjoittamista kevyeen varajärjestelmään (Airtable, Google Sheets), jonka voit toistaa manuaalisesti.
Kaikissa kolmessa vältä ansaa ”se ajoi vihreänä, joten se toimi”. Väärin konfiguroidun webhook-vaiheen (väärä URL, puuttuva otsake) näennäisesti 200-vastaus voi silti epäonnistua Badges Ninja -puolella. Pistokoe hallintapaneelin myöntölistalle viikoittain minkä tahansa uuden automaation ensimmäisen kuukauden aikana.
Make.com-vastine
Maken visuaalinen skenaarion rakennustyökalu vastaa lähes suoraan yllä olevia Zapier-vaiheita:
- Trigger-moduuli — Typeform-/Stripe-/Mailchimp-tarkkailumoduuli, sama kuin Zapier-laukaisin.
- HTTP → Make a Request -moduuli — Metodi
POST, URLhttps://api.badges.ninja/awards, otsakkeet asetettu Headers-taulukkoon (X-Api-Key,Content-Type: application/json), runko raakana JSON:ina laukaisimesta yhdistetyillä muuttujilla. - Valinnainen Filter moduulien välissä Stripe-summatarkistusta tai Typeformin ”todellinen suoritus” -suojausta varten.
Maken etu tässä on näkyvyys — skenaarioeditori näyttää sinulle todellisen JSON-hyötykuorman jokaisessa vaiheessa ennen kuin kytket sen päälle, mikä tekee virheellisen kenttäyhdistyksen virheenkorjauksesta paljon nopeampaa kuin Zapierin lineaarisempi vaihe vaiheelta -testinäkymä.
n8n-vastine
n8n on paras valinta, jos haluat tämän itse isännöitynä tai jos automatisoit jo muita pinosi osia siellä:
- Trigger-solmu — Typeform Trigger / Stripe Trigger / Mailchimp Trigger (kaikki sisäänrakennettuja solmuja).
- HTTP Request -solmu — Metodi
POST, URLhttps://api.badges.ninja/awards, todennus asetettu Header Auth -tilaanX-Api-Key-avaimesi tallennettuna n8n-tunnistetietona (ei kovakoodattuna solmuun), JSON-runko rakennettu lausekkeesta, joka viittaa laukaisinsolmun tulosteeseen. - IF-solmu (valinnainen) — sama suoritus-/summasuojaus kuin yllä, sijoitettuna ennen HTTP Request -solmua.
Koska n8n-tunnistetiedot ovat salattuja ja uudelleenkäytettäviä työnkulkujen välillä, tämä on siistimpi vaihtoehto, jos suunnittelet useampaa kuin yhtä Badges Ninja -automaatiota — aseta tunnistetieto kerran, käytä sitä uudelleen jokaisessa työnkulussa, joka tarvitsee merkkien myöntämistä.
Miksi geneerinen webhook-vaihe natiivin sovelluksen sijaan
Zapierilla, Makella ja n8n:llä on kaikilla sovellusmarkkinapaikat, ja vaisto on etsiä ”Badges Ninja” -sovellusta ennen kuin tartutaan geneeriseen HTTP-/webhook-moduuliin. Ohita tuo haku — näin pienelle REST-API:lle (luo myöntäjä, luo merkki, luo myöntötapahtuma, valmis) geneerinen webhook-vaihe saa sinut käyntiin kymmenessä minuutissa ilman riippuvuutta kolmannen osapuolen sovellusylläpitäjästä, joka pitäisi tahdin API-muutosten kanssa. Erillinen sovellus lisää abstraktiokerroksen, jota et tarvitse: täyttäisit silti samat badgeId-, recipient.email- ja recipient.name-kentät, vain lomakkeen kautta JSON-rungon sijaan. API-viite on tarpeeksi lyhyt luettavaksi viidessä minuutissa, ja kun olet tehnyt sen, raaka HTTP-lähestymistapa on itse asiassa vähemmän hauras — mikään sovelluskaupan hyväksyntäkierros ei seiso Badges Ninja API -muutoksen ja automaatiosi uudelleen toimimisen välissä.
Testaa ennen kuin julkaiset
Jokainen yllä oleva alusta antaa sinulle tavan ajaa yksittäinen testisuoritus odottamatta todellista laukaisutapahtumaa:
- Zapier — käytä ”Test”-toimintoa laukaisinvaiheessa hakeaksesi esimerkkitietueen, sitten ”Test” webhook-toiminnossa laukaistaksesi tarkalleen yhden todellisen pyynnön. Tarkista, että myöntötapahtuma ilmestyy hallintapaneeliisi ennen Zapin kytkemistä päälle.
- Make — aja skenaario manuaalisesti kerran (”Run once” -painike) esimerkkinipulla ja tarkasta HTTP-moduulin tuloskuplasta todellinen vastausrunko.
- n8n — käytä ”Execute Node” -toimintoa HTTP Request -solmussa testisyötteellä, jonka avulla näet pyynnön ja vastauksen suoraan editorissa.
Kaksi asiaa kannattaa tarkistaa ensimmäisellä testiajolla: että kovakoodaamasi badgeId todella kuuluu siihen merkkiin, jonka luulet sen kuuluvan (vanhentunut tunnus kahdennetusta Zapista on yleinen virhe), ja että vastaanottajan sähköpostikenttä hakee todellisen osoitteen eikä paikkamerkkiä kuten {{email}}, joka jäi ratkaisematta yhdistysvirheen takia. Molemmat virheet ovat näkymättömiä automaatioalustan ”onnistui”-indikaattorissa — HTTP-kutsu palauttaa silti 200-koodin joka tapauksessa — joten ainoa luotettava tarkistus on avata myöntötapahtuma hallintapaneelissasi ja vahvistaa, että vastaanottaja on se, jota odotat.
Kaksoiskappaleiden välttäminen
Jokainen yllä oleva laukaisulähde voi todellisissa olosuhteissa laueta useammin kuin kerran samasta tapahtumasta — Stripe yrittää webhookeja uudelleen aikakatkaisussa, Typeform voi lähettää kahdesti hitaalla yhteydellä, Mailchimp-automaatiot voivat laueta uudelleen, jos tagi poistetaan ja lisätään takaisin. Jos merkin myöntäminen ei ole idempotenttia, se muuttuu tilanteeksi, jossa vastaanottajat saavat saman osaamismerkin kahdesti, mikä näyttää huolimattomalta ja tuottaa tukipyyntöjä.
Siistein suoja on haku-ennen-luontia-vaihe: ennen /awards-POST-kutsua lisää Search-toiminto (Zapierin ”Find Award” GET-pyynnön kautta tai vastaava Make/n8n HTTP GET) omia myöntötietueitasi vastaan — kevyt Google Sheet tai Airtable-loki, johon sama Zap kirjoittaa heti onnistuneen myöntötapahtuman jälkeen, toimii tähän hyvin, jos et halua kysyä sitä API:lta. Jos tietue on jo olemassa kyseiselle vastaanottaja + merkki -yhdistelmälle, haaraudu no-op-toimintoon sen sijaan, että myöntäisit uudelleen. Tämä on viiden minuutin lisäys, ja se on ero automaation, johon luotat ilman valvontaa, ja sellaisen, jota joudut vahtimaan.
Kun no-code ei riitä
Nämä reseptit kattavat hyvin yksittäisten tapahtumien laukaisimet. Kun myönnät satoja merkkejä yhdestä CSV-viennistä — valmistuva kohortti, konferenssin osallistujalista, massa-CE-pisteiden uusiminen — ohita automaatioalusta ja käytä massamerkkien lataus -toimintoa suoraan: se keskeyttää ja jatkaa erän keskellä ja selviytyy suljetusta selainvälilehdestä, mitä no-code-webhook-silmukat eivät käsittele sulavasti suurella volyymilla.
Valmis myöntämään ensimmäisen varmennettavan credentialisi? Aloita ilmaiseksi osoitteessa badges.ninja — visuaalinen suunnittelutyökalu, julkinen varmennussivu, PDF-todistus, Open Badge v2.0 -tuloste. Ei luottokorttia tarvita.
Miten tämä artikkeli tehtiin
Osa tämän blogin artikkeleista laaditaan tekoälyavustajan avulla, minkä jälkeen Badges Ninja -tiimi tarkistaa, faktantarkistaa ja muokkaa ne ennen julkaisua. Jokainen koodiesimerkki ja hinta tarkistetaan live-tuotteesta. Lue lisää toimituksellisesta ja tekoälyprosessistamme toimitusprosessin sivulla .

Kirjoittajasta
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.
Lisää käyttäjältä Nacho Coll
- Korvaa Moodlen sisäänrakennetut Open Badges -merkit Badges Ninjalla (parempi suunnittelutyökalu, sama API)31.8.2026 · 6min lukuaika
- Näin lisäät LinkedIn-palvelun ”Lisää profiiliin” -painikkeen Open Badges -merkkeihisi20.8.2026 · 8min lukuaika
- Open Badges vs. PDF-todistukset: Kumpi sopii ohjelmallesi vuonna 2026?10.8.2026 · 5min lukuaika

