DEV Community

Nacho Coll
Nacho Coll

Posted on

Emettere certificazioni digitali verificabili con BADGES.ninja: guida in italiano per sviluppatori e piattaforme e-learning

Il mercato italiano della formazione online e delle micro-credenziali sta crescendo rapidamente. Piattaforme come Udemy, Coursera, Talent Garden Innovation School, Aulab, Boolean, Edgemony e i numerosi enti di formazione professionale certificano ogni anno migliaia di studenti — ma molti continuano a inviare un semplice PDF come attestato di partecipazione.

Un PDF non è verificabile, non si integra bene con LinkedIn e raramente sopravvive al cambio di provider. BADGES.ninja è una piattaforma per certificazioni digitali secondo lo standard Open Badge v2.0 che risolve esattamente questo problema — disponibile nativamente in italiano e oltre 30 lingue.

In questa guida mostro come emettere certificazioni via REST API, integrare l'emissione di massa via CSV e quali funzionalità trovo particolarmente interessanti per gli enti di formazione italiani.

Perché Open Badge v2.0?

Open Badge v2.0 è lo standard aperto di IMS Global per le certificazioni digitali interoperabili. A differenza di un PDF, ogni Open Badge contiene metadati leggibili dalle macchine (emittente, destinatario, criteri, data di emissione, scadenza, prove) e un URL di hosting tramite cui qualsiasi terza parte può verificare il certificato. Funziona esattamente come uno standard web: un documento JSON verificabile con grafica PNG o SVG incorporata.

La differenza fondamentale: quando qualcuno vuole verificare l'autenticità di una certificazione, non chiede al destinatario, ma all'emittente — crittograficamente.

La REST API in pratica

BADGES.ninja espone una REST API completa con autenticazione X-Api-Key — anche nel piano gratuito. È una differenza significativa rispetto alla maggior parte dei concorrenti, che riservano l'accesso programmatico ai piani enterprise.

Esempio: creare un nuovo emittente (Issuer):

curl -X POST https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "name": "La Mia Accademia",
      "url": "https://example.com",
      "email": "admin@example.com"
    }
  }'
Enter fullscreen mode Exit fullscreen mode

Risposta:

{
  "statusCode": 200,
  "info": {
    "issuerId": "https://api.badges.ninja/certify-badge/issuer/abc123-def456"
  }
}
Enter fullscreen mode Exit fullscreen mode

L'issuerId è un URL permanente referenziato nel contesto JSON-LD del documento Open Badge. Allo stesso modo: creare un badge, emettere un award (certificazione), notificare un destinatario — tutto attraverso un singolo endpoint REST.

Emissione di massa via CSV

Chiunque abbia provato a emettere certificazioni per 2.000 studenti uno per uno conosce il problema. La funzione /awards/bulk di BADGES.ninja accetta un file CSV con i dati dei destinatari e gestisce il resto:

  • ritento automatico in caso di errori
  • pausa/ripresa in caso di interruzione
  • notifica email con link individuale al certificato
  • webhook di stato per ogni badge emesso

Esattamente il tipo di dettaglio ingegneristico che si apprezza quando il processo si interrompe a metà invio.

Archiviazione su IPFS: permanenza per le immagini

Una certificazione digitale dovrebbe durare quanto un diploma cartaceo. Il problema delle soluzioni classiche: le immagini dei badge sono ospitate su server tradizionali e scompaiono quando il provider chiude o cambia.

BADGES.ninja archivia le grafiche dei badge su IPFS (sistema di archiviazione decentralizzato). Anche se la piattaforma un giorno venisse dismessa, l'immagine resta accessibile tramite qualsiasi gateway IPFS — tramite il suo content hash. Per un'università, un ITS Academy o un ente pubblico di formazione, è un argomento di peso.

Ancoraggio blockchain opzionale

Le certificazioni del piano Pro possono essere opzionalmente ancorate su una blockchain pubblica. Questo aggiunge un livello di verifica crittografica indipendente dall'emittente — utile per casi in cui la verificabilità è particolarmente importante: titoli professionali regolamentati, certificazioni di compliance, formazione medica continua, percorsi finanziati da Fondi Interprofessionali.

Importante: è opzionale. Molti enti di formazione non hanno bisogno del livello blockchain, e va benissimo così.

Portale destinatario e integrazione LinkedIn

Il valore di una certificazione dipende da come il destinatario la utilizza. BADGES.ninja include un portale destinatario senza password all'indirizzo badges.ninja/me. Ogni destinatario raccoglie qui tutte le sue certificazioni e può creare un profilo pubblico su badges.ninja/u/<alias>.

Inoltre, ogni pagina pubblica di certificazione include:

  • un pulsante in un clic "Aggiungi al profilo LinkedIn"
  • un certificato PDF scaricabile
  • un QR code scansionabile per CV cartacei
  • un URL di verifica pubblica

Multilinguismo come fattore differenziante

Praticamente tutte le piattaforme leader per certificazioni digitali sono sviluppate in inglese e, nella migliore delle ipotesi, traducono solo l'interfaccia utente. BADGES.ninja è multilingue dall'origine — supporta oltre 30 lingue, tra cui italiano, spagnolo, francese, tedesco, portoghese e molte altre. Sia l'emittente che il destinatario possono gestire e condividere le certificazioni nella propria lingua.

Per un'accademia italiana, un ITS, un'università svizzera italofona o una piattaforma EdTech del Sud Italia, questo non è un dettaglio estetico ma un vero requisito di adozione.

Piano gratuito per iniziare

Il piano gratuito permette fino a 100 emissioni al mese — sufficiente per validare il formato o certificare una piccola tech community senza carta di credito. Un limite ragionevole che molti concorrenti non offrono.

Conclusione

Se gestite corsi, bootcamp, formazione aziendale, workshop o percorsi certificati e volete modernizzare l'emissione delle certificazioni, vi invito a provare BADGES.ninja su https://badges.ninja. Il piano gratuito copre 100 emissioni al mese, senza carta di credito e senza scadenza temporale.

Domande, feedback o casi d'uso? Lasciate un commento — rispondo volentieri. 🎓

Top comments (0)