Documentação

Documentação do Endpoint WebSocket /ws/tour/check

Documentação do Endpoint WebSocket: /ws/tour/check

Visão Geral

Objetivo do Endpoint

Este endpoint fornece verificações em tempo real sobre tours ativos através de comunicação WebSocket. Os clientes podem enviar requisições contendo data e horário, e o servidor responde informando se existe um tour ativo naquele momento, incluindo suas perguntas e respostas já registradas.

Protocolo de Comunicação

  • Tipo: WebSocket
  • Formato de Dados: JSON
  • Direção: Bidirecional (cliente ↔ servidor)

Estrutura das Mensagens

Requisição do Cliente

Os clientes devem enviar uma mensagem JSON contendo os seguintes campos:

{
  "data_local": "2024-12-18",
  "horario_verificacao": "14:30:00"
}

Campos da Requisição:

CampoTipoFormatoObrigatórioDescrição
data_localStringYYYY-MM-DDSimData para verificação do tour
horario_verificacaoStringHH:MM:SSSimHorário específico da verificação

Respostas do Servidor

Tour Ativo

Quando existe um tour ativo no horário especificado, o servidor retorna:

{
  "status": "active",
  "tour_id": 123,
  "codigo": "XXX001",
  "perguntas": [
    {
      "id_pergunta": 45,
      "texto_pergunta": "Qual os cursos do Inteli?",
      "checkpoint": 3,
      "texto_resposta": "Engenharia de computação, engenharia de software, ciência da computação e sistemas da informação"
    },
    {
      "id_pergunta": 46,
      "texto_pergunta": "Como funciona o processo seletivo",
      "checkpoint": 3,
      "texto_resposta": "O processo dividido nos eixos prova, perfil e dinâmica em grupo"
    }
  ]
}

Campos da Resposta (Tour Ativo):

CampoTipoDescrição
statusStringSempre "active" para tours em andamento
tour_idIntegerIdentificador único do tour
codigoStringCódigo alfanumérico do tour
perguntasArrayLista de perguntas e respostas do tour
perguntas[].id_perguntaIntegerIdentificador único da pergunta
perguntas[].texto_perguntaStringConteúdo da pergunta
perguntas[].checkpointIntegerNúmero do checkpoint associado
perguntas[].texto_respostaStringResposta mais recente para a pergunta

Tour Inativo

Quando não existe tour ativo no horário especificado:

{
  "status": "inactive"
}

Campos da Resposta (Tour Inativo):

CampoTipoDescrição
statusStringSempre "inactive" quando nenhum tour está em andamento

Conclusão

O endpoint /ws/tour/check oferece uma solução eficiente e em tempo real para verificação de tours ativos. Através da comunicação WebSocket e formato JSON padronizado, o sistema permite que aplicações cliente monitorem o status de tours de forma responsiva e confiável.