Pular para conteúdo

Pesquisas de Satisfação (NPS)

A plataforma Videochamada.com.br oferece um sistema de pesquisas de satisfação que permite coletar feedback dos participantes após as chamadas. O sistema suporta diferentes tipos de perguntas, incluindo NPS (Net Promoter Score).

Tipos de Perguntas Suportados

Tipo Descrição Escala
stars Avaliação por estrelas 1-5 estrelas
nps Net Promoter Score 0-10
emojis Avaliação por emojis 5 opções (😡 😕 😐 🙂 😍)

Endpoints Disponíveis

Listar Respostas de Pesquisas

Retorna todas as respostas de pesquisas do projeto.

Endpoint: GET /api/surveys/responses

Autenticação: API Key (Bearer Token)

Parâmetros de Consulta:

Parâmetro Tipo Descrição
startDate string Data inicial (ISO 8601). Ex: 2025-01-01
endDate string Data final (ISO 8601). Ex: 2025-01-31
callId string Filtrar por chamada específica (opcional)

Exemplos de Implementação

curl -X GET "https://api.videochamada.com.br/api/surveys/responses?startDate=2025-01-01&endDate=2025-01-31" \
  -H "Authorization: Bearer {API_TOKEN}"
import requests

response = requests.get(
    "https://api.videochamada.com.br/api/surveys/responses",
    headers={"Authorization": "Bearer {API_TOKEN}"},
    params={
        "startDate": "2025-01-01",
        "endDate": "2025-01-31"
    }
)
const response = await fetch(
  'https://api.videochamada.com.br/api/surveys/responses?startDate=2025-01-01&endDate=2025-01-31',
  {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer {API_TOKEN}'
    }
  }
);
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {API_TOKEN}");
var response = await client.GetAsync(
    "https://api.videochamada.com.br/api/surveys/responses?startDate=2025-01-01&endDate=2025-01-31"
);

Exemplo de Resposta

[
  {
    "id": "resp_123",
    "callId": "call_456",
    "surveyId": "survey_789",
    "answers": [
      {
        "questionId": "q1",
        "questionText": "Como você avalia o atendimento?",
        "questionType": "nps",
        "value": 9
      },
      {
        "questionId": "q2",
        "questionText": "Qualidade do vídeo",
        "questionType": "stars",
        "value": 5
      }
    ],
    "created": "2025-01-15T14:30:00Z"
  }
]

Obter Analytics de Pesquisas

Retorna estatísticas agregadas das respostas de pesquisa.

Endpoint: GET /api/surveys/analytics

Autenticação: API Key (Bearer Token)

Parâmetros de Consulta:

Parâmetro Tipo Descrição
startDate string Data inicial (ISO 8601)
endDate string Data final (ISO 8601)

Exemplos de Implementação

curl -X GET "https://api.videochamada.com.br/api/surveys/analytics?startDate=2025-01-01&endDate=2025-01-31" \
  -H "Authorization: Bearer {API_TOKEN}"
import requests

response = requests.get(
    "https://api.videochamada.com.br/api/surveys/analytics",
    headers={"Authorization": "Bearer {API_TOKEN}"},
    params={
        "startDate": "2025-01-01",
        "endDate": "2025-01-31"
    }
)
const response = await fetch(
  'https://api.videochamada.com.br/api/surveys/analytics?startDate=2025-01-01&endDate=2025-01-31',
  {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer {API_TOKEN}'
    }
  }
);
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer {API_TOKEN}");
var response = await client.GetAsync(
    "https://api.videochamada.com.br/api/surveys/analytics?startDate=2025-01-01&endDate=2025-01-31"
);

Exemplo de Resposta

{
  "questions": [
    {
      "questionId": "q1",
      "text": "Como você avalia o atendimento?",
      "type": "nps",
      "total": 150,
      "average": 8.5,
      "distribution": {
        "0": 2,
        "1": 1,
        "2": 0,
        "3": 3,
        "4": 2,
        "5": 5,
        "6": 10,
        "7": 15,
        "8": 30,
        "9": 45,
        "10": 37
      }
    },
    {
      "questionId": "q2",
      "text": "Qualidade do vídeo",
      "type": "stars",
      "total": 150,
      "average": 4.2,
      "distribution": {
        "1": 5,
        "2": 10,
        "3": 20,
        "4": 45,
        "5": 70
      }
    }
  ]
}

Explicação dos Campos de Analytics

Campo Descrição
questionId Identificador único da pergunta
text Texto da pergunta
type Tipo da pergunta (nps, stars, emojis)
total Total de respostas recebidas
average Média das respostas
distribution Distribuição de respostas por valor

Cálculo do NPS

O Net Promoter Score (NPS) é calculado da seguinte forma:

  • Promotores (9-10): Clientes satisfeitos e leais
  • Neutros (7-8): Clientes satisfeitos mas não entusiasmados
  • Detratores (0-6): Clientes insatisfeitos

Fórmula: NPS = % Promotores - % Detratores

O NPS varia de -100 a +100.

Boas Práticas

  • Filtros de Data: Use sempre os parâmetros startDate e endDate para evitar retornar grandes volumes de dados
  • Análise por Chamada: Use o parâmetro callId para analisar feedback de chamadas específicas
  • Monitoramento Regular: Configure integrações via webhook ou consultas periódicas para acompanhar a satisfação dos clientes

Limitações Atuais

  • Exportação: Atualmente não há endpoint de exportação em CSV/Excel. Use os endpoints de listagem para obter os dados em JSON
  • Configuração de Pesquisas: A criação e edição de pesquisas é feita pelo painel administrativo (não via API pública)