Kaip išduoti Open Badges iš CSV failo per mažiau nei 5 minutes

Žingsnis po žingsnio: įkelkite gavėjų CSV, pasirinkite ženklelį ir spustelėkite Išduoti. Pristabdykite ir tęskite partijos viduryje, pakartokite nepavykusias eilutes, eksportuokite rezultatus. Tinka 10 arba 10 000 narių grupėms.

Nacho Coll Autorius Atnaujinta 8 min skaitymo
Žingsnis po žingsnio: įkelkite gavėjų CSV, pasirinkite ženklelį ir spustelėkite Išduoti. Pristabdykite ir tęskite partijos viduryje, pakartokite nepavykusias eilutes, eksportuokite rezultatus. Tinka 10 arba 10 000 narių grupėms.

Jei kada nors išdavėte pažymėjimus grupei po vieną gavėją, jau žinote problemą: tai nebeveikia efektyviai daugiau nei maždaug dešimčiai žmonių, kol nevirsta visa popiete vardų ir el. laiškų kopijavimo bei įklijavimo. 40 žmonių bootcamp grupė, 500 konferencijos dalyvių sąrašas ar 5 000 žmonių įmonės mokymų diegimas — visiems reikia to paties: įkelti sąrašą, pasirinkti ženklelį, spustelėti Išduoti ir eiti šalin.

Būtent tai ir daro Bulk Credentials svetainėje https://badges.ninja. Šis vadovas apima visą eigą: CSV failo parengimą, partijos konfigūravimą, jos vykdymo stebėjimą ir netvarkingų realaus pasaulio atvejų tvarkymą — gavėjo eilutė su rašybos klaida, partija, nutrūkstanti pusiaukelėje, arba programa, norinti išduoti tuo pačiu būdu iš savų sistemų, o ne iš valdymo skydelio.

Prieš pradedant: ko jums reikia

Dviejų dalykų, kuriuos abu tikriausiai jau turite:

  1. Ženklelis — sukurtas vieną kartą vizualiniame dizaineryje ir pakartotinai naudojamas kiekvienam partijos gavėjui. Jei dar nė vieno nesukūrėte, žiūrėkite mūsų vadovą apie pirmojo patikrinamo sertifikato kūrimą.
  2. Gavėjų CSV — vardas, el. paštas ir (pasirinktinai) išdavimo data. Tai visa schema.

Jums nereikia išdavėjo paskyros kiekvienam gavėjui, pašto serverio ar kokio nors kodo. Viskas šiame skyriuje vyksta valdymo skydelyje.

1 žingsnis: Parenkite CSV failą

Gavėjų sąrašo formatas yra sąmoningai minimalus:

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 — privaloma. Užpildo gavėjo lauką patvirtinime (assertion) ir sertifikate.
  • email — privaloma. Tai tampa gavėjo tapatybe Open Badge v2.0 patvirtinime — sumaišoma su atskiru druskos raktu kiekvienam pažymėjimui prieš saugant, niekada nelaikoma grynuoju tekstu.
  • issued_on — pasirinktinai. Palikite tuščią ir partija naudoja momentą, kai apdorojama kiekviena eilutė; nustatykite ją aiškiai, jei atgaline data pildote grupę, kuri iš tikrųjų baigė praeitą mėnesį.

Dauguma programų savininkų tai eksportuoja tiesiai iš ten, kur jau seka užbaigimus — Airtable, Google Sheets, dėstytojo perduota skaičiuoklė ar iš LMS pažymių žurnalo ištrauktas CSV. Specialaus eksporto įrankio nereikia; tinka bet koks CSV su tais trimis stulpeliais.

Dažnos CSV spąstos (ir kaip peržiūra jas pagauna)

Realiuose gavėjų sąrašuose nuolat pasitaiko keletas problemų, dažniausiai todėl, kad CSV buvo sudarytas sujungiant du ar tris šaltinio lapus:

  • Tarpai el. pašto adresų pabaigoje — kopijavimas iš PDF sąrašo ar Google formos eksporto dažnai neša nematomą tarpą. Skaičiuoklės langelyje jis atrodo gerai, tačiau įkeliant nepraeina el. pašto patikros.
  • Dubliuotos eilutės — tas pats gavėjas pasirodo du kartus, nes grupės sąrašas ir vėlyvų registracijų sąrašas buvo sujungti be dublikatų šalinimo.
  • Nenuoseklūs datų formatai — vienas stulpelis su 2026-07-01, sumaišytas su 07/01/2026 iš kito eksporto. Laikykitės ISO 8601 (YYYY-MM-DD) ir tai visiškai išnyksta.
  • Antraščių didžiųjų ir mažųjų raidžių neatitikimaiEmail prieš email prieš E-mail. Analizatorius yra atlaidus dažniems variantams, tačiau visiškai pritaikytas antraštės pavadinimas nebus susietas automatiškai.

Nė viena iš jų nėra lemtinga — peržiūros žingsnis (žemiau) iškelia kiekvieną iš jų prieš išduodant ką nors, todėl pataisymas yra „redaguokite skaičiuoklę, įkelkite iš naujo“, o ne „išsiaiškinkite, kuris iš 3 000 gavėjų gavo sugadintą ženklelį“.

2 žingsnis: Sukonfigūruokite partiją

Valdymo skydelyje atidarykite Credentials → Bulk Credentials ir pasirinkite ženklelį, kurį išduodate. Tai žingsnis, kuriame nustatote viską, kas taikoma visai partijai: patį ženklelį, bendrą išdavimo datą, jei CSV neįrašote datų kiekvienai eilutei, ir (jei jūsų išdavėjo profilis turi tokį) LinkedIn organizacijos ID, kuris leis kiekvienam gavėjui pridėti pažymėjimą prie savo profilio vienu spustelėjimu.

Bulk Credentials — 1 žingsnis, konfigūravimas

Tai geras momentas dar kartą patikrinti, ar pasirinktas ženklelis yra galutinė versija — gavėjai matys vaizdą ir kriterijus, prisegtus prie jo išdavimo momentu, o ne tai, ką atnaujinsite vėliau.

3 žingsnis: Įkelkite ir peržiūrėkite

Įmeskite savo CSV ir platforma jį išanalizuoja, parodo peržiūros lentelę ir pažymi viską, ko negali apdoroti — trūkstamą el. paštą, netaisyklingą datą, dubliuotą eilutę. Niekas neišduodama, kol nepatvirtinate peržiūros.

Bulk Credentials — 2 žingsnis, įkėlimas

Šis peržiūros žingsnis svarbesnis, nei atrodo. Rašybos klaidą vienoje 2 000 eilučių CSV eilutėje akimis lengva praleisti, ir daug pigiau ją pagauti, kol 1 999 teisingos eilutės dar nėra išduotos, nei bandyti ją paskui išpainioti. Pataisykite pažymėtas eilutes savo skaičiuoklėje, įkelkite iš naujo ir peržiūra atsinaujins.

4 žingsnis: Paleiskite partiją

Spustelėkite Išduoti ir partija pradeda apdorojimą. Eigos juosta seka užbaigtas ir likusias eilutes, o partija veikia serverio pusėje — jums nereikia laikyti kortelės atidarytos, o nešiojamojo kompiuterio uždarymas partijos viduryje nepraranda jūsų vietos.

Šią paskutinę dalį verta aiškiai paminėti, nes būtent ši detalė didelėms grupėms iš tikrųjų svarbi: partijos būsena gyvena serveryje, o ne jūsų naršyklėje. Jei jūsų ryšys nutrūksta, nešiojamasis kompiuteris užmiega arba jūs tiesiog uždarote kortelę, nes prasideda susirinkimas, partija toliau veikia (arba atsinaujina būtent ten, kur sustojo, jei ją pristabdėte), užuot pradėjusi nuo nulio. 40 žmonių bootcamp grupei tai malonus priedas. 5 000 eilučių įmonės diegimui tai skirtumas tarp „tiesiog veikia“ ir „kažkas turi dvidešimt minučių prižiūrėti naršyklės kortelę“.

Veikiančią partiją taip pat galite sąmoningai pristabdyti — tarkime, kažkas atkreipia dėmesį, kad ženklelio kriterijų tekstą reikia pakoreguoti 3 000 eilučių vykdymo viduryje — ištaisykite problemą ir tęskite, iš naujo neišdavinėdami jau užbaigtų eilučių.

5 žingsnis: Tvarkykite nesėkmes

Realiuose gavėjų sąrašuose yra blogų eilučių: el. paštas su rašybos klaida domene, vardo laukas, kuris iš tikrųjų tuščias, dubliuotas įrašas iš dviejų eksportuotų lapų sujungimo. Kai eilutė nepavyksta, partija nesustoja — ji toliau apdoroja likusią dalį ir pažymi nesėkmę vėlesnei peržiūrai. Gaunate rezultatų eksportą, kuris tiksliai parodo, kurios eilutės pavyko, o kurios ne, todėl galite pataisyti tik nepavykusias eilutes ir paleisti nedidelę tolesnę partiją, užuot iš naujo tikrinę visą sąrašą.

Tai svarbu CSV eksporto įpročiui, kuris jau įprastas pažymėjimų valdymo skydelyje — bet kuriuo momentu galite ištraukti CSV to, kas iš tikrųjų buvo išduota, sugretinti jį su savo šaltinio sąrašu ir tiksliai žinoti, kam dar reikia ženklelio.

API kelias: ta pati eiga, be valdymo skydelio

Viskas aukščiau daro prielaidą, kad kažkas sėdi prie valdymo skydelio ir spustelinėja per vediklį. Jei jūsų užbaigimai jau gyvena sistemoje — LMS, CRM, skaičiuoklių automatizavime — tą pačią masinių pažymėjimų eigą galite valdyti tiesiai iš Awards API.

Minimalus išdavimo iškvietimas vienam gavėjui atrodo taip:

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"
  }'

Arba Python kalba, apeidami eilutes, nuskaitytas iš to paties CSV, kurį kitaip įkeltumėte rankiniu būdu:

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,
            },
        )

Šio verta imtis, kai pažymėjimų išdavimą sukelia kažkas visiškai kita — kurso užbaigimo žiniatinklio kabliukas, CRM etapo pakeitimas, formos pateikimas — o ne žmogus, rankiniu būdu eksportuojantis CSV. Autentifikaciją ir visą užklausos/atsakymo formą aprašome API greitajame vadove. Kiekvienas taip sukurtas pažymėjimas yra identiškas sukurtam per valdymo skydelio vediklį: tas pats Open Badge v2.0 patvirtinimas, tas pats patikros URL, tas pats PDF sertifikatas.

Valdymo skydelio vediklis prieš API: kurio jums iš tikrųjų reikia?

Dashboard Bulk CredentialsAwards API
GeriausiaVienkartinei ar retkarčiais vykdomai partijai (grupės baigimas, dalyvavimas konferencijoje)Pasikartojančiam trigeriui (kiekvienas kurso užbaigimas, kiekvienas pirkinys)
Nustatymo pastangosJokių — eksportuokite CSV, įkelkite jįVienkartinis integracijos darbas (žiniatinklio kabliukas ar scenarijus)
Kas jį vykdoProgramos savininkas, be kodoKas valdo trigerio sistemą
Nesėkmių tvarkymasPeržiūra + eilučių rezultatų eksportasHTTP būsena kiekvienai užklausai, tvarkoma jūsų pačių pakartojimo logikoje

Dauguma komandų pradeda nuo valdymo skydelio vediklio, nes jam nereikia nieko, išskyrus CSV, ir pereina prie API tik tada, kai ta pati partija buvo paleista rankiniu būdu tris ar keturis kartus ir šabloną akivaizdžiai verta automatizuoti.

Privatumas: kas iš tikrųjų saugoma

CSV su vardais ir el. laiškais yra asmens duomenys, ir verta žinoti, kas su jais nutinka po įkėlimo. Gavėjo el. pašto adresas niekada nesaugomas grynuoju tekstu pačiame pažymėjime — jis sumaišomas su atskiru druskos raktu kiekvienam pažymėjimui kaip Open Badge v2.0 patvirtinimo dalis, laikantis specifikacijos hashed gavėjo tapatybės formato. Būtent šią maišą tikrintojas tikrina, o ne neapdorotą adresą. Vardo laukas saugomas taip, kaip įvestas, nes jis skirtas būti matomas sertifikate ir patikros puslapyje. Jei eilutę reikia pataisyti po išdavimo — dažniausiai neteisingai parašytą vardą — galite redaguoti ar atšaukti atskirą pažymėjimą pažymėjimų valdymo skydelyje, neliesdami likusios partijos.

Po partijos: informuokite gavėjus

Ženklelio išdavimas ir gavėjo informavimas apie jį yra du skirtingi žingsniai. Jei jūsų CSV dar nesuaktyvina el. laiško per jūsų pačių sistemą, valdymo skydelio masinio dalijimosi eiga leidžia jums pažymėti kelis ką tik sukurtus pažymėjimus ir vienu ypu išsiųsti visiems personalizuotą dalijimosi el. laišką — žiūrėkite masinį dalijimosi el. laiškų siuntimą, kad rastumėte visą vadovą, įskaitant tai, kaip kiekvieno gavėjo personalizavimas (vardas, ženklelio vaizdas, patikros nuoroda) pakeičiamas automatiškai.

Kada Bulk Credentials yra tinkamas įrankis

Masinis išdavimas yra tinkamas pasirinkimas visada, kai „partijos“ rėmas atitinka realų pasaulį: grupė, baigusi tą pačią dieną, konferencija, kuri ką tik pasibaigė, mokymų diegimas, pasiekiantis atitikties terminą. Jei vietoj to išduodate vienkartinius pažymėjimus, pasiekus atskirus etapus — vieną paaukštinimą, vieną užbaigtą projektą — vieno pažymėjimo forma greitesnė nei vienos eilutės CSV sudarymas.

Bet kam pasikartojančiam — tas pats kursas, vykstantis kiekvieną mėnesį, nuolatinis įvedimo konvejeris — aukščiau aprašytą API kelią verta nustatyti vieną kartą. Jis paverčia „rankiniu būdu vykdyk masinius pažymėjimus kiekvienai grupei“ į „užbaigimai jau automatiškai išduoda pažymėjimus“, kuri yra ta šios darbo eigos versija, kurios dauguma programų savininkų iš tikrųjų nori po antros ar trečios rankinės partijos.

Pasiruošę išduoti savo pirmąjį patikrinamą pažymėjimą? Pradėkite nemokamai badges.ninja — vizualinis dizaineris, viešas patikros puslapis, PDF sertifikatas, Open Badge v2.0 išvestis. Kreditinės kortelės nereikia.

Nacho Coll

Apie autorių

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.

Grįžti į Tinklaraštį

Susiję straipsniai