Docs 菜单
Docs 主页
/ /
Atlas App Services
/ /

Twilio 服务 [已弃用]

在此页面上

  • Overview
  • 配置参数
  • 服务操作
  • 和传入网络钩子,
  • 配置
  • 请求有效负载
  • Webhook 函数示例
  • 配置 Twilio
  • 创建消息传递服务
  • 将 Webhook 添加到 Twilio 项目

重要

第三方服务和推送通知弃用

App Services 中的第三方服务和推送通知已弃用,转而创建在函数中使用外部依赖项的 HTTP 端点。

Webhook 已重命名为 HTTPS 端点,行为没有发生变化。您应该迁移现有的 Webhook。

现有服务将继续运行到 9 月30 ,2025

由于第三方服务和推送通知现已弃用,因此,默认将其从 App Services 用户界面中删除。如果您需要管理现有的第三方服务或推送通知,可以执行以下操作以将配置重新添加到用户界面中:

  • 在左侧导航栏中的 Manage(管理)部分下面,单击 App Settings(应用设置)。

  • 启用 Temporarily Re-Enable 3rd Party Services(暂时重新启用第三方服务)旁边的切换开关,然后保存更改。

Twilio 为 Web 和移动应用程序提供消息传递、语音和聊天服务。 Atlas App Services Twilio 服务支持将 Twilio 的可编程短信服务集成到您的应用程序中。

  • 要发送出站短信,请使用send()操作。

  • 要处理并可选择响应传入的文本消息,请创建传入的 Webhook并将其添加到 Twilio 消息服务。 有关示例,请参阅本页上的传入 Webhook部分。

注意

要将 Twilio 与App Services结合使用,您必须将Twilio Phone Number注册到与您的 Twilio 帐户关联的消息服务。 您可以从Numbers Twilio仪表盘的 页面创建新号码,或者按照 Twilio 的 可编程短信快速入门 指南。

创建 Twilio 服务接口时,您需要为以下参数提供值:

<Service Name>/config.json
{
"name": "<Service Name>",
"type": "twilio",
"config": {
"sid": <Twilio Account SID>
},
"secret_config": {
"auth_token": "<Secret Name>"
}
}
Parameter
说明
Service Name
config.name
此 Twilio 服务接口的名称。 它必须不同于应用程序中的所有其他服务接口。
Twilio Account SID
config.sid
Twilio 帐户的唯一标识符。 您可以在 Twilio 帐户仪表盘上找到此值。
Twilio Authorization Token
secret_config.auth_token
存储 Twilio 授权令牌的密钥的名称,该令牌证明您是 Twilio 帐户的所有者。 您可以在 Twilio 帐户仪表盘上找到此值。

App Services 中的 Twilio 服务提供以下可在函数和 SDK 中使用的操作:

有关使用服务操作的说明,请参阅调用服务操作。

注意

将 Twilio Webhook 转换为端点

Twilio Service webhook 已弃用,取而代之的是自定义 HTTPS endpoints。要了解如何将现有 Twilio Webhook 迁移到端点,请参阅将 Webhook 转换为 HTTPS endpoints。

Twilio 服务的传入 Webhook 使您的应用能够处理传入的文本消息。 创建传入 Webhook 后,可以将其添加到 Twilio 消息服务,以处理该服务的传入消息。

创建 Twilio 传入 Webhook时,您需要提供以下形式的配置文件:

{
"name": <string>,
"respond_result": <boolean>,
"run_as_user_id": <string>,
"run_as_user_id_script_source": <string>,
}
配置值
说明
Webhook Name
name

必需。 Webhook 的名称。

注意

Twilio 服务接口中的每个传入 Webhook 都必须具有唯一名称。

Respond With Result
respond_result

必需。 如果true ,App Services 将在响应正文中将 Webhook 函数的返回值发送到 Twilio。

注意

Twilio 会自动向发送初始消息的电话号码发送一条包含 Webhook 响应正文的文本消息。

Run Webhook As
run_as_user_id
run_as_user_id_script_source

可选。 调用 Webhook 时执行 Webhook 函数的App Services 用户的 ID。

可通过三种方式配置执行用户:

  • System:执行用户是系统用户,对MongoDB CRUD和聚合 API 具有完全访问权限,并绕过所有规则和模式验证。

  • User Id:您可以选择特定的应用程序用户来执行该功能。

  • Script:您可以定义一个返回执行用户id函数

您可以直接在run_as_user_id中指定用户 ID,也可以提供字符串化的Atlas Function以接受 Webhook 有效负载并在run_as_user_id_script_source中返回用户 ID。 如果未指定特定用户ID 或解析为用户ID 的函数, App Services将以对 MongoDBCRUD和聚合 API 具有完全访问权限的 系统用户 身份执行 Webhook 函数,并绕过所有规则和模式验证。

App Services 会自动将payload文档作为第一个参数传递给传入的 Webhook 函数。 在 Twilio 服务传入 Webhook 中, payload对象表示传入的 SMS 消息,并具有以下形式:

{
"From": "<Sender's Phone Number>",
"To": "<Receiver's Phone Number>",
"Body": "<SMS Body>"
}
字段
说明
From
一个string ,其中包含 E.164 -formatted 发送传入短信的电话号码。
To
一个string ,其中包含 E.164 -formatted 与接收短信的目标 Twilio 消息服务关联的电话号码。
Body
包含传入文本消息内容的字符串。

例子

从电话号码(555)867-5309发送到 Twilio 电话号码(805)716-6646且附带消息"Hello! How are you?"的短信将由以下payload文档表示:

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

以下 Webhook 函数将发送到 MongoDB collection 中的 Twilio 电话号码的文本消息存储起来,并将文本消息响应发送到发送文本的电话号码。

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. 登录 Twilio

  2. 单击 Twilio 项目左侧导航菜单中的Programmable SMS

  3. 单击 SMS > Messaging Services(连接)。

  4. 单击 Create new Messaging Service(连接)。

  5. 输入Friendly NameUse Case

  6. 单击 Create

  1. 单击 Twilio 项目左侧导航菜单中的Programmable SMS

  2. 单击 SMS > Messaging Services(连接)。

  3. 单击要使用的消息传递服务。

  4. 在消息服务配置页面上,选中PROCESS INBOUND MESSAGES复选框。

  5. Request URL框中输入传入的 Webhook URL。

  6. 单击 Save(连接)。

您的应用现已与 Twilio 的短信服务集成。 向您的 Twilio 电话号码发送消息,为您的应用调用传入的 Webhook。

后退

http.head()