---
title: 使用Twilio API和云代码发送WhatsApp消息指南
slug: docs-ch/cloud-code-functions/integrations/whatsapp-api
description: 在本指南中，开发者将学习如何在Back4App中使用Twilio API，通过云函数发送WhatsApp消息。这涉及云代码和Twilio的集成步骤。
image: https://www.back4app.com/images/logo-social.png
createdAt: 2024-02-28T14:24:00.087Z
---

# 使用云函数通过Twilio API发送WhatsApp消息

## 介绍

在本指南中，我们将解释如何使用Twilio的简化REST API轻松发送WhatsApp消息。完成本教程后，您可以使用云代码函数向客户发送WhatsApp消息。那么，让我们开始吧。

## 先决条件

:::hint{type="info"}
要完成本教程，您需要：




- 在Back4App创建的应用程序。
- 请遵循 [创建新应用程序教程](https://www.back4app.com/docs/get-started/new-parse-app) 以了解如何在Back4App上创建应用程序。
- 与项目配置的Back4App命令行工具。
- 请遵循 [设置云代码教程](https://www.back4app.com/docs/local-development/parse-cli) 以了解如何为项目设置云代码。
- 在 [Twilio](https://login.twilio.com/u/signup?state=hKFo2SBSTHoyUXZ1NnUzTjZaMHk2Q3EtaXV5LUtnUlhaMzdtN6Fur3VuaXZlcnNhbC1sb2dpbqN0aWTZIE9JTzFKSU9LaVMzTV9fYVo0VDM0a2pnSEpZM09SYUo4o2NpZNkgTW05M1lTTDVSclpmNzdobUlKZFI3QktZYjZPOXV1cks) 创建的账户.
:::

## 让我们开始吧！

正如您所知，Facebook拥有的WhatsApp最近推出了其首个版本的API，供企业与客户无缝集成和沟通。通过使用WhatsApp的此服务到商业API，公司可以向其选择加入的客户发送定制的通知，内容包括相关的非促销信息，例如预订确认、预约提醒和交付警报。

Twilio是一个云通信平台，提供强大的功能，可以立即与WhatsApp商业API进行沟通和原型设计。目前，Twilio的WhatsApp API处于测试阶段，仅允许您向WhatsApp用户发送文本消息。换句话说，使用该服务，尚无法向用户发送图像、音频、视频和PDF文件。

用于向用户发送或接收WhatsApp消息的功能是“Twilio沙盒”。为了向用户的WhatsApp号码发送消息，您需要先激活沙盒，并需要激活将加入您沙盒的号码。在第一步中，我们将解释如何激活您的Twilio沙盒以用于WhatsApp。

:::hint{type="info"}
**注意：**&#x54;wilio 沙盒有 [一些限制](https://www.twilio.com/docs/whatsapp/api#sandbox-limitations), 主要的限制是您只能向那些已加入您特定沙盒的用户发送或接收消息。然而，如果您使用自己的 Twilio 号码启用 WhatsApp，则可以克服此限制。要在自己的号码上激活 WhatsApp，您需要直接提交请求以获得批准，网址为 [Twilio 控制台](https://www.twilio.com/docs/whatsapp/api#enabling-whatsapp-with-a-twilio-number).
:::

在本指南中，我们将解释如何使用简单的 REST API 直接在 WhatsApp 上发送和接收消息，同时作为中间件。我们将编写并实现一个云函数，该函数将与 Twilio API 交互以发送这些消息。一旦此函数被保存事件触发，我们称此函数为 AfterSave.

要在 Twilio 中创建或访问帐户，请查看以下链接：

[创建新帐户](https://www.twilio.com/try-twilio) - [登录到您的帐户](https://www.twilio.com/login)

## 1 - 激活您的 WhatsApp 测试版

登录到现有账户后，您将被重定向到您的项目。但是，如果您是新用户，您首先需要创建一个项目并选择 <font color="#2166ae">`可编程短信`</font> 从产品中。您现在应该在控制台上看到最近创建的项目。接下来，您必须点击 <font color="#2166ae">`可编程短信`</font> 并选择第 4 个选项 <font color="#2166ae">`WhatsApp Beta`</font> 然后按照该部分中给出的步骤激活 WhatsApp 的 Twilio 沙盒。与下面所示相同:

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/Zh_JtnPvd9BXCUzForN8q_image.png)

## 2 - 获取账户 SID 和认证令牌

要找到您的 <font color="#2166ae">`账户 SID`</font> 和 <font color="#2166ae">`认证令牌`</font>, 登录到您的 Twilio 账户，转到您的仪表板并点击设置。关于您的项目的所有重要信息将在该部分中提供。确保按照下面图像中所示的所有说明进行操作:

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/kkaxBERJI8j7fUgZu6U8z_image.png" size="70" width="450" height="425" position="center" showCaption="false"}

现在，您可以复制您的 SID 和身份验证令牌以用于云代码。

## 3 - 从 Twilio 安装模块

在您的计算机上配置命令行界面环境后，创建一个名为 package.json 的文件，在此文件中，您需要安装 Twilio 模块，如下所示：

```json
1   {
2     "dependencies": {
3       "twilio": "*"
4     }
5   }
```

## 4 - 实现云代码

在本节中，我们将向您展示如何使用 [云函数](https://docs.parseplatform.org/cloudcode/guide/#cloud-functions)。

我们将构建一个 afterSave 触发器函数，以激活并发送确认消息，表明对象已被保存。

```javascript
1   Parse.Cloud.afterSave("Contact", (request) => {
2
3     // Requiring the values to send
4     var
5         getPhoneTo   = request.object.get("phone"),
6         getFirstName = request.object.get("firstName"),
7         getPhoneFrom = "+Your Phone number", //Remember to replace your number enable on Twilio Sandbox
8         accountSid = 'AccountSID',
9         authToken  = 'AuthToken',
10        getMessage   = "Welcome " + getFirstName +", to Twilio App! Thank you for your interest, our team will contact you ASAP! ;)";
11
12    //require the Twilio module and create a REST client
13    var client = require('twilio')(accountSid, authToken);
14
15    client.messages
16        .create(
17        {
18            from: "whatsapp:" + getPhoneFrom,
19            body: getMessage,
20            to: "whatsapp:" + getPhoneTo
21        })
22        .then(message => console.log(message.sid))
23        .done();  
24  });
```

## 5 - 测试 AfterSave 触发器

现在我们已经创建并激活了 afterSave 触发器，是时候测试一下这个功能是否正常工作。您也可以在客户端 SDK 中测试该功能，但现在我们将使用 REST API 命令来保存一个新用户：

```curl
curl -X POST \
  -H "X-Parse-Application-Id: ${APPLICATION_ID}" \
  -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Natália", "phone":"+0000000000000"}' \
  https://parseapi.back4app.com/classes/Contact
```

结果将类似于下面的截图。

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/gxPyaasg1-D1aiHmAHNZ6_image.png" size="50" width="338" height="600" position="center" showCaption="false"}

## 6 - 完成！

通过上述指南，您将能够在 Back4App 中使用 Twilio 和云代码功能，并向您选择的客户发送 WhatsApp 消息！

如果您需要任何帮助或某个功能/链接无法正常工作，请通过聊天与我们的团队联系！
