zServices

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();
$cookie = $request->cookie();
$captcha = $request->captcha();
$document = '54787138000101'
$decaptcher = (new \Captcha\DeathByCaptcha\Service)->credentials('yourLogin', 'yourPassword');
$service->decaptcher($decaptcher);
$array = $search->data($cnpj, $cookie, $captcha, [])->scraping();
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();
Para requisitar os dados
$rf = receitaFederal($cnpj, $cookie, $captcha);
ou
use zServices\ReceitaFederal\Search as ReceitaFederal;
$search = (new ReceitaFederal)->service()->request();
$captchaBase64Image = $search->captcha();
$cookieRequest = $search->cookie();
Dados após o form
use zServices\ReceitaFederal\Search as ReceitaFederal;
$search = (new ReceitaFederal)->service();
$crawler = $search->data($cnpj, $cookie, $captcha, []);
$arrayData = $crawler->scraping();
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();
Para requisitar os dados
$rf = sintegra($cnpj, $cookie, $captcha, $params);
ou
use zServices\Sintegra\Search as Sintegra;
$search = (new Sintegra)->service('SP')->request();
$captchaBase64Image = $search->captcha();
$cookieRequest = $search->cookie();
$params = $search->params();
$paramBot = $params['parambot'];
Dados após o form
use zServices\Sintegra\Search as Sintegra;
$search = (new Sintegra)->service('SP');
$crawler = $search->data($cnpj, $cookie, $captcha, $paramBot);
$arrayData = $crawler->scraping();
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!