Skip to content

Публична проверка

Тези крайни точки са публични и не изискват удостоверяване. Те позволяват на всеки да проверява удостоверения на значки и да извлича JSON данни на Open Badge v2.0.

Всички крайни точки са относителни спрямо https://api.badges.ninja.

Получаване на издател

Извлечете JSON профила на издател във формат Open Badge v2.0.

GET /certify-badge/issuer/{guid}

Пример

bash
curl https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-e5f6-7890-abcd-ef1234567890

Отговор

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Issuer",
  "id": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
  "name": "Acme Academy",
  "url": "https://acme.example.com",
  "email": "badges@acme.example.com",
  "verification": {
    "type": "hosted",
    "allowedOrigins": "api.badges.ninja"
  }
}

Получаване на значка

Извлечете JSON на BadgeClass във формат Open Badge v2.0.

GET /certify-badge/badge/{guid}

Пример

bash
curl https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901

Отговор

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "BadgeClass",
  "id": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
  "name": "JavaScript Fundamentals",
  "description": "Demonstrates proficiency in core JavaScript concepts",
  "criteria": {
    "narrative": "Completed the JavaScript Fundamentals course with a score of 80% or higher"
  },
  "image": "https://ipfs.ninja/ipfs/Qm...",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Получаване на сертификат

Извлечете JSON на Assertion във формат Open Badge v2.0.

GET /certify-badge/award/{guid}

Пример

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012

Отговор

json
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Assertion",
  "id": "https://api.badges.ninja/certify-badge/award/c1d2e3f4-...",
  "recipient": {
    "type": "email",
    "hashed": true,
    "identity": "sha256$..."
  },
  "badge": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
  "issuedOn": "2025-01-15T00:00:00.000Z",
  "verification": {
    "type": "hosted"
  }
}

Бележки

  • Имейлът на получателя е хеширан (SHA-256) за поверителност, съгласно спецификацията Open Badge.
  • Отговорите се кешират за 1 час (Cache-Control: public, max-age=3600).

Получаване на текст за споделяне на сертификат

Извлечете персонализирания текст за споделяне за значката на сертификат.

GET /certify-badge/award/{guid}/share-text

Пример

bash
curl https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/share-text

Отговор

json
{
  "text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}

Ако не е зададен персонализиран текст, се връща съобщение по подразбиране.


Изпращане на имейл за сертификат (публично)

Изпратете имейл известие за сертификат от публичната крайна точка. Използва се от публичната страница за споделяне.

POST /certify-badge/award/{guid}/send-email

Параметри

ПараметърТипЗадължителенОписание
recipientsstringДаСписък имейл адреси, разделени със запетая
subjectstringНеТема на писмото
messagestringНеПерсонализирано съобщение за включване в писмото

Пример

bash
curl -X POST https://api.badges.ninja/certify-badge/award/c1d2e3f4-a5b6-7890-cdef-123456789012/send-email \
  -H "Content-Type: application/json" \
  -d '{
    "parameters": {
      "recipients": "colleague@example.com",
      "message": "Check out this badge!"
    }
  }'

Отговор

json
{
  "statusCode": 200,
  "info": "award sent"
}

Потвърждаване на издател

Потвърдете издател, като щракнете линка за потвърждаване, изпратен на имейла на издателя. Обикновено се достъпва през линка в писмото за потвърждаване, а не се извиква директно.

GET /certify-badge/verify-issuer/{guid}/{code}

Параметри

ПараметърТипОписание
guidstringGUID на издателя
codestringКодът за потвърждаване

Отговор

Връща HTML страница, потвърждаваща успех или неуспех. Тази крайна точка е проектирана да се отваря в браузър.

badges.ninja Documentation