Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Servicios de terceros

Servicio Twilio

Importante

Servicios de terceros y notificaciones push obsoletos

Los servicios de terceros y las notificaciones push en App Services han quedado obsoletos en favor de la creación de puntos finales HTTP que usan dependencias externas en funciones.

Webhooks se han renombrado a HTTPS Endpoints sin cambios en el comportamiento. Debe migrar los Webhooks existentes.

Los servicios existentes continuarán funcionando hasta el de septiembre 30 2025de.

Dado que los servicios de terceros y las notificaciones push ya no se utilizan, se han eliminado de forma predeterminada de la interfaz de usuario de App Services. Si necesita administrar un servicio de terceros o una notificación push existente, puede volver a agregar las configuraciones a la interfaz de usuario siguiendo estos pasos:

  • En la navegación izquierda, debajo del Manage sección, haga clic en App Settings.

  • Habilite el interruptor junto a Temporarily Re-Enable 3rd Party Services y luego guarde los cambios.

Twilio provides messaging, voice, and chat services for web and mobile apps. The Atlas App Services Twilio service supports integrating Twilio's Programmable SMS service into your application.

  • To send an outbound text message, use the send() action.

  • Para manejar y responder opcionalmente a los mensajes de texto entrantes, cree un webhook entrante y Añádelo a un servicio de mensajería de Twilio. Consulta la sección de webhooks entrantes de esta página para ver un ejemplo.

Nota

Para usar Twilio con App Services, debes tener un Twilio Phone Number número registrado en un servicio de mensajería asociado a tu cuenta de Twilio. Puedes crear un nuevo número desde la Numbers página del panel de Twilio o siguiendo la Guía de inicio rápido de SMS programables de Twilio. guide.

Necesitará proporcionar valores para los siguientes parámetros cuando cree una interfaz de servicio Twilio:

<Service Name>/config.json
{
"name": "<Service Name>",
"type": "twilio",
"config": {
"sid": <Twilio Account SID>
},
"secret_config": {
"auth_token": "<Secret Name>"
}
}
Parameter
Descripción
Service Name
config.name

El nombre de esta interfaz de servicio de Twilio. Debe ser único respecto a las demás interfaces de servicio de su aplicación.

Twilio Account SID
config.sid

A unique identifier for your Twilio account. You can find this value on your Twilio account dashboard.

Twilio Authorization Token
secret_config.auth_token

The name of a Secret that stores a Twilio authorization token, which proves that you are the owner of a Twilio account. You can find this value on your Twilio account dashboard.

El servicio Twilio en App Services proporciona las siguientes acciones, disponibles en funciones y en los SDK:

Para instrucciones sobre cómo usar una acción de servicio, consulta Llamar a una acción de servicio.

Nota

Convertir webhooks de Twilio en puntos finales

Los webhooks del servicio Twilio están en desuso en favor de HTTPS endpoints personalizados. Para saber cómo migrar tus webhooks de Twilio existentes a endpoints, consulta Convertir Webhooks a HTTPS Endpoints.

Los webhooks entrantes para el servicio Twilio permiten que tu aplicación gestione mensajes de texto entrantes. Una vez que hayas creado un webhook entrante, puedes añadirlo a un servicio de mensajería de Twilio para gestionar los mensajes entrantes de ese servicio.

Necesitarás proporcionar valores para los siguientes parámetros cuando crees un webhook de entrada de Twilio:

Necesitarás proporcionar un archivo de configuración de la siguiente forma cuando crees un webhook entrante de Twilio.

{
"name": <string>,
"respond_result": <boolean>,
"run_as_user_id": <string>,
"run_as_user_id_script_source": <string>,
}
Valor de configuración
Descripción
Webhook Name
name

Obligatorio. El nombre del webhook.

Nota

Each incoming webhook in a Twilio service interface must have a unique name.

Respond With Result
respond_result

Obligatorio. Si es true, App Services envía el valor de retorno de la función de webhook a Twilio en el cuerpo de la respuesta.

Nota

Twilio enviará automáticamente un mensaje de texto con el cuerpo de la respuesta del webhook al teléfono que envió el mensaje inicial.

Run Webhook As
run_as_user_id
run_as_user_id_script_source

Optional. The id of the App Services user that executes the webhook function when the webhook is called.

Existen tres formas de configurar el usuario de ejecución:

  • System:El usuario de ejecución es el usuario del sistema, que tiene acceso completo a las API de CRUD y agregación de MongoDB y omite todas las reglas y la validación del esquema.

  • User Id:Selecciona un usuario de aplicación específico para ejecutar la función.

  • Script: Se define una función que devuelve el id del usuario de ejecución.

Puede especificar el ID de usuario directamente en run_as_user_id o proporcionar una Función de Atlas en forma de string que acepte la carga útil del webhook y retorne el ID de usuario en run_as_user_id_script_source. Si no especifica un ID de usuario o una función que resuelva un ID de usuario específico, App Services ejecutará la función del webhook como el usuario del sistema que tiene acceso total a las API CRUD y de agregación de MongoDB y omite todas las reglas y validación de esquema.

App Services pasa automáticamente un documento payload como primer argumento a las funciones de webhook entrantes. En un webhook entrante de Twilio Service, el objeto payload representa un mensaje SMS entrante y tiene el siguiente formato:

{
"From": "<Sender's Phone Number>",
"To": "<Receiver's Phone Number>",
"Body": "<SMS Body>"
}
Campo
Descripción

From

Una cadena que contiene el número de teléfono con formato E.164que envió el mensaje de texto entrante.

To

Body

Una cadena que contiene el contenido del mensaje de texto entrante.

Ejemplo

Un mensaje de texto enviado desde el número de teléfono (555)867-5309 al número de teléfono Twilio (805)716-6646 con el mensaje "Hello! How are you?" estaría representado por el siguiente documento payload:

{
"From": "+15558675309",
"To": "+18057166646",
"Body": "Hello! How are you?"
}

La siguiente función de webhook almacena los mensajes de texto enviados a un número de teléfono de Twilio en una colección de MongoDB y envía una respuesta de mensaje de texto al número de teléfono que envió el texto.

exports = async function(payload, response) {
// const { To, From, Body } = payload;
const mongodb = context.services.get("mongodb-atlas");
const texts = mongodb.db("demo").collection("texts");
try {
// Save the text message body, to number, and from number
const { insertedId } = await texts.insertOne(payload);
// Send the user a confirmation text message
response.setBody(`Saved your text message with _id: ${insertedId}`);
} catch (error) {
// Send the user an error notification text message
response.setBody(`Failed to save your text message: ${error}`);
}
}
  1. Inicia sesión en Twilio.

  2. Haga clic en Programmable SMS en el menú de navegación izquierdo de su proyecto Twilio.

  3. Haga clic en SMS > Messaging Services.

  4. Haga clic en Create new Messaging Service.

  5. Ingresa un Friendly Name y un Use Case

  6. Haga clic Create

  1. Haga clic en Programmable SMS en el menú de navegación izquierdo de su proyecto Twilio.

  2. Haga clic en SMS > Messaging Services.

  3. Click the messaging service that you want to use.

  4. En la página de configuración del servicio de mensajería, marque la casilla PROCESS INBOUND MESSAGES.

  5. Introduzca la URL del webhook entrante en el cuadro Request URL.

  6. Haga clic en Save.

Your App is now integrated with Twilio's SMS messaging service. Send a message to your Twilio phone number to invoke the incoming webhook for your App.

Volver

http.head()

En esta página