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

# Certificado emitido

> Este webhook tem como objetivo enviar um evento sempre que um novo certificado for emitido. Esse evento será acionado quando um usuário concluir um curso e solicitar o acesso ao certificado clicando no botão "Ver Certificado".

# 📈 Tipo de dados do payload:

```json typedata6.json theme={null}
Institution:
- ID: number

User:
- ID: number
- Nome: string
- CPF: string
- Apelido: null ou string
- Email: string
- UUID: null ou string

Curso:
- ID: number
- Nome: string
- carga horária: string
- matriculado_em: string (formato: "yyyy-MM-dd HH:mm:ss")
- concluído_em: string (formato: "yyyy-MM-dd HH:mm:ss")

Escola:
- ID: number
- Nome: string
- Gestores: array (lista de gestores da escola)
	- gestor_id: number
  - gestor_nome: string

Certificado:
- Emitido em: string (formato: "yyyy-MM-dd HH:mm:ss")
- Tipo: string
- Taxa de Aprovação: number
```

### Detalhes do Evento

* Nome: Nome do evento em formato de texto.
* Slug: Identificador único do evento em formato de texto.
* Enviar em: Data e hora do evento no formato "yyyy-MM-dd HH:mm:ss"

### Dados da Instituição:

* ID: Identificador numérico da instituição..

### Dados do Usuário:

* ID: Identificador numérico do usuário.
* Nome: Nome do usuário em formato de texto.
* Email: Endereço de email do usuário em formato de texto.
* CPF: Número de CPF do usuário em formato de texto.
* Apelido: Valor nulo (null) ou apelido do usuário em formato de texto.
* UUID: Valor nulo (null) ou identificador único universal do usuário em formato de texto.

### Dados do Curso:

* ID: Identificador numérico do curso.
* name: Nome do curso em formato de texto.
* workload: quantidade de horas do curso
* enrolled\_at: data da matricula do aluno, formato: "yyyy-MM-dd HH:mm:ss"
* concluded\_at: data da conclusão do curso, formato: "yyyy-MM-dd HH:mm:ss"

### Dados da Escola:

* ID: Identificador numérico da escola.
* name: Nome da escola onde o curso foi concluido
* managers: objeto que contem os responsáveis pela escola
* managers.manager\_id: identificador do usuário responsável
* managers.manager\_name: nome do usuário responsável

### Dados do Certificado:

* Emitido em: Data e hora de emissão do certificado no formato "yyyy-MM-dd HH:mm:ss".
* type: tipo do certificado (participação ou aproveitamento)
* approval\_rate: taxa de aprovação para conseguir o certificado do tipo: aproveitamento

***

# 📈 Dados do evento:

Nome: Atividades - Certificado emitido\
Slug: activities.certificate.issued\
Enviar em: Data do envio

***

# Ação para disparar o evento:

* Esse evento será acionado quando um usuário concluir um curso e solicitar o acesso ao certificado clicando no botão "Ver Certificado".

***

# Payload/Exemplo de resposta:

O sistema deve responder com um código HTTP 200 OK se a operação for bem-sucedida. Se houver algum erro, o sistema deve responder com um código HTTP 4xx ou 5xx e uma mensagem de erro.

```json payload6.json theme={null}
{
  "event": {
    "name": "Atividades - Certificado emitido",
    "slug": "activities.certificate.issued",
    "send_at": "2023-08-28 20:47:31"
  },
  "data": {
    "institution": {
      "id": 98765432
    },
    "user": {
      "id": 12345678,
      "name": "Nome do Usuário",
      "email": "usuario@example.com",
      "cpf": "XXX.XXX.XXX-XX",
      "nickname": null,
      "uuid": null
    },
    "course": {
      "id": 87654321,
      "name": "Nome do Curso",
      "workload": "0h",
      "enrolled_at": "2023-08-28 20:46:18",
      "concluded_at": "2023-08-28 20:47:20"
    },
    "school": {
      "id": 1,
      "name": "Unidade 1",
      "managers": [
      {
        "manager_id": 98712326,
        "manager_name": "Nome do responsável pela escola"
      },
      {
        "manager_id": 54233432,
        "manager_name": "Nome do outro responsável pela escola"
      }
    ]
    },
    "certified": {
      "certified_at": "2023-08-28 20:47:31",
      "type": "Aproveitamento",
      "approval_rate": 25
    }
  }
}
```

# 🔒 Segurança:

Certifique-se de que a URL de destino esteja correta antes de começar a enviar payloads. Verifique se os parâmetros enviados estão corretos e completos. Certifique-se de que os destinatários do webhook estejam corretos e sejam válidos. Registre e monitore todas as chamadas de webhook para fins de auditoria e rastreamento de problemas.

***

# ⚠️ Códigos de Erro:

O sistema deve responder com um código HTTP 200 OK se a operação for bem-sucedida. Se houver algum erro, o sistema deve responder com um código HTTP 4xx ou 5xx e uma mensagem de erro.

***

# 💬 Glossário:

* Payload: dados que são enviados para o webhook.
* Slug: um identificador único para o evento.
* Autenticação: processo de verificação da identidade do remetente de uma solicitação.
