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