REST API · JSON · API Key

SatisfacaoNet API

Integre pesquisas de satisfação ao seu sistema. Crie pesquisas, colete respostas e analise resultados programaticamente.

Base URL
https://satisfacao.net/api/v1

Autenticação

A API utiliza chaves de acesso (API Keys) geradas exclusivamente pelo administrador da plataforma. Envie sua chave no header de todas as requisições autenticadas.

Como obter sua API Key

  1. Crie uma conta em satisfacao.net e confirme seu e-mail
  2. Solicite a ativação do acesso à API abrindo um chamado interno pelo painel administrativo
  3. O administrador gera uma chave exclusiva para voce no painel administrativo
  4. Utilize a chave no header X-API-Key de todas as requisições

Exemplo de requisicao

cURL
curl -X GET https://satisfacao.net/api/v1/surveys \
  -H "X-API-Key: sua_chave_aqui" \
  -H "Accept: application/json"

Erros de autenticacao

Sem chave401
{
  "message": "API key required. Use header X-API-Key."
}
Chave invalida401
{
  "message": "Invalid or expired API key."
}
Importante: A API Key está vinculada à sua conta. Todas as operações (criar pesquisas, ver respostas) sao executadas no contexto do seu usuário. Não compartilhe sua chave. Caso suspeite de vazamento, solicite ao administrador a revogação e geração de uma nova chave.

Headers obrigatórios

HeaderValorDescrição
X-API-KeystringobrigatórioSua chave de API (48 caracteres)
Acceptstringrecomendadoapplication/json
Content-TypestringPOST/PUTapplication/json

Pesquisas

Gerencie pesquisas de satisfação. Todas as rotas requerem X-API-Key. Pesquisas são identificadas por UUID.

GET /api/v1/surveys API Key Listar pesquisas

Retorna todas as pesquisas do usuário autenticado.

Resposta

JSON200 OK
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-...",
      "title": "Satisfacao no Atendimento",
      "status": "published",
      "url": "https://satisfacao.net/s/a1b2c3d4",
      "questions_count": 8,
      "responses_count": 342,
      "created_at": "2026-01-15T10:30:00Z"
    }
  ]
}
GET /api/v1/surveys/{uuid} API Key Detalhes da pesquisa

Retorna detalhes de uma pesquisa específica com questões.

POST /api/v1/surveys API Key Criar pesquisa

Cria uma nova pesquisa. Requer assinatura ativa e limite de pesquisas não atingido.

Parâmetros

CampoTipoDescrição
titlestringobrigatórioTítulo da pesquisa (max 255)
welcome_messagestringopcionalMensagem de boas-vindas
goodbye_textstringopcionalMensagem de agradecimento
visibilitybooleanopcionalPublicar imediatamente (default: false)
PUT /api/v1/surveys/{uuid} API Key Atualizar pesquisa

Atualiza uma pesquisa existente. Apenas o dono pode atualizar.

DEL /api/v1/surveys/{uuid} API Key Deletar pesquisa

Remove permanentemente uma pesquisa e todas as suas questões e respostas.

POST /api/v1/surveys/{uuid}/duplicate API Key Duplicar pesquisa

Cria uma copia da pesquisa com todas as questões. A copia inicia como rascunho com zero respostas.

Questoes

Gerencie questões dentro de uma pesquisa. Tipos disponíveis: multiple-choices, yes-no, rating, dropdown, short-text, long-text, email, phone, date, number, slider, nps, csat, ces

GET /api/v1/surveys/{uuid}/questions API Key Listar questões

Retorna todas as questões da pesquisa ordenadas por posição.

Resposta

JSON200 OK
{
  "data": [
    {
      "id": 1,
      "type": "nps",
      "text": "De 0 a 10, quanto voce recomendaria?",
      "position": 1,
      "is_required": true,
      "attributes": { "scale": 10 }
    }
  ]
}
POST /api/v1/surveys/{uuid}/questions API Key Criar questão

Adiciona uma questão à pesquisa. Requer limite de questões não atingido.

Parâmetros

CampoTipoDescrição
textstringobrigatórioTexto da questão
typestringobrigatórioTipo (ver lista acima)
positionintegeropcionalOrdem de exibicao
is_requiredbooleanopcionalResposta obrigatoria (default: false)
attributesobjectopcionalConfiguracoes especificas do tipo (choices, scale, etc.)
PUT /api/v1/surveys/{uuid}/questions/{id} API Key Atualizar questão

Atualiza uma questão existente.

DEL /api/v1/surveys/{uuid}/questions/{id} API Key Deletar questão

Remove uma questão e todas as respostas associadas.

Respostas

Colete e consulte respostas de pesquisas. A submissao e publica (nao requer autenticacao).

GET /api/v1/surveys/{uuid}/responses API Key Listar respostas

Retorna todas as respostas de uma pesquisa agrupadas por respondente.

POST /api/v1/surveys/{uuid}/responses Público Submeter respostas

Submete respostas para uma pesquisa. Rate limit: 10 requisições/minuto por IP.

Parâmetros

CampoTipoDescrição
responsesobjectobrigatórioMapa question_id → resposta

Exemplo

Request Body
{
  "responses": {
    "1": "9",
    "2": "Atendimento excelente!",
    "3": "Sim"
  }
}

Analytics & Planos

Dados analíticos das pesquisas e planos disponíveis.

GET /api/v1/surveys/{uuid}/analytics API Key Dados analíticos

Retorna métricas da pesquisa: taxa de conclusão, NPS, CSAT, CES e distribuição de respostas por questão.

Resposta

JSON200 OK
{
  "completion_rate": 84.5,
  "total_responses": 342,
  "total_attendees": 405,
  "scores": {
    "nps": { "score": 72, "promoters": 218, "passives": 64, "detractors": 60 },
    "csat": { "score": 88.2 },
    "ces": null
  },
  "questions": [ "..." ]
}
GET /api/v1/plans Público Listar planos

Retorna todos os planos disponíveis com preços e limites.

Resposta

JSON200 OK
{
  "data": [
    {
      "id": 1,
      "title": "Gratuito",
      "price": 0,
      "interval": "monthly",
      "is_free": true,
      "limits": {
        "survey_count": 3,
        "question_count_per_survey": 10,
        "response_count_per_survey": 100
      }
    },
    {
      "id": 2,
      "title": "Starter",
      "price": 49.00,
      "is_free": false,
      "limits": { "..." }
    }
  ]
}

Limites e Erros

Informações sobre rate limiting e códigos de erro.

Rate Limits

Com API Key60 req/min por chave
Submissão pública10 req/min por IP
Sem API Key60 req/min por IP

Códigos de Erro

200 Sucesso
201 Recurso criado
401 Não autenticado
403 Sem permissão
404 Não encontrado
422 Validação falhou
429 Rate limit excedido