AcessoSoft Posted December 5, 2017 Report Share Posted December 5, 2017 Há neste fórum e em outros mais, diversas postagens sobre envio de SMS. Gostaria de abrir aqui um tópico para debate recente do uso desta tecnologia que apesar de ser antiga, ainda é muito utilizada. Tenho necessidade de implementar este recurso. 1 - Códigos: classes, métodos e funções ; 2 - Qual hardaware usar ; 3 - Qual melhor provedor ou pacote de serviços. Agradeço antecipadamente. Quote Link to comment Share on other sites More sharing options...
oliveiros Posted December 5, 2017 Report Share Posted December 5, 2017 Olá, Procure aqui no fórum um exemplo do evandro. Funciona perfeitamente. Você só precisa enviar o comando da operadora e controlar seu retorno. Att., Oliveiros Junior Quote Link to comment Share on other sites More sharing options...
oribeiro Posted December 9, 2017 Report Share Posted December 9, 2017 Tentei achar a rotina do Evandro, mas não tive sucesso. As pesquisas apontam para um site ( http://www.congressofivewin.com.br/programacao.html ) que está fora do ar. Alguém, por gentileza, poderia postar aqui o link para baixar a rotina do Evandro? Quote Link to comment Share on other sites More sharing options...
evandro Posted December 9, 2017 Report Share Posted December 9, 2017 Olá, Segue: ////////////////////////////DADOS DA FUNCAO///////////////////////////////////////////////////// // NOME : EnviaSMS // // SINTESE : Enviar SMS // // PARAMETROS : <1> aDados para envio ([1]='*', [2]=ID do cliente, [3]=celular, [4]=nome ) // // [2] cTexto da mensagem // // RETORNO : Nada // //////////////////////////////////////////////////////////////////////////////////////////////// function EnviarSMS(aDadosEnvio, cMens ) local aOcorr:={}, aSql, aMens:={} local cCmdSql, cDdd:='', cMensagem, cId, cContaSms, cCodeSms, cRmteSms, cCelular, cTexto:='', cMensTotal:='', cMethod:='POST' local lOk:=.t. local x, nEnviados:=0, z, nSoma:=0 local oWs private cTitulo1:='', cTitulo2:='', cMensEnv:='' cMens:=alltrim( cMens ) cTitulo1:='OCORRÊNCIAS ENVIO SMS' //////////// informações cadastradas em um arquivo de configurações /////////////////////////////// cContaSms := //conta na operadora cCodeSms := //senha na operadora cRmteSms := //remetente nLimiteSms := //limite de caracteres cOperSms := //operadora //////////////////////////////////////////////////////////////////////////////////////////////////// oWS := WebConnect():New() for x=1 to len( aDadosEnvio ) if aDadosEnvio[x,1]='*' .and. !empty( SoNumeros( aDadosEnvio[x,3] ) ) lOk:=.t. cCelular:=iif( cCelular<>SoNumeros( aDadosEnvio[x,3] ), alltrim( str( val( SoNumeros( aDadosEnvio[x,3] ) ), 14 ) ), cCelular ) if lOk aMens:={} //Linhas acrescentadas para dividir as msgs caso ultrapasse o tamanho limite if (len(cMens)/nLimiteSMS)>1 //Adiciona as mensagens for z=1 to roundmax((len(rtrim(cMens))/nLimiteSMS)) aadd(aMens,substr(cMens,1+nSoma,nLimiteSMS)) nSoma:=nSoma+nLimiteSMS next //Zera o nSoma nSoma :=0 else //Adiciona somente uma msg aadd(aMens, cMens) endif //Envia todas as msg for z=1 to len(aMens) //Definindo id cId:=strzero(x,4)+strzero(z,2)+SoNumeros( dtoc( oVS:hoje ) )+SoNumeros( substr( time(), 1, 9 ) )+aDadosEnvio[x,2] //Envia msg if upper( cOperSms )='HUMAN' cMensEnv:='http://system.human.com.br:8080/GatewayIntegration/msgSms.do?dispatch=send&account='+cContaSms+'&code='+cCodeSms+'&from='+cRmteSms+'&to=55'+cCelular+'&id='+cId+'&msg='+aMens[z] elseif upper( cOperSms )='COMTELE' cMensEnv:='https://sms.comtele.com.br/api/'+cCodeSms+'/sendmessage?sender='+oVI:vpcCodCoop+'&receivers='+cCelular+'&content='+aMens[z] elseif upper( cOperSms )='MISTERPOSTMAN' cMensEnv:='http://www.misterpostman.com.br/gateway.aspx?UserID='+cContaSms+'&Token='+cCodeSms+'&NroDestino='+cCelular+'&Mensagem='+aMens[z] elseif upper( cOperSms )='M2MOBILE' cMethod:='GET' cId:=SoNumeros( dtoc( oVS:hoje ) )+SoNumeros( substr( time(), 1, 9 ) ) cMensEnv:='https://www.m2mobile.com.br/smsservice/api/Repository/SendSms?logon='+cContaSms+'&password='+cCodeSms+'&mobile='+cCelular+'&message='+aMens[z]+'&dateSend='+dtoc( date() )+'&timeSend='+substr( time(),1,8 )+'&smsId='+cId elseif upper( cOperSms )='ICOOP' cMethod:='GET' cMensEnv:='http://apiweb.icoop-sms.com/index.php?validapi='+cCodeSms+'&acao=enviarSMS&telefone='+cCelular+'&mensagem='+aMens[z] endif cMensTotal+=cMensEnv+CR_LF cTexto := oWS:Open( cMensEnv, cMethod ) sysrefresh() next if substr( Caracter( cTexto ),1,3 )$'000' .or. 'SUCESSO'$upper( cTexto ) .or. cTexto='{"ResponseCode": "100"}' .or. cTexto='"OK"' nEnviados++ else cTexto:=Caracter( cTexto ) aadd( aOcorr, { aDadosEnvio[x,2], aDadosEnvio[x,4], cCelular, substr(cTexto,1,3), substr(cTexto,7 ) } ) endif endif endif next memowrit( 'sms.txt', cMensTotal ) if len( aOcorr )>0 RelatFrh( 'Ocorrências', {}, 'sbr_sms_ocor', 'R', 'SBR_SMS', aOcorr, { 'Conta', 'Nome', 'Celular', 'Cod', 'Ocor' } ) endif if nEnviados>0 Msginfo( 'Enviadas '+alltrim( str( len(aMens), 3 ) )+' mensagens a cada cooperado.'+CR_LF+'Mensagem enviada a '+alltrim( str( nEnviados, 3 ) )+' cooperados'+CR_LF+'Total de mensagens enviadas '+alltrim( str( nEnviados*len(aMens), 3 ) ) ) oWS:end() end return nEnviados /////////////////// Class WebConnect ////////////////// Data oWeb Method New() Constructor Method Open() Method End() INLINE ::oWeb:=Self:=Nil EndClass Method New() Class WebConnect Try ::oWeb := CreateObject('MSXML2.XMLHTTP') Catch ::oWeb := CreateObject('Microsoft.XMLHTTP') End Return Self Method Open( cUrl, cMethod ) Class WebConnect Local cRet := "" DEFAULT cMethod:='POST' If ValType( cUrl ) == 'U' Return cRet EndIf Try ::oWeb:Open( cMethod, cUrl,.f.) ::oWeb:Send() cRet := ::oWeb:responseBody Catch; End Return cRet Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted December 9, 2017 Report Share Posted December 9, 2017 Dê uma olhada neste site. Se achar interessante, tenho a rotina para envio de SMS deles. Posso disponibilizar. http://www.byjg.com.br/ Quote Link to comment Share on other sites More sharing options...
oliveiros Posted December 11, 2017 Report Share Posted December 11, 2017 Olá, No lugar do human agora e a zenvia. Mas outras empresas também fazem esse serviço. Att., Oliveiros Junior kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 11, 2017 Report Share Posted December 11, 2017 Evandro meu rei, sem querer abusar, cadê a tela(.RC) de INPUTS desta rotina? Um xeiro no kangotyyy.... kkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted December 11, 2017 Report Share Posted December 11, 2017 Evandro meu rei, sem querer abusar, cadê a tela(.RC) de INPUTS desta rotina? Um xeiro no kangotyyy.... kkkkkkkkkkkkkk Opa, tb quero, mas sem xero no kangotyyyyy. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 11, 2017 Report Share Posted December 11, 2017 Tá certo. Não bulo com quem é exclusivo do Alessandro(Aferra). kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted December 11, 2017 Report Share Posted December 11, 2017 Tá certo. Não bulo com quem é exclusivo do Alessandro(Aferra). kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Aahauahuahauua, Assim não miga! Desde de quando vc acha que eu tenho alguma coisa com aquele bofe, mona??? ahauahuauauau kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 11, 2017 Report Share Posted December 11, 2017 kkkkkkkkkkkkkkkkkkk, eu não sei de nada. Morro negando miga loka!!! kkkkkkkkkkkkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted December 11, 2017 Report Share Posted December 11, 2017 João, me adiciona (11-99133 8487 ou 9 4084 5900) no whats pra eu enviar a foto da capinha do tablet pra vc postar aqui. []s, Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 11, 2017 Report Share Posted December 11, 2017 não tenho whats. Podeis enviar direto por email, ou no meu skype mano. abs. Quote Link to comment Share on other sites More sharing options...
evandro Posted December 11, 2017 Report Share Posted December 11, 2017 olá, Evandro meu rei, sem querer abusar, cadê a tela(.RC) de INPUTS desta rotina? Não tem tela para a rotina. Passo os parâmetros. Estas informações vão depender da rotina de origem. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 11, 2017 Report Share Posted December 11, 2017 olá, Evandro meu rei, sem querer abusar, cadê a tela(.RC) de INPUTS desta rotina? Não tem tela para a rotina. Passo os parâmetros. Estas informações vão depender da rotina de origem. Ok Master. Entonces você passa tudo por dentro do programa(fixo) e se mudar a senha por ejemplo? O uçuário tpa laskado()?? kkkkkkkkkkkkkkkkk Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.