Jump to content
Fivewin Brasil

evertonlb

Membros
  • Posts

    733
  • Joined

  • Last visited

  • Days Won

    18

Posts posted by evertonlb

  1. Edu.. peguei uma uma vez no fórum mesmo..  há muito tempo.. só o executável, mas o proprietário, que não lembro o nome, diz que tava pra brique.. e era bem assim, clicava na data e abria um memo pra compromissos... Agora to no trabalho.. mas a noite eu acho e te mando..

    Só preciso do teu e-mail.

  2. Função para ler as respostas dos SMS..

    Func_Get_Resposta( cToken, cTel01, cTel02, cTel03, cTel04, cData01 ) 

    // Aqui é a função que pega as RESPOSTAS dos SMS.
    // Veja a gente pode so mandar a requisição "GET" e a DisparoPro devolve os
    // SMS RESPONDIDOS no dia ou posso passar os numeros do celular e a data que eu quero
    // TOKEN - Passo pra função o Tokem que se recebe da DisparoPro
    // CEL 1 - Um numero de celular que eu quiser pegar as RESPOSTAS que vieram dele
    // CEL 2 -   ""                  ""                     ""
    // CEL 3 -   ""                  ""                     ""
    // CEL 4 -   ""                  ""                     ""
    // DATA  -  Data que eu quero que a DisparoPro filtre para me devolver as RESPOSTAS.
                                              
                               

    *-------------------------------------------*  
    *  
    * Define a Funcao Func_Get_Retorno que PEga o Retorno da Disparo Pro  
    *  
    * BFT0000 28/10/2019 - 15:45:21    
    *  
    *----------------------------------------------------------*  
    Static Function Func_Get_Resposta(  y_TKN_API, y_nTel1_API, y_nTel2_API, y_nTel3_API, y_nTel4_API, y_Dat_API  ) 

    Local Envia 
    local cResposta
    Local Response
    Local y_Tok_Api := "'Bearer " + y_TKN_API + "'"
    Private y_nTel1_API_Filter := ""

    // Aqui recebe as variáveis para o GET na DisparoPro

    if y_nTel1_API <> NIL .and. !empty( y_nTel1_API ) 
       y_nTel1_API_Filter := "?numero="+alltrim( y_nTel1_API )
    endif
    *
    if y_nTel2_API <> NIL  .and. !empty( y_nTel2_API ) 
       y_nTel1_API_Filter += ","+alltrim( y_nTel2_API )
    endif
    *
    if y_nTel3_API <> NIL .and. !empty( y_nTel3_API ) 
       y_nTel1_API_Filter += ","+alltrim( y_nTel3_API )
    endif
    *
    if y_nTel4_API <> NIL .and. !empty( y_nTel4_API ) 
       y_nTel1_API_Filter += ","+alltrim( y_nTel4_API )
    endif
    *
    if y_Dat_API <> NIL .and. !empty( y_Dat_API ) 
       y_nTel1_API_Filter += "&data=" + y_Dat_API 
    endif 

    y_Str_API := "'https://api.disparopro.com.br/mo" + alltrim( y_nTel1_API_Filter )  + "'"  

    // Aqui recebe as variáveis para o GET na DisparoPro

    ohttp := CreateObject( "MSXML2.XMLHTTP" )                           // Manda a requisição conforme os dados que eu quero receber. 
    ohttp:Open( "GET" , &y_Str_API., .F. )                              // Lembrando que sem os telefones e a data, vai me retornar só os SMS enviados no dia, e que sem
    ohttp:SetRequestHeader("authorization", &y_Tok_Api. )               // determinar o filtro, ela só me manda uma vez por dia este arquivo de Retorno.. 
                                                                                              // Após isso, se quiser, tem que limpar os filtros na propria DiaparoPro
    ohttp:Send( Envia )  
    Response := ohttp:responseText 
     
    cResposta := hash()  

    hb_jsondecode(response ,@cResposta) 
    *
    y_Size_Ret := len( cResposta["detail"] )                             // Vejo se veio algum SMS no arquivo de retorno

    if y_Size_Ret == 0
       MsgInfo( "Não há respostas para tratar!", "..: Atenção :.." )
       return .t.
    endif
    *
    ydataAnswer := ""                                                            //
    yIdAnswer   := ""                                                            //
    yCelAnswer  := ""                                                            //
    yAnswer     := ""                                                            //    Inicio as variáveis que vão receber os dados do retorno
    yparceiro   := ""                                                            //
    *
    nNu_Tot_Vet := len( RetornoSMS ) 
    adel( RetornoSMS, nNu_Tot_Vet )
    aSize( RetornoSMS, len( RetornoSMS ) -nNu_Tot_Vet )                                             // Zero o vetor para pegar os dados da DisparoPro
    *
    For i = 1 to y_Size_Ret
       if valtype(cResposta)='H'
          if hhaskey(cResposta,"status")
             if cResposta["status"]=200
                if hhaskey(cResposta, "detail")                                  //  Até aqui estou achando as posições corretas..
                   *                                                             //
                   ydataAnswer := cResposta["detail",i,"data_recebimento"]       //    Começo a receber os valores do retorno em variáveis 
                   yIdAnswer   := cResposta["detail",i]["id"]                    //
                   yCelAnswer  := cResposta["detail",i]["origem"]                //
                   yparceiro   := cResposta["detail",i]["parceiro_id"]           //
                   yAnswer     := cResposta["detail",i]["resposta"]              //
                   ydata_atu   := ""                                             //
                   *
                   aadd( RetornoSMS,{ yIdAnswer,yAnswer,transform(yCelAnswer, "@R99(99)99999-9999"),yparceiro, ydataAnswer, ydata_atu } ) // Recebo no Vetor os dados do retorno
                endif
             else
                MsgInfo( "Ocorreu um erro no retorno das informações. Tente novamente!", "..: Atenção:.." )
             endif
          endif
       else
          MsgInfo( "Ocorreu um erro no retorno das informações. Tente novamente!", "..: Atenção:.." )
       endif
    next
    *
    oXBrw1:refresh()                      // Atualizo o xBrowse com os dados do retorno que estão no vetor
    oXbrw1:setfocus() 
    *
    return .t.

     

    Download atualizado...: https://www.4shared.com/rar/F3jp1U5Qiq/BFT.html

     

     

     

     


     

  3.  

    soh fiz o cadastro e fiz a funcao acima e testei com o saldo de 1 real de credito do cadastro. ta funcionando blz

    50 reais da quantos sms ? tem ideia?

    Se tu pegar meu PRG e der uma olhada, vai ver que tem um lance de filtro na hora que tu pegar os retornos dos SMS enviados...

    Recargas até R$ 499,99 só tem o SMS Short Code, que é mais caro, em torno de R$ 0,07 por SMS.  Recargas a partir de R$ 500,00 já fica liberado o Long Code, com valor de R$ 0,03..  Então o plano de R$ 50,00 te permite enviar 714 SMS

  4. Veja... a DisparoPro tem planos pra revenda.. tu compra o SMS por uma grana e pode revender por um valor a mais... ai, cria-se uma subconta para cada cliente teu e tu controla os envios e pode liberar crédito pra cada um individual...  e dentro da ferramenta tu define o valor por SMS que tu vai cobrar... dá pra faturar uma graninha..

    Fala comigo no everton@disparopro.com.br ou no whats/fixo 11 4299 0721

    Att. everton

  5. Bom dia meus amigos...  Com uma ajuda do kapiaba e Vagner Nunes, que me deu um baita norte, concluí a integração com a DisparoPro..  To com os códigos ainda muito sujos.. vou dar uma limpada e comentar para deixar mais inteligível... Mas tá mandando SMS e pegando os retornos que é uma belezura. Até pensei em fazer uma LIB para ajudar quem não tem o xHb ou Hb atualizados. Nunca fiz isso, outro aprendizado!!  Depois posto umas imagens!..  Se alguém quiser os fontes, me passa o e-mail ( evertonlb@gmail.com )  que eu envio hj a noite!

    Att.

    Everton  

     

     

     

     

  6.  

    Abra a  BMP com o IRFANVIEW.exe para ver se ela não está DANIFICADA, se ela estiver, vai dar estou de pilha, e travará o seu programa, e a impressão que dá, é que "travou" o mouse. Mas, na prática,  travou o programa, ou seu cérebro de minhocas. kkkkkkkkkkkkkkkkkkkkkkkkk

    Johny, johny... "Cérebro de minhoca"?  Não subestime a capacidade do colega.. é feio assim! kkkkkk   
    Não travou o programa nem o mouse.. e muito menos meu cérebro de minhoca!!!  O mouse anda.. e clica em outras coisas ao redor do programa.. as tecas funcionam e com o TAB eu navego do software.. se eu colocar o BMP atras de um Group somente, NESTE group o mouse não clica.. mas nos outros get´s, e Btn ele clica normalmente... e em todas essas situações meu cérebro de minhoca continua funcionando...  Falando em "cérebro de minhoca" .. lembrei de você há alguns dias! kkkkkkkkkk

  7. Bom dia amigos

    To fazendo uns testes com os envios de SMS, mas achei a situação estranha.. meu software só tem uma janela.. sem pedido de senha sem nada.. só uma janela e nela eu monto 3 Group, em 2 destes Group tenho 2 Get´s (@ Say) e logo abaixo destes Group tenho 2 botões..  O lance loco é que se eu colocar um BMP como "papel de parede" da window, o mouse não funciona.. mas no momento que eu tirar o BMP o mouse volta a funcionar.. Veja.. fiz um teste, diminui o BMP para ficar atras somente de um Group.. Neste onde o BMP ficou no fundo, não consigo clicar em nada.. no outro que não tem BMP no fundo.. ocorre tudo normalmente..

    E argola??

  8. Ai povo.. a coisa qdo aperta a gente tem que se virar né?? Agora além de programar durante as noites e meia madrugada, estou trabalhando numa Telecom.. 
    Temos uma solução bem legal pra envio de SMS, integra via API, e a ferramenta de envio conta com um CRM, qdo uma mensagem é enviada essa info vai pra uma time line, se quiser responder de dentro do "DisparoPro", pode ser feito com um box.. o lance vira um Chat praticamente. rsrsrsrsrsr  Não há custo algum de integração, claro.. a única coisa que vendemos são os SMS mesmo...  
    se alguém tem algum interesse ou dúvida, (49)99984-3663 WhatsApp

     

×
×
  • Create New...