Consultar CNPJ com ADVPL (Protheus)
Consultar CNPJ no Protheus utilizadando a API do CNPJ.ws com ADVPL
Atualizado
Isto foi útil?
Consultar CNPJ no Protheus utilizadando a API do CNPJ.ws com ADVPL
Atualizado
Isto foi útil?
O sistema Protheus da Totvs é o ERP líder do mercado brasileiro e pode ser integrado com a API do CNPJ.ws de maneira fácil e simples para consultar clientes ou fornecedores através do CNPJ.
O Protheus utiliza a linguagem proprietária da Totvs, o ADVPL (Advanced Protheus Language), que é uma linguagem de programação padrão xBase (Clipper, Visual Objects e depois Fivewin).
Para essa integração vamos construir uma classe genérica de comunicação que poderá ser usada em diversos tipos de projeto. Você também pode encontrar esse projeto no .
Lembrando que você pode usar nossa API gratuita para consultar CNPJ, mas com uma limitação de 3 consultas por minuto ou pode adquirir um dos nossos planos comerciais.
Com a integração podemos usar a API para consultar o endereço, inscrição estadual, situação cadastral, CNAE e muitas outras informações que podem ser importantes no momento do cadastro do cliente ou fornecedor, pessoa jurídica, através do CNPJ.
Vamos começar, abaixo a declaração da classe:
Teremos 6 métodos na nossa classe:
new: Responsável por instanciar a classe;
setError: Método interno para geração dos erros;
consultarCNPJ: Responsável por fazer a consulta do CNPJ junto a API do CNPJ.ws;
getResponse: Retorna a resposta da API em formato JSON;
getError: Retorna a mensagem de erro;
Agora vamos desenvolver o método new
, que é o nosso método construtor. Veja que esse método recebe o parâmetro lTest
(o valor default é falso) e sim, vamos fazer testes com a nossa classe de integração.
Veja também que temos um parâmetro CN_TOKEN, devemos criá-lo caso estejamos usando a API Comercial (sem restrições) e preenchê-lo com o Token que foi enviado no seu e-mail.
No método new
nós usamos o método consoleLog
, então vamos desenvolver ele agora. Esse método visa padronizar as mensagens emitidas pela classe.
Caso o parâmetro CN_VERBO esteja como .T. a classe irá imprimir todas as mensagens no console.log do Protheus.
Abaixo o método setError
usado pela classe para gerar as mensagens de erro:
O método retorna um boolean, caso de tudo certo ele vai retornar true, caso ocorra um erro o retorno será falso, veja abaixo:
Abaixo temos o método responsável por retornar a mensagem de erro caso a consulta não obtenha sucesso:
Legal, construímos nossa classe, agora é um bom momento para desenvolvermos uma rotina para utilizarmos nossa classe:
Até mais!
Agora sim, vamos desenvolver o método responsável por se comunicar com a API do CNPJ.ws, o método consultarCNPJ
. Aqui vamos utilizar a classe para fazer a comunicação com a API, esse método receber o CNPJ como parâmetro e faz a consulta na API.
Abaixo temos o método responsável por retornar o JSON que a API do retornou na consulta:
Caso precise de apoio para implementar essa integração na sua base, nós recomendamos a , nossa parceira, que possui consultores especializados na integração entre sistemas!
Esse post ficou grande, não é? Então vou deixar para fazer uma parte 2 utilizando o TL++ para criarmos um teste para a classe de integração, porém os fontes já estão no caso queira dar uma olhada!
Para saber mais sobre nossos planos e formas de pagamento acesse .