Confirmación de entrega de SMS enviado con controles ActiveX

1. Descripción

Esta DLL te ofrece una serie de objetos y métodos con los que podrás realizar los envíos de forma muy sencilla sin tener que implementar un código complicado.  En este documento explicamos como consultar los reportes de los envíos realizados en Descom SMS.

2. Documentación

 

Creación del objeto e instancia:

Primero debemos iniciar una instancia de la DLL en nuestro programa, para posteriormente llamar a la clase

Dim oDMEnvio As Object
Set oDMEnvio = Nothing
Set oDMEnvio = CreateObject("dcXMLSend.XMLSendClass");

De esta forma, el objeto oDMEnvio, nos permitirá interactuar con la plataforma de Descom SMS.

 

Configuración de la autentificación

Definiremos la autentificación a la Plataforma de Descom Mensajes SMS, asignando los siguientes parámetros:

oDMEnvio.Usuario = “nombre_de_usuario”
oDMEnvio.Clave = “contraseña_de_acceso”

 
Configurar filtro de búsqueda:

Podemos obtener el reporte de envíos, en función de unos criterios de búsqueda, para ello debemos crear una instancia de la clase dcXMLSend.ReportFiltro, con la cual definiremos las condiciones de búsquedas. Esta clase admite las siguientes propiedades que usaremos para definir los distintos criterios de búsqueda:

Nombre
Parámetro
Descripción Posibles Valores Tipo de
Dato
IdReport

Código de envío que deseamos obtener.

 

Long
PeriodoFecha

Periodo de fecha de la que vamos a obtener los mensajes.

  • Dia (por defecto)
  • Semana
  • Mes
  • Todo
  • SeleccionarRangoFecha (ver siguiente)
ePeriodo

AsignarPeriodoFecha

Función con 2 parámetros, Fecha Inicio y Fecha Fin

Esta función requiere de estos 2 argumentos de tipo date Date

MaxNumeroResultados

Máximo número de mensajes a obtener en una sola consulta.

1, 2, ..., 99 (por defecto 15) Int
nDesde

Punto desde donde obtener registros, comenzando en 1

1, 2, 3, ... Long
Orden

Define el orden en que se mostrará los resultados por fecha

  • Ascendente
  • Descendente
eOrder

 

Enviar la petición

Una vez formalizada la autentificación y definido los filtros de los envíos a obtener, solicitaremos la información de los reportes con el siguiente comando ReportEnvio:

Esta función retorna un objeto de la clase ReportResultEnvios, la cual contiene toda la información de retorno de la solicitud.

 

Dim Filtro As Object 
Set Filtro = CreateObject("dcXMLSend.ReportFiltro")
'Definir aquí los filtros
Dim resultado As ReportResultEnvios
Set resultado = sms.ReportEnvio (filtro)

 

Analizar la Respuesta

Respuesta de Autentificación y saldo SMS

Para analizar el resultado de la consulta, debemos analizar la clase ReportResultEnvios que hemos obtenido, estos son los parámetros de dicha clase:

Nombre
Parámetro
Descripción Posibles Valores Tipo de
Dato
Autenticado

Con este parámetro averiguaremos si nos hemos autentificado correctamente en la plataforma

  • true;  correcto
  • false; en caso de error
Bool
Comentario

Texto descriptivo del error al conectar con la plataforma

  String
HayError

Nos dirá si hay algún tipo de error en la consulta

  • true; hay un error
  • false; sin errores
Bool

ErrorDescripcion

Texto descriptivo del error en la consulta

  String

nTotal

Número de envíos localizados en la plataforma según criterios.

0, 1, 2, ... Long

nFilas

Número de envíos obtenidos en la petición.

0, 1, 2, ... Int

Envios

Colección de envíos obtenidos.

  Collection

La colección Envios, nos devolverá cada uno de los envíos, mediante la siguiente clase; ReportResultEnviosItem
 
La clase ReportResultEnviosItem, dispone de los siguientes parámetros de lectura:

Nombre
Parámetro
Descripción Posibles Valores Tipo de
Dato

idReport

Identificativo del reporte en la plataforma

1, 2, 3, ... String

NM

Número de mensaje en la colección.

1, 2, 3, ... String

FechaEnviado

Fecha en la que se realizo el envío   String
IdEnvio

Identificativo del envío en la plataforma

  String
TotalMensajes Número total de mensajes enviados.   String
TotalCreditos Créditos consumidos en el envío.   String
App Nombre de la 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 aún no se ha recibido confirmación de entrega.   String
MErrores Total de mensaje enviados correctamente de los que hemos recibido notificación de rechazo o error en la entrega.    String
MSinInformacion Total de mensajes sin información de envío o pendientes de enviar.    String

 

3. Ejemplos y Descargas

Pulsa aquí para descargar la DLL de Descom Mensajes SMS, documentación y ejemplos de uso.

 

Ejemplo en VB 6

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

 

 

4. Gráfico DLL SMS ActiveX

Interfaz DLL para enviar SMS