curl -X POST https://worker.thenewscc.com/quiz/submit \
-H "Authorization: Bearer seu_token_jwt" \
-H "Content-Type: application/json" \
-d '{
"quizId": "quiz_abc123",
"answers": [
{"fieldId": "q1_abc123", "answer": "openai"},
{"fieldId": "q2_abc123", "answer": "r$ 100 milhões"},
{"fieldId": "q3_abc123", "answer": "brasil"},
{"fieldId": "q4_abc123", "answer": "inteligência artificial"},
{"fieldId": "q5_abc123", "answer": "elon musk"},
{"fieldId": "q6_abc123", "answer": "2025"},
{"fieldId": "q7_abc123", "answer": "são paulo"},
{"fieldId": "q8_abc123", "answer": "fintech"},
{"fieldId": "q9_abc123", "answer": "5 bilhões"},
{"fieldId": "q10_abc123", "answer": "google"}
]
}'
const response = await fetch('https://worker.thenewscc.com/quiz/submit', {
method: 'POST',
headers: {
'Authorization': 'Bearer seu_token_jwt',
'Content-Type': 'application/json'
},
body: JSON.stringify({
quizId: 'quiz_abc123',
answers: [
{ fieldId: 'q1_abc123', answer: 'openai' },
{ fieldId: 'q2_abc123', answer: 'r$ 100 milhões' },
// ... outras respostas
]
})
});
const data = await response.json();
{
"success": true,
"message": "parabéns! você acertou o suficiente e seu streak foi recuperado! 🎉",
"data": {
"totalQuestions": 10,
"correctAnswers": 8,
"passed": true,
"minRequired": 6,
"streakRecovered": true,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "openai",
"correctAnswer": "openai",
"isCorrect": true,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft no valor de mais us$ 10 bilhões."
},
{
"fieldId": "q2_abc123",
"question": "qual foi o valor do investimento anunciado pela startup brasileira?",
"userAnswer": "r$ 100 milhões",
"correctAnswer": "r$ 200 milhões",
"isCorrect": false,
"explanation": "a startup recebeu r$ 200 milhões em sua série c, liderada pelo softbank."
}
]
}
}
{
"success": true,
"message": "você acertou 4 de 10 perguntas. eram necessários 6 acertos para recuperar o streak.",
"data": {
"totalQuestions": 10,
"correctAnswers": 4,
"passed": false,
"minRequired": 6,
"streakRecovered": false,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "google",
"correctAnswer": "openai",
"isCorrect": false,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft."
}
]
}
}
{
"success": false,
"message": "você já tentou este quiz. cada quiz pode ser tentado apenas uma vez."
}
{
"success": false,
"message": "quizId e answers são obrigatórios"
}
{
"success": false,
"message": "quiz não encontrado"
}
Usuário
Submeter Respostas
Submete as respostas do usuário para um quiz e verifica se passou
POST
/
quiz
/
submit
curl -X POST https://worker.thenewscc.com/quiz/submit \
-H "Authorization: Bearer seu_token_jwt" \
-H "Content-Type: application/json" \
-d '{
"quizId": "quiz_abc123",
"answers": [
{"fieldId": "q1_abc123", "answer": "openai"},
{"fieldId": "q2_abc123", "answer": "r$ 100 milhões"},
{"fieldId": "q3_abc123", "answer": "brasil"},
{"fieldId": "q4_abc123", "answer": "inteligência artificial"},
{"fieldId": "q5_abc123", "answer": "elon musk"},
{"fieldId": "q6_abc123", "answer": "2025"},
{"fieldId": "q7_abc123", "answer": "são paulo"},
{"fieldId": "q8_abc123", "answer": "fintech"},
{"fieldId": "q9_abc123", "answer": "5 bilhões"},
{"fieldId": "q10_abc123", "answer": "google"}
]
}'
const response = await fetch('https://worker.thenewscc.com/quiz/submit', {
method: 'POST',
headers: {
'Authorization': 'Bearer seu_token_jwt',
'Content-Type': 'application/json'
},
body: JSON.stringify({
quizId: 'quiz_abc123',
answers: [
{ fieldId: 'q1_abc123', answer: 'openai' },
{ fieldId: 'q2_abc123', answer: 'r$ 100 milhões' },
// ... outras respostas
]
})
});
const data = await response.json();
{
"success": true,
"message": "parabéns! você acertou o suficiente e seu streak foi recuperado! 🎉",
"data": {
"totalQuestions": 10,
"correctAnswers": 8,
"passed": true,
"minRequired": 6,
"streakRecovered": true,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "openai",
"correctAnswer": "openai",
"isCorrect": true,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft no valor de mais us$ 10 bilhões."
},
{
"fieldId": "q2_abc123",
"question": "qual foi o valor do investimento anunciado pela startup brasileira?",
"userAnswer": "r$ 100 milhões",
"correctAnswer": "r$ 200 milhões",
"isCorrect": false,
"explanation": "a startup recebeu r$ 200 milhões em sua série c, liderada pelo softbank."
}
]
}
}
{
"success": true,
"message": "você acertou 4 de 10 perguntas. eram necessários 6 acertos para recuperar o streak.",
"data": {
"totalQuestions": 10,
"correctAnswers": 4,
"passed": false,
"minRequired": 6,
"streakRecovered": false,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "google",
"correctAnswer": "openai",
"isCorrect": false,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft."
}
]
}
}
{
"success": false,
"message": "você já tentou este quiz. cada quiz pode ser tentado apenas uma vez."
}
{
"success": false,
"message": "quizId e answers são obrigatórios"
}
{
"success": false,
"message": "quiz não encontrado"
}
Descrição
Submete as respostas do usuário para um quiz específico. O sistema verifica cada resposta, calcula a pontuação e determina se o usuário passou. Se passou, o streak é automaticamente recuperado para a data do quiz. Cada usuário pode submeter respostas para um quiz apenas uma vez. Tentativas subsequentes retornam erro 403.Headers
Token JWT do usuário autenticadoFormato:
Bearer {token}Tipo de conteúdo da requisiçãoValor:
application/jsonBody Parameters
ID do quiz que está sendo respondido
Response
Indica se a operação foi bem-sucedida
Mensagem descritiva do resultado
Show Dados do resultado
Show Dados do resultado
Total de perguntas no quiz (10)
Quantidade de respostas corretas
Se o usuário passou (acertos >= minCorrectAnswers)
Mínimo de acertos necessários (6)
Se o streak foi recuperado automaticamente
curl -X POST https://worker.thenewscc.com/quiz/submit \
-H "Authorization: Bearer seu_token_jwt" \
-H "Content-Type: application/json" \
-d '{
"quizId": "quiz_abc123",
"answers": [
{"fieldId": "q1_abc123", "answer": "openai"},
{"fieldId": "q2_abc123", "answer": "r$ 100 milhões"},
{"fieldId": "q3_abc123", "answer": "brasil"},
{"fieldId": "q4_abc123", "answer": "inteligência artificial"},
{"fieldId": "q5_abc123", "answer": "elon musk"},
{"fieldId": "q6_abc123", "answer": "2025"},
{"fieldId": "q7_abc123", "answer": "são paulo"},
{"fieldId": "q8_abc123", "answer": "fintech"},
{"fieldId": "q9_abc123", "answer": "5 bilhões"},
{"fieldId": "q10_abc123", "answer": "google"}
]
}'
const response = await fetch('https://worker.thenewscc.com/quiz/submit', {
method: 'POST',
headers: {
'Authorization': 'Bearer seu_token_jwt',
'Content-Type': 'application/json'
},
body: JSON.stringify({
quizId: 'quiz_abc123',
answers: [
{ fieldId: 'q1_abc123', answer: 'openai' },
{ fieldId: 'q2_abc123', answer: 'r$ 100 milhões' },
// ... outras respostas
]
})
});
const data = await response.json();
{
"success": true,
"message": "parabéns! você acertou o suficiente e seu streak foi recuperado! 🎉",
"data": {
"totalQuestions": 10,
"correctAnswers": 8,
"passed": true,
"minRequired": 6,
"streakRecovered": true,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "openai",
"correctAnswer": "openai",
"isCorrect": true,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft no valor de mais us$ 10 bilhões."
},
{
"fieldId": "q2_abc123",
"question": "qual foi o valor do investimento anunciado pela startup brasileira?",
"userAnswer": "r$ 100 milhões",
"correctAnswer": "r$ 200 milhões",
"isCorrect": false,
"explanation": "a startup recebeu r$ 200 milhões em sua série c, liderada pelo softbank."
}
]
}
}
{
"success": true,
"message": "você acertou 4 de 10 perguntas. eram necessários 6 acertos para recuperar o streak.",
"data": {
"totalQuestions": 10,
"correctAnswers": 4,
"passed": false,
"minRequired": 6,
"streakRecovered": false,
"details": [
{
"fieldId": "q1_abc123",
"question": "qual empresa anunciou uma nova parceria estratégica com a microsoft?",
"userAnswer": "google",
"correctAnswer": "openai",
"isCorrect": false,
"explanation": "a openai anunciou uma extensão da parceria com a microsoft."
}
]
}
}
{
"success": false,
"message": "você já tentou este quiz. cada quiz pode ser tentado apenas uma vez."
}
{
"success": false,
"message": "quizId e answers são obrigatórios"
}
{
"success": false,
"message": "quiz não encontrado"
}
As respostas devem ser exatamente iguais às opções retornadas no endpoint GET /quiz/:id. A comparação é case-sensitive.
O streak é recuperado automaticamente quando o usuário passa no quiz. Não é necessário chamar nenhum endpoint adicional.
⌘I
