Envía SMS con PHP y la API de 360NRS: Tutorial y ejemplos

sms php

El envío de mensajes SMS desde aplicaciones PHP es una herramienta poderosa para la automatización y la comunicación directa con los usuarios. Con la API de 360NRS, los desarrolladores pueden integrar el envío de SMS de manera rápida y sencilla en sus proyectos PHP.

En este artículo, exploraremos en detalle cómo enviar SMS desde PHP, las ventajas de esta tecnología y cómo implementarla usando 360NRS.

Introducción al SMS PHP

¿Qué es SMS PHP?

SMS PHP se refiere al uso del lenguaje PHP para enviar mensajes de texto SMS mediante una API. Esta práctica permite a las aplicaciones PHP interactuar con una plataforma de SMS, enviando mensajes de manera automatizada y eficaz.

Ventajas del envío de SMS con PHP

Utilizar PHP para enviar SMS ofrece diversas ventajas:

  • Integración sencilla: La API permite una conexión rápida entre el sistema PHP y el servicio de SMS.
  • Automatización de la comunicación: Permite programar mensajes o enviar notificaciones automáticas, mejorando la experiencia del usuario y aumentando la eficiencia.

Cómo funciona el envío de SMS con PHP

Concepto de API de SMS

Una API de SMS actúa como un puente entre el sistema PHP y la plataforma de mensajería de SMS. En este caso, la API de 360NRS permite a los desarrolladores enviar SMS mediante solicitudes HTTP desde PHP.

Integración básica con PHP

La API de 360NRS utiliza métodos HTTP como POST y GET y se comunica usando JSON. Esto permite que los desarrolladores envíen y reciban información de manera rápida y estructurada.

360NRS: Solución para SMS PHP

Características de la API de 360NRS

La API de 360NRS se destaca por:

  • Fácil integración: Conexión rápida con código sencillo.
  • Múltiples opciones de configuración: Soporte para diferentes codificaciones, mensajes flash, SMS programados, etc.
  • Soporte para notificaciones en tiempo real: Se pueden recibir notificaciones de entrega en URLs personalizadas.

Ejemplo de código para enviar un SMS desde PHP con la API de 360NRS

Aquí un ejemplo de cómo enviar un SMS usando PHP con la API de 360NRS:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://dashboard.360nrs.com/api/rest/sms',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"to": ["34666555444"],
"from": "TEST",
"message": "SMS text message"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Basic YOUR_AUTH_TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Respuesta de la API

Código de respuesta HTTP 202 (ACCEPTED):

{
"campaignId": 100000,
"sendingId": 100001,
"result": [
{
"accepted": true,
"to": "34666555444",
"id": "XXXXXXXXXXXXX",
"parts": 1,
"scheduledAt": null,
"expiresAt": null
}
]
}

Código de respuesta HTTP 207 (MULTI-STATUS):

{
"campaignId": 100000,
"sendingId": 100001,
"result": [
{
"accepted": true,
"to": "34666555444",
"id": "XXXXXXXXXXXXX",
"parts": 1,
"scheduledAt": null,
"expiresAt": null
},
{
"accepted": false,
"to": "34",
"error": {
"code": 102,
"description": "No valid recipients"
}
}
]
}

Error de respuesta (HTTP 400):

{
"error": {
"code": 102,
"description": "No valid recipients"
}
}

Casos de uso del SMS PHP

Notificaciones automáticas

Las empresas pueden enviar confirmaciones de pedido, recordatorios de citas o cualquier tipo de notificación relevante a sus usuarios.

Alertas de seguridad

El envío de códigos de verificación o autenticación mediante SMS ayuda a proteger las cuentas de los usuarios.

Buenas prácticas para SMS con PHP

Protección de credenciales

Mantener la seguridad de las claves de autenticación es esencial. Evita exponer el YOUR_AUTH_TOKEN en lugares públicos o repositorios de código sin protección.

Validación de números

Es recomendable validar los números de teléfono antes de intentar enviar un SMS para reducir errores y evitar costos innecesarios.

Parámetros adicionales de la API de 360NRS

La API de 360NRS permite personalizar el envío de SMS mediante múltiples parámetros:

  • message: Texto del mensaje, máximo 160 caracteres (a menos que se especifique la opción de múltiples partes).
  • to: Número de teléfono del destinatario en formato internacional (por ejemplo, en España sería 34666666666).
  • from: Nombre o número de la entidad emisora, hasta 15 dígitos o 11 caracteres alfanuméricos.
  • encoding: Permite elegir entre ‘gsm’, ‘gsm-pt’ o ‘utf-16’.
  • scheduleDate y expirationDate: Fechas de envío y expiración del mensaje en formato UTC.
  • notificationUrl: URL para recibir notificaciones de entrega.
  • certified: Permite enviar mensajes certificados.

Ejemplo de notificación de entrega en tiempo real

Para recibir notificaciones en tiempo real, se debe configurar el parámetro notificationUrl con la URL del servidor que recibirá el estado de los envíos. El formato de la URL puede incluir variables:

https://example.com/notify.php?sender=%p&phone=%P&status=%s

Variables de escape

Las variables de escape permiten personalizar la URL para recibir datos específicos:

  • %p: Remitente del SMS.
  • %P: Número del destinatario.
  • %s: Estado del mensaje (DELIVRD, EXPIRED, etc.).

Consultar información de un mensaje específico

Para obtener información de un SMS enviado, utiliza la siguiente solicitud GET:


<?php

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://dashboard.360nrs.com/api/rest/sms/<ID>',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Basic YOUR_AUTH_TOKEN'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Respuesta de la API (HTTP 200 OK):

{
"data": [
{
"id": "XXXXXXXXXXXXX",
"from": "360NRS",
"to": "34666555444",
"message": "SMS text message",
"campaignId": 123456,
"sendingId": 234567,
"isDelivered": true,
"isClicked": false,
"events": [
{
"type": "sent",
"date": "2021-07-19T15:00:33+00:00",
"isMobile": false,
"browser": "",
"os": ""
},
{
"type": "delivered",
"date": "2021-07-19T15:00:33+00:00",
"isMobile": false,
"browser": "",
"os": ""
}
],
"customFields": {
"email": "test@test.com",
"phone": "34666555444",
"name": "Name"
},
"links": {
"self": "https://dashboard.360nrs.com/api/rest/sms/XXXXXXXXXXXXX"
}
}
]
}

Resumen de beneficios de SMS PHP con 360NRS

El uso de SMS PHP para la comunicación automatizada permite a las empresas:

  • Mejorar la relación con sus clientes a través de mensajes directos y personalizados.
  • Automatizar procesos críticos, como la confirmación de pedidos y la autenticación de usuarios.
  • Monitorear el rendimiento de campañas de SMS mediante el uso de campañas y estadísticas detalladas.

Prueba la API de 360NRS

Para empezar a enviar SMS desde PHP, regístrate en 360NRS, obtén tu token de autenticación y sigue los ejemplos de código aquí presentados.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.