Skip to content

Публична верификация ​

Тези крайни точки са публични и не изискват удостоверяване. Те позволяват на всеки да верифицира цифрови значки (credentials) и да извлича 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://badges.ninja/images/{sha256}.png",
  "issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-..."
}

Извличане на удостоверение ​

Извличане на JSON Assertion по Open Badge v2.0 за дадено удостоверение (credential).

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"
  },
  "revoked": false
}

Ако удостоверението е отменено, assertion съдържа "revoked": true и, когато е посочена причина, низ "revocationReason":

json
{
  "revoked": true,
  "revocationReason": "Issued in error"
}

Това е представянето на отмяната според Open Badges 2.0. Същата отмяна е изразена и във Verifiable Credential на удостоверението по Open Badges 3.0 — вижте Отмяна (Bitstring Status List).

Бележки ​

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

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

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

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ДаСписък с имейл адреси, разделени със запетая
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"
}

Това е единствената крайна точка, която обвива резултата си в обект { "statusCode", "info" }. Всички останали крайни точки връщат данните директно.


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

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

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

Параметри ​

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

Отговор ​

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

badges.ninja Documentation