Dev Bay - Desenvolvimento Web

Esta API foi desenvolvida para suprir a necessidade de obter dados de pessoas físicas e jurídicas através do CPF ou CNPJ.

A API está em versão BETA, e é necessário fazer a solicitação do captcha para que o usuário possa resolver.

Para solicitar informações através do CPF é necessário informar os seguintes parametros: CPF, DATA DE NASCIMENTO, CAPTCHA e TOKEN, serão retornados pela consulta todos os dados disponibilizados na Receita Federal, incluindo link para validação da consulta.

Para solicitar informações através do CNPJ basta informar os seguintes parametros: CNPJ, CAPTCHA e TOKEN, serão retornados pela consulta todos os dados disponibilizados na Receita Federal, incluindo Quadro de Sócios Administradores quando disponível.

Você irá receber o seu TOKEN no email informado.

Suas informações serão utilizadas exclusivamente para gerar o TOKEN e não serão utilizadas em nenhum tipo de automação!

As requisições devem ser feitas informando os parâmetros por POST na URL http://www.devbay.com.br/api.

Para fazer uma consulta, primeiro você precisa fazer a requisição do Captcha, recomendamos que a mesma seja feita por ajax, a fim de evitar sejam feitas requisições desnecessárias.

A requisição do Captcha para consulta de CNPJ deve ser feita no seguinte endpoint:

/cnpj/getcaptcha

Deve ser informado por POST o parâmetro token=TOKEN

A requisição do Captcha para consulta de CPF feita no seguinte endpoint:

/cpf/getcaptcha

Deve ser informado por POST o parâmetro token=TOKEN

Esta requisição irá retornar os seguintes resultados: cookie, captchaid, captcha. Que deverão ser armazenados e enviados na requisição de consulta.

A requisição para consulta de CNPJ deve ser feita após obter e resolver o captcha no seguinte endpoint:

/cnpj/consulta

Deve ser informado por POST os parâmetros token=TOKEN, cnpj=CNPJ, captcha=CAPTCHA_RESOLVIDO, cookie=COOKIE, captchaid=CAPTCHAID

A requisição para consulta de CPF deve ser feita após obter e resolver o captcha no seguinte endpoint:

/cpf/consulta

Deve ser informado por POST os parâmetros token=TOKEN, cpf=CPF, datanascimento=DATANASCIMENTO, captcha=CAPTCHA_RESOLVIDO, cookie=COOKIE, captchaid=CAPTCHAID

DATANASCIMENTO deve ser informada no formato YYYY-MM-DD, podendo desta forma ser utilizado um input do tipo "date".

Recomendamos também que para evitar erros o 'max_execution_time' seja definido para pelo menos 60 segundos, pois eventualmente os servidores da receita demoram um pouco e pode ocorrer problemas antes de obter o retorno.

Abaixo um exemplo de consulta de CNPJ e de CPF, seja criativo e faça algo melhor! hehehe

CNPJ:

Arquivo: getcaptchacnpj.ajax.php

<?php $api_url = "http://www.devbay.com.br/api"; $post = [ 'token' => 'TOKEN' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$api_url}/cnpj/getcaptcha"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); $result = curl_exec($ch); curl_close($ch); echo($result); ?>

Arquivo: cnpj.php

<html> <head> <meta charset="UTF-8"> <title></title> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> </head> <body> <?php ini_set("max_execution_time", 120); ?> <div class="captcha"></div> <form method="POST"> <input type="hidden" name="cookie" value="" /> <input type="hidden" name="captchaid" value="" /> <input type="text" name="captcha" placeholder="Captcha" value="" /> <input type="text" name="cnpj" placeholder="CNPJ" value="" /> <input id="button" type="button" onclick="return getCaptcha();" value="Obter Captcha" /> </form> <?php if (isset($_POST['captcha']) && isset($_POST['cookie']) && isset($_POST['cnpj']) && isset($_POST['captchaid'])): $api_url = "http://www.devbay.com.br/api"; $post = [ 'token' => "TOKEN", 'cnpj' => "{$_POST['cnpj']}", 'captcha' => "{$_POST['captcha']}", 'cookie' => "{$_POST['cookie']}", 'captchaid' => "{$_POST['captchaid']}" ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$api_url}/cnpj/consulta"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); $result = json_decode(curl_exec($ch)); curl_close($ch); var_dump($result); endif; ?> <script> function getCaptcha() { $.post('./getcaptchacnpj.ajax.php', {}, function (response) { var data = jQuery.parseJSON(response); if (data.status == "OK") { $('.captcha').html('<img src="data:image/png;base64,' + data.captchaBase64 + '" />'); $('input[name=cookie]').val(data.cookie); $('input[name=captchaid]').val(data.captchaid); $('input[name=token]').val(data.token); $('input[name=captcha]').prop("type", "text"); $('input[id=button]').val('Consultar CNPJ').prop("type", "submit").removeAttr("onclick"); } else { console(data.status); } }); return false; } </script> </body> </html>

CPF:

Arquivo: getcaptchacpf.ajax.php

<?php $api_url = "http://www.devbay.com.br/api"; $post = [ 'token' => 'TOKEN' ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$api_url}/cpf/getcaptcha"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); $result = curl_exec($ch); curl_close($ch); echo($result); ?>

Arquivo: cpf.php

<html> <head> <meta charset="UTF-8"> <title></title> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> </head> <body> <?php ini_set("max_execution_time", 120); ?> <div class="captcha"></div> <form method="POST"> <input type="hidden" name="cookie" value="" /> <input type="hidden" name="captchaid" value="" /> <input type="text" name="captcha" placeholder="Captcha" value="" /> <input type="text" name="cpf" placeholder="CPF" value="" /> <input type="date" name="datanascimento" value="" /> <input id="button" type="button" onclick="return getCaptcha();" value="Obter Captcha" /> </form> <?php if (isset($_POST['cpf']) && isset($_POST['datanascimento']) && isset($_POST['captcha']) && isset($_POST['cookie']) && isset($_POST['captchaid'])): $api_url = "http://www.devbay.com.br/api"; $post = [ 'token' => "TOKEN", 'cpf' => "{$_POST['cpf']}", 'datanascimento' => "{$_POST['datanascimento']}", 'captcha' => "{$_POST['captcha']}", 'captchaid' => "{$_POST['captchaid']}", 'cookie' => "{$_POST['cookie']}" ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "{$api_url}/cpf/consulta"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); $result = json_decode(curl_exec($ch)); curl_close($ch); var_dump($result); endif; ?> <script> function getCaptcha() { $.post('./getcaptchacpf.ajax.php', {}, function (response) { var data = jQuery.parseJSON(response); if (data.status == "OK") { $('.captcha').html('<img src="data:image/png;base64,' + data.captchaBase64 + '" />'); $('input[name=cookie]').val(data.cookie); $('input[name=captchaid]').val(data.captchaid); $('input[name=token]').val(data.token); $('input[name=captcha]').prop("type", "text"); $('input[id=button]').val('Consultar CPF').prop("type", "submit").removeAttr("onclick"); } else { console(data.status); } }); return false; } </script> </body> </html>