Automatizează Open Badges cu Zapier, Make și n8n (rețete fără cod)
Declanșează emiterea unei insigne la finalizarea unui formular Typeform, la o achiziție prin Stripe sau la o etichetă Mailchimp — trei rețete fără cod, funcționale, fiecare sub 10 minute.
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.
Dacă administrezi un program de training, un curs cu plată sau o listă de e-mail pe niveluri, momentul în care cineva termină, cumpără sau se califică este de obicei deja urmărit undeva — un răspuns la formular, o plată prin Stripe, o etichetă în Mailchimp. Insigna ar trebui să urmeze automat acelui eveniment. Rareori se întâmplă așa, pentru că „emite un credential” nu este o acțiune nativă în majoritatea instrumentelor, iar construirea unui receptor webhook personalizat pentru o automatizare punctuală este exagerat.
Exact pentru asta există Zapier, Make și n8n. Toate trei pot apela direct API-ul Badges Ninja — fără plugin, fără server intermediar, fără implementare de cod. Mai jos găsești trei rețete funcționale pe care le poți copia astăzi, plus gestionarea cheii API și comportamentul de reîncercare la erori pe care trebuie să le tratezi corect, ca insignele să nu eșueze silențios la emitere.
Ce conectezi
Fiecare rețetă urmează aceeași structură: declanșator → (opțional) căutare destinatar → HTTP POST către /awards. Endpoint-ul /awards este cel care emite efectiv o insignă unui destinatar — îi indici un badgeId existent, iar el creează o acordare unică, verificabilă, cu propria URL de verificare, cod QR și certificat PDF. Consultă ghidul rapid al API-ului dacă încă nu ai creat o insignă — vei avea nevoie de ID-ul ei înainte ca oricare dintre aceste automatizări să poată rula.
Autentificarea este aceeași pentru toate cele trei platforme: un antet X-Api-Key care poartă o cheie generată din dashboard-ul tău. Platformele de automatizare nu gestionează bine fluxurile OAuth pentru API-uri REST oarecare, așa că cheile API sunt alegerea potrivită aici — cu viață lungă, limitate la contul tău și revocabile dintr-un click dacă un Zap funcționează vreodată defectuos.
Creează mai întâi cheia API

Din dashboard-ul tău, deschide Settings → API Keys, apasă Create Key și dă-i un nume care corespunde rolului ei — zapier-course-completions, nu key1. Această denumire contează mai mult decât pare: dacă o automatizare începe să se comporte ciudat peste șase luni, vrei să poți revoca acea cheie fără să strici alte trei integrări care se întâmplă s-o folosească în comun.

Cheia este afișată o singură dată, integral, imediat după creare. Copiaz-o imediat în magazia securizată de credențiale a platformei tale de automatizare — „Connection” în Zapier, „Connection” în Make, sau un credential în n8n — niciodată într-un câmp de text simplu în interiorul Zap-ului, scenariului sau workflow-ului.
Rețeta 1: Typeform → Badges Ninja (formular de finalizare pentru o cohortă)
Caz de utilizare: o cohortă termină un curs și completează un scurt formular „am finalizat” (sau trimiți un astfel de formular ca ultim pas al unui parcurs în ritm propriu).
În Zapier:
- Declanșator: Typeform — New Entry, limitat la formularul tău de finalizare.
- Acțiune: Webhooks by Zapier — POST.
- URL:
https://api.badges.ninja/awards - Anteturi:
X-Api-Key: bws_<your key>,Content-Type: application/json - Date (mapate din câmpurile Typeform):
{
"badgeId": "bdg_9f2a1c",
"recipient": {
"name": "{{typeform_name}}",
"email": "{{typeform_email}}"
},
"issuedOn": "2026-08-27"
}
Ăsta este întregul Zap. Nu ai nevoie de un pas de filtrare dacă formularul se declanșează doar la finalizări reale — dacă e un formular de contact general, adaugă un pas Filter by Zapier care verifică un câmp ascuns sau o valoare de răspuns înainte de declanșarea webhook-ului, ca să nu emiți insigne din spam sau trimiteri de test.
Rețeta 2: Stripe → Badges Ninja (achiziție = credential)
Caz de utilizare: un examen de certificare cu plată, un nivel premium de curs sau un plan de membru unde insigna face parte din ceea ce cumpără oamenii.
În Zapier:
- Declanșator: Stripe — New Charge (sau New Invoice Payment Succeeded pentru abonamente).
- Filtru: suma plății este egală cu prețul exact al produsului asociat credentialului — asta contează dacă contul tău Stripe gestionează mai multe produse printr-un singur webhook.
- Acțiune: Webhooks by Zapier — POST către
https://api.badges.ninja/awards, aceleași anteturi ca mai sus. - Date: mapează
charge.billing_details.emailșicharge.billing_details.nameînrecipient.email/recipient.name.
Partea plăcută a legării emiterii de un eveniment de plată: este în mod natural apropiat de idempotență. ID-urile plăților Stripe sunt unice, așa că dacă îți faci griji că un Zap se va relansa la un webhook reîncercat, adaugă un pas Storage by Zapier care verifică dacă ai procesat deja acel ID de plată înainte de a apela /awards.
Rețeta 3: etichetă Mailchimp → Badges Ninja
Caz de utilizare: etichetezi abonații manual (sau printr-o altă automatizare) când ating un reper — au participat la un webinar, au terminat o secvență drip, au recomandat trei persoane — și vrei ca acea etichetă să declanșeze o insignă fără să atingi tu însuți API-ul.
În Zapier:
- Declanșator: Mailchimp — New Tag Added to Subscriber, filtrat pe eticheta specifică (de ex.
webinar-attended). - Acțiune: Webhooks by Zapier — POST către
https://api.badges.ninja/awards. - Date: mapează
subscriber.email_addressșisubscriber.merge_fields.FNAME+LNAMEîn câmpurile destinatarului.
Acest tipar este popular pentru programe de recunoaștere — SPIFF-uri de vânzări, repere de comunitate, prezență la evenimente — unde cineva din echipă are deja obiceiul de a eticheta contacte, iar tu vrei doar ca insigna să rezulte gratuit din acel obicei.
Gestionarea erorilor și a reîncercărilor
Platformele de automatizare nu sunt tranzacționale cu datele tale despre insigne, așa că construiește aceeași disciplină pe care ai vrea-o de la o integrare reală:
- Verifică codul de răspuns. Un
200înseamnă că acordarea a fost creată; un4xxînseamnă de obicei unbadgeIdgreșit sau un e-mail malformat — asta e un bug de configurare în Zap, nu ceva de reîncercat orbește. Un5xxeste sigur de reîncercat. - Zapier: rulările eșuate ale Zap-ului ajung în Zap History cu cererea/răspunsul complet. Activează Auto-Replay pentru eșecuri tranzitorii, dar configurează o alertă prin e-mail/Slack pentru eșecuri repetate, ca un Zap stricat silențios să nu însemne trei luni de insigne lipsă.
- Make: scenariile suportă o rută nativă Error Handler — atașează o directivă Resume sau Rollback pe modulul HTTP și direcționează eșecurile persistente către un modul de notificare, în loc să le arunci pur și simplu.
- n8n: fiind self-hosted sau cloud cu control mai granular, învelește nodul HTTP Request într-un workflow Error Trigger și ia în calcul să scrii payload-urile eșuate într-un depozit de rezervă ușor (Airtable, Google Sheets) pe care le poți reda manual.
În toate cele trei cazuri, evită capcana „a rulat verde, deci a funcționat”. Un răspuns care pare a fi 200, provenit dintr-un pas de webhook configurat greșit (URL greșit, antet lipsă), tot poate eșua pe partea Badges Ninja. Verifică punctual lista de acordări din dashboard săptămânal, în prima lună a oricărei automatizări noi.
Echivalentul în Make.com
Constructorul vizual de scenarii al Make se mapează aproape direct pe pașii Zapier de mai sus:
- Modul declanșator — modulul de urmărire Typeform / Stripe / Mailchimp, la fel ca declanșatorul din Zapier.
- HTTP → modulul Make a Request — metoda
POST, URLhttps://api.badges.ninja/awards, anteturi setate în tabelul Headers (X-Api-Key,Content-Type: application/json), corpul cererii ca JSON brut cu variabile mapate din declanșator. - Filter opțional între module, pentru verificarea sumei Stripe sau pentru siguranța „finalizării reale” în Typeform.
Avantajul Make aici este vizibilitatea — editorul de scenarii îți arată payload-ul JSON efectiv la fiecare pas înainte să-l activezi, ceea ce face depanarea unei mapări de câmp greșite mult mai rapidă decât vizualizarea de test pas-cu-pas, mai liniară, din Zapier.
Echivalentul în n8n
n8n este cea mai bună alegere dacă vrei asta self-hosted sau dacă deja automatizezi alte părți ale stack-ului tău acolo:
- Nod declanșator — Typeform Trigger / Stripe Trigger / Mailchimp Trigger (toate noduri native).
- Nod HTTP Request — metoda
POST, URLhttps://api.badges.ninja/awards, autentificare setată pe Header Auth cuX-Api-Keyal tău stocat ca credential n8n (nu hardcodat în nod), corp JSON construit dintr-o expresie care referă output-ul nodului declanșator. - Nod IF (opțional) — aceeași siguranță de finalizare/sumă ca mai sus, plasată înaintea nodului HTTP Request.
Pentru că credențialele n8n sunt criptate și reutilizabile în toate workflow-urile, aceasta este opțiunea mai curată dacă plănuiești mai mult de o automatizare Badges Ninja — setezi credentialul o dată și îl reutilizezi în fiecare workflow care are nevoie să emită insigne.
De ce un pas de webhook generic în loc de o aplicație nativă
Zapier, Make și n8n au toate marketplace-uri de aplicații, iar instinctul e să cauți o aplicație „Badges Ninja” înainte de a apela la un modul HTTP/webhook generic. Sari peste căutarea asta — pentru un API REST atât de mic (creezi un emitent, creezi o insignă, creezi o acordare, gata), un pas de webhook generic te pune pe picioare în zece minute, fără nicio dependență de un menținător de aplicații terț care să țină pasul cu schimbările API-ului. O aplicație dedicată adaugă un strat de abstracție de care nu ai nevoie: tot ai completa aceleași câmpuri badgeId, recipient.email și recipient.name, doar printr-un formular în loc de un corp JSON. Referința API e suficient de scurtă cât să o citești în cinci minute, iar odată ce ai făcut asta, abordarea HTTP brută este de fapt mai puțin fragilă — nu există un ciclu de aprobare de app-store între o schimbare a API-ului Badges Ninja și repornirea funcționării automatizării tale.
Testează înainte să pornești live
Fiecare platformă de mai sus îți oferă o modalitate de a rula o singură execuție de test fără să aștepți un eveniment de declanșare real:
- Zapier — folosește „Test” pe pasul declanșator ca să extragi o înregistrare eșantion, apoi „Test” pe acțiunea webhook ca să trimiți exact o cerere reală. Verifică dacă acordarea apare în dashboard-ul tău înainte de a activa Zap-ul.
- Make — rulează scenariul manual o dată (butonul „Run once”) cu un bundle eșantion și inspectează bula de output a modulului HTTP pentru corpul de răspuns efectiv.
- n8n — folosește „Execute Node” pe nodul HTTP Request cu date de test, ceea ce îți permite să vezi cererea și răspunsul direct în editor.
Două lucruri merită verificate la acea primă rulare de test: că badgeId-ul hardcodat aparține chiar insignei pe care crezi că o vizează (un ID vechi dintr-un Zap duplicat este o greșeală comună) și că, câmpul e-mailului destinatarului extrage o adresă reală, nu un substituent precum {{email}} rămas nerezolvat din cauza unei greșeli de mapare. Ambele greșeli sunt invizibile în indicatorul de „succes” al platformei de automatizare — apelul HTTP tot returnează 200, oricum — așa că singura verificare fiabilă este să deschizi acordarea în dashboard și să confirmi că destinatarul este cine te aștepți.
Evitarea insignelor duplicate
Fiecare sursă de declanșator de mai sus poate, în condiții reale, să se activeze de mai multe ori pentru același eveniment — Stripe reîncearcă webhook-urile la timeout, Typeform poate trimite dublu la o conexiune lentă, automatizările Mailchimp se pot redeclanșa dacă o etichetă este eliminată și readăugată. Dacă emiterea insignei tale nu este idempotentă, asta se transformă în destinatari care primesc același credential de două ori, ceea ce arată neglijent și generează e-mailuri de suport.
Cea mai curată siguranță este un pas de căutare-înainte-de-creare: înainte de POST-ul către /awards, adaugă o acțiune Search (varianta Zapier „Find Award” printr-o cerere GET, sau echivalentul HTTP GET din Make/n8n) în raport cu propriile tale înregistrări de acordări — un jurnal simplu în Google Sheet sau Airtable, în care același Zap scrie imediat după o acordare reușită, funcționează bine pentru asta dacă nu vrei să interoghezi API-ul pentru așa ceva. Dacă există deja o înregistrare pentru acea combinație destinatar + insignă, ramifică spre o operațiune nulă în loc să emiți din nou. E o adăugare de cinci minute și e diferența dintre o automatizare în care ai încredere nesupravegheată și una pe care trebuie s-o supraveghezi.
Când no-code nu e suficient
Aceste rețete acoperă bine declanșatoarele pentru evenimente singulare. Odată ce emiți sute de insigne dintr-un singur export CSV — o cohortă care absolvă, o listă de participanți la o conferință, o reînnoire masivă de credite CE — sări peste platforma de automatizare și folosește direct încărcarea în masă a insignelor: se pune în pauză și reia în mijlocul unui lot și supraviețuiește unei file de browser închise, lucru pe care buclele de webhook fără cod nu îl gestionează la fel de elegant la volum.
Gata să emiți primul tău credential verificabil? Începe gratuit pe badges.ninja — designer vizual, pagină publică de verificare, certificat PDF, ieșire Open Badge v2.0. Fără card de credit necesar.
Cum a fost realizat acest articol
Unele articole de pe acest blog sunt redactate cu ajutorul unui asistent AI, apoi revizuite, verificate și editate de echipa Badges Ninja înainte de publicare. Fiecare exemplu de cod și fiecare preț este verificat cu produsul live. Citește mai multe despre procesul nostru editorial și de AI pe pagina despre procesul editorial .

Despre autor
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.
Mai multe de la Nacho Coll
- Înlocuirea insignelor Open Badges native din Moodle cu Badges Ninja (designer mai bun, același API)31 aug. 2026 · 8min de citit
- Cum adaugi un buton LinkedIn „Add to Profile” pentru insignele tale Open Badges20 aug. 2026 · 10min de citit
- Insigne Open Badges vs. certificate PDF: Care este potrivită pentru programul tău în 2026?10 aug. 2026 · 7min de citit

