FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Envio de SMS **SOLUCIONADO**
Posts: 44
Joined: Fri Feb 03, 2006 06:42 PM
Envio de SMS **SOLUCIONADO**
Posted: Thu Jan 26, 2017 02:24 PM

Buenas!

Tengo un cliente que ha contratado un servicio de env铆o de SMS a clientes.
El servicio incluye una p谩gina en donde se van cargando los # de tel茅fonos y el txt que se desea enviar y simplemente hace el trabajo.
Pero adem谩s tiene un modelo para integrar esto a un sistema propio.

Yo lo he probado y efectivamente funciona, envio desde mi sistema el comando x ej:

http://servicio.smsmasivos.com.ar/enviar_sms.asp?,;
api=1&;
test=1&;
usuario=xxxx&;
clave=cccc&;
tos=1144445555&;
texto=Mensaje

y el mensaje se env铆a sin problemas.

S贸lo tengo 2 cuestiones..
1) obviamente al enviar esto me abre el navegador por defecto, no se si se puede manejar que lo haga en background o segundo plano.
2) me da una respuesta que es simplemente un texto pero dentro de la p谩gina que he abierto.. Por ej si todo fue bien, la respuesta es s贸lo "OK"

C贸mo podr铆a tomar o leer el contenido de una pagina web?

O sea lo ideal seria poder mandar el comando, y tomar la respuesta y que todo sea invisible al usuario del sistema m铆o. Y si no es invisible.. que se abra el navegador.. enviar los datos, tomar la respuesta y cerrar desde mi programa el mismo.

No se si se entiene, espero que si.

Un abrazo!

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Envio de SMS
Posted: Thu Jan 26, 2017 06:02 PM

Busca informacion sobre la function

//nRet := hb_ProcessRun( cCommand, cStdIn, @cStdOut, @cStdErr, lDetach )

e investiga despues el contenido de cStdOut

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 44
Joined: Fri Feb 03, 2006 06:42 PM
Re: Envio de SMS
Posted: Thu Jan 26, 2017 10:00 PM

Gracias Crist贸bal

Esa es una Funci贸n de Harbour, estar谩 documentada?

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Envio de SMS
Posted: Thu Jan 26, 2017 10:06 PM

Por supuesto
Google es nuestro amigo :D

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 44
Joined: Fri Feb 03, 2006 06:42 PM
Re: Envio de SMS
Posted: Fri Jan 27, 2017 02:01 PM

Gracias Crist贸bal

He estado viendo pero no la puedo probar, creo que uso una versi贸n de Harbour muy antigua (por esto de cosa que funciona no se toca.. creo que nunca me motiv茅 a actualizarla).
Me da Unresolved External esa funci贸n.. o hay que enlazar alguna lib en particular?

Posts: 140
Joined: Thu Feb 02, 2006 12:09 PM
Re: Envio de SMS
Posted: Fri Jan 27, 2017 03:06 PM

Saludos desde Venezuela.-

Yo hago algo parecido con un servicio aqui en Venezuela

METHOD Enviarsms(cOrden,cTlf) CLASS TServicio
LOCAL cMensa:=""
LOCAL cHost,lRet:=.F.
LOCAL oHttp,cFuncion,oError,cTextohtml,cXml,xDato,nReg:=0,nI:=0

if empty(cTlf)
msgstop("No hay celular para enviar mensaje","verifique la ficha")
Return Self
Endif

cMensa:="Informa%20=%20Se%20ha%20cargado%20la%20orden%20de%20servicio%20"+Alltrim(Oemtoansi(cOrden))+"%20"+;
"de%20fecha%20"+dtoc(date())+"%20"+;
"informaremos%20por%20esta%20via%20los%20avances%20de%20su%20servicio.%20Gracias%20por%20su"+"%20"+;
"confianza."

oHttp:=CreateObject("winhttp.winhttprequest.5.1")
oHttp:SetTimeouts(30000,30000,30000,30000)

cHost:="http://041x.com/secure/insert.php?uname=usuario041x&pass=xyz"
cFuncion:="&num=0"+Alltrim(cTlf)+"&msg="+cMensa

oHttp:Open("GET",Alltrim(cHost)+cFuncion,.f.)
Try
  oHttp:Send()
Catch oError
  MsgInfo("NO HAY CONEXION CON EL SERVIDOR CENTRAL ","INTENTE DE NUEVO ")
  Return .F.  //Aqui retornar false...
End

cTextoHTML:=oHttp:ResponseText()
cXML:=cTextoHTML
xDato:=GetStringFromXMl('[',']', cXML )
IF UPPER(xDato)<>"OK"
   MSGSTOP("ERROR EN ENVIO DEL MENSAJE DE TEXTO","INFORME ESTE MENSAJE POR FAVOR")
   Return lRet
ENDIF

Return Self

Function GetStringFromXMl( cInicio, cFinal, cString )
Local nInicio:=At( cInicio, cString ) + Len( cInicio )
Local nFinal :=At( cFinal, cString ) - nInicio
Return Alltrim( Substr( cString, nInicio, nFinal ) )

Mario Antonio Gonz谩lez Osal

Venezuela

m a g 0 7 1 @ g m a i l. c o m
Posts: 44
Joined: Fri Feb 03, 2006 06:42 PM
Re: Envio de SMS
Posted: Fri Jan 27, 2017 07:24 PM

Hola Mario

Creo que algo as铆 es lo que estoy buscando.
Podr铆as adjuntarme la definici贸n de la clase TServicio? y qu茅 librer铆as enlazas para que esto funcione?
Para definir el objeto oHTTP ?

Gracias!!

Posts: 44
Joined: Fri Feb 03, 2006 06:42 PM
Re: Envio de SMS
Posted: Fri Jan 27, 2017 10:42 PM
Con la ayuda de otro colega de otro foro encontre la soluci贸n. Facil铆simo y simple.
Lo que buscaba. Funciona aparentemente s贸lo con Internet Explorer, pero es tan transparente al usuario que no importa.

Lo publico aca para que quede la soluci贸n, capaz le sirva a alguien:

[color=#FF0000]FUNCTION ConsultaWeb(cUrl)
LOCAL cError,oExplorer
LOCAL cResult

oExplorer := TOleAuto():New("InternetExplorer.Application")
oExplorer:Navigate(cUrl)
oExplorer:=.F. // IE invisible

// Las siguientes 4 lineas son para pausar la carga de una pagina, omitelas si no te son necesarias
//WaitSeconds(5) // deshabilito, no hace falta
WHILE oExplorer:Busy
HB_IDLESLEEP(1)
ENDDO

// Guardamos en texto del resultado de la web
cResult:=oExplorer:InnerText
oExplorer:End()


IF "OK"$cResult
ALERT("El envio del SMS fue un exito")
ENDIF

RETURN cResult
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: Envio de SMS
Posted: Tue Jan 31, 2017 01:51 PM

Hola Ivan...
me interesa lo que publicas...
Ser铆as tan amable de adjuntar un ejemplo completo del env铆o de SMS?
No entiendo como enlazas la funci贸n ConsultaWeb con el env铆o de los mensajes...
Gracias!
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM
Re: Envio de SMS **SOLUCIONADO**
Posted: Mon Mar 27, 2017 11:47 AM

Ivan me interesa, puedes compartir el codigo completo
gracias

Continue the discussion