API de olho no imposto

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marsp
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 11 Fev 2013 14:09

API de olho no imposto

Mensagem por marsp »

Bom dia,

Como usar a API

https://deolhonoimposto.ibpt.org.br/Sit ... //Produtos Get

como enviar os parametros: token,cnpj,codigo NCM ...


Obrigado
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

API de olho no imposto

Mensagem por bencz »

https://apidoni.ibpt.org.br/api/v1/produtos?token=[INSIRA AQUI O TOKEN]&cnpj=[INSIRA AQUI O CNPJ]&codigo=[INSIRA AQUI O NCM]&uf=[INSIRA AQUI A UF]&ex=[CODIGO DE EXCEÇÃO A REGRA]&descricao=[DESCRICAO]&unidadeMedida=[UNIDADE DE MEDIDA]&valor=[VALOR]&gtin=[CODIGO GTIN]
Imagem
marsp
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 11 Fev 2013 14:09

API de olho no imposto

Mensagem por marsp »

Muito obrigado BENCZ. Vou testar.
marsp
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 11 Fev 2013 14:09

API de olho no imposto

Mensagem por marsp »

BENCZ sem querer abusar da sua boa vontade, estou tendo um retorno sem valores corretos

estou enviando isto:

https://apidoni.ibpt.org.br/api/v1/prod ... ao=CORALIT ULTRA RESIST BR PRETO 3,6L&unidadeMedida=UN&valor=96.00&gtin=7891019201853


Retorno abaixo:

<ProdutoDTO xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Aplicacao.DTO">
<Chave i:nil="true"/>
<Codigo i:nil="true"/>
<Descricao i:nil="true"/>
<EX>0</EX>
<Estadual>0</Estadual>
<Fonte i:nil="true"/>
<Importado>0</Importado>
<Municipal>0</Municipal>
<Nacional>0</Nacional>
<Tipo i:nil="true"/>
<UF i:nil="true"/>
<Valor>96.00</Valor>
<ValorTributoEstadual>0</ValorTributoEstadual>
<ValorTributoImportado>0</ValorTributoImportado>
<ValorTributoMunicipal>0</ValorTributoMunicipal>
<ValorTributoNacional>0</ValorTributoNacional>
<Versao i:nil="true"/>
<VigenciaFim i:nil="true"/>
<VigenciaInicio i:nil="true"/>
</ProdutoDTO>

Onde estou errando?

Obrigado
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

API de olho no imposto

Mensagem por Vlademiro »

Não pode ter espaços em branco nos endereços de URL

Substitua o espaço em branco por um +
marsp
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 11 Fev 2013 14:09

API de olho no imposto

Mensagem por marsp »

Obrigado,
deu certo.
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

API de olho no imposto

Mensagem por Fernando queiroz »

Fiz essa rotina para carregar no MARIADB a tabela do IBPT , sei que tem como carregar diretamente do arquivo .CSV , só que tentei diretamente e deu erro na carga,

LOAD DATA LOW_PRIORITY LOCAL INFILE 'C:\\Users\\m5200\\Downloads\\TabelaIBPTaxAC20.1.A.csv' REPLACE INTO TABLE `solucoes`.`ncm` CHARACTER SET utf8 FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (`NCM_Id`, `NCM_NUMNCM`, `NCM_EXNCM`, `NCM_TIPONCM`, `NCM_DESCRICAO`, `NCM_NACFED`, `NCM_IMPFED`, `NCM_ESTADUAL`, `NCM_MUNICIPAL`, `NCM_VIGINICIO`, `NCM_VIGFIM`, `NCM_CHAVE`, `NCM_VERSAO`, `NCM_FONTE`);
/*SQL Error (1366): Incorrect integer value: '' for column `solucoes`.`ncm`.`NCM_NUMNCM` at row 1 */

Obs: usei o HEIDISQL

Código: Selecionar todos

*************************************************************
static FUNCTION CARREGA_TABELAIBPT( oServer )
*************************************************************

Local cArquivoCSV;
	, cDirBase:=curdrive()+":\"+CURDIR();
	, NOMETABELA:="c:\temp\NCM";
	, mStruOk := {;
               {"NUMNCM"    ,"N",   9, 0},;
               {"exncm"     ,"N",   2, 0},;
               {"tiponcm"   ,"N",   1, 0},;
               {"DESCRICAO" ,"C",  80, 0},;
			   {"NACFED"    ,"N",   5, 2},;
               {"IMPFED"    ,"N",   5, 2},;
			   {"ESTADUAL"  ,"N",   5, 2},;
			   {"MUNICIPAL" ,"N",   5, 2},;
			   {"VIGINICIO" ,"C",   10, 0},;
			   {"VIGFIM"    ,"C",   10, 0},;
			   {"CHAVE"     ,"C",   6, 0},;
			   {"VERSAO"    ,"C",   6, 0},;
			   {"FONTE"     ,"C",  34, 0};
               }

LOCAL cSql, oFiles, oStru, cTable, oFileDbf, nCont, cKeyName, CSQLFIX, CTXT

LOCAL lBegin := .T.			   


	cArquivoCSV :=hwg_SelectFile( {"CSV Files( *.CSV)"},{ "*.csv"},"C:\Users\Default\Downloads","Selecione Arquivo CSV para Incluir na Tabela NCM")
	DirChange(cDirBase)
	IF EMPTY(cArquivoCSV)
		RETURN NIL
	ENDIF

	IF File(NOMETABELA + ".DBF" )
		FErase( NOMETABELA + ".DBF" )
	ENDIF 
	DBCREATE((NOMETABELA),mStruOk)
	USE (NOMETABELA) EXCLUSIVE ALIAS NCM

	APPEND FROM (cArquivoCSV) DELIMITED WITH ({,";"})
	NCM->(DBGOTOP())
	IF NCM->(RLOCK())
		NCM->(DBDELETE())
	ENDIF
	
	NCM->(DBCLOSEAREA( ))
	
	oServer:Execute("TRUNCATE `ncm`")
	
	oFiles := Directory( "C:\TEMP\NCM.dbf" )

	FOR EACH oFileDbf IN oFiles
		cTable := oFileDbf[ F_NAME ]
		cTable := hb_FNameName( cTable )
		cKeyName:= cTable + "_Id"
		@ 1,10 say "               "
		@ 1,10 say cTable
		USE ( "C:\TEMP\" + cTable )
		cSql := "CREATE TABLE IF NOT EXISTS " + cTable + " ( " + cKeyName + " INT(11) NOT NULL AUTO_INCREMENT, "

		oStru := dbStruct()
		cSqlFix := "INSERT INTO " + cTable + " ( " 

		FOR nCont = 1 TO FCount()
			cSqlFix += cTable + "_" + FieldName( nCont )
			IF nCont != FCount()
				cSqlFix += ", "
			ENDIF
		NEXT	

		
		cSqlFix += " ) VALUES "
		cTxt := ""		
		DO WHILE ! Eof()
			
			cSql := "( "
			
			FOR nCont = 1 TO Len( oStru )
				cSql += SqlValue( Fieldget( nCont ) )
				IF nCont != FCount()
					cSql += ","
				ENDIF
			NEXT
			cSql += " )"

			IF Len( cTxt ) == 0
				cTxt += cSqlFix
				lBegin := .T.
			ENDIF
			IF ! lBegin
				cTxt += ", "
			ENDIF
			lBegin := .F.
			cTxt += cSql
			IF Len( cTxt ) > MYSQL_MAX_CMDINSERT
				HB_GTINFO( HB_GTI_CLIPBOARDDATA, cTxt)
				oServer:Execute( cTxt )
				cTxt := ""
			ENDIF
			SKIP
		ENDDO
		IF Len( cTxt ) != 0
			oServer:Execute( cTxt )
		ENDIF
		USE
		
	NEXT
	hwg_MsgInfo( "Carga da Tabela NCM Finalizada","ROTINA FINALIZADA!!!" )
RETURN NIL

*************************************************************
STATIC FUNCTION sqlvalue(x)
*************************************************************
DO CASE
	CASE ValType(x)=="N"; RETURN ltrim(str(x))
	CASE ValType(x)=="L"; IF( X , X:= "1" , X:= "0"); 	RETURN x
	CASE ValType(x)=="D"; IF(EMPTY( x ) , X:= "NULL", X:= ['] + Transform(Dtos(x),"@R 9999-99-99" ) + [']); RETURN x
	CASE ValType(x)=="C"; IF(EMPTY( x ) , X:= "NULL", X:= ['] + STRTRAN(upper(TIRACENTO(x)),"'"," ") + [']); RETURN x
	OTHERWISE; X:= "NULL"; RETURN x 
ENDCASE

RETURN NIL
Carregando primeiro para um .DBF funcionou tudo certinho.
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4
Usuário Nível 4
Mensagens: 779
Registrado em: 13 Nov 2014 00:41
Localização: Porto Alegre/RS

API de olho no imposto

Mensagem por Fernando queiroz »

Consegui usando assim:

LOAD DATA LOW_PRIORITY LOCAL INFILE 'C:\\Users\\m5200\\Downloads\\TabelaIBPTaxAC20.1.A.csv' INTO TABLE `solucoes`.`ncm` CHARACTER SET utf8 FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (`NCM_NUMNCM`, `NCM_EXNCM`, `NCM_TIPONCM`, `NCM_DESCRICAO`, `NCM_NACFED`, `NCM_IMPFED`, `NCM_ESTADUAL`, `NCM_MUNICIPAL`, `NCM_VIGINICIO`, `NCM_VIGFIM`, `NCM_CHAVE`, `NCM_VERSAO`, `NCM_FONTE`);
/* 11,823 rows imported in 1.000 seconds. */
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Responder