>
Ahora les traigo la segunda parte de la serie de tutoriales explicativos del
smsSDK.
Esta vez voy a explicar cómo hacemos para leer las respuestas de los mensajes que enviamos.
Voy a dejar que el código hable.
|
<br />public static void Main (string[] args)<br />{ <br />Credencial credencial = new Credencial("demo", "d3m0");<br /> <br />Mensajero mensajero = new Mensajero(credencial);<br /><br />/*<br />* Leemos la o las respuestas pasando nuestra credencial<br />* y el numero del cual queremos saber su respuesta<br />*/<br />ContenidoRespuesta respuesta = mensajero.LeerRespuesta(credencial, "09811111222");<br /><br />/*<br />* Verificamos el estado de la transaccion<br />*/<br />switch(respuesta.Codigo)<br />{<br />case CodigoRespuesta.Accepted:<br />case CodigoRespuesta.OK:<br />Console.WriteLine("Pedido procesado con exito!");<br />break;<br />default:<br />Console.WriteLine("Hubo un error al procesar el pedido. Error: '{0}'", respuesta.Codigo.ToString());<br />return; <br />}<br /><br />/*<br />* La propiedad "HayDatos" es true cuando hay mensajes<br />* respondidos para el numero que pasamos. <br />*/<br /><br />if (!respuesta.HayDatos)<br />{<br />Console.WriteLine("No hay mensajes respondidos");<br />return;<br />} <br /><br />/*<br />* Las respuestas son alamacenadas en "MensajeRespondido.Datos".<br />* Esta propiedad es un array de objetos de<br />* la clase "MensajeRespondido".<br />*<br />* A continuacion, iteramos sobre los datos para leer las respuestas<br />* e imprimirlas en pantalla.<br />*/<br />foreach(MensajeRespondido mensajeRespondido in respuesta.Datos)<br />{<br />Console.WriteLine("==========================================");<br />Console.WriteLine("Codigo Mensaje: {0}", mensajeRespondido.ID);<br />Console.WriteLine("Numero: {0}", mensajeRespondido.Numero);<br />Console.WriteLine("Texto Enviado: {0}", mensajeRespondido.TextoEnviado);<br />Console.WriteLine("Texto Recibido: {0}", mensajeRespondido.TextoRespondido);<br />Console.WriteLine("Fecha: {0}", mensajeRespondido.FechaRespuesta); <br />} <br /><br />Console.WriteLine("*** LISTO ***");<br /><br />}<br /> |
Qué pasa si queremos recibir las respuestas de todos los números a los cuales enviamos un mensaje?. Fácil cambiamos la línea:
|
ContenidoRespuesta respuesta = mensajero.LeerRespuesta(credencial, "0981111222");<br /> |
por lo que viene:
|
<br />ContenidoRespuesta respuesta = mensajero.LeerRespuesta(credencial, Mensajero.TODOS_LOS_NUMEROS);<br /> |
En mis siguientes entradas voy a explicar el modelo asíncrono de envío y recepción de mensajes. En estos dos ejemplos se puede ver que las invocaciones a los métodos son bloqueantes, cosa que puede llegar a incomodar cuando trabajamos con interfaces gráficas o cuando nuestra aplicación es multipropósito.