> ## 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.

# Trilha concluída

> O principal propósito desse webhook é fornecer uma notificação em tempo real quando um usuário finalizar com êxito uma trilha de aprendizado. Isso permite que a instituição ou o sistema registre e acompanhe o progresso dos usuários.

# 📈 Tipo de dados do payload:

```json typedata4.json theme={null}
    Instituição:
	ID: number
Usuário:
	ID: number
	Nome: string
	Email: string
Trilha:
	ID: number
	Nome: string
	Concluída em: string (formato: "yyyy-MM-dd HH:mm:ss")
	Cursos: array de objetos
		ID: number
		Título: string
```

### 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.

### Dados da Trilha:

* ID: Identificador numérico da trilha.
* Nome: Nome da trilha em formato de texto.
* Concluída em: Data e hora em que a trilha foi concluída no formato "yyyy-MM-dd HH:mm:ss".
* Cursos: Array de objetos contendo informações sobre os cursos da trilha. Cada objeto contém:
  * ID: Identificador numérico do curso.
  * Título: Título do curso em formato de texto.

***

# 📈 Dados do evento:

Nome: Atividades - Trilha concluída\
Slug: activities.trail.completed\
Enviar em: Data do envio

***

# Ação para disparar o evento:

* O evento será acionado quando o usuário completar todas as atividades de uma trilha específica.

***

# 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 payload4.json theme={null}
{
  "event": {
    "name": "Atividades - Trilha concluída",
    "slug": "activities.trail.completed",
    "send_at": "2022-03-10 18:56:47"
  },
  "data": {
    "institution": {
      "id": 12345,
    },
    "user": {
      "id": 123456798,
      "name": "Aluno",
      "email": "aluno@toolzz.com"
    },
    "trail": {
      "id": 987654,
      "name": "Nome da trilha",
      "finished_at": "2022-03-10 18:56:47"
      "courses": [
         {
             "id": 123456,
             "title": "Nome do curso"
         }
      ]
    }
  }
}
```

# 🔒 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.
