Automatitza les Open Badges amb Zapier, Make i n8n (receptes sense codi)

Activa l'emissió d'insígnies en completar un Typeform, en una compra a Stripe o amb una etiqueta de Mailchimp — tres receptes sense codi que funcionen i que triguen menys de 10 minuts cadascuna.

Nacho Coll Per Actualitzat 11 min de lectura
Activa l'emissió d'insígnies en completar un Typeform, en una compra a Stripe o amb una etiqueta de Mailchimp — tres receptes sense codi que funcionen i que triguen menys de 10 minuts cadascuna.

Si portes un programa de formació, un curs de pagament o una llista de correu amb nivells, el moment en què algú acaba, compra o compleix els requisits ja sol estar registrat en algun lloc — una resposta de formulari, un càrrec a Stripe, una etiqueta de Mailchimp. La insígnia hauria de sortir automàticament d’aquest esdeveniment. Gairebé mai és així, perquè «emetre una credencial» no és una acció nativa a la majoria d’eines, i construir un receptor de webhooks a mida per a una automatització puntual és desproporcionat.

Per a això serveixen exactament Zapier, Make i n8n. Els tres poden cridar directament l’API de Badges Ninja — sense connector, sense servidor intermedi, sense desplegar codi. A continuació hi ha tres receptes funcionals que pots copiar avui mateix, més la gestió de la clau d’API i el comportament de reintent d’errors que has d’encertar perquè les insígnies no deixin d’emetre’s silenciosament.

Què estàs connectant

Cada recepta segueix el mateix esquema: activador → (opcional) cerca del destinatari → POST HTTP a /awards. L’endpoint /awards és el que realment emet una insígnia a un destinatari — apuntes a un badgeId existent i crea una concessió única i verificable amb la seva pròpia URL de verificació, codi QR i certificat PDF. Consulta la guia ràpida de l’API si encara no has creat cap insígnia; en necessitaràs l’identificador abans que cap d’aquestes automatitzacions pugui funcionar.

L’autenticació és la mateixa per a les tres plataformes: una capçalera X-Api-Key amb una clau generada des del teu tauler. Les plataformes d’automatització no gestionen gaire bé els fluxos OAuth per a APIs REST arbitràries, per això les claus d’API encaixen aquí — de llarga durada, vinculades al teu compte i revocables amb un sol clic si un Zap falla mai.

Primer, crea la clau d’API

API Keys — empty state

Des del teu tauler, obre Configuració → Claus d’API, fes clic a Crea clau i posa-li un nom que reflecteixi la seva funció — zapier-course-completions, no key1. Aquest detall importa més del que sembla: si d’aquí a sis mesos una automatització falla, voldràs revocar aquesta clau sense trencar tres altres integracions que la comparteixin per casualitat.

Create key — name form

La clau es mostra sencera una única vegada, just després de crear-la. Copia-la de seguida al magatzem segur de credencials de la teva plataforma d’automatització — la «Connexió» de Zapier, la «Connexió» de Make, o una credencial d’n8n — mai a un camp de text pla dins del mateix Zap, escenari o flux de treball.

Recepta 1: Typeform → Badges Ninja (formulari de finalització de cohort)

Cas d’ús: una cohort acaba un curs i omple un formulari curt de «he acabat això» (o envies un formulari com a pas final d’un itinerari autodirigit).

A Zapier:

  1. Activador: Typeform — New Entry, limitat al teu formulari de finalització.
  2. Acció: Webhooks by Zapier — POST.
  3. URL: https://api.badges.ninja/awards
  4. Capçaleres: X-Api-Key: bws_<la teva clau>, Content-Type: application/json
  5. Dades (mapejades des dels camps de Typeform):
{
  "badgeId": "bdg_9f2a1c",
  "recipient": {
    "name": "{{typeform_name}}",
    "email": "{{typeform_email}}"
  },
  "issuedOn": "2026-08-27"
}

I ja tens tot el Zap. No cal cap pas de filtre si el formulari només s’activa amb finalitzacions reals — si és un formulari de contacte general, afegeix un pas de Filter by Zapier que comprovi un camp ocult o un valor de resposta abans que s’executi el webhook, per no acabar emetent insígnies a partir de spam o proves.

Recepta 2: Stripe → Badges Ninja (la compra és la credencial)

Cas d’ús: un examen de certificació de pagament, un nivell de curs premium, o un pla de membres on la insígnia és part del que la gent compra.

A Zapier:

  1. Activador: Stripe — New Charge (o New Invoice Payment Succeeded per a subscripcions).
  2. Filtre: l’import del càrrec ha de ser exactament el preu del producte credencialitzat — això és important si el teu compte de Stripe gestiona diversos productes a través d’un mateix webhook.
  3. Acció: Webhooks by Zapier — POST a https://api.badges.ninja/awards, amb les mateixes capçaleres d’abans.
  4. Dades: mapeja charge.billing_details.email i charge.billing_details.name als camps recipient.email / recipient.name.

El millor de vincular l’emissió a un esdeveniment de pagament és que ja és gairebé idempotent per naturalesa. Els identificadors de càrrec de Stripe són únics, així que si et preocupa que un Zap es torni a activar per un webhook reenviat, afegeix un pas de Storage by Zapier que comprovi si ja has processat aquest identificador de càrrec abans de cridar /awards.

Recepta 3: etiqueta de Mailchimp → Badges Ninja

Cas d’ús: etiquetes subscriptors manualment (o mitjançant una altra automatització) quan arriben a una fita — han assistit a un webinar, han acabat una seqüència de correus, han recomanat tres persones — i vols que aquesta etiqueta activi una insígnia sense haver de tocar l’API tu mateix.

A Zapier:

  1. Activador: Mailchimp — New Tag Added to Subscriber, filtrat a l’etiqueta específica (p. ex. webinar-attended).
  2. Acció: Webhooks by Zapier — POST a https://api.badges.ninja/awards.
  3. Dades: mapeja subscriber.email_address i subscriber.merge_fields.FNAME + LNAME als camps del destinatari.

Aquest patró és molt popular per a programes de reconeixement — incentius de vendes, fites de comunitat, assistència a esdeveniments — on algú de l’equip ja té el costum d’etiquetar contactes, i simplement vols que la insígnia surti d’aquest costum de franc.

Gestió d’errors i reintents

Les plataformes d’automatització no són transaccionals respecte a les dades de la teva insígnia, així que aplica la mateixa disciplina que exigiries a una integració de veritat:

  • Comprova el codi de resposta. Un 200 vol dir que la concessió s’ha creat; un 4xx sol indicar un badgeId incorrecte o un correu mal format — això és un error de configuració al Zap, no res que s’hagi de reintentar a cegues. Un 5xx és segur de reintentar.
  • Zapier: les execucions de Zap fallides queden registrades a l’Historial de Zap amb la sol·licitud i resposta completes. Activa Auto-Replay per als errors transitoris, però configura una alerta per correu o Slack per als errors repetits, perquè un Zap silenciosament trencat no es tradueixi en tres mesos d’insígnies desaparegudes.
  • Make: els escenaris admeten una ruta nativa de Gestor d’errors — vincula una directiva de Resume o Rollback al mòdul HTTP, i encamina els errors persistents a un mòdul de notificació en lloc de descartar-los sense més.
  • n8n: com que és autoallotjat o al núvol amb un control més granular, embolcalla el node HTTP Request en un flux de treball d’Error Trigger, i planteja’t escriure els payloads fallits en un magatzem de reserva lleuger (Airtable, Google Sheets) que puguis reexecutar manualment.

En els tres casos, evita la trampa de «s’ha executat en verd, doncs ha funcionat». Una resposta amb aparença de 200 d’un pas de webhook mal configurat (URL incorrecta, capçalera absent) igualment pot fallar al costat de Badges Ninja. Revisa la llista de concessions del tauler cada setmana durant el primer mes de qualsevol automatització nova.

L’equivalent a Make.com

El constructor visual d’escenaris de Make s’assembla gairebé directament als passos de Zapier d’abans:

  1. Mòdul d’activador — mòdul de vigilància de Typeform / Stripe / Mailchimp, igual que l’activador de Zapier.
  2. Mòdul HTTP → Make a Request — Mètode POST, URL https://api.badges.ninja/awards, capçaleres definides a la taula Headers (X-Api-Key, Content-Type: application/json), cos com a JSON en cru amb variables mapejades des de l’activador.
  3. Filtre opcional entre mòduls per a la comprovació de l’import de Stripe o la garantia de «finalització real» de Typeform.

L’avantatge de Make aquí és la visibilitat — l’editor d’escenaris et mostra el payload JSON real a cada pas abans d’activar-lo, cosa que fa que depurar un mapatge de camp erroni sigui molt més ràpid que la vista de prova pas a pas més lineal de Zapier.

L’equivalent a n8n

n8n és la millor opció si vols que això sigui autoallotjat, o si ja estàs automatitzant altres parts de la teva infraestructura allà:

  1. Node d’activador — Typeform Trigger / Stripe Trigger / Mailchimp Trigger (tots ells nodes integrats).
  2. Node HTTP Request — Mètode POST, URL https://api.badges.ninja/awards, autenticació configurada com a Header Auth amb la teva X-Api-Key desada com a credencial d’n8n (no codificada directament al node), cos JSON construït a partir d’una expressió que fa referència a la sortida del node activador.
  3. Node IF (opcional) — la mateixa comprovació de finalització/import d’abans, situat abans del node HTTP Request.

Com que les credencials d’n8n estan xifrades i es poden reutilitzar entre fluxos de treball, aquesta és l’opció més neta si estàs planejant més d’una automatització de Badges Ninja — configures la credencial una vegada i la reutilitzes a cada flux de treball que necessiti emetre insígnies.

Per què un pas de webhook genèric i no una app nativa

Zapier, Make i n8n tenen tots un mercat d’apps, i l’instint és buscar una app «Badges Ninja» abans de recórrer a un mòdul HTTP/webhook genèric. Salta’t aquesta cerca — per a una API REST tan petita com aquesta (crear un emissor, crear una insígnia, crear una concessió, i prou), un pas de webhook genèric et deixa en marxa en deu minuts sense cap dependència d’un mantenidor d’app extern que segueixi el ritme dels canvis de l’API. Una app dedicada afegeix una capa d’abstracció que no necessites: continuaries omplint els mateixos camps badgeId, recipient.email i recipient.name, només que mitjançant un formulari en lloc d’un cos JSON. La referència de l’API es llegeix en cinc minuts, i un cop l’hagis llegit, l’enfocament HTTP directe és, de fet, menys fràgil — no hi ha cap cicle d’aprovació de botiga d’apps entre un canvi a l’API de Badges Ninja i que la teva automatització torni a funcionar.

Prova-ho abans de posar-ho en marxa

Cada plataforma anterior et dona una manera d’executar una única prova sense esperar un esdeveniment activador real:

  • Zapier — utilitza «Test» al pas de l’activador per obtenir un registre de mostra, i després «Test» a l’acció del webhook per disparar exactament una sola sol·licitud real. Comprova que la concessió apareix al teu tauler abans d’activar el Zap.
  • Make — executa l’escenari manualment un cop (botó «Run once») amb un paquet de mostra, i inspecciona la bombolla de sortida del mòdul HTTP per veure el cos real de la resposta.
  • n8n — utilitza «Execute Node» al node HTTP Request amb dades d’entrada de prova, cosa que et permet veure la sol·licitud i la resposta directament a l’editor.

Hi ha dues coses que val la pena comprovar en aquesta primera execució de prova: que el badgeId que has codificat pertany de veritat a la insígnia que et penses, (un identificador desactualitzat d’un Zap duplicat és un error habitual), i que el camp de correu del destinatari està obtenint una adreça real i no un marcador de posició com {{email}} sense resoldre a causa d’una errada de mapatge. Els dos errors són invisibles a l’indicador d’«èxit» de la plataforma d’automatització — la trucada HTTP torna un 200 igualment — així que l’única comprovació fiable és obrir la concessió al teu tauler i confirmar que el destinatari és qui esperes.

Evitar insígnies duplicades

Qualsevol de les fonts d’activador anteriors pot, en condicions reals, dispararse més d’una vegada per al mateix esdeveniment — Stripe reintenta els webhooks quan hi ha temps d’espera esgotat, Typeform pot enviar-se dues vegades amb una connexió lenta, les automatitzacions de Mailchimp es poden tornar a activar si s’elimina i es torna a afegir una etiqueta. Si l’emissió de la teva insígnia no és idempotent, això es tradueix en destinataris que reben la mateixa credencial dues vegades, cosa que queda malament i genera correus de suport.

La protecció més neta és un pas de cerca abans de crear: abans del POST a /awards, afegeix una acció de Cerca (el «Find Award» de Zapier mitjançant una sol·licitud GET, o l’equivalent HTTP GET a Make/n8n) contra els teus propis registres de concessions — un full de Google o Airtable senzill on el mateix Zap escrigui just després d’una concessió reeixida funciona perfectament per a això si no vols consultar l’API per fer-ho. Si ja existeix un registre per a aquesta combinació de destinatari + insígnia, deriva cap a una acció nul·la en lloc de tornar a emetre-la. És una addició de cinc minuts, i és la diferència entre una automatització de la qual et pots refiar sense supervisió i una que has de vigilar constantment.

Quan el sense codi no n’hi ha prou

Aquestes receptes funcionen molt bé per a activadors d’un sol esdeveniment. Quan estiguis emetent centenars d’insígnies a partir d’una única exportació CSV — una cohort que es gradua, una llista d’assistents a una conferència, una renovació massiva de crèdits de formació continuada — deixa de banda la plataforma d’automatització i utilitza la pujada massiva d’insígnies directament: es pausa i es reprèn a mig lot i sobreviu a una pestanya del navegador tancada, cosa que els bucles de webhook sense codi no gestionen amb elegància a gran volum.


Preparat per emetre la teva primera credencial verificable? Comença gratis a badges.ninja — dissenyador visual, pàgina de verificació pública, certificat en PDF, sortida Open Badge v2.0. Sense targeta de crèdit.

Nacho Coll

Sobre l'autor

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.

Tornar al Blog

Articles Relacionats