Jump to content
Fivewin Brasil

vailtom

Membros
  • Posts

    1,647
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by vailtom

  1. Olá,

    Recentemente integramos a API de loja virtual da Tray com nosso software e alguns aspectos foram bem nebulosos, por isto quero dividir com vocês uma dica super útil para casos como este, onde é necessário realizar um HTTP PUT usando lib cUrl.

    Segue o exemplo de código que demonstra o trecho mais importante: 

    FUNCTION Tray_UpdateEstoque( sku_id, nEstoque, access_token )
       LOCAL cEndPoint := 'https://666.commercesuite.com.br/web_api/products/'+alltrim(str(sku_id))+'?access_token='+access_token
       LOCAL cData := '{"Product": {"stock": '+ALLTRIM(STR(nEstoque))+'}}'
       LOCAL curl
       LOCAL nRet
       LOCAL Buff
       LOCAL Resp
       
       IF !empty( curl := curl_easy_init() )
          curl_easy_setopt( curl, HB_CURLOPT_HTTPHEADER, {"Content-Type:application/json"} )
          curl_easy_setopt( curl, HB_CURLOPT_CUSTOMREQUEST, 'PUT')
          curl_easy_setopt( curl, HB_CURLOPT_URL, cEndPoint )
          curl_easy_setopt( curl, HB_CURLOPT_POSTFIELDS, cData )
    
          curl_easy_setopt( curl, HB_CURLOPT_FOLLOWLOCATION, 1)
          curl_easy_setopt( curl, HB_CURLOPT_DL_BUFF_SETUP )
          curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYPEER, 0 )
          curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYHOST, 0 )
    
          nRet := curl_easy_perform( curl )
          Buff := curl_easy_dl_buff_get( curl )
    
          curl_easy_cleanup( curl )
          IF (nRet == HB_CURLE_OK)
             hb_jsonDecode( Buff, @Resp )
          ENDIF
       ELSE
          RETURN .F.
       ENDIF
       IF !HB_ISHASH(Resp)
          ? Buff    // Exibe na tela a mensagem de erro obtida
          RETURN .F.
       ENDIF
     * Retorno em caso de sucesso (status code 200 ou 201)
       nRet := Resp['code']
       RETURN (nRet == 200 .OR. nRet == 201)

    Em nosso caso utilizamos o compilador Harbour, mas, isto deve servir como base para você caso use outros compiladores.

    Espero ter ajudado.

  2. 1756057270_ScreenShot2022-07-27at06_53_25.thumb.png.b1a36db2e383121ee863612cef35ca74.png

    Apenas para lembrar: acho confuso colocar só um link pra outro fórum, não explicar o motivo disto e ainda dar erro no link final. Sei lá, esquisito e não soma muito na discussão original. Qual é o "erro recorrente" Erick, nos ilumine por favor...

  3. Olá Wellington,

    Bacana e parabéns pela iniciativa. Um ponto que me veio a cabeça aqui ao ler seu convite, é uma dúvida e talvez uma sugestao que pensei:  seria interessante abordar sobre as vantagens ou o diferencial desta ferramenta em comparação com algumas outras ferramentas da mesma área: ACBr ou até a TecnoSpeed. Acredito que seria legal e somaria bastante pro pessoal que está interessado neste tópico.

    Novamente, parabéns!

  4. Olá,

    Voce pode subir o arquivo manualmente via FTP num servidor seu. O seu aplicativo instalado no cliente, acessa com as funcoes de FTP do Five ou via LibCURL e consulta pra ver se neste servidor online tem versao nova... se tiver baixa na sua máquina e dae em diante é só seguir o seu fluxo normal.

  5. 3 horas atrás, kapiaba disse:

    Eu acho, nao tenho certeza, talvez o mestre Vailton Rentato possa confirmar, configura-se o agendador de tarefas do windows e ele faz isso. Repito: nao tenho certeza.

     

    Regards, saludos.

    Fala meu Rey, boa tarde!

    Kapi eu pensei o seguinte igual ao macs acima: um timer no aplicativo que roda a cada XX minutos chamando uma rotina para verificar  se tem versão nova. Também quando ele entra no sistema antes ou depois do login podemos chamar esta mesma função. Tem o lance também de você deixar um executável sem window/dialog nenhuma configurado pra ser executado de tempos em tempos no agendador do Windows, o que ele faria seria chamar esta mesma função que citamos acima só que de modo automático mas por fora em outro executável.

  6. 19 horas atrás, kapiaba disse:

    Desculpe amado Mestre, mas eu prefiro o RMAIL.PRG - Bom para kraliyus(). Não tem igual kkkkkkkkkkkkkkkkkk Abraços.

    Regards, saludos

    Fala João querido,

    Sim, eu também prefiro usar via código mesmo... É que via linha de comando é util para alguns outros cenários.

  7. Em 26/03/2022 at 10:14, aferra disse:

    Rapazes... o Sr. Vailton já deu a dica correta. CT.LIB para xharbour e HBCT.LIB para habour.
    Essa lib vem na xharbour 123 a build eu não sei mas tem um bom tempo + 5 anos.
    no Harbour vem da 3.0+

    Valeu por me salvar! Eu fiquei de mãos atadas pra conferir o nome em xHb.

    :D

  8. Em 17/02/2022 at 09:11, kapiaba disse:

    Bom dia meu garoto. No Editor de Recursos, Workshop.exe, eu sei gravar, o que eu quero é o inverso do: @C:\BCC74\BIN\BRC32.Exe -R XPLOOK.RC, assim, o BRC32.exe, transforma o *.RC, em *.RES e incorpora ao projeto, eu quero fazer o Inverso, por ex: no meu COPIAR.BAT, já transformo todos os *.RES em *.RC, comprendes my dear?

    Forte abraço.

     

    Obg. abs.

     

    Regards, saludos.

    Ahhh entendi Kapi.
    Bom neste caso eu não saberia como fazer e dei uma espiada no tio Google não achei nada parecido num primeiro momento...

  9. 17 horas atrás, informax disse:

       Boa Tarde meu Amigo. São 19 estações e só nessa empresa que tenho esse problema. Todas as Máquinas são HP e o Servidor é um HP Xeon 2132 muito turbinado, aliás temos 4 Servidores e esse que disse é o de Sistemas. Acredito que pode ser alguma configuração, pois aqui nem cópia os usuários comuns tem direito a fazer, pois descobriram Desenhos/Projetos das máquinas Desenvolvidas aqui em um Concorrente. Para que você tenha uma idéia eu só tenho acesso ao Drive G: que é um mapeamento da Pasta Informax (pasta de Sistemas).

       Se for isso mesmo vai ser difícil mudar alguma coisa. Caso tenha alguma ideía para abrir de forma mais rápida lhe Agradeço Muito.

     

    A configuração me parece boa, tive um problema assim a alguns anos mas o cliente estava com um parque de maquinas muito desorganizado mas não me parece ser este o seu caso.

×
×
  • Create New...