Inicio rápido de Programmable Messaging de PHP
Ahoy there! All messaging transmitted using Twilio’s messaging channels is treated as Application-to-Person (A2P) messaging and subject to Twilio’s Messaging Policy. For detailed information on policy rules to ensure you remain compliant while using Twilio’s services, please see our Acceptable Use Policy.
Con unas pocas líneas de código, tu aplicación PHP puede enviar, recibir y responder mensajes de texto con SMS programable de Twilio.
Este inicio rápido de SMS en PHP muestra cómo utilizar nuestra API REST de comunicaciones, la CLI de Twilio y la biblioteca auxiliar de Twilio PHP.
Utilizaremos el administrador de paquetes Composer para administrar nuestras dependencias. No hay problema si no deseas utilizar Composer, ya que también tenemos un inicio rápido de SMS en PHP sin Composer.
En este inicio rápido, aprenderás a realizar estas acciones:
- Registrarte en Twilio y comprar un número de teléfono habilitado para SMS.
- Comprobar e instalar cualquier requisito previo mediante el uso de Composer.
- Enviar tu primer SMS.
- Configurar tu entorno de desarrollo para enviar y recibir mensajes.
- Recibir mensajes de texto entrantes.
- Responder mensajes entrantes con un SMS de respuesta.
Regístrate (o inicia sesión) en tu cuenta de Twilio
¿Ya tienes una cuenta de Twilio? Avanza y omite esta sección.
Puedes registrarte para obtener una cuenta de prueba gratuita de Twilio aquí.
- Cuando te registres, deberás verificar tu número de teléfono personal. Esto ayuda a Twilio a verificar tu identidad y te permite enviar mensajes a tu teléfono desde tu cuenta Twilio mientras estés en el modo de prueba.
- Una vez que hayas verificado tu número, deberás responder una serie de preguntas para personalizar tu experiencia.
- Tras haber finalizado el flujo de onboarding, accederás al panel de control de tus proyectos en la consola de Twilio. Aquí tendrás acceso a tu Account SID (SID de la cuenta) y Auth Token (token de autenticación), podrás buscar un número de teléfono de Twilio y más.
Instala la CLI de Twilio
Necesitaremos utilizar la CLI (interfaz de línea de comandos) de Twilio para algunas tareas, así que vamos a instalarla ahora.
La manera recomendada de instalar twilio-cli
en macOS es a través de Homebrew. Si aún no lo has instalado, visita el sitio web de Homebrew para ver las instrucciones de instalación y, luego, vuelve aquí.
Una vez que hayas instalado Homebrew, ejecuta el siguiente comando para instalar twilio-cli
:
rew tap twilio/brew && brew install twilio
La manera recomendada de instalar twilio-cli
es mediante el uso de Scoop, un instalador de línea de comandos para Windows. Si aún no lo has instalado, visita el sitio web de Scoop para ver las instrucciones de instalación y, luego, vuelve aquí.
Ten en cuenta que PowerShell necesitará ejecutarse como administrador para evitar los problemas de permisos habituales con la instalación a través de Scoop.
- Agrega el Bucket
twilio-cli
:
scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
- Instala la app:
scoop install twilio
twilio-cli
se puede instalar con la Herramienta Avanzada de Empaquetado (apt
) que está disponible en la mayoría de las distribuciones, como Debian, Ubuntu y Mint.
Para hacerlo, ejecuta los siguientes comandos en tu terminal:
wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
| sudo apt-key add -
sudo touch /etc/apt/sources.list.d/twilio.list
echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
| sudo tee /etc/apt/sources.list.d/twilio.list
sudo apt update
sudo apt install -y twilio
Para conocer otros métodos de instalación, consulta el Inicio rápido de la CLI de Twilio.
Ejecuta twilio login
para conectar la CLI de Twilio a tu cuenta. Visita https://www.twilio.com/console y encontrarás tu Account SID (SID de la cuenta) y Auth Token (token de autenticación) únicos para proporcionar la CLI.
Puedes mostrar tu auth token (token de autenticación) haciendo clic en el ícono del ojo:
Consigue un número de teléfono
Si actualmente no posees un número de teléfono de Twilio con la funcionalidad SMS, deberás comprar uno. Con la CLI, ejecuta esto:
twilio phone-numbers:buy:local --country-code US --sms-enabled
Reemplaza US con el código ISO-3166-1 de tu país si deseas tener un número de teléfono en otro lado. Si no aparece ningún número habilitado para SMS, intenta buscar un número de teléfono celular en lugar de uno local: twilio phone-numbers:buy:mobile --country-code DE --sms-enabled
Selecciona un número de teléfono para agregarlo a tu cuenta.
A continuación, se deben instalar PHP y la biblioteca auxiliar de Twilio PHP.
Instala PHP y la biblioteca auxiliar de Twilio PHP
Si ya tienes instalado PHP y la biblioteca auxiliar de Twilio PHP en tu directorio de trabajo, puedes omitir este paso y proceder a enviar tu primer mensaje de texto.
Para enviar tu primer SMS, debes asegurarte de que PHP se encuentre configurado y de que puedas instalar la biblioteca auxiliar de Twilio PHP. Cuando se realiza un desarrollo web en PHP, sugerimos encarecidamente el uso de Composer para la administración de paquetes. Este inicio rápido se basa en el uso de Composer para instalar la biblioteca auxiliar de PHP. Si decides no utilizar Composer, visita nuestro inicio rápido de SMS en PHP sin Composer.
Instala PHP
Si estás utilizando un equipo Mac o *nix, es posible que PHP ya esté instalado. En tu terminal de preferencia, ejecuta esto:
php --version
Si no se encuentra instalado, sigue las instrucciones de instalación de PHP.
Si estás utilizando un equipo Windows, sigue el tutorial oficial de instalación de PHP.
Aun cuando muchas versiones de PHP 5.x y PHP 7.x funcionarán con este inicio rápido, presta atención a las versiones de PHP compatibles. Siempre actualiza las versiones no compatibles cuando realices desarrollo web, debido a que las versiones más antiguas no recibirán actualizaciones de seguridad.
Instala Composer
Composer es el administrador de paquetes estándar de facto para el desarrollo web con PHP. Si aún no lo has instalado, a continuación, encontrarás las instrucciones de instalación para tu plataforma:
Si prefieres instalar las dependencias de forma manual, revisa nuestro inicio rápido de SMS en PHP sin Composer.
Instala la biblioteca auxiliar de Twilio PHP
Se debe instalar la biblioteca auxiliar de Twilio PHP en el directorio en el cual completarás el inicio rápido. Si utilizas Composer, existen dos maneras de hacerlo.
En primer lugar, puedes ejecutar el siguiente comando desde un terminal:
composer requiere twilio o sdk
De forma alternativa, puedes crear un archivo denominado composer.json
y agregarle esto:
{
"require": {
"twilio/sdk": "^5.0"
}
}
Luego, ejecuta
composer install
Composer buscará la última versión de la biblioteca auxiliar de Twilio PHP.
Por último, para realizar una instalación sin Composer sigue estas instrucciones. Además, será necesario que cambies los ejemplos de código que aparecen en este inicio rápido como se muestran en esas instrucciones.
Envía SMS salientes con PHP
Ahora que PHP, Composer y twilio-php
se encuentran instalados, podemos realizar una solicitud única de API y enviar un mensaje de texto saliente desde nuestro número de teléfono de Twilio. Crea y abre un nuevo archivo denominado send_sms.php
y escribe o pega este ejemplo de código.
Reemplaza los marcadores de posición con las credenciales de Twilio
Intercambia los marcadores de posición en account_sid
y auth_token
con tus credenciales personales de Twilio. Reemplaza los valores de account_sid
y auth_token
con tus valores únicos.
Aun cuando es más sencillo codificar de forma fija tus credenciales en un archivo para este inicio rápido, deberías utilizar las variables de entorno para mantenerlas en secreto durante la producción. Consulta cómo configurar variables de entorno para obtener más información y mira los comentarios del código para ver un ejemplo de cómo leerlas en PHP. Este repositorio también es un excelente recurso para trabajar con variables de entorno.
Reemplaza el número de teléfono twilio_number
Anteriormente, adquiriste un número de teléfono habilitado para SMS. Pega ese número en la variable twilio_number
utilizando el formato E.164:
[+][código del país][número de teléfono con el código de área]
Reemplaza el número “To” en la llamada create()
El primer valor en la llamada create()
es el número de teléfono saliente, actualmente establecido como +15558675310
. Este puede ser cualquier número de teléfono que pueda recibir mensajes de texto, pero deberías utilizar un número que controles para ser testigo de la magia. Según se indicó anteriormente, utiliza el formato E.164 para este número.
Guarda el archivo y, luego, ejecuta el siguiente comando:
php send_sms.php
¡Bum! Dando por hecho que todos los valores son correctos, ya deberías ver el SMS de tu número de Twilio en el teléfono.
¿Tus clientes están en Estado Unidos o Canadá? También puedes enviarles mensajes MMS agregando solo una línea de código. Consulta esta guía para enviar MMS si deseas ver cómo hacerlo.
Si estás en una cuenta de prueba gratuita de Twilio, tus mensajes SMS salientes están limitados a números de teléfono que hayas verificado con Twilio. Los números de teléfono se pueden verificar a través de la ID de agente de llamada verificado de tu consola de Twilio.
Recibe y responde los mensajes SMS entrantes con PHP
Cuando alguien envía un SMS a tu número de teléfono de Twilio, este último realiza una solicitud de HTTP POST
a tu servidor para solicitar instrucciones sobre qué hacer a continuación. Para este inicio rápido, le responderemos al remitente con una nota acerca de cómo vamos a enviar nuestra respuesta por SMS.
Utilizaremos nuevamente la biblioteca de Twilio PHP y, luego, usaremos el servidor web de desarrollo integrado de PHP en conjunto con ngrok para instruir a Twilio sobre cómo manejar el mensaje. Crea un nuevo archivo reply_sms.php
en el mismo directorio que send_sms.php
, ábrelo y, luego, copia y pega o escribe el siguiente código.
Si no estás utilizando el mismo directorio que antes, sigue la instrucción anterior sobre cómo instalar la biblioteca auxiliar de PHP.
Guarda el archivo y, luego, inicia el servidor de desarrollo de PHP con:
php -S localhost:8000
En tu navegador de preferencia, abre la URL http://localhost:8000/reply_sms.php.
Si todo resultó bien, deberías ver TwiML en tu navegador con el mensaje con el cual queremos responder a todos nuestros mensajes entrantes. Y sí, ese es todo el código que necesitas. Sin embargo, solo hay un paso más que debes realizar antes de que todo esté configurado correctamente.
Configura la URL de tu webhook
Necesitas configurar tu número de teléfono de Twilio para llamar a la URL de tu webhook cada vez que llegue un nuevo mensaje. Simplemente, ejecuta el comando de la CLI, mediante el reemplazo del número de teléfono con tu número de teléfono de Twilio:
twilio phone-numbers:update "+15017122661" --sms-url="http://localhost:8000/reply_sms.php"
La CLI iniciará un túnel de ngrok para que Twilio pueda acceder a tu equipo de desarrollo. Luego, espera pacientemente los mensajes de texto entrantes.
Prueba tu aplicación con un mensaje
Ahora que todo está correctamente configurado, es momento de probarlo.
Envía un mensaje de texto desde tu teléfono celular a tu número de teléfono de Twilio. Podrás ver que ocurren un par de cosas rápidamente:
- Tu servidor de desarrollo PHP detectará una nueva conexión.
- Twilio reenviará tu respuesta como un SMS.
Pasos siguientes
Ahora que conoces los aspectos básicos del envío y recepción de mensajes de texto SMS y MMS con PHP, te recomendamos consultar estos recursos:
- Nuestra extensa documentación de referencia de la API para Twilio SMS.
- Aprende a crear una conversación SMS en PHP.
- Realiza un seguimiento del estado de envío de tus mensajes con PHP.
- Prueba TwilioQuest, nuestro juego interactivo que te enseña cómo utilizar Twilio a tu propio ritmo.
Esperamos que hayas disfrutado el inicio rápido y definitivamente nos emociona ver lo que construirás.
¿Necesitas ayuda?
Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.