Clipper On Line • Ver Tópico - api bling

api bling

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

Moderador: Moderadores

 

api bling

Mensagempor jairfab » 28 Mar 2022 12:33

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

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 242
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

api bling

Mensagempor JoséQuintas » 29 Mar 2022 09:03

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18015
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

api bling

Mensagempor jairfab » 29 Mar 2022 10:01

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

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 242
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

api bling

Mensagempor JoséQuintas » 29 Mar 2022 13:08

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18015
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

api bling

Mensagempor jairfab » 29 Mar 2022 14:38

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

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 242
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

api bling

Mensagempor jairfab » 30 Mar 2022 19:12

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

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

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

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 242
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes

api bling

Mensagempor luisps » 04 Mai 2022 23:43

Fala ai fera conseguiu estou tendo os mesmos problemas?
luisps
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 04 Mai 2022 23:41
Cidade/Estado: rio de janeiro/rj
Curtiu: 0 vez
Mens.Curtidas: 0 vez

api bling

Mensagempor jairfab » 05 Mai 2022 07:58

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

jairfab
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 242
Data de registro: 21 Mai 2007 09:43
Cidade/Estado: São Paulo, Região Leste - Suzano
Curtiu: 0 vez
Mens.Curtidas: 13 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 7 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