Cómo enviar SMS desde PHP
La forma más sencilla de enviar SMS desde PHP es utilizar la API HTTP/Rest de SMS integrada de Ozeki SMS Gateway. Cuando uses esta API, enviarás mensajes SMS mediante una solicitud HTTP Post al gateway de SMS. La solicitud HTTP Post contendrá un mensaje formateado en formato json. El gateway de SMS enviará este SMS al teléfono del destinatario y devolverá una respuesta HTTP 200 OK a tu solicitud.
Código PHP para enviar SMS a móviles
El ejemplo de código PHP para SMS a continuación demuestra cómo puedes enviar SMS usando la API HTTP REST de SMS de Ozeki SMS Gateway con la biblioteca PHP Ozeki.Libs.Rest. Esta biblioteca se proporciona gratuitamente y puedes usarla y modificarla en cualquiera de tus proyectos.
SendSMS.csnamespace Ozeki_PHP_Rest { require 'MessageApi/MessageApi.php'; $configuration = new Configuration(); $configuration -> Username = "http_user"; $configuration -> Password = "qwe123"; $configuration -> ApiUrl = "http://192.168.0.113:9509/api"; $msg = new Message(); $msg -> ToAddress = "+36201111111"; $msg -> Text = "¡Hola, Mundo!"; $api = new MessageApi($configuration); $result = $api -> SendSingle($msg); echo strval($result); }
Cómo usar el ejemplo de SMS en PHP:
Este ejemplo de SMS en PHP puede usarse en cualquier aplicación PHP. Para usarlo, debes agregar la carpeta MessageApi a tu proyecto. Puedes usar la clase Message para crear el SMS y la clase MessageApi para enviar el SMS al gateway de SMS. El gateway de SMS reenviará tu mensaje a la red móvil ya sea a través de una conexión inalámbrica o a través de Internet.
Descargar SendSMS.php
El código fuente explicado en este artículo se puede descargar, usar y modificar gratuitamente.
Descargar: SendSMS.zip (5.9Kb)
¿Qué contiene el archivo SendSMS.zip?
El archivo SendSMS.zip contiene la biblioteca Ozeki.Libs.Rest.Php, que te proporciona todas las herramientas necesarias para enviar y recibir mensajes SMS. También encontrarás el proyecto SendSMS en el zip, que contiene el código de ejemplo para mostrarte cómo enviar un SMS. Este código de ejemplo se muestra a continuación.
Cómo enviar SMS desde PHP (Pasos rápidos)
Para enviar SMS desde PHP:
- Instala Ozeki SMS Gateway
- Conecta Ozeki SMS Gateway a la red móvil
- Envía un SMS de prueba desde la interfaz gráfica de Ozeki
- Crea un usuario de API HTTP para SMS
- Inicia el servidor Wamp
- Descarga el ejemplo anterior
- Crea el SMS creando un nuevo objeto Message
- Usa el método SendSingle para enviar tu mensaje
- Lee la respuesta HTTP
- Revisa los registros en el gateway de SMS
Instalar Ozeki SMS Gateway y crear un usuario de API HTTP
Para poder enviar SMS desde PHP, primero necesitas instalar Ozeki SMS Gateway. El gateway de SMS puede instalarse en la misma computadora donde desarrollas tu código PHP. Después de la instalación, el siguiente paso es conectar Ozeki SMS Gateway a la red móvil. Puedes enviar un SMS de prueba desde la interfaz gráfica de Ozeki para verificar que tu conexión a la red móvil funciona. El paso final para preparar tu entorno es crear un usuario de API HTTP para SMS. Crea un usuario con el nombre "http_user" y la contraseña "qwe123" para que el ejemplo funcione sin modificaciones.
Una vez configurado el entorno, puedes ejecutar tu código PHP.
URL de la API HTTP para enviar SMS desde PHP
Para enviar SMS desde PHP, tu PHP tendrá que realizar una solicitud HTTP al gateway de SMS. La URL de la API se muestra a continuación. Ten en cuenta que la dirección IP (127.0.0.1) debe ser reemplazada por la dirección IP de tu gateway de SMS. Si Ozeki SMS Gateway está instalado en la misma computadora donde se ejecuta la aplicación de SMS en C#, puede ser 127.0.0.1. Si está instalado en una computadora diferente, debe ser la dirección IP de esa computadora.
http://127.0.0.1:9509/api?action=rest
Encabezado de la solicitud HTTP para enviar SMS desde PHP
Para enviar los mensajes SMS, necesitas incluir las siguientes líneas como encabezados en la solicitud HTTP. Ten en cuenta que incluimos un tipo de contenido y un encabezado de Autorización.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Solicitud HTTP para enviar SMS desde PHP
Para enviar el SMS, tu aplicación PHP enviará una solicitud HTTP similar a la que se muestra a continuación. Ten en cuenta que esta solicitud contiene una parte de encabezado HTTP y una parte de cuerpo HTTP. El cuerpo HTTP es una cadena de datos codificada en JSON. Contiene el número del destinatario y el texto del mensaje.
HTTP request received from 192.168.0.113:62101 POST /api?action=sendmsg HTTP/1.1 Content-Length: 433 Content-Type: application/json Accept: */* Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 192.168.0.113:9509 { "messages": [ { "message_id": "f259f9de-bc27-4794-8d2b-691af76b551b", "from_connection": null, "from_address": null, "from_station": null, "to_connection": null, "to_address": "+36201111111", "to_station": null, "text": "Hello, World!", "create_date": "2021-06-15 15:10:16", "valid_until": "2021-06-22 15:10:16", "time_to_send": "2021-06-15 15:10:16", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
Respuesta HTTP recibida por el ejemplo de SMS en PHP
Una vez que el gateway de SMS recibe esta solicitud, generará una respuesta HTTP. La respuesta HTTP contendrá un código de estado para indicar si la solicitud de envío de SMS fue exitosa o no. También devolverá una estructura codificada en JSON para proporcionarte detalles útiles sobre el envío del mensaje.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.118 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Mon, 14 Jun 2021 07:43:45 GMT Server: 10/10.3.118 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "a451446c-db80-4009-b51d-31d0675e28c4", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World!", "create_date": "2021-06-15 15:10:16", "valid_until": "2021-06-22 15:10:16", "time_to_send": "2021-06-15 15:10:16", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Cómo enviar SMS desde PHP usando la API de SMS en PHP (Tutorial en video)
Este video te muestra cómo descargar y usar el proyecto SendSMS en PHP. Una vez que hayas agregado los archivos necesarios a tu proyecto, podrás notar que hay un archivo llamado MessageApi.php. Este es el archivo que contiene la MessageApi y todo lo que necesitas para enviar un SMS usando PHP.
Ejemplo de SMS en PHP: Send_Message.php
Cómo verificar que el SMS ha sido aceptado por el usuario HTTP
Después de enviar el SMS, es una buena idea revisar tu gateway de SMS para ver qué ha recibido. Puedes revisar el registro abriendo los detalles del usuario HTTP desde la consola de administración de Ozeki SMS Gateway. El siguiente video te muestra qué buscar.
Cómo verificar que el SMS ha sido enviado a la red móvil
El paso final para verificar el procedimiento es revisar los registros de la conexión a la red móvil. Es posible que debas activar el registro en la configuración de la conexión antes de enviar el mensaje para ver los registros. Si el registro está activado, verás el número de teléfono y el texto del mensaje que has enviado.
Para activar el registro en el usuario http_user debes seguir las mismas instrucciones.
Reflexiones finales
Esta guía proporcionó toda la información necesaria sobre cómo enviar mensajes SMS desde PHP con la API HTTP REST de SMS de Ozeki SMS Gateway. Esta solución requiere una conexión de usuario HTTP en Ozeki SMS Gateway, lo que te ofrece una conexión muy confiable que funciona con una velocidad increíble. Este servicio puede hacer que tu organización sea más eficiente porque te permite entregar información clave disponible en correos electrónicos a teléfonos móviles, acelerando así los flujos de trabajo.
Hay muchos más artículos para ayudarte, así que asegúrate de leerlos. Comienza con el titulado Cómo enviar múltiples SMS desde PHP y multiplica tus oportunidades.
¡Comienza a usar Ozeki SMS Gateway ahora! Todo está listo para configurarlo y ponerlo en funcionamiento en unos minutos.
More information
- Enviar SMS con PHP usando la API REST HTTP (ejemplo de código)
- Enviar múltiples SMS con PHP usando la API REST HTTP (ejemplo de código)
- Programar SMS con PHP usando la API REST HTTP (ejemplo de código)
- Recibir SMS con PHP usando la API REST HTTP (ejemplo de código)
- Eliminar SMS con PHP usando la API REST HTTP (ejemplo de código)
- Github: API de SMS para PHP