| Package Data | |
|---|---|
| Maintainer Username: | fhferreira | 
| Maintainer Contact: | flaviometalvale@gmail.com (Flávio Henrique Ferreira) | 
| Package Create Date: | 2015-06-17 | 
| Package Last Update: | 2015-06-17 | 
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-30 03:11:28 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 12 | 
| Monthly Downloads: | 0 | 
| Daily Downloads: | 0 | 
| Total Stars: | 5 | 
| Total Watchers: | 1 | 
| Total Forks: | 0 | 
| Total Open Issues: | 0 | 
##Extração de dados Sintegra
###Package com Crawler para extração gratuita de dados utilizando CNPJ's diretamente no site do sintegra de sp.
####Módulo baseado no formato utilizado por JansenFelipe para extração no site da Receita, por meio do CPF e CNPJ.
<?php
//Captura dos dados e cookie
$params = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::getParams();
//Envio dos Dados via POST e captura da Resposta
$returnCrawler = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::consulta(
                                                                                    $_POST['cnpj'],
                                                                                    null,
                                                                                    $_POST['paramBot'],
                                                                                    $_POST['captcha'],
                                                                                    $_POST['cookie']
                                                                                );
Exemplo utilizando Silex + Twig
<?php
    $app->get('/cnpj-sintegra-sp', function() use($app) {
        $cnpj   = $app['session']->getFlashBag()->get('cnpj');
        $cnpj   = count($cnpj)?$cnpj[0]:'';
        $ie     = $app['session']->getFlashBag()->get('ie');
        $ie     = count($ie)?$ie[0]:'';
        $params = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::getParams();
        return $app['twig']->render('cnpj/form-sintegra.twig', compact('cnpj', 'ie', 'params'));
    });
    $app->post('/cnpj-sintegra-sp', function() use($app, $environment) {
        try {
            $return = \Fhferreira\SintegraCnpjSpGratis\SintegraCnpjSpGratis::consulta($_POST['cnpj'],$_POST['ie'],$_POST['paramBot'],$_POST['captcha'], $_POST['cookie']);
        } catch(\Exception $e) {
            $app['session']->getFlashBag()->add('message',  $e->getMessage() );//. ' \nLine:' . $e->getLine(). ' \nFile:' . $e->getFile() . "\n" . $e->getTraceAsString()
            $app['session']->getFlashBag()->add('cnpj', $_POST['cnpj']);
            $app['session']->getFlashBag()->add('ie', $_POST['ie']);
            return $app->redirect('/cnpj-sintegra-sp');
        }
        header('Content-Type: application/json');
        //foreach($return as $k => $v) {
        //    $return[$k] = encodeToUtf8($v);
        //}
        echo json_encode(($return));
        die();
    });
?>
##View
{# views/cnpj/form-sintegra.twig #}
{% extends 'layout.twig' %}
{% block title %}Consulta CNPJ Sintegra{% endblock %}
{% block body %}
    <form action="" method="POST">
        <img src="{{ params['captchaBase64'] }}" class="img-thumbnail" />
        <br/><br/>
        {% for message in app.session.getFlashBag.get('message') %}
            <span style="color:red;font-size:20px;">{{ message }}</span>
            <br/>
        {% endfor %}
        <input type="hidden" name="cookie" value="{{ params['cookie'] }}" />
        <input type="hidden" name="paramBot" value="{{ params['paramBot'] }}" />
        <div class="form-group">
            <input type="text" name="captcha" placeholder="Captcha" required="required" class="form-control"/>
            <p class="help-block">Digite corretamente o captcha.</p>
        </div>
        <div class="form-group">
            <input type="text" name="cnpj" id="cnpj" placeholder="Cnpj" required="required"  class="form-control" value="{{ cnpj?:'' }}" />
            <p class="help-block">Digite corretamente o CNPJ.</p>
        </div>
        <input type="submit" value="Consultar" class="btn btn-success" />
    </form>
{% endblock %}
##Blade + Lumen/Laravel
$app->get('/cnpj-sintegra-sp', "App\Http\Controllers\CnpjSintegraController@getForm");
$app->post('/cnpj-sintegra-sp', "App\Http\Controllers\CnpjSintegraController@postForm");
<?php namespace App\Http\Controllers;
use DB;
use Session;
class CnpjSintegraController extends Controller
{
	public function getForm()
	{
		$cnpj = session('cnpj');
		$ie   = session('ie');
		$params = \Fhferreira\SintegraSpGratis\SintegraSpGratis::getParams();
    	return view('cnpj.form-sintegra', compact('cnpj', 'ie', 'params'));
	}
	public function postForm()
	{
	    try {
	        $returnCrawler = \Fhferreira\SintegraSpGratis\SintegraSpGratis::consulta($_POST['cnpj'],$_POST['ie'],$_POST['paramBot'],$_POST['captcha'], $_POST['cookie']);
	    } catch(\Exception $e) {
	        Session::flash('message', $e->getMessage() );
	        Session::flash('cnpj', $_POST['cnpj']);
	        return redirect('/cnpj-sintegra-sp');
	    }	    
	    return $returnCrawler;
	}
}
@extends("layout")
@section("title")
Consulta CNPJ Sintegra
@stop
@section("body")
    <form action="" method="POST">
        <img src="{{ $params['captchaBase64'] }}" class="img-thumbnail" />
        <br/><br/>
        @if(Session::has("message"))
            <span style="color:red;font-size:20px;">{{ Session::get("message") }}</span>
            <br/>
        @endif
        <input type="hidden" name="cookie" value="{{ $params['cookie'] }}" />
        <input type="hidden" name="paramBot" value="{{ $params['paramBot'] }}" />
        <div class="form-group">
            <input type="text" name="captcha" placeholder="Captcha" required="required" class="form-control"/>
            <p class="help-block">Digite corretamente o captcha.</p>
        </div>
        <div class="form-group">
            <input type="text" name="cnpj" id="cnpj" placeholder="Cnpj" required="required"  class="form-control" value="{{ $cnpj?:'' }}" />
            <p class="help-block">Digite corretamente o CNPJ.</p>
        </div>
        <!--
        <div class="form-group">
            <input type="text" name="ie" placeholder="Inscrição Estadual" class="form-control" value="{{ $ie }}" />
            <p class="help-block">Digite corretamente o IE.</p>
        </div>
        //-->
        <input type="hidden" name="ie"/>
        <input type="submit" value="Consultar" class="btn btn-success" />
    </form>
@stop
@section("onload")
    //$('#cnpj').mask("99.999.999/9999-99");
@stop