Inicio rápido de Programmable Messaging para C# con .NET Framework
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.
¿Buscas .NET Core? También tenemos un inicio rápido para eso.
En pocas líneas de código, tu aplicación .NET Framework puede enviar y recibir mensajes de texto con SMS programable de Twilio.
Este inicio rápido de SMS en C# te enseñará cómo hacerlo utilizando nuestra API REST de comunicaciones y la biblioteca auxiliar de Twilio para .NET.
En este inicio rápido, aprenderás lo siguiente:
- Registrarte en Twilio y obtener tu primer número de teléfono habilitado para SMS
- Configurar tu entorno de desarrollo para enviar y recibir mensajes
- Envíe su primer SMS
- Recibir mensajes de texto entrantes
- Responder mensajes entrantes con un SMS
¿Prefieres comenzar viendo un video? Mira nuestro video de inicio rápido de SMS en C# en YouTube.
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 procedamos a instalarla.
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 encuentras 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 Visual Studio y la biblioteca auxiliar de Twilio C#.
Crea un nuevo proyecto y agrégalo al paquete Twilio NuGet
Si tienes Visual Studio instalado, tienes todo listo para comenzar. De lo contrario, deberías descargarlo e instalarlo ahora.
Una vez que tengas Visual Studio, ábrelo y crea un nuevo proyecto de consola. Haz clic en el botón "Create a new project" (Crear nuevo proyecto):
Luego, selecciona "Console App (.NET Framework)" (Aplicación de la consola [.NET Framework]) desde la lista de plantillas de proyecto:
Una vez que tengas Visual Studio, ábrelo y crea un nuevo proyecto de consola. Selecciona el menú "File" (Archivo), "New" (Nuevo) y, luego, "Project..." (Proyecto) y "Console App (.NET Framework)" (Aplicación de la consola [.NET Framework]).
Posteriormente, selecciona "Tools" (Herramientas), "NuGet Package Manager" (Administrador de paquetes NuGet) y "Package Manager Console" (Consola del administrador de paquetes) en el menú principal de Visual Studio y escribe este comando:
Install-Package Twilio
Envía un mensaje SMS saliente con C#
Ahora que .NET y la biblioteca de Twilio .NET se encuentran instalados, podemos enviar un mensaje de texto saliente desde el número de teléfono de Twilio que acabamos de comprar con una solicitud de API única. Abre el archivo en tu nuevo proyecto denominado Program.cs
y escribe o pega este ejemplo de código, reemplazando el código de muestra que ya se encuentra allí.
Necesitarás editar este archivo un poco más antes de que se envíe el mensaje:
Reemplaza los valores de las credenciales del marcador de posición
Intercambia los marcadores de posición para accountSid
y authToken
con tus credenciales personales de Twilio. Ve a https://www.twilio.com/console e inicia sesión. En esta página, encontrarás tu Account SID (SID de la cuenta) y Auth Token (token de autenticación) únicos, los cuales necesitarás cada vez que envíes mensajes de esta manera a través de Twilio Client. Puedes mostrar tu auth token (token de autenticación) haciendo clic en el enlace “view” (ver):
Edita Program.cs
y reemplaza los valores de accountSid
y authToken
con tus valores únicos.
Ten en cuenta esto: Está bien codificar de forma fija tus credenciales cuando comiences, pero deberías utilizar la configuración para mantenerlas en secreto antes de implementarlas en producción. Recomendamos el uso de variables de entorno para almacenar tus secretos de usuario.
Reemplaza el número de teléfono "from"
¿Recuerdas el número de teléfono habilitado para SMS que compraste hace unos minutos? Utilízalo para reemplazar el número from
(desde) existente, asegurándote de usar el formato E.164:
[+][código del país][número de teléfono con el código de área]
Reemplaza el número de teléfono "to"
Reemplaza el número de teléfono to
(para) por tu número de teléfono celular. Este puede ser cualquier número de teléfono que pueda recibir mensajes de texto, pero es una buena idea probar con tu propio teléfono, para que puedas ser testigo de la magia. Según se indicó anteriormente, utiliza el formato E.164 para este valor.
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.
Guarda los cambios y ejecuta tu proyecto en Visual Studio.
¡Eso es todo! En un momento, deberías recibir un SMS desde tu número de Twilio en tu 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 este tutorial para enviar MMS si deseas ver cómo hacerlo.
Recibe y responde los mensajes SMS entrantes con ASP .NET MVC
Cuando tu número de Twilio reciba un mensaje entrante, Twilio enviará una solicitud de HTTP a un servidor que tú controles. Este mecanismo de devolución de llamada se conoce como webhook. Cuando Twilio envía una solicitud a tu aplicación, espera una respuesta en formato TwiML XML con la instrucción de cómo responder el mensaje. Veamos cómo podríamos crear esto en C# utilizando ASP.NET MVC para .NET Framework.
Crea un nuevo proyecto ASP .NET MVC en Visual Studio
En Visual Studio, haz clic en "Create a new project" (Crear nuevo proyecto):
Selecciona "ASP.NET Web Application (.NET Framework)" (Aplicación web ASP.NET [.NET Framework]) desde la lista de plantillas:
Cuando se solicite, escoge "MVC" como tipo de proyecto:
En Visual Studio selecciona el menú "File" (Archivo), "New" (Nuevo) y, luego, "Project..." (Proyecto) y "ASP.NET Web Application (.NET Framework)." (Aplicación web ASP.NET [.NET Framework]).
A continuación, elige la plantilla "MVC".
Instala el paquete Twilio.AspNet.Mvc
Selecciona "Tools" (Herramientas), "NuGet Package Manager" (Administrador de paquetes NuGet) y "Package Manager Console" (Consola del administrador de paquetes) en el menú principal de Visual Studio y escribe el siguiente comando:
Install-Package Twilio.AspNet.Mvc -DependencyVersion HighestMinor
Crea un nuevo controlador
En el directorio denominado Controllers
, crea un nuevo controlador con el nombre SmsController.cs
. (Haz clic derecho en la carpeta Controllers [Controladores] y selecciona "Add >" [Agregar], "Controller..." [Controlador...] y escoge la plantilla "MVC 5 Controller - Empty").
Utiliza este código para crear una acción que pueda manejar los mensajes entrantes. Asegúrate de utilizar el ejemplo de código completo (observa, por ejemplo, cómo el SmsController
deriva de TwilioController
).
Ejecuta la aplicación desde Visual Studio (haz clic en la flecha verde "play" [reproducir]). Esto debería abrir un navegador web con la página de bienvenida de ASP.NET con una URL parecida a https://localhost:44360. NOTA: tu número de puerto puede ser diferente a 44360. Necesitarás esta URL en el siguiente paso para vincular la aplicación con tu número de teléfono de Twilio.
Configura la URL de tu webhook
Ahora, 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 propio número de teléfono de Twilio y asegúrate de que la URL tiene el número de puerto correcto:
twilio phone-numbers:update "+15017122661" --sms-url="https://localhost:44360/sms"
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
Asegúrate de que tu proyecto y túnel de ngrok se estén ejecutando.
Con ambos servidores en ejecución, estamos listos para la parte entretenida, que es probar nuestra nueva aplicación de SMS ASP .NET.
Envía un SMS desde tu teléfono celular a tu número de teléfono de Twilio que está configurado con este webhook. Tu app ASP.NET procesará el mensaje de texto y recibirás tu respuesta en forma de SMS.
¿Dónde ir a continuación?
Ahora que conoces los aspectos básicos del envío y recepción de mensajes de texto SMS y MMS con C# and NET, te recomendamos consultar estos recursos.
- Documentación de la API REST
- Documentos de referencia de TwiML
- Tutoriales con aplicaciones de ejemplo completas en C#
- Protege tu app C#/ASP.NET mediante la validación de las solicitudes entrantes de Twilio
¡Disfrute este truco!
¿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.