📈 Tipo de dados do payload:

typedata5.json
    Usuário:
 ID: number
 Nome: string
 Email: string
Conteúdo:
 ID: number
 ID da Instituição: number
 ID da Escola: number
 ID do Curso: number
 ID da Lição: number
 ID do Conteúdo: number ou null
 Resposta: string ou null
 Correto: boolean ou null
 Explicação: string ou null
 Pontos: number ou null
 Data de Envio: string ou null (formato: "yyyy-MM-dd HH:mm:ss")
 Entregue: boolean (0 ou 1)
 Hora Atual: string ou null (formato: "yyyy-MM-dd HH:mm:ss")
Curso:
 ID: number
 Nome: string
 ID do Certificado: number ou null
 Progresso: number (porcentagem de conclusão)

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 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 do Conteúdo:

  • ID: Identificador numérico do conteúdo da tabela conteudo_completo.
  • ID da Instituição: Identificador numérico da instituição relacionada ao conteúdo.
  • ID da Escola: Identificador numérico da escola relacionada ao conteúdo.
  • ID do Curso: Identificador numérico do curso relacionado ao conteúdo.
  • ID da Lição: Identificador numérico da lição relacionada ao conteúdo.
  • ID do Conteúdo: Identificador numérico do conteúdo específico (ou null se não houver conteúdo específico).
  • Resposta: Resposta fornecida pelo usuário (ou null se não houver resposta).
  • Correto: Indica se a resposta está correta (ou null se não houver correção).
  • Explicação: Explicação associada ao conteúdo (ou null se não houver explicação).
  • Pontos: Pontuação atribuída ao conteúdo (ou null se não houver pontuação).
  • Data de Envio: Data e hora em que o conteúdo foi enviado (ou null se não houver data de envio).
  • Entregue: Indica se o conteúdo foi entregue (0 para não entregue, 1 para entregue).
  • Hora Atual: Hora atual no momento do evento (ou null se não estiver definida).

Dados do Curso:

  • ID: Identificador numérico do curso.
  • Nome: Nome do curso em formato de texto.
  • ID do Certificado: Identificador numérico do certificado associado ao curso (ou null se não houver certificado).
  • Progresso

📈 Dados do evento:

Nome: Atividades - Conteúdo
Slug: activities.content.completed
Enviar em: Data do envio


Ação para disparar o evento:

O evento será acionado quando o usuário completar algum conteúdo.


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.

payload5.json
{
  "event": {
    "name": "Atividades - Conteúdo",
    "slug": "activities.content.completed",
    "send_at": "2022-03-10 12:01:43"
  },
  "data": {
    "user": {
      "id": 1234,
      "name": "Aluno",
      "email": "aluno@toolzz.me"
    },
    "content": {
      "id": 4,
      "institution_id": 123,
      "school_id": 654,
      "course_id": 666,
      "lesson_id": 4,
      "content_id": null,
      "answer": null,
      "correct": null,
      "explanation": null,
      "points": null,
      "send_date": null,
      "delivered": 0,
      "current_time": null
    },
    "course": {
      "id": 666,
      "name": "nome do curso",
      "certificate_id": null,
      "progress": 33
    }
  }
}

🔒 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.
  • content
    • ID - ID do registro na tabela conteudo_completo
    • CONTENT_ID - ID do conteúdo