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


 

- sms recibidos - descom mensajes sms - hosting - consultoria - desarrollo - backup -