Documentação Técnica: API de Integração de Clientes
Endpoint: clientes.php
1. Visão Geral
Esta documentação descreve o funcionamento do endpoint clientes.php, responsável pela disponibilização de dados cadastrais de clientes através de integração via API REST.
O endpoint permite a consulta de:
- Dados cadastrais principais e informações complementares;
- Endereços e contatos vinculados;
- Dados para sincronização incremental.
Funcionamento Interno: A API realiza a autenticação da empresa integradora através de uma base centralizada e, após validação, conecta-se automaticamente à base de dados correspondente da empresa autenticada.
Objetivo Principal: Permitir integrações com ERP, E-commerce, Marketplaces, CRM, Sistemas Fiscais, Aplicativos Mobile, Plataformas de Fidelidade e Middlewares.
2. Características da API
| Característica | Detalhe |
| Método HTTP | POST |
| Protocolo | HTTPS (Recomendado) |
| Formato de Resposta | JSON |
| Charset | Entrada: ISO-8859-1 |
| Autenticação | Usuário e Senha |
| Paginação | Sim (Limite: 50 registros/página) |
| Sincronização | Incremental disponível |
3. Escopo da Integração
Desenvolvida para disponibilização de dados cadastrais de forma genérica e padronizada.
Possibilidades:
- Consulta incremental por data de cadastro e atualização;
- Consulta individual por cliente;
- Carga completa da base via paginação;
- Estrutura relacional com múltiplos endereços e contatos.
Compatibilidade: PHP, Java, .NET, Node.js, Python, Aplicações Mobile e Ferramentas ETL.
4. Autenticação e Segurança
O acesso é controlado via corpo da requisição (body). Após a validação na base central, o sistema identifica:
- Empresa
- Banco de dados
- Permissões de integração
Campos Obrigatórios:
- usuario
- senha
5. Recomendações de Segurança
- Utilização exclusiva via HTTPS;
- Armazenamento seguro das credenciais;
- Controle de acesso por IP quando aplicável;
- Utilização de timeout de integração;
- Tratamento de tentativas de reconexão e validação de retorno.
6. Parâmetros da Requisição (POST)
- usuario: Identificador da integração.
- senha: Senha da integração.
- data_cadastro: Filtra clientes cadastrados a partir desta data.
- data_atualizacao: Filtra clientes alterados a partir desta data.
- id_cliente: Filtra um ID específico.
- paginacao_atual: Índice da página desejada.
7. Regras de Funcionamento dos Filtros
- data_cadastro: Formato esperado AAAA-MM-DD HH:MM:SS.
- data_atualizacao: Utilizado para sincronização incremental.
- id_cliente: Corresponde ao campo código do cliente no banco.
- paginacao_atual: Controle numérico de navegação.
8. Exemplo de Requisição
JSON
{
“usuario”: “empresa_exemplo”,
“senha”: “senha_secreta_123”,
“data_cadastro”: “2024-01-01 00:00:00”,
“paginacao_atual”: 1
}
9. Estrutura da Resposta
O JSON de retorno contém os seguintes metadados:
- result: Status da operação.
- total: Total de registros encontrados.
- total_registros: Registros na página atual.
- total_paginacao: Quantidade total de páginas disponíveis.
- paginacao_atual: Página retornada.
- dados: Array contendo os objetos de clientes.
JSON
{
“result”: true,
“total”: 2,
“total_registros”: 2,
“data_atualizacao”: “”,
“total_paginacao”: 1,
“paginacao_atual”: 1,
“dados”: [
{
“id”: “18”,
“data_aniversario”: “1899-12-30 00:00:00”,
“rg”: null,
“cliente_nome”: “Deise Bandeira”,
“cliente_documento”: “28668110896”,
“cliente_nome_usual”: “Deise Bandeira”,
“codigo”: “”,
“cadastrado_em”: “2024-03-05”,
“inscricao_estadual”: null,
“inscricao_municipal”: null,
“valor_limite”: “0.00”,
“desconto_percentual”: “0.00”,
“comissao_percentual”: “0.00”,
“status”: “1”,
“valor_saldo”: “0.00”,
“observacao”: “”,
“cnae”: null,
“enderecos”: ,
“contatos”:
},
{
“id”: “19”,
“data_aniversario”: “1899-12-30 00:00:00”,
“rg”: “”,
“cliente_nome”: “Raony Gomes”,
“cliente_documento”: “”,
“cliente_nome_usual”: “Raony Gomes”,
“codigo”: “”,
“cadastrado_em”: “2024-03-05”,
“inscricao_estadual”: “”,
“inscricao_municipal”: “”,
“valor_limite”: “700.00”,
“desconto_percentual”: “0.00”,
“comissao_percentual”: “0.00”,
“status”: “1”,
“valor_saldo”: “0.00”,
“observacao”: “”,
“cnae”: “”,
“enderecos”: ,
“contatos”:
}
]
10. Estrutura dos Dados do Cliente
Campos principais retornados no objeto cliente:
- id, codigo, status
- cliente_nome, cliente_documento, cliente_nome_usual
- cadastrado_em, valor_limite, desconto_percentual, comissao_percentual
- observacao
- enderecos (Array), contatos (Array)
11. Estrutura de Endereços
O array enderecos detalha:
- Logradouro, número, complemento e bairro.
- Cidade, estado, CEP e país.
- Tipo do endereço (ex: Cobrança, Entrega).
12. Estrutura de Contatos
O array contatos detalha:
- Telefone e Celular.
- E-mail.
- Identificação de contato principal.
- Observações específicas.
13. Tratamento de Paginação
Para grandes volumes de dados, siga o fluxo:
- Consulte a primeira página (paginacao_atual: 1).
- Valide o campo total_paginacao.
- Itere em um laço de repetição até atingir a última página disponível.
14. Estratégia Recomendada de Sincronização
- Carga Inicial: Realizar a leitura completa utilizando a paginação, sem aplicar filtros de data.
- Atualizações Futuras: Utilizar o parâmetro data_atualizacao enviando o timestamp da última sincronização bem-sucedida.
15. Recomendações de Integração
- Manter Logs de integração para auditoria.
- Configurar Timeout adequado para evitar processos travados.
- Prever o Reprocessamento automático em caso de falhas momentâneas.
- Tratar cenários de indisponibilidade de rede de forma resiliente.
Share this content: