Skip to main content

Visão Geral

Quando uma requisição à API v2 falha, o retorno inclui campos específicos para identificar o problema:
  • retorno.status: “Erro”
  • retorno.codigo_erro: Código numérico do erro
  • retorno.erros[]: Lista de mensagens descritivas dos erros

Códigos de Erro Comuns

CódigoDescrição
1Token inválido ou expirado
2Token não informado
20Consulta não retornou registros
31Erro de validação nos dados enviados
32Registro não localizado

Estrutura de Retorno de Erro

{
  "retorno": {
    "status_processamento": 1,
    "status": "Erro",
    "codigo_erro": 2,
    "erros": [
      {
        "erro": "token invalido"
      }
    ]
  }
}

Erros de Validação

Para operações de inclusão e alteração, erros específicos são retornados dentro de retorno.registros[].registro.erros[]:
{
  "retorno": {
    "status_processamento": 2,
    "status": "Erro",
    "registros": [
      {
        "registro": {
          "sequencia": "1",
          "status": "Erro",
          "codigo_erro": 31,
          "erros": [
            {
              "erro": "O número de sequência deve ser informado"
            },
            {
              "erro": "O nome do contato deve ser informado"
            }
          ]
        }
      }
    ]
  }
}

Status de Processamento

O campo status_processamento indica o resultado da operação:
ValorSignificado
1Erro de autenticação
2Erro de validação ou dados não encontrados
3Processamento bem-sucedido
A documentação completa de todos os códigos de erro não está disponível publicamente. As mensagens em retorno.erros[] fornecem detalhes específicos sobre cada erro encontrado.

Tratamento de Erros

Boas Práticas

  1. Sempre verifique o campo status antes de processar o retorno
  2. Leia as mensagens em erros[] para entender o problema específico
  3. Use o codigo_erro para tratamento programático
  4. Implemente retry logic para erros temporários (ex: timeout)
  5. Valide os dados localmente antes de enviar para reduzir erros de validação

Exemplo de Tratamento em PHP

$resposta = json_decode($response, true);

if ($resposta['retorno']['status'] === 'Erro') {
    $codigo = $resposta['retorno']['codigo_erro'];
    $mensagens = array_column($resposta['retorno']['erros'], 'erro');

    if ($codigo == 1 || $codigo == 2) {
        // Erro de autenticação
        error_log('Token inválido ou não informado');
    } elseif ($codigo == 20) {
        // Nenhum registro encontrado
        return [];
    } elseif ($codigo == 31 || $codigo == 32) {
        // Erro de validação ou registro não encontrado
        error_log('Erros: ' . implode(', ', $mensagens));
    }

    return false;
}

// Processar resposta de sucesso
return $resposta['retorno'];

Consulte Também