Enviar SMS API REST json y PHP. Código fuente de ejemplo

Integrar la API REST Json PHP de Altiria para enviar SMS es sencillo. Si quieres enviar SMS con PHP, puedes realizar una simple llamada a los métodos SMS del interfaz REST Json en PHP y así añadir el envío de SMS en tu aplicación web.

Ofrecemos los siguientes ejemplos con código fuente

Consulta nuestra documentación con las especificaciones técnicas (API SMS) y podrás comprobar por qué nuestros clientes están satisfechos con la calidad del servicio de nuestra plataforma SMS.

Pasarela SMS

Enviar SMS con PHP REST json y Composer

Cómo instalar el paquete Composer sms-php-client

El paquete de Composer se instala de la siguiente manera:

composer require altiria/sms-php-client

Código PHP REST json de envío de SMS con Composer

El código PHP enviar SMS con REST json quedaría así.

use \AltiriaSmsPhpClient\AltiriaClient;
use \AltiriaSmsPhpClient\AltiriaModelTextMessage;
use \AltiriaSmsPhpClient\Exception\GeneralAltiriaException;

try {
    //Personaliza las credenciales de acceso
    $client = new AltiriaClient('user@mydomain.com', 'mypassword');
    $textMessage = new AltiriaModelTextMessage('346XXXXXXXX', 'Mensaje de prueba');
    $client-> sendSms($textMessage);
    echo '¡Mensaje enviado!';

} catch (GeneralAltiriaException $exception) {
    echo 'Mensaje no aceptado:'.$exception->getMessage();
}

Para que funcione es necesario proporcionar al constructor de la clase el usuario y contraseña de la cuenta de Altiria.

Ejemplo de envío de SMS con PHP REST json y la librería AltiriaSMS

Más abajo puedes encontrar un ejemplo de código fuente funcional que utiliza los servicios web para enviar SMS API REST json con PHP. Este código es sólo una ayuda para agilizar la integración en tu software, pero se debe personalizar para implementar una adecuada gestión de los posibles códigos de error de manera adecuada a la herramienta o aplicación que se esté desarrollando.

Si tienes problemas en integración, consulta nuestra página de preguntas frecuentes de integración de envío de SMS.

A continuación mostramos el código fuente de la librería AltiriaSMS

<?php
// Copyright (c) 2021, Altiria TIC SL
// All rights reserved.
// El uso de este código de ejemplo es solamente para mostrar el uso de la pasarela de envío de SMS de Altiria
// Para un uso personalizado del código, es necesario consultar la API de especificaciones técnicas, donde también podrás encontrar
// más ejemplos de programación en otros lenguajes de programación y otros protocolos (http, REST, web services)
// https://www.altiria.com/api-envio-sms/

function AltiriaSMS($sDestination, $sMessage, $sSenderId, $debug){
if($debug)
echo 'Enter AltiriaSMS <br/>';

//URL base de los recursos REST
$baseUrl = 'http://www.altiria.net/apirest/ws';

//Se inicia el objeto CUrl
$ch = curl_init($baseUrl.'/sendSms');

//YY y ZZ se corresponden con los valores de identificación del
//usuario en el sistema.
$credentials = array(
'login' => 'YY',
'passwd' => 'ZZ'
);

$destinations = explode(',', $sDestination);

$jsonMessage = array(
'msg' => substr($sMessage,0,160),
'senderId' => $sSenderId
);

$jsonData = array(
'credentials' => $credentials,
'destination' => $destinations,
'message' => $jsonMessage
);

//Se construye el mensaje JSON
$jsonDataEncoded = json_encode($jsonData);

//Indicamos que nuestra petición sera Post
curl_setopt($ch, CURLOPT_POST, 1);

//Se fija el tiempo máximo de espera para conectar con el servidor (5 segundos)
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);

//Se fija el tiempo máximo de espera de la respuesta del servidor (60 segundos)
curl_setopt($ch, CURLOPT_TIMEOUT, 60);

//Para que la peticion no imprima el resultado como un 'echo' comun
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Se añade el JSON al cuerpo de la petición codificado en UTF-8
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);

//Se fija el tipo de contenido de la peticion POST
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=UTF-8'));

//Se envía la petición y se consigue la respuesta
$response = curl_exec($ch);

$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if($debug) {
//Error en la respuesta del servidor
if($statusCode != 200){
echo 'ERROR GENERAL: '.$statusCode;
echo $response;
}else{
//Se procesa la respuesta capturada
echo 'Código de estado HTTP: '.$statusCode.'<br/>';
$json_parsed = json_decode($response);
$status = $json_parsed->status;
echo 'Código de estado Altiria: '.$status.'<br/>';
if ($status != '000')
echo 'Error: '.$response.'<br/>';
else{
echo 'Cuerpo de la respuesta: <br/>';
echo 'destails[0][destination]: '.$json_parsed->details[0]->destination.'<br/>';
echo 'destails[0][status]: '.$json_parsed->details[0]->status.'<br/>';
echo 'destails[1][destination]: '.$json_parsed->details[1]->destination.'<br/>';
echo 'destails[1][status]: '.$json_parsed->details[1]->status.'<br/>';
}
}
}

//Si ha ocurrido algún error se lanza una excepción
if(curl_errno($ch))
throw new Exception(curl_error($ch));

return $response;
} ?>

Para invocar el método de la librería y enviar el SMS se utiliza este otro fragmento de código:

<?php
try{
echo "The function AltiriaSMS returns: ".AltiriaSMS('346xxxxxxxx,346yyyyyyyy','Mensaje de prueba', '', true);
//No es posible utilizar el remitente en América pero sí en España y Europa
//Utilizar esta llamada solo si se cuenta con un remitente autorizado por Altiria
//echo "The function AltiriaSMS returns: ".AltiriaSMS('346xxxxxxxx,346yyyyyyyy','Mensaje de prueba', 'remitente', true);
}catch(Exception $e){
echo 'Error: '.$e->getMessage();
}

?>
SMS API

Descarga

Guía para la integración de SMS API

Lista de tareas detallada, checklist, para asegurarte que no se olvida nada importante en la integración de API SMS. Independiente del lenguaje de programación elegido.

Paga solo por lo que necesitas

Sin cuotas de alta

Sin cuotas de mantenimiento

Protocolos de comunicación soportados

La API SMS se puede utilizar con los siguientes protocolos de comunicación:

Países a los que damos servicio

bandera españa

España

Bandera Mexico

México

Bandera Colombia

Colombia

Bandera Perú

Perú

Chile

Chile

+125 países

Características

Descubre las funcionalidades avanzadas de Altiria para el envío de SMS

Confirmación entrega SMS

Confirmación de entrega

Remitente SMS

Remitente personalizado

Estadísticas

Estadísticas

Programación envío SMS

Programación de envíos

SMS concatenados

SMS largos, más de 160 caracteres

Landing SMS

Editor de landing

SMS Unicode

Unicode. Acentos y otros alfabetos

Eliminar duplicados

Elimina teléfonos duplicados

SMS personalizados

Textos personalizados

Plantillas SMS

Plantillas de mensajes

Recordatorio citas SMS

Recordatorio de citas

Pruébalo gratis