Mensagens de erro

Exemplos das mensagens de erro ou validações retornadas pela API e quais são.

As respostas retornadas pela API apresentam o seguinte padrão de resposta:

{
  "errors": { ... },
  "data": { ... }
}

Porém o atributo errors somente é retornado quando ocorre alguma excessão na requisição.

Quando um erro de query inválida em GraphQL acontece, as excessões são semelhantes ao exemplo abaixo: (Ao deixar de enviar um valor para name, que é obrigatório na especificação da query)

{
  "errors": [
    {
      "message": "Variable \"$folder\" got invalid value {\"name\":null}; Expected non-nullable type String! not to be null at value.name.",
      "extensions": {
        "category": "graphql"
      },
      "locations": [
        {
          "line": 1,
          "column": 31
        }
      ]
    }
  ]
}

A seguir, temos um exemplo de erro comum, ao buscar uma pasta inexistente:

{
  "errors": [
    {
      "message": "folder_not_found",
      "extensions": {
        "category": "graphql"
      },
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "folder"
      ]
    }
  ],
  "data": {
    "folder": null
  }
}

E também temos erros de validação (quando o atributo "message" possui o valor "validation"), criando uma pasta definindo o valor de string vazio:

{
  "errors": [
    {
      "message": "validation",
      "extensions": {
        "category": "graphql"
      },
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "createFolder"
      ],
      "validation": {
        "folder.name": [
          "field_required"
        ]
      }
    }
  ],
  "data": {
    "createFolder": null
  }
}

No seguinte exemplo, também temos um erro de validação, porém com variáveis, que acontece ao definir um nome muito curto para uma pasta:

{
  "errors": [
    {
      "message": "validation",
      "extensions": {
        "category": "graphql"
      },
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "createFolder"
      ],
      "validation": {
        "folder.name": [
          {
            "must_be_at_least": {
              "min": 3
            }
          }
        ]
      }
    }
  ],
  "data": {
    "createFolder": null
  }
}

Erros de validação

Por último, segue um JSON com todas as possíveis mensagens de erro ou de validação que podem ser retornadas pela API, junto com o que cada uma delas significa e possíveis variáveis entre chaves (Ex: {{variavel}}). Lembrando que não incluem erros de query GraphQL.

{
  "unauthorized": "Você não está mais autenticado",
  "document_not_found": "Documento não encontrado",
  "folder_not_found": "Pasta não encontrada",
  "document_signed": "O documento já foi assinado",
  "not_your_turn": "Não é a sua vez de assinar o documento",
  "must_be_a_string": "É somente permitido texto",
  "must_be_an_array": "Não é uma lista",
  "not_a_valid_date": "Não é uma data válida",
  "must_be_a_valid_email_address": "Não é um email válido",
  "must_be_a_file": "Não é um arquivo",
  "failed_to_upload":  "Erro ao enviar o arquivo",
  "could_not_upload_file": "Não foi possível enviar o arquivo",
  "field_required": "Este campo é obrigatório",
  "unavailable_credits": "Os seus documentos acabaram, você já criou todos os documentos disponíveis no seu plano.",
  "unavailable_verifications_credits": "Créditos de verificação adicional insuficientes.",
  "may_not_be_greater_than": "Não pode ter mais que {{max}} caracteres",
  "must_be_at_least": "Não pode ter menos que {{min}} caracteres",
  "format_is_invalid": "O formato do campo está incorreto",
  "invalid_date": "Não é uma data válida",
  "without_permission": "Você precisa ser um administrador da organização para executar esta ação.",
  "must_be_a_valid_file": "Somente são permitidos arquivos com as extenções {{extensions}}",
  "not_a_member_of_organization": "Você precisa ser um membro da mesma organização para executar esta ação."
}

Erro de rate limit

No caso de o seu usuário exceder 60 requisições por minuto, será retornado um erro com o status code 429, com a mensagem:

{
    "message": "Too Many Attempts."
}

Last updated