SDK Desarrolladores

API ASP Enviar SMS

SDK-ASP

  

1. Descripción

El Interfaz ASP te permite enviar mensajes a teléfonos móviles, desde tu página web, utilizando desde un simple formulario hasta un sitio web avanzado con múltiples usuarios accediendo.

Tu página web tendrá que enviar la información necesaria para el envío de mensajes SMS al FrontEnd de la plataforma Descom SMS, a través de un servidor seguro, y esta se encargará de enviar el mensaje SMS.

2. Documentación

La clase dms_class.asp

La clase class_dms.asp, le permite integrar un su página Web el envío de mensajes SMS a teléfonos móviles. La clase tiene las propiedades y funciones necesarias para poder llevar a cabo está labor.

¿Como llamar a la Clase?

Incluiremos en nuestro código una llamada a la clase:

 <!--#include file="<strong>PATH</strong>\class_dms.asp"-->

Siendo PATH, el directorio donde se encuentre la clase class_dms.php

Para crear una instancia de la clase, lo haremos de la siguiente forma:

 set sms = new dms_send 

En este caso el objeto sms, tendrá todas la propiedades necesarias para realizar el envío.

 

Métodos y Funciones de la Clase

Métodos

  • mailError; en caso de un error, la clase nos enviará un mail a la cuenta que especifiquemos en este campo, indicandonos este hecho. Dejelo vacio si no requiere de estas notificaciones.
  • MaxSizeMessage; Es el tamaño máximo del mensaje que la clase va a manejar. Dejelo a Cero para no limitar el tamaño del mensaje.
  • autentificacion; Le permite configurar los datos de su cuenta y obtenr información de está.
  • mensajes; Este método le permite agregar los mensajes a enviar por SMS y tras ser enviado, revisar su estado.

Método Autentificacion

Este método, a su vez tiene los siguientes sub métodos:

  • username; donde le especificaremos el nombre de usuario de la cuenta en Descom con la que deseamos enviar los SMS.
  • autentificacion; es la contraseña de la cuenta con la que realizaremos el envío.
  • saldo; trás enviar los mensajes u obtener el saldo, en esta propiedad podremos ver el saldo actual de la cuenta.
  • error; Una variable Booleana que nos devolverá si la cuenta a autenticado o no en la plataforma de envíos de SMS.
  • mensajeerror; En caso de error, este campo nos devuelve la descripción del error.

Método Mensajes

Este método, nos permite agregar los mensajes en el envío y su posterior analisis de los resultados acarecidos.

Para agregar un mensaje, empleramos la siguiente función del método mensajes:

mensaje.add key, destino, mensaje, remitente

Esta es la explicación de los argumento de está función:

  • key; debe ser una clave única que nosotros asignemos, en cada envío solo podrá haber una única clave para cada mensaje.
  • destino;Teléfono destino con formato internacional "0034666555888"
  • mensajes; Texto del mensaje que deseamos enviar.
  • remitente; nos permite definir el remitente del mensaje, dejelo vación si quiere que aparezca el predeterminado.

Una vez enviemos los mensajes, si deseamos ver el resultado del envío de cada mensajes, llamaremos a la función mensajes.enviados.

Está función nos retornará una matriz con todos los mensajes que hemos intentado enviar. Cada elemento de está matriz, dispone de las siguiente propiedades:

  • key; será la misma key que asignamos al agregar el mensaje.
  • destino;Teléfono destino con formato internacional "0034666555888"
  • mensajes; Texto del mensaje que deseamos enviar.
  • error; Una variable Booleana que nos devolverá siel mensaje ha sido enviado o no.
  • mensajeerror; En caso de error, este campo nos devuelve la descripción del mismo.

 

Funciones

La clase proporciona las siguientes funciones:

  • Send; está función se encargará de enviar los mensjaes que previamente hemos agregado.
  • getSaldo; si únicamente queremos conocer el saldo actual sin enviar ningún mensaje, llamaremos a está función.

 

3. Ejemplos

Descarga nuestros ejemplos: ejemplo en ASP.

A continuación exponemos un pequeño ejemplo de uso de la clase:

<!--#include file="class_dms.asp"--> 
<%
'Configurar Envío SMS
set sms = new dms_send
'sms.mailError="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
 "
sms.autentificacion.username=usuario
sms.autentificacion.passwd=clave
'Componer Mensajes
sms.mensajes.add "1","003400000000","mensaje de prueba,""
'Enviar SMS
sms.Send
'Comprobando envío
if sms.autentificacion.error then    
    'Cuenta no autentificada    
    response.write("<font class='textoERR'>" & sms.autentificacion.mensajeerror & "</font>")
else    
    'Cuenta autentificada    
    response.write("<table align='center'><tr><td class='texto1'>Saldo: </td><td class='texto1'>" & sms.autentificacion.saldo & "</td></tr>")    
    'Lectura de los estados de envío de los mensajes    
    for each msg in sms.mensajes.enviados    
        if msg.error then          
            'Mensaje no enviado          
            response.write("<tr><td class='texto1'>Mensajes " & msg.key & " (" & msg.destino & "):</td><td class='textoERR'>" & msg.mensajeerror & "</td></tr>")     
        else          
            'Mensaje enviado           
            response.write("<tr><td class='texto1'>Mensajes " & msg.key & " (" & msg.destino & "):</td><td class='textoOK'>" & msg.mensajeerror & "</td></tr>")     
        end if
    next
    response.write("</table>")
end if
%>

4. Gráfico

interfaz ASP

API Descom Enviar SMS

SDK-DescomSMS

1. Descripción

A través de nuestra base de datos puede enviar mensajes sin necesidad de utilizar directamente nuestra aplicación de envío de mensajes. Es decir puede aprovechar su aplicación para enviar mensajes realizando unos cambios sencillos.

Primero tendrá que enlazar su aplicación con nuestra base de datos, normalmente se hará a través del ODBC de Windows. Luego su aplicación, una vez enlazada, deberá insertar en la tabla Bandeja de Salida los mensajes que desea enviar.

Una vez introducido un mensaje en esta tabla, si la aplicación Descom Menajes se encuentra abierta, el mensaje será enviado. Recordemos esto porque es importante que esté abierta la aplicación Descom Mensajes y marcada la opción de Envíos automáticos, sino no se enviarán los mensajes.

 

2. Documentación

- Localización de la Base de Datos

La Base de Datos la puedes localizar según el sistema operativo:

Windows XP: C:\Documents and Settings\UsuarioWindows\Configuración local\Datos de programa\Descom\bdDescomMensajes.mdb

Windows Vista: C:\Users\UsuarioWindows\AppData\Local\Descom\bdDescomMensajes.mdb

Windows 7: C:\Users\UsuarioWindows\AppData\Local\Descom\bdDescomMensajes.mdb

Windows Server: C:\Users\UsuarioWindows\AppData\Local\Descom\bdDescomMensajes.mdb 

 

"UsuarioWindows" es el nombre de tu usuario en tu equipo.

La carpeta "C:\Users" también puede ser "C:\Usuarios"


- Ejemplos de aplicación de la Base de Datos

Supongamos que usted tiene un servicio de reparación de electrodomésticos y quiere informar a sus clientes de cuando tienen su electrodoméstico reparado, para que pasen a por él. Entonces a través de su aplicación donde guarda la información de los clientes, puede enviar mensajes a los clientes enlazando ésta con nuestra base de datos e insertando en la tabla Envío los campos indicados arriba.

Si usted tiene un videoclub y quiere informar a un cliente de que ha agotado el tiempo de alquiler de una película, puede enlazar su aplicación de gestión del videoclub con nuestra base de datos. Así cuando un cliente supere el tiempo de alquiler de una película se le enviará un mensaje indicándole que va a ser sancionado.

Nuestra base de datos "bdDescomMensajes.mdb" es la que mantiene los datos de la aplicación. Esta base de datos se instala con el instalador del programa en el directorio de instalación y es la que usa el programa por defecto, salvo que le indiquemos que queremos utilizar otra.

La base de datos esta compuesta por 12 tablas que explicaremos a continuación.

- Configuracion

Descripción

Esta tabla contienes variables de configuración de la aplicación. Para su perfecto funcionamiento, se recomienda no hacer cambios en dicha Tabla.

- Cuentas

Descripción

La tabla Cuentas contiene todas las Cuentas en Descom Mensajajes que se encuentran configurada en la aplicación.

Campos

NombreDeCuenta: Nombre descriptivo de la Cuenta.

Usuario: Usuario de la Cuenta en Descom mensajes.

Clave: Contraseña de la Cuenta, esta se encuentra encriptada por motivos de seguridad.

TipoRemitente:Indica que tipo de remitente tiene esta Cuenta (1-> Por defecto; 2-> móvil registrado; 3-> Remitente personalizado)

Remitente: Texto donde se almacena el remitente personalizado.

TextInicio: Texto que precederá al mensaje cuando se envíe con esta Cuenta .

TextFinal: Texto en que acabará el mensaje cuando se envíe con esta Cuenta .

 

- Contactos

Descripción

La tabla Contactos contiene los Contaactos de la Agenda de la aplicación.

Campos

Nombre: Nombre del contacto

Movil: Móvil asociado al Contacto

- ListaContacto

Descripción

La tabla ListaContactos contiene todas las Listas de Contacctos de la Agenda.

Campos

Nombre: Nombre descriptivo de la Lista.

Descripcion: Descripción de la Lista de Contactos.

 

- Rel_ListaContactos_Contactos

Descripción

La tabla Rel_ListaContactos_Contactos contiene la relación entre Contactos y Lista de Contactos. Esta tabla nos dice que Contactos tiene cada Lista.

Campos

idContacto: Correspondiente a la tabla Contactos.

IdListaContactos: Correspondiente a la tabla ListaContactos.

- MensajesPredefinidos

Descripción

Esta tabla, almacena todos los Mensajes Predefinidos .

Campos

Mensaje: Contiene el Mensaje Predefinido

 

- Bandeja de Salida

Descripción

Esta tabla, almacena todos los mensajes contenido en la Bandeja de Salida que se encuentran pendientes de enviar.

Campos

idCuenta: Hace referencia a la Cuenta con la que se enviará el Mensaje.

IdTipoMensaje: Es el tipo de Mensaje que se enviará (1-> SMS Texto; 6 -> SMS WAP; el resto es SMS MultiMedia)

Fecha: Fecha en la que se añadio a la Bandeja de Salida

Destinatario: Móvil de destino del Mensaje

Mensaje: Contenido del Mensaje

 

 

- Enviados

Descripción

La tabla Enviados contiene el historico de mensajes que han sido Enviados.

Campos

idCuenta: Hace referencia a la Cuenta con la que se enviará el Mensaje.

IdTipoMensaje: Es el tipo de Mensaje que se enviará (1-> SMS Texto; 6 -> SMS WAP; el resto es SMS MultiMedia)

FechaEnvío: Fecha en la que se envío el Mensaje.

FechaEntradaBandejaDeSalida: Fecha en la que se añadio a la Bandeja de Salida.

Destinatario: Móvil de destino del Mensaje

Mensaje: Contenido del Mensaje

NombreContacto: Nombre del Contacto del Destinatario, en el momento de enviar el Mensaje a la Bandeja de Salida.

NombreContacto: Remitente del Mensaje en el momento de enviar el Mensaje a la Bandeja de Salida.

 

IdListaContactos: Correspondiente a la tabla ListaContactos.

3. Gráfico

Enviar-SMS-InterfazDescom

 

API HTTP Enviar SMS

SDK-HTTP-B

1. Descripción

El Interfaz HTTP te permite enviar mensajes prácticamente desde cualquier plataforma.

Solo tienes que integrar la llamada a una URL en el lenguaje de programación que estés utilizando.

Podrás enviar mensajes desde una página Web con un simple formulario, una aplicación gráfica en Windows, un script en linea de comandos en Linux, etc...

La llamada a la URL se hace pasando como parámetros las credenciales de autenticación, el mensaje y los destinatarios.

2. Documentación

URL:

Encriptada:

https://www.descomsms.com/dmapi/dmsend.php

sin encriptar:

http://www.descomsms.com/dmapi/dmsend.php

 

Petición de envío
Para poder enviar mensajes, deberás acceder a la URL arriba indicada
proporcionando la siguiente información en formato POST:

https://www.descomsms.com/dmapi/dmsend.php?
usuario=xxx&clave=xxx&idc=xxx&dest=xxxxxx&texto=xxxxxx

Parámetros POST:

Los valores ingresados deberán cumplir los siguientes valores, para ser enviados como parte de la petición:

 

Nombre
Parámetro
Requerido Descripción Posibles Valores Tipo de
Dato
usuario Identificador de usuario Identificador de usuario en Descom SMS Alfanumérico
clave

Contraseña de acceso a la plataforma Contraseña del usuario en Descom SMS

Alfanumérico

idc

Identificador de cliente Identificador de cliente en Descom SMS Numérico

 

rem   Remitente personalizado* Una cadena alfanumérica de hasta 11 caracteres Alfanumérico
dest Números de teléfono destinatario del mensaje

Teléfono en formato:
acceso internacional + cod. país + teléfono Ejemplo: 0034666555444

Para enviar varios destinatarios, separa cada número por coma.

Ej: 0034666555444,0034666555441,0034666555442

Numérico
texto Texto del mensaje

Texto del mensaje a enviar, URL codificado.

Alfanumérico
max   Numero máximo de sms a dividir

0 -> para no tener límite de SMS. (por defecto)

Un número mayor que cero para indicar el máximo de SMS de un mensaje largo.

Numérico
aviso  

Envía un aviso de notificación por email para cada SMS enviado.


0 -> No envía notificación por email (por defecto)
1 -> Sí envía notificación por email.

Numérico
idenvio   Identificador opcional del envío Cadena de texto para identificar un grupo de mensajes (opcional) Alfanumérico

 

* Puedes personalizar el remitente de los SMS, con su número de móvil autorizado, en formato no internacional (ej: 609111222), o con una cadena de texto; en este caso, consulte antes con Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. para configurar su remitente.

Obtener saldo y comprobación de autenticación:

LLamada:

https://www.descomsms.com/dmapi/dmsend.php?usuario=xxx&clave=xxx&idc=xxx

 

Respuesta:

 OK: IDENVIO: 0 MOK: 0 MERR: 0 SALDO: 30905

o en caso de error de autenticación

ERR: Descripcion del error de autenticación


Enviar un mensaje simple

LLamada:

https://www.descomsms.com/dmapi/dmsend.php?usuario=xxx&clave=xxx&idc=xxx&dest=00346xxxxxxxx&texto=Hola

 

Respuesta:

Envío correcto

OK: IDENVIO: 123456 MOK: 1 MERR: 0 SMSOK: 1 SMSERR: 0 CRED: 1 SALDO: xx

1:OK ID: 123 DEST: 00346xxxxxxxx RES: Mensaje Enviado

 

o en caso de error de envío

OK: IDENVIO: 123456 MOK: 0 MERR: 1 SMSOK: 0 SMSERR: 1 CRED: 0 SALDO: xx

1:ERR ID: 0 DEST: 00346xxxxxxxx RES Mensaje No Enviado. Movil no valido

 

Enviar un mensaje múltiple

LLamada:

https://www.descomsms.com/dmapi/dmsend.php?usuario=xxx&clave=xxx&idc=xxx&dest=00346xxxxxxx1,00346xxxxxxx2,00346xxxxxxx3&texto=Hola

 

Respuesta:

Envío correcto

OK: IDENVIO: 123456 MOK: 3 MERR: 0 SMSOK: 3 SMSERR: 0 CRED: 3 SALDO: xx

1:OK ID: 123 DEST: 00346xxxxxxx1 RES: Mensaje Enviado

2:OK ID: 124 DEST: 00346xxxxxxx2 RES: Mensaje Enviado

3:OK ID: 125 DEST: 00346xxxxxxx3 RES: Mensaje Enviado

 

o en caso de error de envío

OK: IDENVIO: 123456 MOK: 1 MERR: 2 SMSOK: 1 SMSERR: 2 CRED: 1 SALDO: xx

1:ERR ID: 0 DEST: 00346xxxxxxxx RES:  Mensaje No Enviado. Movil no valido

2:OK ID: 124 DEST: 00346xxxxxxx2 RES: Mensaje Enviado

3:ERR ID: 125 DEST: 00346xxxxxxx3 RES: Mensaje No Enviado. Movil no valido

 

Donde:

La primera línea devuelve el estado y resumen del envío.

Nombre Descripción Valores Tipo de Datos
IDENVIO Identificador alfanumérico del envío. Este identificador te puede servir para obtener el reporte de envío asociado.  

Alfanumérico

MOK

Número de mensajes enviados correctamente
Un mensajes puede ser dividido en varios SMS si este supera los 160 caracteres 

 

Numérico

MERR Número de mensajes no enviados  

Numérico

SMSOK Número de SMS enviados correctamente   Numérico
SMSERR Número de SMS no enviados   Numérico
CRED Crédito gastado en en enviar todos los mensajes   Numérico
SALDO Saldo actual en créditos después de realizar el envío   Numérico

Por cada mensajes enviado se devuelve una línea indicando el estado del mensaje.

Nombre Descripción Valores Tipo de Datos
x: Número de mensaje en el envío 1,2,3... Numérico
[OK,ERR] Estado de envío del mensaje.

OK -> Envío correcto.
ERR->Envío fallido

Texto
ID Identificador único del mensaje en Descom SMS. Este identificador se puede usar para obtener el report en entrega.   Numérico
DEST Número de móvil al que se ha enviado el mensaje   Numérico
RES Texto descriptivo del envío correcto o incorrecto   Alfanumérico

 

 

 

3. Ejemplos

Descarga nuestros ejemplos: ejemplo online

4. Gráfico

Enviar-SMS-InterfazHTTP

API PHP Enviar SMS

SDK-PHP

1. Descripción

El Interfaz HTTP te permite enviar mensajes a teléfonos móviles, desde tu página web, utilizando desde un simple formulario hasta un sitio web avanzado con múltiples usuarios accediendo.

Tu página web tendrá que enviar la información necesaria para el envío de mensajes SMS al FrontEnd de la plataforma Descom SMS, a través de un servidor seguro, y esta se encargará de enviar el mensaje SMS.

2. Documentación

La clase dms_class.php

La clase class_dms.php, te permite integrar en tu página Web el envío de mensajes SMS a teléfonos móviles. La clase tiene las propiedades y funciones necesarias para poder llevar a cabo esta labor.

¿Como llamar a la Clase?

Incluiremos en nuestro código una llamada a la clase:

include ("PATH/class_dms.php");

Siendo PATH, el directorio donde se encuentre la clase class_dms.php

Para crear una instancia de la clase, lo haremos de la siguiente forma:

$dms=new dms_send;

En este caso el objeto dms, tendrás todas la propiedades necesarias para realizar el envío.

Propiedades de Autentificacion

La clase dms_send, contiene una subclase, denominada autentificacion donde configuramos las credenciales de nuestra cuenta en Descom SMS, estos son los parámetros de autentificación de la clase:

  • idcli; Codigo de cliente de la cuenta en Descom SMS.
  • username; Nombre de usuario de la cuenta Descom SMS.
  • passwd; Contraseña de acceso de la cuenta de Descom SMS.
  • EmailNot; nos permite recibir por correo los reportes de entrega de los mensajes, vacio para no recibirlos, 1 para recibirlos.

Ejemplo:

include ("../class_dms.php");
$dms=new dms_send;
 
//Autentificar
$dms->autentificacion->idcli="codigo cliente";
$dms->autentificacion->username="nombre de usuario";
$dms->autentificacion->passwd="password";

Propiedades generales de envío

Puede ajustar estas propiedades opcionales en el envío de los mensajes:

  • Remitente; asignar el remitente por defecto en los mensaje.
  • MaxSMS; Número máximo de SMS que se enviará por cada uno de los mensajes (0, para no limitarlo)
  • idenvio; Para asignar un código de envío de mensajes, de esta forma los mensajes por lotes podrás catalogarse como un único envío.
  • mailError; En caso de que el script de php falle al enviar el SMS, ej: fallo de conexión al servidor, respuesta incorrecta, .. Podemos recibir en la cuenta de correo que definamos en esta propiedad, un correo informándonos del problema.

 

Funciones de envío

Dispone de funciones en el que podemos asignar como nos queremos conectar a la plataforma de envío de sms:

SupportSSL($bool);

Siendo $bool de tipo boolean; true para enviar los mensajes bajo SSL y de forma segura, o false, para enviar en texto plano el mensaje.

Por defecto se envía de forma segura bajo SSL, no recomendamos desactivar esta opción, salvo que su servidor no admita conexiones SSL.

 

Agregar mensajes en el envío

La clase dispone de una subclase donde podemos agregar mensajes para su envío, esta clase es 'mensajes' y donde disponemos de la función add para agregar un nuevo mensaje:

mensajes->add($id,$numero,$texto,$remitente);

Nombre
Argumento
Descripción Posibles Valores Tipo de
Dato
id Identificativo del mensaje en el envío

1, 2, 3, ...

Int
numero Número de móvil del destinatario del SMS String
texto Texto del mensaje
    String
    remitente remitente para este mensaje. Si todos los mensajes deben tener el mismo remitente, se aconseja definirlo como remitente generico String

    Ejemplo:

    $dms->mensajes->add("1","61111111","prueba sms");
    $dms->mensajes->add("2","61111112","prueba sms","Info");
    

     

    Realizar el envío de mensajes

    Una vez configurado el envío a realizar, con la función send, enviamos la orden para que estos se realicen:

    $dms->send();
    

     

    Respuesta del envío

    Una vez realizado el envío del SMS, podemos comprobar la respuesta y verificar si el envío se realizo correctamente. Es importante verificar por este orden:

     

    • Verificar la conexión con la plataforma
    • Verificar el envío de cada mensaje

    Respuesta de la conexión al servidor

    Leeremos los parámetros de la clase autentificacion para comprobar que se ha realizado correctamente, para ello dicha clase dispone de las siguientes propiedades:

     

    Nombre
    Propiedades
    Descripción Posibles Valores Tipo de
    Dato
    error Nos informa si se ha producido error o no al comunicarnos con la plataforma
    • true; si hay error
    • false; si se conecto sin problemas
    Bool
    mensajeerror Descripción del error que se ha producido al conectar con Descom SMS String
    saldo Saldo disponible en la cuenta 0, 1, 2, ... Double

     

    Respuesta del envío de mensajes

    Leeremos los parámetros de la clase mensajes para comprobar que se ha realizado correctamente, para ello dicha clase dispone de las siguientes propiedades:

     

    Nombre
    Propiedades
    Descripción Posibles Valores Tipo de
    Dato
    idenviodm Identificativo del envío de mensajes en Descom; nos servirá para obtener reportes de envío
      String
      total_mensajes Número de mensajes que se han tratado de envíar Int
      total_ok Número de mensajes enviados correctamente Int
      total_error Número de mensajes que no se han enviado Int
      total_creditos Número de créditos/Saldo gastado en el envío. Double

       

      Además disponemos de una función, llamada get que nos devuelve un Array donde cada elemento esta definido por la subclase que tiene las siguientes propiedades:

       

      Nombre
      Propiedades
      Descripción Posibles Valores Tipo de
      Dato
      key id inicial que le proporcionamos al mensaje String
      destino Número de móvil del destinatario String
      mensaje Texto del mensaje que enviamos String
      idDM Identificador del mensaje enviado, nos servirá para obtener el informe de entrega de este mensaje. String
      error Nos informa si ha habido un error al enviar este mensaje. true; false Bool
      mensajeerror Descripción del error del mensaje String

       

      3. Ejemplo




      Envío de Mensajes:

      include ("class_dms.php");
      $dms=new dms_send;
       
      //Autentificar
      $dms->autentificacion->idcli="codigo cliente";
      $dms->autentificacion->username="nombre de usuario";
      $dms->autentificacion->passwd="password";
      
      
      //Configurar envio
      $dms->remitente="";
      
      //Agregar mensajes
      $dms->mensajes->add("1","611111111","prueba de envio de sms","Info");
      $dms->mensajes->add("2","611111112","prueba de envio de sms");
      
      //enviar SMS's
      $dms->send();
      
      //Verificar Resultado
      if ($dms->autentificacion->error){
           //Error de autentificacion con la plataforma
          echo "Error: ".$dms->autentificacion->mensajeerror."\n";
      }else{
         //Autentificacion correcta
         echo "ID Envio Descom: ".$dms->mensajes->idenviodm."\n";
         echo "Saldo Actual: ".$dms->autentificacion->saldo."\n";
         echo "Mensajes enviados: ".$dms->mensajes->total_mensajes."\n";
         echo "Mensajes OK: ".$dms->mensajes->total_ok."\n";
         echo "Mensajes errores: ".$dms->mensajes->total_error."\n";
         echo "Creditos gastados: ".$dms->mensajes->total_creditos."\n";
         if ($dms->mensajes->total_error>0){
             echo "\nMensajes con errores: ".$dms->mensajes->errores."\n";
             foreach ($dms->mensajes->get() as $msg){
                 if ($msg->error){
                     echo "\t". $msg->destino . " -> " . $msg->mensajeerror . "\n";
                 }
            }
            echo "\n";
         }
      }
      

      Obtener Saldo:

      include ("class_dms.php");
      $dms=new dms_send;
       
      //Autentificar
      $dms->autentificacion->idcli="codigo cliente";
      $dms->autentificacion->username="nombre de usuario";
      $dms->autentificacion->passwd="password";
      
      
      //enviar SMS's
      $dms->send();
      
      //Verificar Resultado
      if ($dms->autentificacion->error){
           //Error de autentificacion con la plataforma
          echo "Error: ".$dms->autentificacion->mensajeerror."\n";
      }else{
         //Autentificacion correcta
         echo "Saldo Actual: ".$dms->autentificacion->saldo."\n";
         echo "\n";
      }
      

      4. Gráfico


      Enviar-SMS-InterfazHTTP

      API DLL Activex Enviar SMS

      SDK-DLL-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. 

      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 datos opcionales de envío:

      Disponemos de varios parámetros para configurar el envío que queremos realizar, a continuación te exponemos los parámetros disponibles

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

      Remitente que vamos a utilizar en el envío.

       

      String
      idEnvioExt

      Puede definir un id de envío, de esta forma Descom asociará los envíos con el mismo identificativo (máx 30 caracteres), para poder obtener reportes de un envío de bloques de mensajes.

      String
      MaxNumSMS Número máximo de SMS que enviará en un solo mensaje. Si este campo es Cero, no tendrá ninguna limitación. 0, 1, 2, ... Int

      Ejemplo:

      oDMEnvio.Remitente = “Info”
      oDMEnvio.idEnvioExt = “34"
      oDMEnvio.MaxNumSMS=5
      

      Agregar mensajes para su envío

      La DLL dispone de una sub-clase para configurar los mensajes a enviar, se denomina, XMLMensajes, que a su vez dispone de 2 subclases para gestionar cada tipo de mensajes:

       

      • XMLMensajes.MensajesSMS

      Es una colección con todos los mensajes a enviar o enviados. Para agregar un mensaje a la colección, disponemos de la función ADD la cual acepta los siguientes argumentos:

      Nombre
      Argumentos
      Descripción Posibles Valores Tipo de
      Dato
      Id

      Identificador del mensaje que vamos a enviar

       1, 2, 3, ...

      Int
      Destino

      Número de móvil del destinatario del mensaje.

      String
      Mensaje Texto del mensaje a enviar String
      Remitente Opcional; remitente para este mensaje   String

      ControlarMensajesRepetidos

      Control para no enviar mensajes repetidos por error.

      True (por defecto); realizará dicho control, False; para deshabilitar este control

      Bool

      Ejemplo:

      oDMEnvio.XMLMensajes.MensajesSMS.Add "1", "0034xxxxxxxxx", "SMS pruebas", ""
      oDMEnvio.XMLMensajes.MensajesSMS.Add "2", "0034xxxxxxxxx", "SMS pruebas 2", "DescomSMS"
      oDMEnvio.XMLMensajes.MensajesSMS.Add "2", "0034xxxxxxxxx", "SMS pruebas 2", "DescomSMS", False
      

      • XMLMensajes.MensajesWAP

      Es una colección con todos los mensajes WAP a enviar o enviados. Para agregar un mensaje a la colección, disponemos de la función ADD la cual acepta los siguientes argumentos:

      Nombre
      Argumentos
      Descripción Posibles Valores Tipo de
      Dato
      Id

      Identificador del mensaje que vamos a enviar

       1, 2, 3, ...

      Int
      Destino

      Número de móvil del destinatario del mensaje.

      String
      Asunto Asunto del mensaje WAP String

      URL

      Dirección URL con el contenido multimedia

       

      String
      Remitente Opcional; remitente para este mensaje String

      Ejemplo:

      oDMEnvio.XMLMensajes.MensajesWAP.Add "3", "0034xxxxxxxxx", "Mi Foto", "<a href="http://www.mipagina.com/mifoto.jpg">http://www.mipagina.com/mifoto.jpg</a>", ""
      oDMEnvio.XMLMensajes.MensajesWAP.Add "4", "0034xxxxxxxxx", "Melodia", "<a href="http://www.mipagina.com/cancion.mp3">http://www.mipagina.com/cancion.mp3</a>", ""
      

       

      Enviar la petición

      Una vez formalizada la autentificación y definido los mensajes, enviaremos los mismos con el siguiente comando:

      DMSMS.SendXML "", ""
      

      En el caso que solo queramos consultar el Saldo, sin enviar mensajes, ejecute:

      DMSMS.getSaldo
      


      Con esta función se establece la comunicación con nuestra plataforma y se procede a realizar la autenticación y posterior envío de mensajes.

       

      Analizar la Respuesta

      Respuesta de Autentificación y saldo

      Para analizar el resultado del envío u obtención de saldo, debemos analizar la clase RXAutentificacion que nos ofrece las siguientes propiedades:

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

      Resultado de la autentificación en la plataforma

      • 1; si es correcto
      • 0; si no se a llevado acabo a autentificación.
      String
      Comentario

      Texto descriptivo del error al conectar con la plataforma

      String
      Saldo Saldo actual de la cuenta, si ha autentificado correctamente en la plataforma Descom SMS 0, 1, 2, ... Int

      IdEnviodm

      Si hemos enviado varios mensajes en bloque, ver: IdEnvioext, con esta propiedad obtenemos el identificativo del envío de mensajes dentro de la plataforma Descom SMS, que podremos utilizar para posteriormente recuperar el reporte de entrega de este envío de mensajes.

      String

      Respuesta de envíos de mensajes globales

      La clase dcXMLSend.XMLSendClass, contiene los siguientes parámetros globales para determirar cuantos mensajes han sido enviados correctamente:

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

      Devuelve el número de mensajes que hemos enviado

      0, 1, 2, ... Int

      TotalMensajesEnviadosOK

      Número de mensajes enviados correctamente.

      0, 1, 2, ... Int

      TotalMensajesEnviadosError

      Número de mensajes que no se pueden envíar por algún error. 0, 1, 2, ... Int

      TotalCreditosGastados

      Créditos gastados en el envío de los mensajes

      String

      Respuesta de cada mensaje

      Tanto XMLMensajes.MensajesSMS como XMLMensajes.MensajesWAP son colecciones de los mensajes que hemos enviado. Para comprobar mensaje a mensaje su estado de envío, podemos recorrer dicha colección y comprobar en cada mensaje los siguientes parámetros:

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

      Si el mensaje ha podido enviarse o no

      • 1; se envío correctamente
      • 0; error en el envío
      Int

      Comentario

      Descripción del error de envío del mensaje.

      String

      iddm

      Identificativo único del mensaje enviado en la plataforma Descom SMS. Con este identificativo, puede posteriormente comprobar el estado de entrega del mensaje.

      String

      Destino

      Número de móvil del destinatario

      String
      Key Identificativo que se asigno en el momento de agregar el mensaje en la cola. String

      3. Ejemplos y Descargas

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

       

      Ejemplo en VB .NET

      Dim DMSMS As Object 
      DMSMS = CreateObject ("dcXMLSend.XMLSendClass") 
       
      DMSMS.Usuario = “nombre_de_usuario” 
      DMSMS.Clave = “contraseña_de_acceso” 
      DMSMS.Remitente = "Remitente personalizado"
      DMSMS.XMLMensajes.MensajesSMS.Add ("1", "0034xxxxxxxxx", "SMS pruebas", "")
      DMSMS.XMLMensajes.MensajesWAP.Add ("4", "0034xxxxxxxxx", "Melodia", "<a href="http://www.mipagina.com/cancion.mp3">http://www.mipagina.com/cancion.mp3</a>", "")
      DMSMS.SendXML ("", "") 
       
      If DMSMS.RXAutentificacion.Resultado="1" Then 
                  Dim MSG As Object 
                  For Each MSG In DMSMS.XMLMensajes.MensajesSMS 
                              If MSG.Resultado Then 
                                         MsgBox ("OK: Mensaje (" & MSG.Key & ") enviado.",, "Envío Correcto") 
                              Else 
                                         MsgBox ("ERROR: Mensaje (" & MSG.Key & "): " & MSG.Comentario, , "Envío Fallido ") 
                              End If 
                  Next 
      Else 
                 MsgBox (DMSMS.RXAutentificacion.Comentario, , "Error de Acceso") 
      End If
      

       

      Ejemplo en C++

      //Incluimos la cabecera de la DLL 
      #import "C:\Windows\System32\dcXMLSend.dll" 
       
       
      // Inicializamos la DLL 
      CoInitialize(NULL); 
      CLSID clsid; 
      HRESULT hr = CLSIDFromProgID(L"dcXMLSend.XMLSendClass", &clsid); 
       
      if(FAILED(hr)) { 
           MessageBox(NULL, _T("Debe registrar la DLL regsvr32 dcXMLSend.dll."), _T("Error"), MB_OK); 
           return -1; 
      } 
       
      dcXMLSend::_XMLSendClassPtr pXlApp; 
       
      hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IDispatch, (void **)&pXlApp); 
      if(FAILED(hr)) { 
            MessageBox(NULL, _T("No es posible cargar la Dll dcXMLSend.dll."), _T("Error"), MB_OK); 
            return -2; 
      } 
       
      // Configuramos el acceso a la plataforma Descom Mensajes 
      pXlApp->Usuario="usuario"; 
      pXlApp->Clave="contraseña"; 
       
      BSTR vacio=SysAllocString(L""); 
      VARIANT_BOOL cero=0; 
      BSTR id=SysAllocString(L"1"); 
      // Agregamos un mensaje 
      BSTR destino=SysAllocString(L"xxx"); 
      BSTR mensaje=SysAllocString(L"texto del mensaje"); 
      dcXMLSend::_XMLMensajesPtr MENSAJES; 
      pXlApp->get_XMLMensajes(&MENSAJES) ; 
      MENSAJES->Add(&id,&destino,&mensaje); 
      VARIANT_BOOL h=0; 
       
       
      // Conectamos con la Platafroma de Descom Mensajes 
      pXlApp->SendXML(&vacio,&vacio,&cero); 
       
      // Obtenemos el resultado de la Autentificación 
      dcXMLSend::_clsRXAutentificacionPtr rx; 
      pXlApp->get_RXAutentificacion(&rx); 
       
      BSTR result; 
      rx->get_Resultado(&result); 
       
      if (wcscmp(result,L"1")==0){ 
            // Autentificación Correcta 
           MessageBox(NULL, _T("Saldo de la cuenta: ") + rx->Saldo + _T(" créditos."), _T("Autentificacion Correcta"), MB_OK); 
            int c=MENSAJES->Count; 
       
            for (int i=1;i<=c;i++){ 
                 VARIANT v2; 
                 v2.vt = VT_I4; 
                 v2.lVal = i; 
                 dcXMLSend::_XMLMensajePtr MENSAJE; 
                 MENSAJES->get_Item(&v2,&MENSAJE); 
                 MessageBox(NULL, _T("Resultado: ") + MENSAJE->Comentario, _T("Envio -> ") + MENSAJE->Destino, MB_OK); 
            } 
      }else{ 
           // Autentificación Incorrecta 
            MessageBox(NULL, rx->Comentario, _T("ERROR"), MB_OK); 
      }
      

      4. Gráfico

      Interfaz DLL para enviar SMS

      descom sms mensajes a móviles recibir SMS enviar SMS contestar SMS aplicaciones SMS web sms sms web mensajes a móviles Email número virtual sms sms2mail Outlook-sms