Clipper On Line • Ver Tópico - API de olho no imposto

API de olho no imposto

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

Moderador: Moderadores

 

API de olho no imposto

Mensagempor marsp » 02 Abr 2020 11:03

Bom dia,

Como usar a API

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

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

Obrigado
marsp
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 46
Data de registro: 11 Fev 2013 13:09
Curtiu: 2 vezes
Mens.Curtidas: 3 vezes

API de olho no imposto

Mensagempor bencz » 02 Abr 2020 12:26

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
Avatar de usuário

bencz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 517
Data de registro: 28 Abr 2012 17:36
Curtiu: 6 vezes
Mens.Curtidas: 34 vezes

API de olho no imposto

Mensagempor marsp » 02 Abr 2020 14:25

Muito obrigado BENCZ. Vou testar.
marsp
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 46
Data de registro: 11 Fev 2013 13:09
Curtiu: 2 vezes
Mens.Curtidas: 3 vezes

API de olho no imposto

Mensagempor marsp » 02 Abr 2020 16:37

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
marsp
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 46
Data de registro: 11 Fev 2013 13:09
Curtiu: 2 vezes
Mens.Curtidas: 3 vezes

API de olho no imposto

Mensagempor Vlademiro » 03 Abr 2020 01:52

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

Substitua o espaço em branco por um +
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

API de olho no imposto

Mensagempor marsp » 03 Abr 2020 12:12

Obrigado,
deu certo.
marsp
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 46
Data de registro: 11 Fev 2013 13:09
Curtiu: 2 vezes
Mens.Curtidas: 3 vezes

API de olho no imposto

Mensagempor Fernando queiroz » 03 Abr 2020 22:03

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

*************************************************************
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: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

API de olho no imposto

Mensagempor Fernando queiroz » 03 Abr 2020 22:25

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
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro