Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: luison en 12 Noviembre 2013, 19:00 pm



Título: Sugerencia sobre envio de SMS
Publicado por: luison en 12 Noviembre 2013, 19:00 pm
Estoy desarrollando una aplicacion para enviar sms, utilizo para ello la api de silverstreet.
Para enviar el sms no hay problema, simplemente en la siguiente liga se ponen los parametros:
http://api.silverstreet.com/send.php?username=test&password=test&destination=3113469 0886&sender=silver&body=Testing&dlr=1&reference=100   
  
La api retorna 01, lo cual significa que el sms ha sido recibido correctamente el sistema silverstreet, pero no significa
que lo haya recibido el destinatario, y es lo que me interesa, saber quién lo recibe y quién no.
Para eso el manual indica que al enviar un sms el sistema te retorna un Delivery Report, con los datos que me interesan.
El sistema te retorna el reporte si le pasas el parametro dlr=1 y una referencia unica, eso lo especifico en la cadena.
De acuerdo al manual, debes tener configurada una pagina de respuesta, llamada callback url, y ésta debe retornar en texto plano "OK", mi pagina ya lo hace y se llama www.misitio.mx/sms/callback.aspx
Segun mi entendimiento, cuando haces una paticion similar, la api debe redireccionarte a la pagina callback, como lo hace twitter y facebook.
Pero no me redirecciona y por tanto no recibo el reporte del sms enviado, solo recibo 01 de que el sistema silverstreet recibio el sms.
Estoy trabajando en ASP.Net y este es mi codigo


Código
  1. Dim strUrl As String = "https://api.silverstreet.com/send.php?username=user&password=pas&destination=" & txtDest.Text & "&sender=35110&body=" & txtMsj.Text & "&dlr=1&reference=100"
  2.  
  3.            Dim request As WebRequest = HttpWebRequest.Create(strUrl)
  4.            Dim response As HttpWebResponse = DirectCast(request.GetResponse, HttpWebResponse)
  5.            Dim s As Stream = DirectCast(response.GetResponseStream(), Stream)
  6.            Dim readStream As New StreamReader(s)
  7.            Dim dataString As String = readStream.ReadToEnd()
  8.            'aqui recibo 01 (sms recibido)
  9.            txtRes.Text = dataString.ToString
  10.            response.Close()
  11.            s.Close()
  12.            readStream.Close()
  13.            lblmsj.Text = "Mensaje Enviado"
  14.  

Tal vez estoy haciendo algo mal, porque deberia de redireccionarme a www.misitio.mx/sms/callback.aspx con los datos del reporte, y despues de eso yo deberia contestar con un OK en texto plano.

Esto es lo que retorna el reporte:

http://www.yoururl.com/callback?REFERENCE=12345678&STATUS=Delivered&REASON=&D ESTINATION=31134690886&TIMESTAMP=20120501120202&OPERATOR=20408

Seguramente alguien ha realizado algo similar
Les agradezco de antemano su ayuda
Gracias y seguimos por aqui buscando la solucion