Português (BR)
Português (BR)
Appearance
Português (BR)
Português (BR)
Appearance
Gerencie modelos de emblemas — as credenciais que você emite para os destinatários.
Para emitir este emblema para vários destinatários de uma só vez por meio de upload de CSV, em vez da API, consulte Credenciais em massa.
Todos os endpoints exigem autenticação por meio do cabeçalho X-Api-Key. Consulte Autenticação.
Crie um novo emblema em um emissor verificado.
POST /badges| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Título do emblema |
description | string | Sim | O que o emblema representa |
criteria | string | Sim | O que o destinatário fez para conquistar este emblema |
image | string | Sim | Imagem codificada em Base64 (PNG ou JPG) |
issuerId | string | Sim | O ID do emissor verificado |
shareText | string | Não | Texto padrão de compartilhamento social para este emblema. Aceita os marcadores , e . Se omitido, usa um padrão interno. |
designJson | string | Não | Documento serializado do designer de emblemas, armazenado para que o emblema possa ser reeditado camada por camada mais tarde. |
curl -X POST https://api.badges.ninja/badges \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"name": "JavaScript Fundamentals",
"description": "Demonstrates proficiency in core JavaScript concepts",
"criteria": "Completed the JavaScript Fundamentals course with a score of 80% or higher",
"image": "data:image/png;base64,iVBORw0KGgo...",
"issuerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}'{
"badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-f5a6-7890-bcde-f12345678901"
}Recupere todos os emblemas que você criou.
GET /badgescurl -X GET https://api.badges.ninja/badges \
-H "X-Api-Key: bws_your_api_key_here"[
{
"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..." },
"image": "https://badges.ninja/images/{sha256}.png",
"issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"timestamp": "2025-01-15T10:30:00.000Z"
}
]Recupere um único emblema, incluindo o texto de compartilhamento e o documento serializado do designer de emblemas (designJson). Este é o endpoint que o modal Editar emblema usa para reidratar cada camada; o endpoint de listagem omite designJson para manter as respostas enxutas.
GET /badges/{badgeId}| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
badgeId | string | Sim | O ID do emblema (parâmetro de caminho) |
curl -X GET https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
-H "X-Api-Key: bws_your_api_key_here"{
"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..." },
"image": "https://badges.ninja/images/{sha256}.png",
"issuer": "https://api.badges.ninja/certify-badge/issuer/a1b2c3d4-...",
"shareText": "Excited to share that I just received the \"{{badge_name}}\" certification!",
"designJson": "{ ...serialized designer document... }",
"timestamp": "2025-01-15T10:30:00.000Z"
}O texto de compartilhamento sempre é incluído. A variante mais leve de listagem GET /badges?badgeId={id} retorna o mesmo documento sem designJson e só inclui o texto de compartilhamento quando chamada com includeShareText=true.
Atualize um emblema existente. Somente os campos que você informar são alterados.
PUT /badges/{badgeId}| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
badgeId | string | Sim | O ID do emblema (parâmetro de caminho) |
name | string | Não | Novo título do emblema |
description | string | Não | Nova descrição |
criteria | string | Não | Novos critérios |
image | string | Não | Nova imagem codificada em Base64 |
designJson | string | Não | Novo documento serializado do designer de emblemas. |
curl -X PUT https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"name": "JavaScript Fundamentals v2",
"description": "Updated description for the JS badge"
}
}'{
"badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-...",
"updated": true
}Defina o texto personalizado exibido quando os destinatários compartilham este emblema nas redes sociais.
PUT /badges/{badgeId}/share-text| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
badgeId | string | Sim | O ID do emblema (parâmetro de caminho) |
text | string | Sim | Texto de compartilhamento (HTML não é permitido) |
curl -X PUT https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901/share-text \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"badgeId": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
"text": "I just earned the JavaScript Fundamentals badge! Check it out:"
}
}'{
"badgeId": "https://api.badges.ninja/certify-badge/badge/b1c2d3e4-..."
}Exclua um emblema. O emblema não pode ter credenciais.
DELETE /badges/{badgeId}curl -X DELETE https://api.badges.ninja/badges/b1c2d3e4-f5a6-7890-bcde-f12345678901 \
-H "X-Api-Key: bws_your_api_key_here"Retorna uma string simples de confirmação:
"badge has been deleted"400 — o emblema ainda tem credenciais emitidas: "This badge still has issued awards. Remove them first from the Awards page (revoke or delete each award), then delete the badge."404 — emblema não encontrado