Skip to content

API за издатели ​

Управлявайте издатели на значки — организациите или лицата, които издават значки.

Всички крайни точки изискват удостоверяване чрез хедъра X-Api-Key. Вижте Удостоверяване.

Създаване на издател ​

Създайте нов издател на значки.

POST /issuers

Параметри ​

ПараметърТипЗадължителенОписание
namestringДаИме на организацията (минимум 3 символа)
urlstringДаУебсайт на организацията (трябва да е валиден HTTP/HTTPS URL)
emailstringДаИмейл за контакт на издателя
logostringНеИзображение, кодирано в Base64 (PNG или JPG)
linkedinOrganizationIdstringНеЧислов ID на фирмената страница в LinkedIn. Когато е зададен, всяка публична страница на удостоверение от този издател показва бутон Add to LinkedIn Profile.

Пример ​

bash
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": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com"
    }
  }'

Отговор ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

Бележки ​

  • Брои се към лимита за издатели на вашия план (Free: 2, Starter: 5, Pro: 10). Не се удържа квота.
  • Ако имейлът на издателя съвпада с имейла на акаунта ви, издателят се верифицира автоматично.
  • Ако имейлът е различен, на имейла на издателя се изпраща имейл за верификация.
  • След като конфигурирате издател, използвайте API за удостоверения, за да започнете да издавате удостоверения от името на този издател.

Списък с издатели ​

Извлечете всички издатели, които сте създали.

GET /issuers

Пример ​

bash
curl -X GET https://api.badges.ninja/issuers \
  -H "X-Api-Key: bws_your_api_key_here"

Отговор ​

json
{
  "items": [
    {
      "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
      "name": "Acme Academy",
      "url": "https://acme.example.com",
      "email": "badges@acme.example.com",
      "verified": true,
      "timestamp": 1736937000000
    }
  ]
}

timestamp е Unix epoch в милисекунди. Когато издателите са повече, отколкото се събират на една страница, се връща и lastEvaluatedKey за странициране.


Верификация на издател ​

Верифицирайте издател с кода за верификация, изпратен на неговия имейл.

POST /issuers/{issuerId}/verify

Параметри ​

ПараметърТипЗадължителенОписание
issuerIdstringДаID на издателя (параметър в пътя)
codestringДаКодът за верификация от имейла

Пример ​

bash
curl -X POST https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890/verify \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "code": "ABC123"
    }
  }'

Отговор ​

Обикновен низ:

json
"issuer has been verified"

Изтриване на издател ​

Изтрийте издател. Към издателя не трябва да има свързани значки.

DELETE /issuers/{issuerId}

Пример ​

bash
curl -X DELETE https://api.badges.ninja/issuers/a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H "X-Api-Key: bws_your_api_key_here"

Отговор ​

Обикновен низ:

json
"issuer has been deleted"

Грешки ​

  • 400 — към издателя все още има свързани значки: issuer has {n} badge(s) linked — delete the badges first. Изтриването се блокира само от свързани значки — удостоверенията не го възпрепятстват.
  • 404 — издателят не е намерен

Актуализиране на издател ​

Актуализирайте полетата на издател. Могат да се редактират само неверифицирани издатели — след като издателят е верифициран, тази крайна точка връща 400 verified issuers cannot be edited, за да се запази стабилността на удостоверенията. Редактирането на издател генерира наново неговия код за верификация: ако email съвпада с имейла на акаунта ви, издателят се верифицира отново автоматично, в противен случай на този адрес се изпраща нов имейл за верификация.

PUT /issuers/{issuerId}

Параметри ​

ПараметърТипЗадължителенОписание
issuerIdstringДаID на издателя (параметър в пътя)
namestringНеНово име
urlstringНеНов URL
emailstringНеНов имейл (изпраща нов имейл за верификация, освен ако не съвпада с имейла на акаунта ви)
logostringНеНово лого, кодирано в Base64
linkedinOrganizationIdstringНеНов ID на организация в LinkedIn (или празен низ за изчистване)

Отговор ​

json
{
  "issuerId": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "updated": true
}

Грешки ​

  • 400 — verified issuers cannot be edited (издателят вече е верифициран)
  • 400 — not authorized (издателят принадлежи на друг акаунт)
  • 404 — издателят не е намерен

badges.ninja Documentation