Erros

Trate erros da API e códigos de resposta

Tratamento de erros

A API do SurveyNinja usa códigos de status HTTP padrão para indicar o sucesso ou falha das requisições. Todos os erros são retornados em um formato JSON unificado.

Baixe a versão em markdown da seção "Tratamento de erros" para uso no ChatGPT / outros LLMs:

Formato de erro

Estrutura da resposta de erro

Todos os erros são retornados em um formato unificado com um código de erro, mensagem e detalhes adicionais.

Exemplo de erro
{ "success": false, "error": { "code": "validation_error", "message": "The 'title' field is required", "details": { "field": "title", "value": null, "constraint": "required" }, "request_id": "req_1234567890", "timestamp": "2024-01-15T10:30:00Z" } }

Códigos de status HTTP

Respostas de sucesso

Código Descrição Uso
200 OK Requisição GET ou PUT bem-sucedida
201 Criado Requisição POST bem-sucedida
204 Sem conteúdo Requisição DELETE bem-sucedida

Erros do cliente (4xx)

Código Descrição Motivo
400 Requisição inválida Parâmetros de requisição inválidos
401 Não autorizado Token ausente ou inválido
403 Proibido Direitos de acesso insuficientes
404 Não encontrado Recurso não encontrado
422 Entidade não processável Erros de validação
429 Muitas requisições Limite de taxa excedido

Erros do servidor (5xx)

Código Descrição Ação
500 Erro interno do servidor Tente a requisição novamente mais tarde
502 Gateway inválido Indisponibilidade temporária do serviço
503 Serviço indisponível O serviço está temporariamente indisponível

Códigos de erro da API

Erros de autenticação

unauthorized

Token de autorização inválido

{ "status": false, "error": { "code": "unauthorized", "message": "Invalid authorization token" } }

token_expired

O token expirou e precisa ser renovado

access_denied

O acesso ao recurso foi negado

access_denied_to_folder

O acesso à pasta foi negado

Erros de validação

validation_error

Erro de validação de dados

{ "success": false, "error": { "code": "validation_error", "message": "Validation errors", "details": { "errors": [ { "field": "title", "message": "The field is required" }, { "field": "questions", "message": "Must contain at least one question" } ] } } }

invalid_question_type

Tipo de pergunta não suportado

Erros de recursos

not_found

Recurso não encontrado

answer_not_found

Resposta não encontrada

workspace_not_found

Espaço de trabalho não encontrado