Acceso Area de ClienteArea Cliente LLamanos al 965 861 024965 861 024

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

      Soporte Técnico:

      ic-email Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.

      Nagios

      Nagios

      Recibe las alertas por SMS, integrando el envío de mensajes en las notificaciones de Nagios.
      [más info