📈 Tipo de dados do payload:

typedata6.json
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.

payload6.json
{
  "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.