PHP: reporte de envio 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 realizados.

2. Documentación

Llamada

La clase dispone de una llamada para obtener los reportes de entrega, desglosados por en envíos:

 

getReports($filtro);

 

Está llamada requiere de un argumento, que será una instancia de la clase dms_filtro, está clase dispone de una funcíon para establecer 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

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 envíos existentes según los criterios del filtro.
  • nfilas; Número de envíos obtenido en esta consulta
  • ndesde; Número de envíos desde el que se obtiene la consulta
  • reportes; Es un Array donde cada elemento es de una clase dms_report, que a su vez, dispone de todos los datos los parámetos del envío , está es la definición de clase:

 

class dms_report
{
        var $nr='';
        var $fecha_envio='';
        var $idreport='';
        var $estado='';
        var $idenvio='';
        var $total_mensajes='';
        var $total_contactos='';
        var $total_creditos='';
        var $app='';
        var $htexto='';
        var $hremitente='';
        var $informe='';
        var $sin_confirmacion='';
        var $confirmados='';
        var $errores='';
        var $sin_informacion='';
}

 

 

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->getReports($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 "\tTotal Mensajes: ".$r->total_mensajes."\n";
       echo "\tCreditos consumidos: ".$r->total_creditos."\n";
       echo "\tTotal Mensajes confirmados: ".$r->confirmados."\n";
       echo "\tTotal Mensajes sin confirmacion: ".$r->sin_confirmacion."\n";
       echo "\tTotal Mensajes sin informacion: ".$r->sin_informacion."\n";
       echo "\tTotal Mensajes con errores: ".$r->errores."\n";
       echo "\n";
    }
}

4. Gráfico


Enviar-SMS-InterfazHTTP