Página 1 de 1

api bling

Enviado: 28 Mar 2022 12:33
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.

api bling

Enviado: 29 Mar 2022 09:03
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?

api bling

Enviado: 29 Mar 2022 10:01
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

api bling

Enviado: 29 Mar 2022 13:08
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 ?

api bling

Enviado: 29 Mar 2022 14:38
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.

api bling

Enviado: 30 Mar 2022 19:12
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            



api bling

Enviado: 04 Mai 2022 23:43
por luisps
Fala ai fera conseguiu estou tendo os mesmos problemas?

api bling

Enviado: 05 Mai 2022 07:58
por jairfab
Conseguir estou utilizando com linha de comando mesmo mas deu tudo certo!