Os endpoints de quiz permitem listar quizzes disponíveis e registrar respostas do cliente para ganhar pontos.
Status de Autenticação dos Endpoints
| Endpoint | Status |
|---|
GET /pub/widget/quiz | Público |
GET /pub/widget/quiz/{uid} | Público |
POST /pub/widget/answer | Público |
Listar Quizzes Disponíveis
Retorna todos os quizzes disponíveis para o cliente.
Requisição
GET /pub/widget/quiz
Headers
Identificador público da loja.
Exemplo
curl -X GET "https://api.bonifiq.com.br/pub/widget/quiz" \
-H "X-Bq-Tenant: {tenant_key}"
Resposta
{
"HasError": false,
"Message": null,
"Item": [
{
"Uid": "quiz-001",
"Title": "Conheça nossos produtos",
"Description": "Responda o quiz e ganhe 100 pontos!",
"Points": 100,
"Questions": 5,
"Completed": false,
"ExpirationDate": "2025-03-01"
},
{
"Uid": "quiz-002",
"Title": "Pesquisa de satisfação",
"Description": "Sua opinião vale 50 pontos!",
"Points": 50,
"Questions": 3,
"Completed": true,
"ExpirationDate": null
}
]
}
Obter Quiz Específico
Retorna os detalhes e perguntas de um quiz específico.
Requisição
GET /pub/widget/quiz/{uid}
Headers
Identificador público da loja.
Path Parameters
Identificador único do quiz.
Exemplo
curl -X GET "https://api.bonifiq.com.br/pub/widget/quiz/quiz-001" \
-H "X-Bq-Tenant: {tenant_key}"
Resposta
{
"HasError": false,
"Message": null,
"Item": {
"Uid": "quiz-001",
"Title": "Conheça nossos produtos",
"Description": "Responda o quiz e ganhe 100 pontos!",
"Points": 100,
"Completed": false,
"Questions": [
{
"Id": 1,
"Text": "Qual é o principal benefício do nosso produto X?",
"Type": "SingleChoice",
"Options": [
{ "Id": 1, "Text": "Economia" },
{ "Id": 2, "Text": "Praticidade" },
{ "Id": 3, "Text": "Qualidade" },
{ "Id": 4, "Text": "Todas as anteriores" }
]
},
{
"Id": 2,
"Text": "Você já experimentou nosso produto Y?",
"Type": "SingleChoice",
"Options": [
{ "Id": 1, "Text": "Sim" },
{ "Id": 2, "Text": "Não" },
{ "Id": 3, "Text": "Pretendo experimentar" }
]
},
{
"Id": 3,
"Text": "O que você mais gosta na nossa marca?",
"Type": "Text",
"Options": []
}
]
}
}
Responder Quiz
Envia as respostas do cliente para um quiz.
Requisição
POST /pub/widget/answer
Headers
Identificador público da loja.
Body
Array de respostas:
Identificador único do quiz.
ID da pergunta sendo respondida.
ID da opção selecionada (para perguntas de múltipla escolha).
Resposta em texto (para perguntas abertas).
Exemplo
curl -X POST "https://api.bonifiq.com.br/pub/widget/answer" \
-H "X-Bq-Tenant: {tenant_key}" \
-H "Content-Type: application/json" \
-d '[
{
"QuizUid": "quiz-001",
"QuestionId": 1,
"OptionId": 4
},
{
"QuizUid": "quiz-001",
"QuestionId": 2,
"OptionId": 1
},
{
"QuizUid": "quiz-001",
"QuestionId": 3,
"TextAnswer": "A qualidade dos produtos e o atendimento"
}
]'
Resposta
{
"HasError": false,
"Message": null,
"Item": [
{
"Uid": "quiz-001",
"Title": "Conheça nossos produtos",
"Completed": true,
"PointsEarned": 100
}
]
}
Para crédito correto de pontos no POST /pub/widget/answer, envie identificação de cliente (ex.: X-Bq-SecureToken).
Após responder todas as perguntas de um quiz, os pontos são creditados automaticamente na conta do cliente.