Integrar Consulta IBPT via API

Bom dia, encontrei este código de exemplo para integrar a consulta do IBPT via API, porem nao sei como utilizar, os amigos poderiam me dar uma dica?

[code]class IBPT {
private $url;

//Inicializa URL
public_function __construct() {
	$this->url = 'https://apioni.ibpt.org.br/api/v1/produtos?';
	}

public function ConsultarTributos($token, $cnpj, $codigo, $uf, $ex, $codigoInterno, $descricao, $unidadeMedida, $valor, $gtin) {
	//Inicializa cUrl montando os parametros da URL
	
	$ch = curl_init($this->url.'token='.$token.'&cnpj='.$cnpj.'&codigo='.$codigo.'&uf='.$uf.'&ex='.$ex.'&codigoInterno='.$codigoInterno.'&descricao='.$descricao.'&unidadeMedida='.$unidadeMedida.'&valor='.$valor.'&gtin='.$gtin.);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	
	//Pega o JSON de retorno
	$resposta = curl_exec($ch);
	curl_close($ch);
	
	//Retorna os dados
	return $resposta;
	}
}[/code]

Arquivo 2:

[code]require (’./ibpt.php’);

$IBPT = new IBPT;
$IBPT->__construct();

$resposta = $IBPT -> ConsultarTributos(‘W0kdktq239gU1DHenZyjA5TnwrO2hBd’, ‘meu cnpj’, ‘28152000’, ‘MG’, ‘0’, ‘0’, ‘HIDROXIDO’, ‘KG’,‘5.25’,‘0’);
echo $resposta;[/code]

Não é mais fácil baixar a tabela e acessar localmente?

Haroldo,

O Layout da tabela disponibilizado é o abaixo, como você me sugere realizar esta atualização em meu banco de dados todas as vezes que um item for inserido?

exporte do excel para csv, importe no banco de dados.
conforme o ncm vc multiplica % pelo quantidade e depois tira uma média geral e apresenta nas observações da nota fiscal (se é esse o interesse).

Eu havia pensado em fazer o seguinte: ao informar NCM do item o sistema buscaria estas informações no BD e preencheria no meu produto, isso seria possivel?

Como poderia fazer esta busca?

Obrigado.

A sugestão do Haroldo é a ideal.
Faz a consulta no momento da geração da NF e faz os cálculos.
Se colocar na hora que cadastrar o produto, caso a tabela mude, a cada 6 meses, você vai ter que varrer todos os produtos para acertar os valores.

Se for poucos clientes, via arquivo vai legal.
Pode criar a rotina para capturar via aplicação e até se for o caso programar no Cron do servidor.

$url = “https://apidoni.ibpt.org.br/api/v1/produtos?token=$token&cnpj=$cnpj&codigo=$ncm&uf=$UF&ex=0&descricao=$nm_produto&unidadeMedida=$UN&valor=$valor&gtin=sem%20gtin”;

$consulta = json_decode(file_get_contents($url));
echo “

”;
print_r($consulta);

Resultado deve ser este:

stdClass Object
(
[Codigo] => 08072000
[UF] => SC
[EX] => 0
[Descricao] => Mamoes (papaias) frescos
[Nacional] => 4.2
[Estadual] => 12
[Importado] => 15.29
[Municipal] => 0
[Tipo] => 0
[VigenciaInicio] => 01/07/2018
[VigenciaFim] => 30/09/2018
[Chave] => A3S28F
[Versao] => 18.2.B
[Fonte] => IBPT/empresometro.com.br
[Valor] => 3
[ValorTributoNacional] => 0.13
[ValorTributoEstadual] => 0.36
[ValorTributoImportado] => 0.46
[ValorTributoMunicipal] => 0
)

só tratar os dados e pronto.

Se não estou enganado, essa tabela do IBPT se atualiza a cada 3 meses.

Ambas as sugestões apresentadas, numa tabela no excel ou uma rotina que atualiza o banco são funcionais.

Algo que acho legal é buscar no momento da impressão da nota.
Dentro da API SPED-NFe tem métodos para isso.

Boa tarde Pessoal, optei por fazer a importação da planilha para o banco de dados.

Obrigado a todos pela ajuda.

Sei que é antigo… mas uma dúvida boba que tem haver com o assunto…
Como obtenho o token do ibpt? Fiz meu cadastro de pessoa física… não cadastrei nenhuma empresa… é dentro do cadastro da empresa que gera? Tem custo?

Não tem custo para gerar e usar.
Até onde me lembro quando cadastra a empresa ele é gerado de forma automática.