Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Construyendo Tu Startup: Preparando para Mensajes de Texto

by
Read Time:7 minsLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup: Increasing Security
Building Your Startup: Automatic Time-Zone Detection

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Este tutorial es parte de la serie Construyendo Tu Startup Con PHP en Envato Tuts+. En esta serie, te estoy guiando a través de lanzar una startup desde concepto a realidad usando mi aplicación Planificador de Reuniones como ejemplo de la vida real. Cada paso a lo largo del camino, liberaré el código de Planificador de Reuniones como ejemplos de código abierto de los cuales puedes aprender. También abordaré temas relacionados con negocios según surjan.

Preparando para Mensajes de Texto

Cuando estás en el camino y se aproxima una reunión, recibir mensajes de texto es regularmente más útil que recordatorios de correo electrónico. Siempre he sabido que los mensajes de texto (o SMS) jugarían un papel útil en Planificador de Reuniones.

En el episodio de hoy, te voy a llevar a través de la primera mitad de mi configuración SMS para la aplicación Planificador de Reuniones. Básicamente, cubriré elegir a un proveedor de SMS, configurar la cuenta, construir la infraestructura de aplicación, y probar los mensajes.

En el siguiente episodio, construiré escenarios específicos de mensaje en la aplicación Planificador de Reuniones y te guiaré a través de esas decisiones y el código que acompaña.

Si aún no lo has hecho, por favor prueba Planificador de Reuniones justo ahora programando tu primera reunión. Siéntete libre de publicar retroalimentación sobre tu experiencia en los comentarios de abajo.

Participo en la sección de comentarios, pero también puedes contactarme en Twitter @reifman. Siempre estoy abierto a nuevas ideas de características y sugerencias de temas para futuros tutoriales.

Como recordatorio, todo el código para Planificador de Reuniones está escrito en el Framework Yii2 para PHP. Si quisieras aprender más sobre Yii2, revisa nuestra serie paralela Programando con Yii2. Entre más construyo Planificador de Reuniones, me impresiono más con Yii2 y su equipo de voluntarios.

Eligiendo un Proveedor de SMS

La manera más fácil de enviar mensajes de texto desde tu aplicación es suscribirse a un servicio. Así como uso Mailgun para el correo entrante y saliente de Planificador de Reuniones, necesitaré a un proveedor de SMS para entregar mensajes de texto.

Los dos servicios más prominentes que he revisado fueron Twilio y Plivo. Ambos parecieron proveedores competentes, pero Twilio tuvo servicios más amplios, documentación más rica y experiencia de usuario de mayor nivel.

Aquí está una captura de la página de producto SMS de Twilio:

Building Startups Text and SMS - Twilio Home Page for SMS FeaturesBuilding Startups Text and SMS - Twilio Home Page for SMS FeaturesBuilding Startups Text and SMS - Twilio Home Page for SMS Features

Twilio ofrece tal arreglo de servicios que tienes que sumergirte un poco y encontrar SMS:

Building Startups Text and SMS - Twilio Product Offering MenuBuilding Startups Text and SMS - Twilio Product Offering MenuBuilding Startups Text and SMS - Twilio Product Offering Menu

Plivo también parecía una buena opción, pero su sitio web, documentación y API no parecían tan sofisticados como Twilio:

Building Startups Text and SMS - Plivo Home PageBuilding Startups Text and SMS - Plivo Home PageBuilding Startups Text and SMS - Plivo Home Page

SIn embargo, Plivo es mucho más barato que Twilio; específicamente, ofrece SMS de entrada gratuito:

Building Startups Text and SMS - Pricing Comparison Twilio vs PlivoBuilding Startups Text and SMS - Pricing Comparison Twilio vs PlivoBuilding Startups Text and SMS - Pricing Comparison Twilio vs Plivo

Decidí usar Twilio para mi implementación inicial de SMS, pero para modularizar las características de manera que podría cambiarlos a un proveedor diferente.

Tengo algunas preocupaciones sobre los costos de enviar mensajes en Planificador de Reuniones según escale la audiencia. ¿Ofreceré SMS de manera gratuita para todos los usuarios incluso antes de que haya un flujo de ingreso o inversionistas?

En la etapa temprana alfa, esto no era una preocupación importante. De nuevo, estoy concentrado en entregar el mejor MVP que pueda para la liberación beta.

Comenzando Con Twilio

Registrándose

Registrarse con Twilio es sencillo:

Building Startups Text and SMS - Twilio Sign UpBuilding Startups Text and SMS - Twilio Sign UpBuilding Startups Text and SMS - Twilio Sign Up

Como un proveedor sofisticado de comunicación, ellos implementan verificación SMS en su proceso de registro:

Building Startups Text and SMS - Twilio VerificationBuilding Startups Text and SMS - Twilio VerificationBuilding Startups Text and SMS - Twilio Verification

El Tablero SMS

Una vez verificado, aterrizas en un tablero amigable y bien diseñado:

Building Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS Dashboard

Reuniendo Nuestras Credenciales

Primero, accedí el ID de la cuenta y token de la página de Credenciales de API:

Building Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS DashboardBuilding Startups Text and SMS - Twilio SMS Dashboard

Tomé nota de estos para integración posterior con Planificador de Reuniones.

Obteniendo un Número de Teléfono

Twilio te proporciona un número de teléfono desde el cuál puedes enviar SMS desde tu aplicación:

Building Startups Text and SMS - Twilio Get Your Phone NumberBuilding Startups Text and SMS - Twilio Get Your Phone NumberBuilding Startups Text and SMS - Twilio Get Your Phone Number

Elegí un número con código de área de Seattle, en donde está establecido Planificador de Reuniones:

Building Startups Text and SMS - Twilio Your New Phone Number isBuilding Startups Text and SMS - Twilio Your New Phone Number isBuilding Startups Text and SMS - Twilio Your New Phone Number is

Después, usando Twilio, envié mi primer mensaje de prueba:

Building Startups Text and SMS - Twilio Test Send a MessageBuilding Startups Text and SMS - Twilio Test Send a MessageBuilding Startups Text and SMS - Twilio Test Send a Message

El mensaje llegó muy rápido en mi teléfono.

Pensando Sobre Los Mensajes Entrantes

Pensando más allá de MVP, la capacidad de mensajes entrantes sería grandiosa para Planificador de Reuniones. Por ejemplo, podrías enviar un mensaje de que se te hizo tarde o necesitas un enlace conveniente para instrucciones para la aplicación de navegación de tu aplicación. Actualmente, tienes que dar clic en la web de la invitación de reunión para hacer esto.

Twilio ofrece un conjunto rico de servicios para responder textos entrantes, incluyendo un lenguaje de marcado de texto llamado TwiML.

Building Startups Text and SMS - Twilio Incoming MessagesBuilding Startups Text and SMS - Twilio Incoming MessagesBuilding Startups Text and SMS - Twilio Incoming Messages

Por el momento, no me voy a preocupar demasiado sobre mensajes entrantes. Sin embargo, cualquier vez que la gente te mande un texto a tu número de Twilio, se te cobrará; en otras palabras, se presta a abusos.

Veamos un par de maneras fáciles de administrar costos.

Controlando Costos

Para pruebas alfa y beta, estoy limitando el soporte de mensajes a número de teléfono de Norte América. Esto mantendrá los costos un poco más bajos. Twilio ofrece una manera integrada de filtrar por geografía:

Building Startups Text and SMS - Controlling Geo Permissions for Managing CostsBuilding Startups Text and SMS - Controlling Geo Permissions for Managing CostsBuilding Startups Text and SMS - Controlling Geo Permissions for Managing Costs

Twilio también proporciona Servicios de Mensajería los cuales puedes configurar para comportarse de maneras específicas para tu aplicación, incluyendo bloquear todos los SMS:

Building Startups Text and SMS Building Startups Text and SMS Building Startups Text and SMS

Como puedes ver, ellos también ven al spam de textos de entrada y el abuso como una debilidad en la plataforma SMS general (no la suya) de la que son precavidos.

Integrando Twilio En Planificador de Reuniones

Después, quise obtener la funcionalidad básica SMS operando dentro Planificador de Reuniones.

Encontrando una Extensión Yii para Twilio

Resulta que hay bastantes extensiones disponibles para Twilio con el Framework Yii. Decidí instalar el envoltorio de Yii2 para Twilio PHP SDK (GitHub) de Filip Ajdačić porque su nombre era el más inusual (solo bromeo, su extensión parecía ser mantenida regularmente).

Agregué la extensión a composer.json. Como está técnicamente en modo de desarrollo, esto funcionó mejor que requerir directamente la extensión:

Después, actualicé el entorno:

No estaba muy preocupado sobre su estado de desarrollo porque es una extensión relativamente simple que solo activa la API Twilio.

Agregando las Credenciales

Primero, agregué las llaves desde arriba para mis archivos de inicialización:

Después, agregué registro del componente en /frontend/config/main.php:

También encontré que es mejor colocar unas cuantas de las variables en common\config\params-local.php para acceso más fácil a lo largo de la aplicación:

Construyendo un Modelo SMS

Después construí un modelo Sms.php para usar programáticamente cuando se necesitaran los textos:

Inicialmente, findUserNumber() era un talón, y transmit() solo enviaría a un número de prueba en params-local.php, mi teléfono celular personal.

Aquí hay algún código de prueba que usé para enviar mi primer mensaje desde Planificador de Reuniones:

Aquí están los resultados:

Building Startups Text and SMS - My First Twilio TextBuilding Startups Text and SMS - My First Twilio TextBuilding Startups Text and SMS - My First Twilio Text

Nota: sí, sé que debería cambiar mi teléfono--pero es realmente la pobre vida de batería del iPhone 6 lo que es el problema.

Así qué, así es como te registras en Twilio e implementas funcionalidad básica.

Mirando Hacia Adelante

En el siguiente episodio, exploraremos la integración de SMS con Planificador de Reuniones. Aquí hay algunas preguntas que surgirán:

  • ¿Como proporcionará la gente sus números de teléfono para mensajes de texto?
  • ¿Que características de Planificador de Reuniones debería usar SMS para notificaciones y entrega?
  • ¿Cómo decidirá la gente para qué quieren recibir textos desde Planificador de Reuniones?
  • ¿Planificador de Reuniones procesará textos de entrada y los responderá?
  • ¿Cómo controlaré los costos SMS y preveniré el abuso durante la etapa MVP de la startup?
  • ¿Que implicará cambiar a Plivo para reducir costos?

Como siempre, por favor mantente en sintonía para futuros tutoriales en la serie Construyendo Tu Startup Con PHP. Como el anterior candidato Presidencial Donald Trump solía decir, "Vamos a ganar, ganar tanto que te cansarás de ganar. Dirás, 'Por favor Jeff, deja de ganar'. Y diré, 'No, lo siento, ponte cómodo, habrá más triunfo."

¿Has programado una reunión vía Planificador de Reuniones aún? ¿No? ¡Ve! Hazlo. ¡Hazlo ahora! Y como siempre, déjame saber lo que piensas abajo en los comentarios. Lo aprecio. No puedo seguir ganando sin tu ayuda.

Enlaces Relacionados

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.