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 PHP es tu lenguaje de programación, puedes enviar SMS con 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.
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.
Código fuente de ejemplo en PHP
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.
<?php // Copyright (c) 2018, 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'); //XX, YY y ZZ se corresponden con los valores de identificación del //usuario en el sistema. //domainId solo es necesario si el login no es un email $credentials = array( //'domainId' => 'XX', '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; } 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(); } ?>
Otros protocolos de envío de SMS
Envío de landing web móvil parametrizada
Además del envío de un SMS API REST json PHP , la pasarela SMS gateway de Altiria ofrece la posibilidad de enviar una página web móvil, SMS landing, con información adicional sin las restricciones de espacio de un SMS o con un formulario de contacto para recibir respuesta de tus clientes o usuarios o enviarles encuestas, formularios de satisfacción o firma de contratos.
Además de poder parametrizar el texto del mensaje SMS, Altiria permite enviar parámetros adicionales en la petición de envío para también parametrizar el contenido de la web y que tus usuarios y clientes reciban una experiencia personalizada.
Cobertura internacional
Siempre se debe usar el formato de numeración internacional, incluyendo el código de país. Por ejemplo, para un número de móvil de España sería 346XXXXXXXX. En el ejemplo de código anterior WS Rest Json en PHP, se está enviando un SMS de prueba a dos teléfonos de España, 346xxxxxxxx y 346yyyyyyyy, que deberán ser sustituidos por los teléfonos con los que se quiera probar, siempre incluyendo el prefijo internacional. Ofrecemos la mejor cobertura internacional con conexiones directas de máxima calidad.
Características adicionales para enviar SMS con REST JSON API PHP
- Remitente personalizado: Personalización en el envío de SMS por REST JSON API PHP del remitente de origen por una cadena de texto, por ejemplo, el nombre de su empresa. (*)
- 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 en PHP y confirmación de entrega, permiten mantener un control periódico de los envíos realizados.
- Posibilidad de reenvío de SMS pendientes por falta de crédito. Si realizó un envío de SMS mediante PHP 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.