> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dokstamp.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Open Badges

> Emita Open Badges compatíveis com W3C juntamente com certificados para cursos com emblemas habilitados.

# Open Badges

O DokStamp suporta a especificação [Open Badges 2.0](https://www.imsglobal.org/sites/default/files/Badges/OBv2p0Final/index.html). Quando habilitado numa instituição, os cursos podem emitir emblemas digitais que os estudantes podem armazenar em badge backpacks (Badgr, Credly, etc.) e apresentar no LinkedIn ou em currículos.

***

## Habilitar emblemas numa instituição

Defina `is_badges_enabled: true` e forneça um `badge_image_uuid` (o ficheiro de imagem do emblema da instituição):

```bash theme={null}
# Primeiro, envie a imagem do emblema
FILE=$(curl -s -X POST https://api.dokstamp.com/files \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}" \
  -F "files[]=@institution-badge.png")

BADGE_IMAGE_UUID=$(echo $FILE | jq -r '.data[0].uuid')

# Habilitar emblemas na instituição
curl -X PATCH "https://api.dokstamp.com/institutions/{institution_uuid}" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d "{
    \"is_badges_enabled\": true,
    \"badge_image_uuid\": \"$BADGE_IMAGE_UUID\"
  }"
```

***

## Definir uma imagem de emblema num curso

Envie uma imagem de emblema específica do curso e vincule-a:

```bash theme={null}
# Enviar a imagem do emblema do curso
FILE=$(curl -s -X POST https://api.dokstamp.com/files \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "X-Tenant: {TENANT}" \
  -F "files[]=@bcs-badge.png")

BADGE_IMAGE_UUID=$(echo $FILE | jq -r '.data[0].uuid')

# Vincular ao curso
curl -X PATCH "https://api.dokstamp.com/courses/{course_uuid}" \
  -H "Authorization: Bearer {TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-Tenant: {TENANT}" \
  -d "{ \"badge_image_uuid\": \"$BADGE_IMAGE_UUID\" }"
```

***

## Obter o perfil do emissor de emblemas

```http theme={null}
GET /institutions/{uuid}/badges/issuers
```

Devolve o JSON-LD do Perfil de Emissor Open Badges 2.0. Este URL é referenciado dentro das assertions de emblemas para identificar a instituição emissora.

```json theme={null}
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Issuer",
  "id": "https://api.dokstamp.com/institutions/550e8400.../badges/issuers",
  "name": "Federal University of Technology",
  "url": "https://fut.edu.br",
  "email": "badges@fut.edu.br"
}
```

***

## Obter a imagem do emblema do curso

```http theme={null}
GET /courses/{uuid}/badges/image
```

Devolve o ficheiro de imagem do emblema. Esta é a representação visual do emblema.

***

## Obter a assertion de emblema de um certificado

```http theme={null}
GET /certificates/{uuid}/badges/assertions
```

Devolve uma [BadgeAssertion](https://www.imsglobal.org/sites/default/files/Badges/OBv2p0Final/index.html#Assertion) W3C Open Badges 2.0 para o certificado:

```json theme={null}
{
  "@context": "https://w3id.org/openbadges/v2",
  "type": "Assertion",
  "id": "https://api.dokstamp.com/certificates/a1b2c3d4.../badges/assertions",
  "recipient": {
    "type": "email",
    "hashed": true,
    "salt": "deadsea",
    "identity": "sha256$..."
  },
  "badge": {
    "type": "BadgeClass",
    "id": "https://api.dokstamp.com/courses/c3d4e5f6.../badges",
    "name": "Bachelor of Computer Science",
    "description": "Awarded for completing the 4-year BCS program.",
    "image": "https://api.dokstamp.com/courses/c3d4e5f6.../badges/image",
    "criteria": { "narrative": "Completion of 3200-hour curriculum with passing grades." },
    "issuer": "https://api.dokstamp.com/institutions/550e8400.../badges/issuers"
  },
  "verification": { "type": "hosted" },
  "issuedOn": "2024-12-01T00:00:00Z"
}
```

***

## Gravação de emblemas (Badge baking)

Os Open Badges podem ser "gravados" numa imagem PNG — o JSON da assertion é incorporado nos metadados da imagem. Os estudantes podem então fazer o envio de um único ficheiro PNG para qualquer badge backpack para verificação imediata. Contacte o gestor de conta do DokStamp para habilitar a gravação automática de emblemas na emissão de certificados.

***

## Partilha no LinkedIn

A `public_verification_url` de um certificado pode ser adicionada como "Licença e Certificação" no LinkedIn, utilizando o UUID do certificado como ID da credencial. Os empregadores podem verificar a credencial diretamente pelo LinkedIn.
