Ako vydať Open Badges z CSV súboru za menej ako 5 minút
Krok za krokom: nahrajte CSV s príjemcami, vyberte odznak a kliknite na Vydať. Pozastavte a pokračujte uprostred dávky, zopakujte neúspešné riadky, exportujte výsledky. Funguje pre skupiny 10 alebo 10 000.
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.
Ak ste niekedy vydávali poverenia skupine po jednom príjemcovi, už poznáte ten problém: neškáluje sa to nad približne desať ľudí, kým sa to nezmení na celé popoludnie kopírovania a vkladania mien a e-mailov. Skupina bootcampu s 40 ľuďmi, zoznam 500 účastníkov konferencie alebo zavádzanie firemného školenia pre 5 000 ľudí — všetci potrebujú to isté: nahrať zoznam, vybrať odznak, kliknúť na Vydať a odísť.
Presne to robí Bulk Credentials na https://badges.ninja. Tento návod pokrýva celý postup: prípravu CSV súboru, konfiguráciu dávky, sledovanie jej priebehu a riešenie neusporiadaných situácií z reálneho sveta — riadok príjemcu s preklepom, dávku, ktorá sa preruší v polovici, alebo program, ktorý chce vydávať rovnakým spôsobom z vlastných systémov namiesto z ovládacieho panela.
Skôr než začnete: čo potrebujete
Dve veci, pričom obe už pravdepodobne máte:
- Odznak — navrhnutý raz vo vizuálnom dizajnéri a znovu použitý pre každého príjemcu v dávke. Ak ste ešte žiadny nevytvorili, pozrite si nášho sprievodcu návrhom vášho prvého overiteľného certifikátu.
- CSV s príjemcami — meno, e-mail a (voliteľne) dátum vydania. To je celá schéma.
Nepotrebujete vydavateľský účet pre každého príjemcu, poštový server ani žiadny kód. Všetko v tejto časti sa deje v ovládacom paneli.
Krok 1: Pripravte CSV súbor
Formát zoznamu príjemcov je zámerne minimálny:
name,email,issued_on
Maria Gonzalez,maria@example.com,2026-07-01
David Kim,david@example.com,2026-07-01
Priya Patel,priya@example.com,
- name — povinné. Vypĺňa pole príjemcu na tvrdení (assertion) a na certifikáte.
- email — povinné. Toto sa stáva identitou príjemcu na tvrdení Open Badge v2.0 — zahašované s osobitnou soľou pre každé poverenie pred uložením, nikdy sa neuchováva v čistom texte.
- issued_on — voliteľné. Nechajte prázdne a dávka použije moment, keď sa každý riadok spracúva; nastavte ho výslovne, ak spätne dopĺňate skupinu, ktorá v skutočnosti skončila minulý mesiac.
Väčšina vlastníkov programov toto exportuje priamo odtiaľ, kde už sledujú dokončenia — Airtable, Google Sheets, tabuľka odovzdaná inštruktorom alebo CSV vytiahnuté z klasifikácie v LMS. Nie je potrebný žiadny špeciálny exportný nástroj; funguje akékoľvek CSV s tými tromi stĺpcami.
Bežné úskalia CSV (a ako ich náhľad zachytí)
Niekoľko problémov sa v reálnych zoznamoch príjemcov objavuje neustále, zvyčajne preto, že CSV bolo zostavené zlúčením dvoch či troch zdrojových hárkov:
- Koncové medzery v e-mailových adresách — kopírovanie z PDF zoznamu alebo exportu z Google formulára často nesie neviditeľnú medzeru. V bunke tabuľky vyzerá v poriadku, ale pri nahrávaní neprejde overením e-mailu.
- Duplicitné riadky — ten istý príjemca sa objaví dvakrát, pretože zoznam skupiny a zoznam neskorých registrácií boli spojené bez odstránenia duplikátov.
- Nekonzistentné formáty dátumov — jeden stĺpec s
2026-07-01zmiešaný s07/01/2026z iného exportu. Držte sa ISO 8601 (YYYY-MM-DD) a toto úplne zmizne. - Nezhody vo veľkosti písmen záhlaví —
EmailoprotiemailoprotiE-mail. Analyzátor je zhovievavý k bežným variantom, ale úplne vlastný názov záhlavia sa automaticky nenamapuje.
Žiadny z nich nie je fatálny — krok náhľadu (nižšie) vynesie každý z nich na povrch skôr, než sa čokoľvek vydá, takže oprava je „upraviť tabuľku, znovu nahrať“ namiesto „zisti, ktorý z 3 000 príjemcov dostal pokazený odznak“.
Krok 2: Nakonfigurujte dávku
V ovládacom paneli otvorte Credentials → Bulk Credentials a vyberte odznak, ktorý vydávate. Toto je krok, v ktorom nastavujete všetko, čo platí pre celú dávku: samotný odznak, spoločný dátum vydania, ak nedávate dátumy pre jednotlivé riadky do CSV, a (ak ho váš vydavateľský profil má) organizačné LinkedIn ID, ktoré umožní každému príjemcovi pridať poverenie do svojho profilu jedným kliknutím.

Toto je dobrý moment na to, aby ste si dvakrát overili, či je odznak, ktorý ste vybrali, finálnou verziou — príjemcovia uvidia obrázok a kritériá, ktoré sú k nemu pripojené v momente vydania, nie to, čo aktualizujete neskôr.
Krok 3: Nahranie a náhľad
Vložte svoje CSV a platforma ho spracuje, zobrazí vám tabuľku náhľadu a označí všetko, čo nedokáže spracovať — chýbajúci e-mail, chybný dátum, duplicitný riadok. Nič sa nevydá, kým náhľad nepotvrdíte.

Tento krok náhľadu je dôležitejší, než sa zdá. Preklep v jednom riadku CSV s 2 000 riadkami sa okom ľahko prehliadne a je oveľa lacnejšie zachytiť ho skôr, než je už 1 999 správnych riadkov vydaných, než sa to snažiť rozmotať potom. Opravte označené riadky vo svojej tabuľke, znovu nahrajte a náhľad sa aktualizuje.
Krok 4: Spustite dávku
Kliknite na Vydať a dávka sa začne spracúvať. Ukazovateľ priebehu sleduje dokončené oproti zostávajúcim riadkom a dávka beží na strane servera — nemusíte držať kartu otvorenú a zatvorenie notebooku uprostred dávky nestratí vaše miesto.
Tú poslednú časť sa oplatí jasne vysvetliť, pretože je to detail, ktorý pri veľkých skupinách naozaj rozhoduje: stav dávky žije na serveri, nie vo vašom prehliadači. Ak vám vypadne pripojenie, notebook zaspí alebo jednoducho zatvoríte kartu, pretože sa začína porada, dávka pokračuje ďalej (alebo sa obnoví presne tam, kde skončila, ak ste ju pozastavili) namiesto reštartu od nuly. Pre skupinu bootcampu s 40 ľuďmi je to príjemný bonus. Pre firemné zavádzanie s 5 000 riadkami je to rozdiel medzi „proste to funguje“ a „niekto musí dvadsať minút strážiť kartu prehliadača“.
Bežiacu dávku môžete tiež zámerne pozastaviť — povedzme, niekto upozorní, že text kritérií odznaku potrebuje úpravu v polovici behu s 3 000 riadkami — problém opravte a pokračujte bez opätovného vydania už dokončených riadkov.
Krok 5: Riešenie zlyhaní
Reálne zoznamy príjemcov majú zlé riadky: e-mail s preklepom v doméne, pole mena, ktoré je vlastne prázdne, duplicitný záznam zo zlúčenia dvoch exportovaných hárkov. Keď riadok zlyhá, dávka sa nezastaví — pokračuje v spracovaní zvyšku a označí zlyhanie na neskoršiu kontrolu. Dostanete export výsledkov, ktorý presne ukazuje, ktoré riadky uspeli a ktoré nie, takže môžete opraviť len neúspešné riadky a spustiť malú následnú dávku namiesto opätovnej kontroly celého zoznamu.
Toto je dôležité pre zvyk exportu CSV, ktorý je už bežný v ovládacom paneli poverení — kedykoľvek si môžete vytiahnuť CSV toho, čo sa skutočne vydalo, porovnať ho so zdrojovým zoznamom a presne vedieť, kto ešte potrebuje odznak.
Cesta cez API: rovnaký postup, bez ovládacieho panela
Všetko vyššie predpokladá, že niekto sedí pri ovládacom paneli a klikne sa cez sprievodcu. Ak vaše dokončenia už žijú v nejakom systéme — LMS, CRM, automatizácii tabuliek — rovnaký postup hromadných poverení môžete riadiť priamo z Awards API.
Minimálne volanie na vydanie pre jedného príjemcu vyzerá takto:
curl -X POST https://api.badges.ninja/awards \
-H "X-Api-Key: bws_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d" \
-H "Content-Type: application/json" \
-d '{
"badgeId": "badge_9f8e7d6c5b4a",
"recipient": {
"name": "Maria Gonzalez",
"email": "maria@example.com"
},
"issuedOn": "2026-07-01T00:00:00Z"
}'
Alebo v Pythone, prechádzajúc cez riadky prečítané z toho istého CSV, ktoré by ste inak nahrali ručne:
import csv
import requests
API_KEY = "bws_1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d"
BADGE_ID = "badge_9f8e7d6c5b4a"
with open("recipients.csv") as f:
for row in csv.DictReader(f):
requests.post(
"https://api.badges.ninja/awards",
headers={"X-Api-Key": API_KEY},
json={
"badgeId": BADGE_ID,
"recipient": {"name": row["name"], "email": row["email"]},
"issuedOn": row.get("issued_on") or None,
},
)
Po tomto sa oplatí siahnuť, keď vydávanie poverení spúšťa niečo úplne iné — webhook dokončenia kurzu, zmena fázy v CRM, odoslanie formulára — namiesto toho, aby človek ručne exportoval CSV. Autentifikáciu a úplný tvar požiadavky/odpovede pokrývame v rýchlom sprievodcovi API. Každé poverenie vytvorené týmto spôsobom je identické s tým vytvoreným cez sprievodcu v ovládacom paneli: rovnaké tvrdenie Open Badge v2.0, rovnaká overovacia URL, rovnaký PDF certifikát.
Sprievodca v ovládacom paneli oproti API: čo vlastne chcete?
| Dashboard Bulk Credentials | Awards API | |
|---|---|---|
| Najlepšie pre | Jednorazovú alebo príležitostnú dávku (promócia skupiny, účasť na konferencii) | Opakujúci sa spúšťač (každé dokončenie kurzu, každý nákup) |
| Úsilie pri nastavení | Žiadne — exportujte CSV, nahrajte ho | Jednorazová integračná práca (webhook alebo skript) |
| Kto to spúšťa | Vlastník programu, bez kódu | Ktokoľvek vlastní spúšťací systém |
| Riešenie zlyhaní | Náhľad + export výsledkov po riadkoch | HTTP status pre každú požiadavku, spracovaný vo vašej vlastnej logike opakovania |
Väčšina tímov začína so sprievodcom v ovládacom paneli, pretože nevyžaduje nič okrem CSV, a na API prejdú až potom, čo bola rovnaká dávka spustená ručne trikrát alebo štyrikrát a vzor sa evidentne oplatí automatizovať.
Súkromie: čo sa vlastne ukladá
CSV s menami a e-mailmi sú osobné údaje a oplatí sa vedieť, čo sa s nimi deje po nahraní. E-mailová adresa príjemcu sa nikdy neukladá v čistom texte na samotnom poverení — je zahašovaná s osobitnou soľou pre každé poverenie ako súčasť tvrdenia Open Badge v2.0, podľa formátu identity príjemcu hashed zo špecifikácie. Tento haš je to, čo overovateľ kontroluje, nie samotnú adresu. Pole mena sa ukladá tak, ako bolo zadané, keďže má byť viditeľné na certifikáte a overovacej stránke. Ak treba riadok po vydaní opraviť — najčastejšie zle napísané meno — môžete jednotlivé poverenie upraviť alebo zrušiť z ovládacieho panela poverení bez toho, aby ste sa dotkli zvyšku dávky.
Po dávke: upovedomte príjemcov
Vydanie odznaku a informovanie príjemcu o ňom sú dva rozdielne kroky. Ak vaše CSV už nespúšťa e-mail cez váš vlastný systém, postup hromadného zdieľania v ovládacom paneli vám umožňuje viacnásobne vybrať poverenia, ktoré ste práve vytvorili, a poslať personalizovaný e-mail na zdieľanie im všetkým naraz — pozrite si hromadné odosielanie e-mailov na zdieľanie pre celý návod vrátane toho, ako sa personalizácia pre jednotlivých príjemcov (meno, obrázok odznaku, overovací odkaz) nahrádza automaticky.
Kedy je Bulk Credentials tým správnym nástrojom
Hromadné vydávanie je správna voľba vždy, keď rámec „dávky“ zodpovedá reálnemu svetu: skupina, ktorá skončila v ten istý deň, konferencia, ktorá sa práve skončila, zavádzanie školenia dosahujúce termín zhody. Ak namiesto toho vydávate jednorazové poverenia pri dosiahnutí individuálnych míľnikov — jedno povýšenie, jeden dokončený projekt — formulár na jedno poverenie je rýchlejší než zostavovanie CSV s jedným riadkom.
Pri čomkoľvek opakujúcom sa — ten istý kurz prebiehajúci každý mesiac, priebežná onboardingová linka — sa cestu cez API vyššie oplatí nastaviť raz. Zmení „spúšťaj hromadné poverenia ručne pri každej skupine“ na „dokončenia už vydávajú poverenia automaticky“, čo je verzia tohto postupu, ktorú väčšina vlastníkov programov po druhej či tretej ručnej dávke naozaj chce.
Pripravení vydať svoje prvé overiteľné poverenie? Začnite zadarmo na badges.ninja — vizuálny dizajnér, verejná overovacia stránka, PDF certifikát, výstup Open Badge v2.0. Nie je potrebná kreditná karta.
Ako vznikol tento článok
Niektoré príspevky na tomto blogu vznikajú s pomocou AI asistenta a pred publikovaním ich kontroluje, overuje a upravuje tím Badges Ninja. Každá ukážka kódu a cena je overená priamo v produkte. Viac o našom redakčnom a AI procese nájdete na našej stránke o redakčnom procese .

O autorovi
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.


