PHP: confirmar la entrega de SMS

SDK-PHP

1. Descripción

La API PHP de los reportes de entrega, te permiten obtener el estado de entrega de los mensajes y de los envíos realzados.

2. Documentación

Llamada

La clase dispone de una llamada para obtener los reportes de entrega, desglosados por mensajes:

 

getReportsMensajes($filtro);

 

Está llamada requiere de un argumento, que será una instancia de la clase dms_filtro, está clase dispone de una funcíon para estableces las condiciones y criterios de los mensajes a consultar.

 

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

Número de contactos a obtener.

1, 2, 3, ...

Int
ndesde

Desde que contacto empezaremos a  obtener el listado(páginado)

1, 2, 3, ... Int
periodo Periodo del cual obtener los mensajes.
  • D -> Día actual
  • S -> Semana actual
  • M -> Mes actual
  • T -> Todo
String
bidsend Identificativo númerico del mensaje a buscar 1, 2, 3, ... Long

Resultado

Una vez realizada la llamada para obtener los reportes, obtendremos el resultado del proceso, a tráves de la subclase:

reportes_envios

Está clase devuelve los siguientes parámetros:

  • ntotal; Número de mensajes existentes según los criterios del filtro.
  • nfilas; Número de mensajes obtenido en esta consulta
  • ndesde; Número de mensajes desde el que se obtiene la consulta
  • reportes; Es un Array donde cada elemento es de una clase dms_report_mensajest, que a su vez dispone de todos los datos del mensaje , está es la definición de clase:

 

class dms_report_mensajes
{
    var $nm;
    var $fecha_enviado;
    var $idsend;
    var $idreport;
    var $movil;
    var $htexto;
    var $nmens;
    var $hremitente;
    var $hcname;
    var $hcapellidos;
    var $estado;
    var $estadocod;
    var $estadohdesc;
    var $fecha_entregado;
    var $fecha_confirmado;
}

3. 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";
$dms->SupportSSL(true);

//Definir filtro
$filtro=new dms_filtro;
$filtro->nfilas=25;
$filtro->ndesde=1;

//Enviar solicitud a la plataforma
$dms->getReportsMensajes($filtro);

//Verificar Resultado
if ($dms->autentificacion->error){
    //Error de autentificacion con la plataforma
    echo $dms->autentificacion->mensajeerror."\n";
}else{
    echo "NTotal: ".$dms->reportes_envios->ntotal."\n";
    echo "NFilas: ".$dms->reportes_envios->nfilas."\n";
    echo "NDesde: ".$dms->reportes_envios->ndesde."\n";
    for ($n=0;$n<count(reportes_envios->reportes);$n++){
       $r=$dms->reportes_envios->reportes[$n];
       echo "[".$r->idreport." - ".$r->estado." ] ";
       echo $r->fecha_envio." ";
       echo "\n";
       echo "\tId Mensaje: ".$r->idsend."\n";
       echo "\tId Envio: ".$r->idreport."\n";
       echo "\tDestinatario: ".$r->movil."\n";
       echo "\tTexto SMS: ".$r->htexto."\n";
       echo "\tNum Mensajes Enviados: ".$r->nmens."\n";
       echo "\tRemitente: ".$r->hremitente."\n";
       echo "\tNombre del Contacto: ".$r->hcname."\n";
       echo "\tApellidos del Contacto: ".$r->hcappelidos."\n";
       echo "\tEstado: ".$r->estadohdesc."\n";
       echo "\tFecha Entregado: ".$r->fecha_entregado."\n";
       echo "\tFecha Confirmado: ".$r->fecha_confirmado."\n";
       echo "\n";
   }
}

4. Gráfico


Enviar-SMS-InterfazHTTP