Enviar mensajes con servicios de terceros

Las apps de App Engine pueden usar empresas de terceros para enviar correos electrónicos, mensajes SMS o hacer y recibir llamadas telefónicas. Por ejemplo, puedes enviar un correo electrónico para confirmar las transacciones comerciales y la creación de Cuentas de usuario o enviar comunicaciones de marketing.

En esta página, se presentan algunos ejemplos de empresas que proporcionan servicios de comunicación y bibliotecas cliente para apps de App Engine.

Mailgun

Mailgun proporciona APIs de RESTful y bibliotecas cliente para enviar correos electrónicos, además de una cuota gratuita para todos los usuarios. Consulta la calculadora de precios mensuales en la página de registro para ver cuánto cuesta enviar mensajes adicionales y los descuentos por volumen.

Más información sobre Mailgun:

Mailjet

Mailjet es un servicio de correo electrónico global que ofrece una cuota gratuita para los usuarios de App Engine. Para aprovechar esta oferta, haz clic en el siguiente vínculo y crea una cuenta de Mailjet.

Más información sobre Mailjet:

SendGrid

Puedes usar la tecnología de SendGrid para tus correos electrónicos de App Engine. SendGrid puede mejorar tu capacidad de entrega y ofrecer transparencia sobre lo que en verdad sucede con todos los correos electrónicos que envía tu aplicación. Puedes ver estadísticas sobre correos abiertos, clics, anulación de suscripciones, informes de spam y mucho más con la interfaz de SendGrid o su API.

Los clientes de App Engine pueden aprovechar una cuota gratuita si se registran en el plan de API de correos electrónicos de SendGrid a través de la consola de Google Cloud. Ten en cuenta que Google recibe una compensación por los clientes que se registran para obtener una cuenta paga.

Más información sobre SendGrid:

Servicios de voz y SMS a través de Twilio

Puedes usar Twilio para incorporar voz, VoIP y mensajería en aplicaciones. La plataforma Twilio consiste en el lenguaje de marcación de Twilio (TwiML), una API de RESTful y los SDK de VoIP para navegadores web, iOS y Android.

Más información sobre Twilio:

Agrega bibliotecas cliente y claves de API de terceros a tu app

Para agregar bibliotecas cliente a tus entornos de desarrollo y de implementación de App Engine, especifica la biblioteca como una dependencia. Por ejemplo, si deseas especificar dependencias para el entorno de ejecución de Node.js, consulta aquí.

La mayoría de los servicios de terceros usan claves de API para autenticar la app. Debes generar las claves en el sitio del tercero. Para usar las claves de API de terceros en tu app, sigue estos pasos:

  1. Almacena las claves de API en Secret Manager y recupera la clave de forma segura a la hora de inicio de la instancia.

  2. Encripta la clave con Cloud Key Management Service, almacénala en una variable de entorno y desencripta la clave de forma programática en el momento de inicio de la instancia.

  3. En entornos que no son de producción, puedes almacenar la clave en una variable de entorno. Ten en cuenta que cualquier persona que tenga acceso a tu archivo app.yaml también puede acceder a tu clave.

Consulta Elige una solución de administración de secretos para obtener más información sobre las ventajas de cada uno de estos enfoques.

Para almacenar la clave o el valor de clave encriptada en una variable de entorno, haz lo siguiente:

  1. Agrega la clave o el valor de clave encriptada a la sección de variables de entorno del archivo app.yaml de tu app.

    Por ejemplo:

     env_variables:
         EMAIL_API_KEY: key-from-third-party OR encrypted-key
    

    Si usas el entorno de ejecución de Node.js, agrega la clave a las variables de configuración en la sección de variables de entorno de la app en el archivo app.standard.yaml de tu app.

  2. En el código de tu app, recupera la clave o la clave encriptada de tus variables de entorno.

    Por ejemplo, si usas el entorno de ejecución de Python:

     EMAIL_API_KEY = os.environ['EMAIL_API_KEY']
    
  3. Pasa la clave según lo requiera la API del tercero. Asegúrate de desencriptar la clave si la encriptaste anteriormente.