Twilio 服务 [已弃用]
重要
第三方服务和推送通知弃用
App Services 中的第三方服务和推送通知已弃用,转而创建在函数中使用外部依赖项的 HTTP 端点。
Webhook 已重命名为 HTTPS 端点,行为没有发生变化。您应该迁移现有的 Webhook。
现有服务将继续运行到 9 月30 ,2025 。
由于第三方服务和推送通知现已弃用,因此,默认将其从 App Services 用户界面中删除。如果您需要管理现有的第三方服务或推送通知,可以执行以下操作以将配置重新添加到用户界面中:
在左侧导航栏中的 Manage(管理)部分下面,单击 App Settings(应用设置)。
启用 Temporarily Re-Enable 3rd Party Services(暂时重新启用第三方服务)旁边的切换开关,然后保存更改。
Overview
Twilio 为 Web 和移动应用程序提供消息传递、语音和聊天服务。 Atlas App Services Twilio 服务支持将 Twilio 的可编程短信服务集成到您的应用程序中。
要发送出站短信,请使用send()操作。
要处理并可选择响应传入的文本消息,请创建传入的 Webhook并将其添加到 Twilio 消息服务。 有关示例,请参阅本页上的传入 Webhook部分。
注意
要将 Twilio 与App Services结合使用,您必须将Twilio Phone Number注册到与您的 Twilio 帐户关联的消息服务。 您可以从Numbers Twilio仪表盘的 页面创建新号码,或者按照 Twilio 的 可编程短信快速入门 指南。
配置参数
{ "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 | 必需。 如果 注意Twilio 会自动向发送初始消息的电话号码发送一条包含 Webhook 响应正文的文本消息。 |
Run Webhook As run_as_user_id run_as_user_id_script_source | 可选。 调用 Webhook 时执行 Webhook 函数的App Services 用户的 ID。 您可以直接在 |
请求有效负载
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 函数示例
以下 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}`); } }
配置 Twilio
创建消息传递服务
登录 Twilio 。
单击 Twilio 项目左侧导航菜单中的Programmable SMS 。
单击 SMS > Messaging Services(连接)。
单击 Create new Messaging Service(连接)。
输入Friendly Name和Use Case
单击 Create
将 Webhook 添加到 Twilio 项目
单击 Twilio 项目左侧导航菜单中的Programmable SMS 。
单击 SMS > Messaging Services(连接)。
单击要使用的消息传递服务。
在消息服务配置页面上,选中PROCESS INBOUND MESSAGES复选框。
在Request URL框中输入传入的 Webhook URL。
单击 Save(连接)。
您的应用现已与 Twilio 的短信服务集成。 向您的 Twilio 电话号码发送消息,为您的应用调用传入的 Webhook。