Skip to content

Verificação pública ​

Estes endpoints são públicos e não exigem autenticação. Permitem que qualquer pessoa verifique credenciais de emblemas e obtenha dados JSON do Open Badge v2.0.

Todos os endpoints são relativos a https://api.badges.ninja.

Obter emissor ​

Obtenha o JSON do perfil de emissor Open Badge v2.0 de um determinado emissor.

GET /certify-badge/issuer/{guid}

Exemplo ​

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

Resposta ​

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

Obter emblema ​

Obtenha o JSON do BadgeClass Open Badge v2.0 de um determinado emblema.

GET /certify-badge/badge/{guid}

Exemplo ​

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

Resposta ​

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

Obter credencial ​

Obtenha o JSON da Assertion Open Badge v2.0 de uma determinada credencial.

GET /certify-badge/award/{guid}

Exemplo ​

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

Resposta ​

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
}

Se a credencial tiver sido revogada, a asserção inclui "revoked": true e, quando foi indicado um motivo, uma cadeia "revocationReason":

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

Esta é a vista da revogação no Open Badges 2.0. A mesma revogação também é expressa na Verifiable Credential Open Badges 3.0 da credencial — consulte Revogação (Bitstring Status List).

Notas ​

  • O e-mail do destinatário é codificado com hash (SHA-256) para proteger a privacidade, seguindo a especificação Open Badge.
  • As respostas ficam em cache durante 5 minutos (Cache-Control: public, max-age=300). As credenciais revogadas usam uma cache mais curta, de 30 segundos (max-age=30), para que a revogação se propague rapidamente.

Obter texto de partilha da credencial ​

Obtenha o texto de partilha personalizado do emblema de uma credencial.

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

Exemplo ​

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

Resposta ​

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

Se não estiver definido nenhum texto de partilha personalizado, é devolvida uma mensagem predefinida.


Enviar e-mail da credencial (público) ​

Envie um e-mail de notificação da credencial a partir do endpoint público. É utilizado pela página pública de partilha.

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

Parâmetros ​

ParâmetroTipoObrigatórioDescrição
recipientsstringSimLista de endereços de e-mail separados por vírgulas
messagestringNãoMensagem personalizada a incluir no e-mail

Exemplo ​

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

Resposta ​

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

Este é o único endpoint que envolve o resultado num envelope { "statusCode", "info" }. Todos os outros endpoints devolvem o conteúdo diretamente.


Verificar emissor ​

Verifique um emissor clicando na ligação de verificação enviada para o e-mail do emissor. Normalmente é acedida através da ligação no e-mail de verificação, e não chamada diretamente.

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

Parâmetros ​

ParâmetroTipoDescrição
guidstringO GUID do emissor
codestringO código de verificação

Resposta ​

Devolve uma página HTML a confirmar se a verificação foi bem-sucedida ou falhou. Este endpoint foi concebido para ser aberto num navegador.

badges.ninja Documentation