Con estás funciones, podrá obtrener el resumen de entrega de bloques de mensajes enviados.
Lógicamente necesitaremos primero crear una instancia a la Dll,
Ejemplo VB6
Dim DMSMS As Object
Set DMSMS = CreateObject("dcXMLSend.XMLSendClass")
Ejemplo VB.NET
Dim DMSMS As Object
DMSMS = CreateObject("dcXMLSend.XMLSendClass")
De esta forma, el objeto DMSMS, nos permitirá realizar todo lo necesario para realizar la obtención de dichos reportes.
Definiremos la autentificación en la Plataforma de Descom Mensajes SMS;
DMSMS.Usuario = “nombre_de_usuario”
DMSMS.Clave = “contraseña_de_acceso”
DMSMS.CodCli = "Codigo de Cliente del Usuario"
Para obtener el resumen de entrega de bloques de envíos usaremos la siguiente función:
DMSMS.ReportEnvio() que nos retornara los resultados mediante la clase: ReportResultEnvios, desde donde obtendremos una coleccion de los envíos solifitados.
Cada uno de estos envíos tendrá las siguientes propiedades de lectura:
Autentificado |
Con este parámetro averiguaremos si nos hemos autentificado correctamente en la plataforma |
True; autentificación correcta, False; error en la autentificación. |
Boolean |
Comentario |
Texto descriptivo referente al error de autentificación |
|
String |
HayError |
No dirá si hay algún tipo de error en la consulta |
True; error en la petición, False; petición satisfactoria |
Boolean |
ErrorDescripcion |
Texto descriptivo al error de petición. |
|
String |
nTotal |
Nuḿero de envíos localizados en la plataforma según criterios. |
Nuḿero; 0, 1, 2, ... |
Long |
nFilas |
Nuḿero de envíos devueltos. |
Nuḿero; 0, 1, 2, ... |
Integer |
Envíos |
Colección de envíos obtenidos en la consulta. |
|
Collection |
La colección Mensajes, nos devolvera cada uno de los mensajes, mediante la siguiente clase; ReportResultEnviosItem
La clase ReportResultEnviosItem, dispone de los siguientes parámetros de lectura:
idReport |
identificativo del envío en la plataforma |
Númerico; 0, 1, 2, ... |
String |
NM |
Número de mensaje en la colección |
Númerico; 1, 2, 3, ... |
String |
FechaEnviado |
Fecha y hora en la que se envío el mensaje. |
|
String |
Estado |
Estado de entrega del mensaje. |
|
String |
IdEnvio |
Código interno del envío |
|
String |
TotalMensajes |
Nuḿero totales de mensajes enviados en este envío. |
|
String |
TotalCreditos |
Créditos consumidos en este envío. |
|
String |
App |
Nombre de aplicación de envío. |
|
String |
MConfirmados |
Total de mensajes enviados correctamente de los que se ha recibido notificación de entrega a operador o móvil. |
|
String |
MSinConfirmacion |
Total de mensajes enviados correctamente de los que no se ha recibido todavía notificación de entrega. |
|
String |
MErrores |
Total de mensajes enviados correctamente de los que hemos recibido notificación de rechazo o error de entrega. |
|
String |
MSinInformacion |
Total de mensajes sin información de envío disponible todavía o mensajes pendiente de enviar. |
|
String |
A la hora de realizar la petición de informes de mensaje, podemos opcionalmente agregar unos criterios, mediante la clase: ReportFiltro.
Este filtro lo podemos asingnar en el momento de la petición del informe:
Dim Filtro As Object
Set Filtro = CreateObject("dcXMLSend.ReportFiltro") DMSMS.ReportEnvio(Filtro)
La Clase ReportFiltro dispone de las siguientes propiedades y funciones:
idReport |
código numerico de report a obtener |
|
Long |
PeriodoFecha |
Periodo de fecha de la que vamos a obtener los mensajes |
- Dia; obtendremos los mensajes enviado este mismo día (por defecto)
Semana;Obtendremos los mensajes enviados en la semana en curso.
- Mes; para obtener mensajes del mes.
- Todo; todos los mensajes
- SeleccionarRangoFecha; podremos seleccionar un rango de fechas, ver: AsignarPeriodoFecha |
ePeriodo |
AsignarPeriodoFecha |
Funcion con 2 parámetros, Fecha Inicio y Fecha Fin. |
ambas variables son de tipo Date |
Date |
MaxNumeroResultados |
Máximo número de mensajes a obtener en una sola consulta. |
1,2, ..., 99 (por defecto 15) |
Byte |
nDesde |
punto desde donde obtener registros, comenzando en 1 |
Por defecto; 1 |
Long |
Orden |
Define el orden de busqueda. |
- Ascendente
- Descendente |
eOrden |
A continuación le ofrecemos un ejemplo realizado en Visual Basic 6, debe agregar la DLL como referencia a su proyecto, extraido del ejemplo adjunto:
Me.ListView1.ListItems.Clear
Me.lblInfo.Caption = ""
Dim sms As New dcXMLSend.XMLSendClass
'Asignar datos de Autentificación
sms.Usuario = Me.txtUsuario.Text
sms.Clave = Me.txtPassword.Text
sms.CodCli = Me.txtIdCli.Text
'Crear filtro
Dim filtro As New dcXMLSend.ReportFiltro
Select Case Me.cmbPeriodo.ListIndex
Case 0
filtro.PeriodoFecha = Dia
Case 1
filtro.PeriodoFecha = Semana
Case 2
filtro.PeriodoFecha = Mes
Case 3
filtro.PeriodoFecha = Todo
Case 4
filtro.PeriodoFecha = SeleccionarRangoFecha
filtro.AsignarPeriodoFecha Me.txtFechaInicio.Text, Me.txtFechaFin.Text
End Select
If txtNFilas.Text <> "" Then filtro.MaxNumeroResultados = txtNFilas.Text
If txtNDesde.Text <> "" Then filtro.nDesde = txtNDesde.Text
Select Case Me.cmbOrden.ListIndex
Case 0
filtro.Ordenacion = Ascendente
Case 1
filtro.Ordenacion = Descendente
End Select
Dim resultado As ReportResultEnvios
Dim n As ReportResultEnviosItem
Screen.MousePointer = vbHourglass
Set resultado = sms.ReportEnvio(filtro)
Screen.MousePointer = vbDefault
If resultado.Autentificado Then
If resultado.HayError = False Then
Me.lblInfo.Caption = resultado.nFilas & " mensajes de un total de " & resultado.nTotal & " mensajes."
For Each n In resultado.Envios
Dim lt As ListItem
Set lt = Me.ListView1.ListItems.Add(, , n.IdReport)
lt.SubItems(1) = n.Estado
lt.SubItems(2) = n.FechaEnviado
lt.SubItems(3) = n.TotalMensajes
lt.SubItems(4) = n.MConfirmados
lt.SubItems(5) = n.MSinConfirmacion
lt.SubItems(6) = n.MSinInformacion
lt.SubItems(7) = n.MErrores
Next
Else
MsgBox resultado.ErrorDescripcion
End If
Else
MsgBox resultado.Comentario
End If
|