---
title: Erros
slug: erros
icon: ▪️
createdAt: 2022-07-04T14:32:05.000Z
---

Por utilizar Graphql, os Http codes normalmente utilizados em APIs REST não são utilizados da mesma forma, sendo os códigos de erros retornados no JSON.

Aqui temos um exemplo de retorno com erro de uma requisição:

```graphql
 {
            "errors": [
              {
                "message": "Um valor duplicado foi fornecido para um campo com valores únicos.",
                "extensions": {
                  "code": "BAD_USER_INPUT"
                }
              }
            ],
            "data": {
              "saveCustomer": null
            }
          }
```

O campo "errors" é um array de objetos que contém as mensagens e o código do erro.

Por caracteristica do GraphQL, temos alguns codigos de erro padrão:

## BAD\_USER\_INPUT: Erro de entrada do usuário

| Value          | Descrição                                                          |
| -------------- | ------------------------------------------------------------------ |
| UserInputError | Você precisa inserir o CNPJ.                                       |
| UserInputError | Você precisa inserir a razão social (legalName).                   |
| UserInputError | Você precisa inserir o nome fantasia (name).                       |
| UserInputError | Um valor duplicado foi fornecido para um campo com valores únicos. |
| UserInputError | Objeto não encontrado.                                             |
| UserInputError | CNPJ inválido.                                                     |
| UserInputError | Você precisa inserir um CPF válido.                                |

### GRAPHQL\_VALIDATION\_FAILED: Ocorreu algum erro de validação de Schema, ou alguma regra de negócio foi desrespeitada

| Value                 | Descrição                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------ |
| ValidationError       | Business/Customer sem usuário criado. Edite o Business/Customer com informaçōes de usuário |
| ValidationError<br /> | Empresa possui um empréstimo em um status que bloqueia a criação de um novo : Em Análise.  |

## UNAUTHENTICATED: Erro de autenticação

| Value               | Descrição                 |
| ------------------- | ------------------------- |
| AuthenticationError | Credenciais inválidas.    |
| AuthenticationError | Token de acesso expirado. |
| AuthenticationError | Token de acesso inválido. |
| AuthenticationError | Você precisa estar logado |

## INTERNAL\_SERVER\_ERROR: Erro interno do servidor

| Value       | Descrição                                                                                              |
| ----------- | ------------------------------------------------------------------------------------------------------ |
| ApolloError | Você precisa especificar o nome da operação. Ex: query/mutation operationName \{ mutationName() \{} }' |

### Sobre empréstimos:

- Cada cliente só pode ter um empréstimo ativo;
- Quando o empréstimo for recusado, será necessário aguardar um tempo de 30 a 90 dias
- No momento em que o empréstimo se torna elegível ao desembolso, ou seja, na etapa de análise de crédito final para frente, já não podemos criar mais solicitações de empréstimo para o mesmo cliente.

