Documentação

Tudo o que o painel faz também está na API REST e no servidor MCP. Referência completa dos endpoints: API reference · openapi.json.

1. Crie uma chave

Crie sua conta, depois vá em API e MCP no painel e gere uma chave. Envie-a em todas as chamadas:

Authorization: Bearer bdg_live_...

2. Crie um emissor e um badge

curl -X POST https://badges.professorbossini.dev/v1/issuers \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"name":"Minha Escola","url":"https://minhaescola.com.br"}'

curl -X POST https://badges.professorbossini.dev/v1/achievements \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"issuerId":"iss_...","name":"Node.js Avançado","description":"...",
       "criteriaNarrative":"Entregou o projeto final","workloadHours":40}'

Imagens: envie para POST /v1/uploads (multipart, campo file) e use a URL devolvida em imageUrl.

3. Emita

curl -X POST https://badges.professorbossini.dev/v1/credentials \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-123" \
  -d '{"achievementId":"ach_...","recipient":{"name":"Maria Silva","email":"maria@exemplo.com"}}'

A resposta traz os links prontos para usar no seu site:

"urls": {
  "page": "https://badges.professorbossini.dev/c/<id>",                 // página pública de verificação
  "linkedinAddToProfile": "https://www.linkedin.com/profile/add?...",
  "certificate": "https://badges.professorbossini.dev/c/<id>/certificate.pdf",
  "bakedBadge": "https://badges.professorbossini.dev/c/<id>/badge.png",  // PNG com a credencial embutida
  "json": "https://badges.professorbossini.dev/c/<id>/credential.json"
}

Por padrão a pessoa recebe um e-mail. Envie "notify": false para não enviar. O header Idempotency-Key garante que repetir a chamada não emite duas vezes.

4. Verifique

curl -X POST https://badges.professorbossini.dev/verify -H "Content-Type: application/json" \
  -d '{"credential": { ...JSON da credencial... }}'

O resultado separa assinatura, validade e revogação, e funciona com credenciais Open Badges 3.0 de outros emissores também.

Servidor MCP

Conecte o Claude (ou outro agente compatível com MCP) para emitir e consultar badges em linguagem natural.

Claude.ai / Claude Desktop: adicione um conector personalizado com a URL abaixo. Você entra com a sua conta do Badges.

https://badges.professorbossini.dev/mcp

Claude Code, com uma chave de API:

claude mcp add --transport http badges https://badges.professorbossini.dev/mcp \
  --header "Authorization: Bearer bdg_live_..."

Ferramentas: create_issuer, create_achievement, issue_credential, issue_credentials_batch, list_credentials, revoke_credential, verify_credential e outras.

Limites e erros

Padrões usados