zservices / query
Pacote para consultas em serviços do governo.
Installs: 1 053
Dependents: 0
Suggesters: 1
Security: 0
Stars: 13
Watchers: 4
Forks: 1
Open Issues: 1
Type:package
Requires
- php: >=5.5.9
- ext-gd: *
- fabpot/goutte: ^3.1
- illuminate/support: ~4|~5
- intervention/image: ^2.3
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: ~4.0||~5.0
Suggests
- juniorb2ss/captcha: Make captcha easy.
This package is not auto-updated.
Last update: 2024-11-09 19:51:06 UTC
README
Pacote para buscar informações nos serviços federais e estaduais do Brasil
É feito uma requisição no serviço, retornando cookie
e captcha
do serviço. Após usuário informar
o captcha é feito outra requisição, retornando informações do CNPJ.
Este pacote deverá ser usado com responsabilidade, o autor e contribuidores não devem responder pelas implementações/ações feita com este pacote.
Atenção
Este pacote foi desenvolvido com o intuito de facilidade consultas através de ERP ou serviços que necessitam de consistência de dados. Não foi criado com o intuito de ser utilizado como bot
Toda implementação será de sua responsabilidade.
Quebra Automática de Captcha
Foi desenvolvido um pacote que facilita na resolução automática do captcha, faça o uso de sua responsabilidade.
Este pacote já possui referencia para tal.
Exemplo:
use zServices\ReceitaFederal\Search as ReceitaFederal; $service = (new ReceitaFederal)->service(); $request = $service->request(); // inicia requisição na receita federal $cookie = $request->cookie(); $captcha = $request->captcha(); $document = '54787138000101' // CNPJ $decaptcher = (new \Captcha\DeathByCaptcha\Service)->credentials('yourLogin', 'yourPassword'); $service->decaptcher($decaptcher); // Passa o serviço que será usado para quebra do captcha $array = $search->data($cnpj, $cookie, $captcha, [])->scraping(); // após alguns segundos ele retorna array com as informações da entidade.
O pacote por enquanto apenas possui implementação do DeathByCaptcha
, que é um serviço pago, porém valor muito baixo por pacote de captcha resolvido.
Visite o site e adquire um plano.
Version Stable
1.2.4
Instalação
$ composer require zservices/query 1.*
Laravel 5
Configure os providers e aliases em config/app.php
'providers' => [ // .... zServices\Laravel\ServicesProvider::class, //... ]; 'aliases' => [ //... 'Sintegra' => zServices\Laravel\SintegraFacade::class, 'ReceitaFederal' => zServices\Laravel\ReceitaFederalFacade::class, //... ];
use ReceitaFederal; $service = ReceitaFederal::service()->request(); return view('receitafederal.query.example',[ 'cookie' => $service->cookie(), 'image' => $service->captcha() ]);
Exemplos
Receita Federal
$rf = receitaFederal(); // retornará um array com cookie e base64 captcha
Para requisitar os dados
$rf = receitaFederal($cnpj, $cookie, $captcha); // retornará um array com os dados do CNPJ na Receita Federal
ou
use zServices\ReceitaFederal\Search as ReceitaFederal; $search = (new ReceitaFederal)->service()->request(); // initialize $captchaBase64Image = $search->captcha(); // captura base64_decode da imagem $cookieRequest = $search->cookie(); // captura o cookie do request iniciado
Dados após o form
// Requisitar dados use zServices\ReceitaFederal\Search as ReceitaFederal; $search = (new ReceitaFederal)->service(); $crawler = $search->data($cnpj, $cookie, $captcha, []); $arrayData = $crawler->scraping(); // array com as informações da entidade
Para consultar receita federal basta pegar o cookie e a imagem do captcha, após resolver o captcha é preciso retornar o cookie e a string resolvida para o serviço, ele deverá retornar um array associado com as informações do CNPJ informado.
Sintegra SP
Helper
$rf = sintegra(); // retornará um array com cookie e base64 captcha
Para requisitar os dados
$rf = sintegra($cnpj, $cookie, $captcha, $params); // retornará um array com os dados do documento no Sintegra
ou
use zServices\Sintegra\Search as Sintegra; $search = (new Sintegra)->service('SP')->request(); // initialize $captchaBase64Image = $search->captcha(); // captura base64_decode da imagem $cookieRequest = $search->cookie(); // captura o cookie do request iniciado $params = $search->params(); // captura o valor dos inputs $paramBot = $params['parambot']; // captura parambot
Dados após o form
// Requisitar dados use zServices\Sintegra\Search as Sintegra; $search = (new Sintegra)->service('SP'); $crawler = $search->data($cnpj, $cookie, $captcha, $paramBot); $arrayData = $crawler->scraping(); // array com as informações da entidade
O portal do sintega de SP além do captcha possui um valor no formulário com nome de paramBot
. Este valor é único por requisição, não por cookie. Então para que a requisição funcione corretamente é preciso pegar e devolver ele nas requisições posteriores.
O método $search->params()
devolve um array com os inputs que são necessários devolver, que no caso do sintegra de sp é apenas paramBot
. Este valor deverá ser inserido em seu formulário e devolvido como array associado na requisição das informações da entidade.
Retornos
Imagem de exemplo com as informações de retorno do serviço.
Receita Federal
Sintegra SP
Desenvolvimento
Deseja contribuir com desenvolvimento? pull request :)
To-do
License
MIT
Free Software, Hell Yeah!