Como conectar uma API de CPF a um bot do Telegram usando Node.js

Introdução
A integração de APIs de consulta de CPF com bots do Telegram é uma solução inovadora para empresas que desejam oferecer verificação de identidade automatizada dentro do próprio aplicativo de mensagens. Com um bot no Telegram, usuários podem consultar a situação de um CPF de forma rápida e segura.
Neste guia, vamos ensinar como criar um bot do Telegram usando Node.js e conectá-lo à API da CPFHub.io para validar CPFs em tempo real.
1. Pré-requisitos
Antes de começar, você precisará de:
✅ Node.js instalado (versão 14 ou superior recomendada).
✅ Conta na CPFHub.io para obter a chave de API.
✅ Token do Bot do Telegram (gerado via BotFather).
✅ Bibliotecas node-fetch e telegraf para comunicação com a API e o Telegram.
2. Criando o bot no Telegram
Passo 1: Criar um novo bot
No Telegram, procure o BotFather e envie o comando:
/start
/newbot
O BotFather solicitará:
-
Um nome para o bot (exemplo: ).
CPF Checker Bot
-
Um nome de usuário (deve terminar com , ex:
bot
).cpf_checker_bot
Após a criação, você receberá um token de API do Telegram, que será usado na configuração do bot.
3. Configurando o projeto em Node.js
Passo 2: Criar o projeto e instalar dependências
No terminal, crie uma pasta para o projeto e instale as bibliotecas necessárias:
mkdir cpf_bot
cd cpf_bot
npm init -y
npm install telegraf node-fetch dotenv
.env
TELEGRAM_BOT_TOKEN=SEU_TOKEN_DO_TELEGRAM
API_CPFHUB_KEY=SUA_CHAVE_DE_API
4. Criando o bot e conectando à API de CPF
Crie um arquivobot.js
require('dotenv').config();
const { Telegraf } = require('telegraf');
const fetch = require('node-fetch');
const bot = new Telegraf(process.env.TELEGRAM_BOT_TOKEN);
const API_URL = 'https://api.cpfhub.io/api/cpf';
const API_KEY = process.env.API_CPFHUB_KEY;
// Função para validar CPF via API
async function consultarCPF(cpf, birthDate) {
try {
const response = await fetch(API_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': API_KEY
},
body: JSON.stringify({ cpf, birthDate })
});
const data = await response.json();
return data;
} catch (error) {
console.error('Erro na consulta:', error);
return null;
}
}
// Comando /start
bot.start((ctx) => {
ctx.reply('Bem-vindo ao CPF Checker Bot! Envie um CPF e data de nascimento no formato: \n123.456.789-00 15/06/1990');
});
// Tratando mensagens
bot.on('text', async (ctx) => {
const input = ctx.message.text.split(' ');
if (input.length !== 2) {
return ctx.reply('Formato inválido! Use: CPF DD/MM/AAAA');
}
const [cpf, birthDate] = input;
ctx.reply('Consultando CPF... Aguarde.');
const resultado = await consultarCPF(cpf, birthDate);
if (resultado && resultado.success) {
const info = resultado.data;
ctx.reply(`✅ CPF Válido!
👤 Nome: ${info.name}
📌 Situação: ${info.situation}
📅 Data de Nascimento: ${info.birthDate}`);
} else {
ctx.reply('❌ CPF não encontrado ou inválido.');
}
});
// Iniciar bot
bot.launch();
console.log('🤖 Bot está rodando no Telegram!');
5. Executando o bot
No terminal, execute:
node bot.js
Se tudo estiver correto, você verá a mensagem:
🤖 Bot está rodando no Telegram!
Agora, no Telegram, envie uma mensagem ao bot no formato:
123.456.789-00 15/06/1990
E ele responderá com os dados do CPF consultado! 🎉
6. Exemplo de resposta da API
Após a requisição, a API retornará um JSON com as informações do CPF:
{
"success": true,
"data": {
"name": "João da Silva",
"status": "Regular",
"situation": "Ativo",
"birthDate": "15/06/1990",
"cpfNumber": "12345678900",
"registrationDate": "anterior a 10/11/1990",
"verificationDigit": "03",
"receipt": {
"emissionTime": "22:08:26",
"emissionDate": "13/01/2025",
"controlCode": "XXXX.XXXX.XXXX.XXXX"
},
"validationUrl": "https://servicos.receita.fazenda.gov.br/Servicos/CPF/ca/ResultadoAut.asp?cp=12345678900&cc=XXXXXX&de=13012025&he=220826&dv=03&em=01",
"validationHtmlUrl": "https://api.cpfhub.io/api/view-proof/12345678900/XXXXXXXXXXXXX"
}
}
✅ Vantagens desse bot:
-
Validação instantânea de CPFs diretamente no Telegram.
-
Evita fraudes e consultas manuais.
-
Fácil de implementar e escalar para diferentes usos.
Conclusão
Conectar uma API de CPF a um bot do Telegram usando Node.js é uma forma prática e inovadora de automatizar a verificação de identidade. Utilizando o Telegraf e a API da CPFHub.io, conseguimos criar um bot funcional em poucos passos!
Se sua empresa deseja validar CPFs de forma automatizada e eficiente, conheça a API da CPFHub.io e implemente essa solução hoje mesmo! 🚀