🔗 Consulta, cadastro e gerenciamento de empresas com PHP + SQLite + Fetch API
O ReceitaWS CNPJ SQLite é um sistema simples e funcional que permite consultar informações de CNPJs diretamente na API pública ReceitaWS, salvar os resultados em um banco SQLite, e gerenciá-los através de uma interface PHP + JavaScript (Fetch API) moderna, sem recarregar a página.
Ideal para estudos de integração com APIs REST, CRUD em PHP e uso do SQLite sem necessidade de servidor MySQL.
✅ Consulta automática de dados via ReceitaWS
✅ Salvamento local em SQLite
✅ CRUD completo:
- Criar: cadastro automático a partir da consulta
- Visualizar: tabela dinâmica atualizada em tempo real
- Editar: modal estilizado com validação
- Excluir: modal de confirmação visual
✅ Recriação do banco com um clique
✅ Anti-cache habilitado (sempre mostra dados atuais)
✅ Interface responsiva e leve com TailwindCSS
receitaws-cnpj-sqlite/
├── index.php
├── api.php
├── view_data.php
├── edit_data.php
├── delete_data.php
├── 📁 db/
│ └── init_db.php
├── README.md
└── .gitignore
| Camada | Tecnologias |
|---|---|
| Backend | PHP 8+, PDO, SQLite |
| Frontend | HTML5, TailwindCSS, JavaScript (Fetch API, modais, máscaras) |
| API Externa | ReceitaWS |
| Segurança | CSP, headers no-cache, sanitização de dados |
- O usuário informa um CNPJ e clica em Buscar.
- O sistema envia uma requisição
fetch()paraapi.php. - O PHP consulta a ReceitaWS, recebe os dados e grava no banco SQLite.
- O usuário pode então visualizar, editar ou excluir os cadastros diretamente em
view_data.php. - Tudo acontece de forma assíncrona, sem recarregar a página.
| Tela | Descrição |
|---|---|
| 🧾 Consulta e Cadastro | Busca e armazena CNPJs automaticamente |
| 📋 Listagem | Mostra empresas cadastradas com botões de ação |
| ✏️ Edição | Modal estilizado com feedback visual |
| 🗑️ Exclusão | Modal de confirmação antes da remoção |
// nocache.php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Expires: 0");• Todas as requisições sensíveis usam POST.
• Dados validados no frontend e backend.
• Respostas formatadas em JSON para integração segura.
🧪 Como Executar Localmente
1 - Clone o repositório
git clone https://github.com/NinoMiquelino/receitaws-cnpj-sqlite.git
cd receitaws-cnpj-sqlite
2 - Crie o banco de dados
php db/init_db.php
3- Inicie o servidor PHP
php -S localhost:8000
4 - Acesse no navegador
http://localhost:8000
📚 Objetivo Educacional
• Este projeto foi criado para fins educacionais e demonstrativos, ideal para quem deseja aprender:
• Integração de APIs REST em PHP
• Uso do SQLite com PDO
• CRUD completo (Create, Read, Update, Delete)
• Requisições assíncronas com Fetch API
• Validação de formulários e UX moderno
🧭 Melhorias Futuras
• 🔍 Filtro e busca na listagem
• 📄 Exportação em CSV/JSON
• 👥 Sistema de login para uso multiusuário
• 📱 Melhorias de responsividade mobile
• 🌐 Cache inteligente da API ReceitaWS
💡 Aprenda, explore e contribua!
Este repositório mostra como unir simplicidade, segurança e integração de APIs em um projeto PHP moderno e funcional.
Contribuições são sempre bem-vindas!
Sinta-se à vontade para abrir uma issue com sugestões ou enviar um pull request com melhorias.
📧 Entre em contato pelo LinkedIn
💻 Desenvolvido por Onivaldo Miquelino