Cómo enviar SMS desde tu aplicación vía PHP

En este artículo vamos a ver lo fácil que es enviar SMS a través de la integración en cualquier aplicación PHP, para ello lo vamos a hacer vía la SMS gateway API de SMS Up.

Lo primero que vamos a necesitar es registrarnos, para obtener nuestra API Key, imprescindible para hacer peticiones a la API. Esta clave podemos verla, al entrar en nuestra cuenta, en el apartado API.

Enviar mensajes de texto con PHP

Para realizar un envío de SMS solo debemos realizar una petición http POST a la url https://api.gateway360.com/api/3.0/sms/send indicando como mínimo los siguientes datos:

   $request = [ 
"api_key" => API_KEY,
"messages" => [
[
"from" => "REMITENTE",
"to" => "346XXXXXXXX",
"text" => "Texto del mensaje a enviar"
]
]
];

API_KEY es la clave obtenida antes en nuestra cuenta de SMS Up.

¿Cómo podemos enviar esta petición desde PHP?

En nuestro ejemplo usaremos directamente curl, aunque podemos usar cualquier librería para envío de peticiones http, como por ejemplo guzzle, si lo preferimos.

    $headers = array('Content-Type: application/json');
$ch = curl_init('https://api.gateway360.com/api/3.0/sms/send');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request));
$result = curl_exec($ch);
if (curl_errno($ch) != 0 ){
die("curl error: ".curl_errno($ch));
}

Con este simple código podremos dotar a nuestra aplicación PHP de la capacidad de enviar SMS a cualquier país, incluso para volúmenes grandes, ya que en cada petición, la API nos permite enviar de una vez hasta 1000 SMS, simplemente añadiendo mas entradas al campo message.

Otras funcionalidades de la API SMS

Además de estos campos obligatorios, hay otros opcionales que también podemos usar y que pueden ser muy útiles.

Por ejemplo, podemos indicar el campo “fake” a 1, con lo que ese envío seria de prueba y el sistema no enviará realmente los SMS indicados, pero si realizara todo el proceso y responderá normalmente a la petición. Esto es muy útil mientras estamos integrando el servicio, así podemos realizar pruebas sin incurrir en gastos no deseados.

Otro parámetro interesante es “report_url”, con el cual podemos indicar una url en la que queremos recibir la notificación sobre el estado de envío, es decir, cuando el operador nos notifique el estado final del envío (si ha podido ser entregado o no al teléfono) nuestro sistema realizara una petición a esa url para indicar este estado.

Como respuesta a la petición anterior recibiremos un json, con un campo “status”, que nos indica si la petición se ha podido procesar y un campo “result”, con una entrada por cada SMS enviado. En cada entrada tendremos el estado del procesado del SMS enviado y el id asignado al mismo, ademas del valor del campo custom enviado (en blanco si no se envío nada).

          {
"status":"ok",
"result":[
{
"status":"ok",
"sms_id":"158a40d57471499da3a21cde5b46396e",
"custom":""
}
]
}

La respuesta sigue el mismo orden del array messages enviado.

El resto de parámetros disponibles se pueden ver en la documentación de la API.

Hemos visto lo sencillo que puede resultar que nuestra aplicación PHP envíe SMS, gracias a la SMS gateway API de SMS Up, pero además de esta función básica podemos realizar otros tipos de envíos (SMS landing o encuesta) y otras funciones desde la API.

Con esto podemos integrar fácilmente el envío de SMS en nuestra aplicación y hacer uso de ellos para mejorar sus funciones y dar un valor añadido a los usuarios, ya que son útiles en una gran variedad de casos.

imagen hombres y mujeres mirando el móvil

Empieza a enviar SMS ahora

imagen etiqueta

El mejor precio

imagen monedas

Sin cuota de alta

imagen etiqueta

Fácil de usar