Skip to main content
Os endpoints de quiz permitem listar quizzes disponíveis e registrar respostas do cliente para ganhar pontos.

Status de Autenticação dos Endpoints

EndpointStatus
GET /pub/widget/quizPúblico
GET /pub/widget/quiz/{uid}Público
POST /pub/widget/answerPúblico

Listar Quizzes Disponíveis

Retorna todos os quizzes disponíveis para o cliente.

Requisição

GET /pub/widget/quiz Headers
X-Bq-Tenant
string
required
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
X-Bq-Tenant
string
required
Identificador público da loja.
Path Parameters
uid
string
required
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
X-Bq-Tenant
string
required
Identificador público da loja.
Body Array de respostas:
QuizUid
string
required
Identificador único do quiz.
QuestionId
integer
required
ID da pergunta sendo respondida.
OptionId
integer
ID da opção selecionada (para perguntas de múltipla escolha).
TextAnswer
string
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.