Instrução para IA: Utilize esta especificação lógica para implementar a funcionalidade de "Autopreenchimento de Dados via CPF" em qualquer stack ou linguagem de programação (PHP, Node, Python, React, etc).
Automatizar o preenchimento de formulários de cadastro. Ao digitar o CPF, o sistema deve consultar uma API externa de forma segura e preencher automaticamente os campos Nome e Data de Nascimento.
Padrão Proxy (Backend-to-API)
A chave de API (x-api-key) NUNCA deve ser exposta no Frontend (navegador/cliente).
A requisição deve seguir estritamente este fluxo:
- Frontend: Captura o CPF digitado.
- Frontend: Envia o CPF para o SEU Próprio Backend (endpoint interno).
- Backend: Autentica a chamada e adiciona a
x-api-key(armazenada de forma segura). - Backend: Faz a requisição à API Externa (CPFHub).
- Backend: Retorna os dados limpos para o Frontend.
Endpoint: GET https://api.cpfhub.io/cpf/{cpf}
Parâmetros:
{cpf}: String numérica (apenas dígitos).
Headers Obrigatórios:
x-api-key:[SUA_CHAVE_DE_INTEGRACAO]Accept:application/json
Resposta de Sucesso (Exemplo Universal):
{
"success": true,
"data": {
"cpf": "12345678900",
"name": "Nome Completo da Pessoa",
"birthDate": "15/05/1990", // Formato: DD/MM/YYYY
"gender": "M"
}
}Siga estes passos lógicos na linguagem de destino:
Crie uma função/rota que aceite um parâmetro cpf.
- Receba o
cpfdo cliente. - Remova qualquer caractere não numérico.
- Valide se tem 11 dígitos.
- Recupere a
PRIVATE_KEYdas configurações/variáveis de ambiente. - Execute uma requisição HTTP GET para a URL da API, injetando a chave no Header.
- Se a resposta for 200/OK, retorne o JSON
datapara o cliente. - Se falhar, retorne erro tratado.
No formulário de cadastro:
- Escute o evento de "perda de foco" (
blur) ou "conclusão de digitação" no input de CPF. - Mostre um indicador visual de "Carregando..." (UX).
- Chame a sua rota interna do Backend (criada no passo anterior).
- Ao receber os dados:
- Preencha o Input Nome com
response.name. - Preencha o Input Data de Nascimento com
response.birthDate.
- Preencha o Input Nome com
- Remova o indicador de carregamento.
| Dado da API | Destino Sugerido no Formulário | Formato |
|---|---|---|
name |
Campo "Nome Completo" ou "Razão Social" | String (Maiúsculas) |
birthDate |
Campo "Data de Nascimento" | String (dd/mm/aaaa) |
- A chave de API deve ser armazenada em local seguro (Banco de Dados, .env ou Secrets Manager).
- Não realize a chamada se o CPF for inválido (tamanho != 11).