Responder a um quiz
Envia a alternativa escolhida pelo cliente a um quiz aberto durante a live e informa se acertou.
Durante a live, o organizador pode abrir um quiz (uma pergunta de múltipla escolha com tempo limitado). Quem acerta ganha 10 pontos no ranking e pode receber prêmios quando o quiz fecha. Esta rota recebe a resposta do cliente e a corrige no servidor.
/api/v1/storefront/live-sessions/{id}/quizzes/{quizId}/answerClienteResponder a um quiz
Parâmetros de caminho
iduuidobrigatórioId da live.
quizIduuidobrigatórioId do quiz, recebido no evento
quiz.open.Corpo da requisição
answer_indexintegerobrigatórioÍndice da alternativa escolhida, a partir de 0. Se omitido, vale 0 (a primeira alternativa), não é um erro.
Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/storefront/live-sessions/$SESSION_ID/quizzes/$QUIZ_ID/answer" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"answer_index":2}'Resposta
200Resposta registrada
json
{ "correct": true }Campos da resposta
correctbooleantrue se a alternativa escolhida é a correta. Um acerto soma 1 ao contador de acertos que alimenta o ranking.Erros
Os erros de regra devolvem um código curto no campo error.
| Status | Quando | Corpo |
|---|---|---|
| 400 | JSON inválido. | {"error":"invalid request body","detail":"..."} |
| 401 | Sem token de cliente. | {"error":"authentication required"} |
| 403 | Módulo live-commerce desligado. | {"error":"module_disabled","module":"live-commerce"} |
| 404 | A gamificação não está disponível. | {"error":"gamification not available"} |
| 409 | O cliente já respondeu a este quiz. | {"error":"already_answered"} |
| 409 | O quiz não está aberto (ainda é rascunho, já fechou ou o tempo acabou). | {"error":"quiz_closed"} |
| 422 | O quiz não existe nesta live. | {"error":"quiz_not_found"} |
| 500 | quizId ou id que não é UUID, ou falha interna. | {"error":"gamification error","detail":"..."} |