Skip to content

Respostas

Endpoints para consulta e gerenciamento de respostas de pesquisas de satisfação.

Cadastrar Resposta

POST /api/answers

Registra uma nova resposta de pesquisa de satisfação na plataforma.

Casos de uso:

  • Integrar respostas de canais externos (chatbot, totem, app)
  • Sincronizar respostas coletadas offline
  • Importar respostas de sistemas legados

Corpo da Requisição

json
{
  "nps": 9,
  "discursive_question": "Ótimo atendimento, muito satisfeito!",
  "questions": [
    {
      "id": "103a525c-0ce3-4182-a504-aad595425233",
      "name": "10",
      "suggestion": "Parabéns pelo serviço"
    },
    {
      "id": "203a525c-0ce3-4182-a504-aad595425234",
      "name": [{ "option": "Atendimento" }, { "option": "Qualidade" }]
    }
  ],
  "created_at": "2024-04-15 14:30:00",
  "search_id": "102a525c-0ce3-4182-a504-aad595425233",
  "response_channel": "Chatbot"
}
CampoTipoObrigatórioDescrição
npsnumberSimNota NPS (0 a 10)
discursive_questionstringNãoResposta da pergunta discursiva
questionsarrayNãoLista de respostas das questões adicionais
created_atstringSimData de criação da resposta no formato YYYY-MM-DD HH:mm:ss
search_idstringSimID da pesquisa associada (UUID)
response_channelstringSimCanal de resposta: QRcode, Email, SMS, Chatbot, Web, Link, Whatsapp

Campos de Questions

CampoTipoObrigatórioDescrição
idstringSimID da questão (UUID)
namestring/arraySimResposta da questão. Para caixa de seleção ou múltipla escolha, enviar array: [{ "option": "nome" }, ...]
suggestionstringNãoSugestão ou comentário adicional para a questão

Exemplo de Requisição

bash
curl -X POST "https://api-b2s.experienciab2s.com/api/answers" \
     -H "Authorization: Bearer SEU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "nps": 9,
       "discursive_question": "Ótimo atendimento!",
       "questions": [
         {
           "id": "103a525c-0ce3-4182-a504-aad595425233",
           "name": "10",
           "suggestion": "Parabéns"
         }
       ],
       "created_at": "2024-04-15 14:30:00",
       "search_id": "102a525c-0ce3-4182-a504-aad595425233",
       "response_channel": "Chatbot"
     }'

Resposta de Sucesso (201)

json
{
  "id": "ef9fa264-3850-4bd2-875e-2b40a4dd432f",
  "company_id": "203a525c-0ce3-4182-a504-aad595425233"
}

Códigos de Resposta

CódigoDescrição
201Resposta cadastrada com sucesso
400Erro de validação ou requisição malformada
403Token inválido ou usuário não autorizado
404Pesquisa ou token de integração não encontrado

Listar Respostas de Pesquisas

GET /api/answers

Retorna uma lista de respostas de pesquisas, com opções de filtro e paginação. Os resultados são limitados a um máximo de 50 respostas por requisição.

Casos de uso:

  • Sincronizar respostas com sistema externo
  • Gerar relatórios personalizados
  • Alimentar dashboards de BI

Parâmetros de Query

ParâmetroTipoObrigatórioDescrição
is_enpsbooleanSimFiltra respostas relacionadas ao eNPS
date_startstringSimData de início no formato YYYY-MM-DD
date_endstringSimData de fim no formato YYYY-MM-DD
limitintegerSimNúmero máximo de respostas por requisição (máximo 50)
offsetintegerSimNúmero de respostas a serem ignoradas para paginação
search_idstringNãoID da pesquisa para filtrar respostas (formato UUID)
clients_onlybooleanNãoRetorna apenas respostas associadas a clientes (padrão: false)

Exemplo de Requisição

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/answers?is_enps=true&date_start=2024-01-01&date_end=2024-01-31&limit=50&offset=0" \
     -H "Authorization: Bearer SEU_TOKEN"

Resposta de Sucesso (200)

json
{
  "limit": 50,
  "offset": 0,
  "total": 2,
  "data": [
    {
      "id": "103a525c-0ce3-4182-a504-aad595425233",
      "created_at": "2024-04-14T22:06:02.000Z",
      "nps": 10,
      "discursive_question": "",
      "consumption": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "order_id": "order_123"
      },
      "company": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Empresa 1"
      },
      "search": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Salão"
      },
      "page": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Retirada"
      },
      "client": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "John Doe",
        "email": "johndoe@example.com",
        "phone": "(00) 0 0000-0000",
        "born_date": "25/02/1980"
      },
      "criteria": [
        {
          "nick": "Atendimento",
          "name": "10",
          "suggestion": "",
          "type": "NPS"
        }
      ]
    }
  ]
}

Buscar Resposta por ID

GET /api/answers/{id}

Retorna informações detalhadas sobre uma resposta específica, incluindo cliente, consumo, empresa, página e critérios associados.

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescrição
idstringSimID único da resposta (formato UUID)

Exemplo de Requisição

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742" \
     -H "Authorization: Bearer SEU_TOKEN"

Resposta de Sucesso (200)

json
{
  "id": "03944421-7382-4d05-a278-80b44e7cb742",
  "created_at": "2023-09-08T23:00:00.000Z",
  "nps": 10,
  "discursive_question": null,
  "company": {
    "id": "203a525c-0ce3-4182-a504-aad595425233",
    "name": "Company Setup - 2"
  },
  "search": {
    "id": "203a525c-0ce3-4182-a504-aad595425233",
    "name": "Delivery"
  },
  "page": {
    "id": "103a525c-0ce3-4182-a504-aad595425233",
    "name": "Retirada"
  },
  "client": {
    "id": "03944421-7382-4d05-a278-80b44e7cb742",
    "name": "John",
    "email": "john@example.com",
    "phone": null,
    "born_date": null
  },
  "consumption": {
    "id": "03944421-7382-4d05-a278-80b44e7cb742",
    "order_id": "order_1"
  },
  "criteria": [
    {
      "name": "Lorem",
      "nick": "Resposta Curta",
      "suggestion": null,
      "type": "Resposta Curta"
    },
    {
      "name": "4",
      "nick": "Rating",
      "suggestion": null,
      "type": "Rating"
    },
    {
      "name": "10",
      "nick": "NPS",
      "suggestion": null,
      "type": "NPS"
    }
  ]
}

Códigos de Resposta

CódigoDescrição
200Resposta encontrada
403Token inválido ou usuário não autorizado
404Resposta ou token de integração não encontrado

Atualizar Status da Resposta

PATCH /api/answers/{id}

Atualiza o status de uma resposta específica. Este endpoint permite alterar o estado de processamento das respostas dos clientes, habilitando o gerenciamento de workflow e rastreamento de estados de resolução.

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescrição
idstringSimID único da resposta (formato UUID)

Corpo da Requisição

json
{
  "status": "in-progress"
}
CampoTipoObrigatórioValores AceitosDescrição
statusstringSimto-do, in-progress, doneNovo status para a resposta

Exemplo de Requisição

bash
curl -X PATCH "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742" \
     -H "Authorization: Bearer SEU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"status": "in-progress"}'

Resposta de Sucesso (201)

json
{}

Códigos de Resposta

CódigoDescrição
201Status atualizado com sucesso
400Valor de status inválido ou requisição malformada
403Token inválido ou usuário não autorizado
404Resposta ou token de integração não encontrado

Criar Closed Loop

POST /api/answers/{id}/description

Cria um closed loop (descrição de fechamento) para uma resposta específica. Permite adicionar informações de acompanhamento ou detalhes de resolução a uma resposta existente, habilitando o rastreamento completo de feedback e fechamento do ciclo de atendimento ao cliente.

Parâmetros de Caminho

ParâmetroTipoObrigatórioDescrição
idstringSimID único da resposta (formato UUID)

Corpo da Requisição

json
{
  "message": "Customer issue was resolved by providing a discount coupon and following up via phone call.",
  "user_email": "support@company.com",
  "user_name": "Support Agent"
}
CampoTipoObrigatórioDescrição
messagestringSimDescrição do closed loop ou mensagem de resolução
user_emailstringSimEmail do usuário que está criando o closed loop
user_namestringSimNome do usuário que está criando o closed loop

Exemplo de Requisição

bash
curl -X POST "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742/description" \
     -H "Authorization: Bearer SEU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "message": "Customer issue was resolved by providing a discount coupon.",
       "user_email": "support@company.com",
       "user_name": "Support Agent"
     }'

Resposta de Sucesso (201)

json
{
  "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "answer_id": "03944421-7382-4d05-a278-80b44e7cb742",
  "description": "Customer issue was resolved by providing a discount coupon.",
  "user_email": "support@company.com",
  "user_name": "Support Agent - API",
  "created_at": "2024-04-15T14:30:00.000Z"
}

Códigos de Resposta

CódigoDescrição
201Closed loop criado com sucesso
403Token inválido ou usuário não autorizado
404Resposta ou token de integração não encontrado

Integration Documentation