Package Data | |
---|---|
Maintainer Username: | juniorb2s |
Maintainer Contact: | juniorb2ss@gmail.com (Carlos Eduardo) |
Package Create Date: | 2016-04-30 |
Package Last Update: | 2021-04-29 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-24 15:00:06 |
Package Statistics | |
---|---|
Total Downloads: | 1,053 |
Monthly Downloads: | 3 |
Daily Downloads: | 0 |
Total Stars: | 13 |
Total Watchers: | 4 |
Total Forks: | 1 |
Total Open Issues: | 1 |
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.
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.
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.
1.2.4
$ composer require zservices/query 1.*
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()
]);
$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.
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.
Imagem de exemplo com as informações de retorno do serviço.
Deseja contribuir com desenvolvimento? pull request :)
MIT
Free Software, Hell Yeah!