
Compartir:
Actor de formación con una disertación sobre la comedia, llegué al desarrollo de PHP a través de la escena de las reuniones. Puedes encontrarme hablando y escribiendo sobre tecnología, o tocando/comprando discos raros de mi colección de vinilos.
Envío de mensajes SMS con PHP
Tiempo de lectura: 3 minutos
Este artículo se actualizó en agosto de 2025
En este tutorial, vamos a enviar mensajes SMS con el menor número posible de líneas de PHP. En primer lugar, con un script en bruto, y en segundo lugar utilizando un framework de aplicaciones web mínimo.
Requisitos previos
PHP 8.1+
Compositorpara la gestión de paquetes
Una cuenta API de Vonage
Para completar este tutorial, necesitarás una Account API de Vonage.
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Cómo enviar texto con PHP sin procesar
Comenzaremos creando un nuevo proyecto Composer e incorporando el SDK PHP de Vonage. Usando la línea de comandos, agrega lo siguiente:
mkdir vonage-sms
cd vonage-sms
composer initComposer te hará una serie de preguntas - puedes dejarlas todas por defecto ya que sólo estamos haciendo el mínimo esfuerzo. El proceso debería crear su archivo composer.json archivo. Ahora podemos agregar el SDK PHP de Vonage:
composer require vonage/clientAhora, a crear nuestro script.
touch send-sms.phpAbra el nuevo archivo PHP y asegúrese de que la carga automática de Composer está activada:
<?php
require_once './vendor/autoload.php';
Para enviar un SMS, necesitamos tres cosas:
Un conjunto de credenciales tomadas de Vonage Dashboard
Un objeto Cliente
Un texto para enviar
Teniendo esto en cuenta, aquí están las líneas finales de código:
$credentials = new \Vonage\Client\Credentials\Basic(YOUR_API_KEY, YOUR_API_SECRET);
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
'Hello from Vonage!'
);
$client->messages()->send($message);Introduzca los datos necesarios en los marcadores de posición de variables constantes y pulse enviar:
Our SMS has been sent!
¡Cuatro líneas de código está muy bien! La segunda parte es conectar esto a un framework web básico para que puedas POSTAR un mensaje en lugar de codificarlo como hemos hecho antes.
Cómo enviar SMS a través de. Slim Framework
Para el segundo ejemplo, vamos a utilizar el Slim Frameworkasí que instálalo con Composer:
composer require slim/slim:"4".*
composer require slim/psr7El segundo comando aquí instala la implementación PSR-7 (Request Interface) de Slim. Vamos a crear una ruta que toma una solicitud POST con un cuerpo JSON que contiene algún texto.
Aquí está el archivo send-sms.php modificado:
<?php
use Slim\Psr7\Request;
use Slim\Psr7\Response;
require_once '../vendor/autoload.php';
$app = \Slim\Factory\AppFactory::create();
$app->post('/send', function (Request $request, Response $response) {
$rawBody = $request->getBody()->getContents();
$requestData = json_decode($rawBody);
$text = $requestData->text;
$credentials = new \Vonage\Client\Credentials\Basic('232130c9', 's09IJad98fa0t9j09ad8fa90s');
$client = new Vonage\Client($credentials);
$message = new Vonage\Messages\Channel\SMS\SMSText(
YOUR_NUMBER,
'Vonage',
$text
);
$client->messages()->send($message);
$response->getBody()->write("Vonage sent this text!");
return $response;
});
$app->run();En lugar de ejecutar este código, estamos simulando el uso de una plataforma web en su lugar, por lo que vamos a utilizar PHP incorporado en el servidor web para iniciar un entorno de desarrollo desde la línea de comandos:
php -S localhost:8888 -t send-php.phpPara enviar el mensaje, necesitará un cliente HTTP que facilite el envío de solicitudes POST. Yo he optado por Kong's Insomnia de Kong, pero también puedes usar Postman o incluso una petición cURL sin procesar.
API Tooling is super helpful
Conclusión
Ahora tenemos una ruta donde se puede enviar el texto del mensaje a un servidor para que complete el proceso. Por supuesto, puedes añadir claves adicionales a la carga JSON para añadir los números de móvil de origen y destino. ¿Te apetece construir algo a partir de esto? Echa un vistazo a nuestra integración Laravel o lee más sobre cómo enviar mensajes con esta API en Symfony.
¿Tienes alguna pregunta o algo que compartir? Únete a la conversación en Slack de la comunidad de Vonagey mantente actualizado con el Boletín para desarrolladoressíguenos en X (antes Twitter)suscríbete a nuestro canal de YouTube para ver tutoriales en video, y sigue la página de página para desarrolladores de Vonage en LinkedInun espacio para que los desarrolladores aprendan y se conecten con la comunidad. Mantente conectado, comparte tu progreso y entérate de las últimas noticias, consejos y eventos para desarrolladores.
Recursos adicionales
Envío de SMS desde PHP con Failover: La pastelería Cupcake
Seguridad Tipográfica Bien Hecha - PHP Array Hacking
Compartir:
Actor de formación con una disertación sobre la comedia, llegué al desarrollo de PHP a través de la escena de las reuniones. Puedes encontrarme hablando y escribiendo sobre tecnología, o tocando/comprando discos raros de mi colección de vinilos.
