api bling

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

Moderador: Moderadores

Avatar do usuário
jairfab
Usuário Nível 3
Usuário Nível 3
Mensagens: 252
Registrado em: 21 Mai 2007 09:43
Localização: São Paulo, Região Leste - Suzano

api bling

Mensagem por jairfab »

Estou tentando fazer um post na API BLING e gostaria da ajuda dos colegas.

Fazendo experiências primeiro com CURL.EXE mandando um post de cadastro na api conforme segue:.

E estou recebendo este retorno de erro no xml: {"retorno":{"erros":[[{"erro":{"cod":6,"msg":"Start tag expected, '<' not found\n"}}]]}}

Alguém poderia dar uma forca para mim. NO final de tudo quero montar uma função em Harbur para fazer esta interação.



curl -X POST "https://bling.com.br/Api/v2/deposito/json/"
-d "apikey=xAPIKEY"
-d "xml=dep001.xml"

dep001.xml
<?xml version="1.0" encoding="UTF-8"?>
<depositos>
<deposito>
<descricao>Depósito Padrão</descricao
<situacao>A</situacao>
<depositoPadrao>true</depositoPadrao>
<desconsiderarSaldo>false</desconsiderarSaldo>
</deposito>
</depositos>

Obs. Editada por Itamar Lins para remover a apikey.
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

api bling

Mensagem por JoséQuintas »

se o post relatar a realidade, eu apenas pergunto: com XML correto funciona?
Ou.... se a resposta é em json, por acaso o envio também não deveria ser?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
jairfab
Usuário Nível 3
Usuário Nível 3
Mensagens: 252
Registrado em: 21 Mai 2007 09:43
Localização: São Paulo, Região Leste - Suzano

api bling

Mensagem por jairfab »

envio do post em xml e a resposta em json, nao sei se funciona por que ainda nao conseguir fazer o teste e nao sei onde estar o erro no xml.

// aqui tem a documentação de vários endpoint eu preciso validar um teste de POST e UM de PUT pode ser em quaisquer um dos endpoint

https://ajuda.bling.com.br/hc/pt-br/cat ... volvedores
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

api bling

Mensagem por JoséQuintas »

jairfab escreveu:nao sei onde estar o erro no xml.
no que colocou, falta fechar a tag descricao, a mensagem de erro deve ser sobre isso.
Mas tem que ser com curl ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
jairfab
Usuário Nível 3
Usuário Nível 3
Mensagens: 252
Registrado em: 21 Mai 2007 09:43
Localização: São Paulo, Região Leste - Suzano

api bling

Mensagem por jairfab »

Pode ser com qualquer função... porem a função que testei aqui não funciona em windows 7

Mas aceito sugestões de possíveis soluções ... O mias importante seria fazer funcionar.
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Avatar do usuário
jairfab
Usuário Nível 3
Usuário Nível 3
Mensagens: 252
Registrado em: 21 Mai 2007 09:43
Localização: São Paulo, Região Leste - Suzano

api bling

Mensagem por jairfab »

Conseguir fazer um post no curl por linha de comando. agora quero fazer no curl lib

alguem tem ideia de como fazer eu ja tentei varias formas e nao deu certo dis que nao foi passado o parametro key



Código: Selecionar todos

curl -X POST "https://bling.com.br/Api/v2/produto/json/" -d "apikey=81672077cde47c5ed795349ae17a98c1c1b10c9826041ecf9b9d28d9a1961c7204dc3b13" -d "xml=<produto><codigo>22000123</codigo><descricao>Caneta Preta 002 andre</descricao><situacao>Ativo</situacao><descricaoCurta>Descrição curta da caneta</descricaoCurta><descricaoComplementar>Descrição produto 002</descricaoComplementar><un>Pc</un><vlr_unit>1.68</vlr_unit><preco_custo>1.23</preco_custo><peso_bruto>0.2</peso_bruto><peso_liq>0.18</peso_liq><class_fiscal>1000.01.01</class_fiscal><marca>Marca da Caneta</marca><origem>0</origem><estoque>10</estoque><deposito><id>14886559917</id><estoque>200</estoque></deposito><gtin>223435780</gtin><gtinEmbalagem>54546</gtinEmbalagem><largura>11</largura><altura>21</altura><profundidade>31</profundidade><estoqueMinimo>1.00</estoqueMinimo><estoqueMaximo>100.00</estoqueMaximo><cest>28.040.00</cest><idGrupoProduto>12345</idGrupoProduto><condicao>Novo</condicao><freteGratis>N</freteGratis><linkExterno>https://minhaloja.com.br/meu-produto</linkExterno><observacoes>Observações do meu produtos</observacoes><producao>P</producao><dataValidade>20/03/2022</dataValidade><descricaoFornecedor>Descrição do fornecedor</descricaoFornecedor><idFabricante>0</idFabricante><codigoFabricante>123</codigoFabricante><unidadeMedida>Centímetros</unidadeMedida><garantia>4</garantia><itensPorCaixa>2</itensPorCaixa><volumes>2</volumes><urlVideo>https://www.youtube.com/watch?v=zKKL-SgC5lY</urlVideo><imagens><url>https://bling.com.br/bling.jpg</url></imagens><idCategoria>4573031</idCategoria></produto>"


Estou tentando com este codigo ja fiz varias alteracoes ...mas nao sei como colocar este parametro key

Código: Selecionar todos

//------------------------------------------------------------------------------------------------
function Send( ) 
   
   hCurl := curl_easy_init()
   
   cUrl := "https://bling.com.br/Api/v2/produtos/json/"
   cKey := "?apikey=81672077cde47c5ed795349ae17a98c1c1b10c9826041ecf9b9d28d9a1961c7204dc3b13"
   //cKey := "apikey=81672077cde47c5ed795349ae17a98c1c1b10c9826041ecf9b9d28d9a1961c7204dc3b13"
 //  cKey := "81672077cde47c5ed795349ae17a98c1c1b10c9826041ecf9b9d28d9a1961c7204dc3b13"
   cXml:= "<produto><codigo></codigo><descricao>Caneta Preta 001 xxxx</descricao><situacao>Ativo</situacao><descricaoCurta>Descrição curta da caneta</descricaoCurta><descricaoComplementar>Descrição produto 002</descricaoComplementar><un>Pc</un><vlr_unit>1.68</vlr_unit><preco_custo>1.23</preco_custo><peso_bruto>0.2</peso_bruto><peso_liq>0.18</peso_liq><class_fiscal>1000.01.01</class_fiscal><marca>Marca da Caneta</marca><origem>0</origem><estoque>10</estoque><deposito><id>14886559917</id><estoque>200</estoque></deposito><gtin>223435780</gtin><gtinEmbalagem>54546</gtinEmbalagem><largura>11</largura><altura>21</altura><profundidade>31</profundidade><estoqueMinimo>1.00</estoqueMinimo><estoqueMaximo>100.00</estoqueMaximo><cest>28.040.00</cest><idGrupoProduto>12345</idGrupoProduto><condicao>Novo</condicao><freteGratis>N</freteGratis><linkExterno>https://minhaloja.com.br/meu-produto</linkExterno><observacoes>Observações do meu produtos</observacoes><producao>P</producao><dataValidade>20/11/2019</dataValidade><descricaoFornecedor>Descrição do fornecedor</descricaoFornecedor><idFabricante>0</idFabricante><codigoFabricante>123</codigoFabricante><unidadeMedida>Centímetros</unidadeMedida><garantia>4</garantia><itensPorCaixa>2</itensPorCaixa><volumes>2</volumes><urlVideo>https://www.youtube.com/watch?v=zKKL-SgC5lY</urlVideo><imagens><url>https://bling.com.br/bling.jpg</url></imagens><idCategoria>4573031</idCategoria></produto>"
 *  Local httpcode

   curl_easy_setopt( hCurl, HB_CURLOPT_POST, 1 )
   curl_easy_setopt( hCurl, HB_CURLOPT_URL, cUrl  )
  * curl_easy_setopt( hCurl, HB_CURLOPT_USERPWD, "xxxxxxxxxx$#B<SHJGHKxxxx" + ':' + "x@#$F&^%DEE" )
   
   /* define nome de usuário e senha para autenticação */
    *curl_easy_setopt(hCurl, 26 , cKey )
	*curl_easy_setopt( hCurl, 5, cKey )
	*curl_easy_setopt(hCurl, 87, cKey)
	//CURLOPT_HTTPHEADER 23
	curl_easy_setopt(hCurl, 23, "authorization: 81672077cde47c5ed795349ae17a98c1c1b10c9826041ecf9b9d28d9a1961c7204dc3b13")
   curl_easy_setopt( hCurl, 1008 )
   curl_easy_setopt( hCurl, 64, .F. )
*    curl_easy_setopt(hCurl, 131, cXml )
    curl_easy_setopt (hCurl, 36 , "PUT" )
    curl_easy_setopt(hCurl, 15, cXml)
   //  aqui vai o xml do PUT DELETE OU POST 
  // curl_easy_setopt( hcurl, HB_CURLOPT_POSTFIELDS, Send() )  15 
   nError := curl_easy_perform( hCurl )
   ? nError
*   curl_easy_getinfo( hCurl, HB_CURLINFO_RESPONSE_CODE, @httpcode )

      cResponse := curl_easy_dl_buff_get( hCurl )

  ?  cResponse
  
return NIL            


Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
luisps
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 04 Mai 2022 23:41
Localização: rio de janeiro/rj

api bling

Mensagem por luisps »

Fala ai fera conseguiu estou tendo os mesmos problemas?
Avatar do usuário
jairfab
Usuário Nível 3
Usuário Nível 3
Mensagens: 252
Registrado em: 21 Mai 2007 09:43
Localização: São Paulo, Região Leste - Suzano

api bling

Mensagem por jairfab »

Conseguir estou utilizando com linha de comando mesmo mas deu tudo certo!
Delpji 7, harbour 3.2, xharbour 1.2.3, Bcc7, Minigw, Minigui 19.11, hwgui 2.20, FiveWin 19.05 Gtwvw, Gtwvg, C# VS 2017
Responder