Enviar SMS con SOAP y php

SMS masivo desde 2002
enviar sms soap php

Enviar sms con soap y php

El envío de SMS con SOAP y php puede realizarse a través de la pasarela web service de Altiria. Más adelante encontrarás código de ejemplo que demuestra cómo utilizar el protocolo de comunicación SOAP desde php y la pasarela web service SMS de Altiria para conseguir enviar un SMS utilizando SOAP.

Para tener conocimiento de todos los detalles de cómo funciona el servicio de pasarela conviene revisar la documentación técnica de envío de SMS, API SMS. Además de utilizar SOAP y php para enviar los SMS también se puede usar la pasarela HTTP con php.

Consulta nuestras tarifas de envío de SMS y solicita más información. Te enviaremos una cuenta de prueba para evaluar el servicio gratuitamente e incorporarlo a tu código php.

El siguiente ejemplo es funcional y puedes utilizarlo directamente una vez sustituyas los valores de los parámetros proporcionados por Altiria para acceder a la pasarela. Si encuentras dificultades para integrar el envío de SMS con SOAP – php, te recomendamos revisar con cuidado la especificación técnica.

Código de ejemplo de PHP para el envío de SMS con SOAP:

<?php 
require_once('nusoap-0.9.5/lib/nusoap.php'); 
//Se fija la URL de los servicios web 
//Como ejemplo se suministra la URL del fichero WSDL www.altiria.net/sustituirWSDLUrl?wsdl 
//Se debe reemplazar la cadena /sustituirWSDLUrl por la parte correspondiente 
//de la URL suministrada por Altiria para el fichero WSDL en SOAP 1.1 al dar de alta el servicio 
//y solicitar una cuenta de prueba 
$client = new nusoap_client('http://www.altiria.net/sustituirWSDLUrl?wsdl', true); 

//conection timeout = 5 segundos 
$client->timeout = 5;

//timeout de espera de respuesta = 60 segundos
$client->response_timeout = 60;

//Codificacion UTF-8
$client->soap_defencoding = 'UTF-8';
$client->decode_utf8 = true;

$err = $client->getError();
if($err){
 echo 'Constructor error'.$err;
}

//Se preparan los datos del servicio web
//XX, YY y ZZ se corresponden con los valores de identificacion del usuario en el sistema
//proporcionados por Altiria al dar de alta el servicio 
//y solicitar una cuenta de prueba
$operation = 'sendSms';
$credentials = array('domainId'=>'XX','login'=>'YY','passwd'=>'ZZ');
//Se incluye el remitente autorizado por Altiria al dar de alta el servicio.
//Omitir el parametro senderId si no se cuenta con ninguno.
$message = array('msg'=>'Mensaje de prueba', 'senderId'=>'remitente');
$destination = array ('346xxxxxxxx','34yyyyyyyy');
$params = array(array('credentials'=>$credentials,'destination'=>$destination,'message'=>$message));
//llamada al web service
$result = $client->call($operation, $params);

print_r($result);
echo "<br?-->";

if($client->fault){
 echo ('Fault: ');
 print_r($result);
}else{
 $err = $client->getError();
 if($err){
  if (strpos($err,"timed out"))
   //error response timeout
   echo ('ERROR TimeOut');
  else
   //error en la conexion o de connetion timeout
   echo ('Error: '.$err);
 }else{
  //Evaluamos la respuesta de Altiria
  if($result['status']!='000'){
   echo 'ERROR. Codigo de Altiria: '.$result['status'];
  }else{
   foreach ($result as $clave => $val){
    if($clave=='details') {
     //Array ([status]=>000 [details]=>Array ([destination]=>34xxxxxxxx [status]=>000))
     if(sizeof($destination)==1) {						
      if ($val['status']=='000')
        echo $val['destination']."  OK 
";
      else
        echo $val['destination']."  ERROR. Codigo de error de Altiria: ".$val['status']."
";
     }
     //Array ( [status] => 000 
     //        [details] => Array ( 
     //          [0] => Array ( [destination] => 346xxxxxxxx [status] => 000 ) 
     //          [1] => Array ( [destination] => 346yyyyyyyy [status] => 000 ) ) 
     //      ) 
     else {
      foreach ($val as $clave2 => $val2){
        if ($val2['status']=='000')
         echo $val2['destination']."  OK 
";
        else
         echo $val2['destination']."  ERROR. Codigo de error de Altiria: ".$val2['status']."
";
      }
     }
    }				
   }
  }
 }
}

?>

Características adicionales del envío de SMS en SOAP php

  • Remitente personalizado: Personalización en el envío de SMS con SOAP usando php del remitente de origen por una cadena alfanumérica, por ejemplo, una palabra que identifique a su compañía.(*)
  • Confirmación de entrega: Conozca la fecha y hora en la el SMS se ha entregado al destinatario o las causas por las que no lo ha recibido.
  • Sistema avanzado de control de crédito con aviso automático por email que impide quedarse sin crédito de envío de forma inesperada.(*)
  • Informes automáticos de envío de SMS y confirmación de entrega, permiten mantener un control periódico de los envíos de SMS a través de SOAP con php.
  • Posiblidad de reenvío de SMS pendientes por falta de crédito. Si realizó un envío de SMS mediante php con SOAP y no tenía crédito, los mensajes se quedan encolados en nuestros sistemas hasta que disponga de crédito, de forma que no necesita repetir el envío.

(*) La disponibilidad de la confirmación de entrega al usuario y del remitente personalizado depende de cada país, consúltenos para su país de interés.