> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# WhatsApp

## 概述

你可以将 WhatsApp 商业账户连接到 ElevenLabs 智能体。智能体随后可以处理：

* 消息对话——文本、语音消息、媒体和[互动消息](/docs/zh/eleven-agents/whatsapp/interactive-messages)
* 通话——呼入和[呼出](/docs/zh/eleven-agents/whatsapp/outbound#scheduling-an-outbound-call)

其他渠道的智能体也可以通过 [WhatsApp 工具](/docs/zh/eleven-agents/whatsapp/tools)发送 WhatsApp 消息。

刚开始在 ElevenLabs 上使用 WhatsApp？请参阅[入门指南](/docs/zh/eleven-agents/whatsapp/getting-started)。

## 导入 WhatsApp 商业账户

#### 导入账户

前往 [WhatsApp 页面](https://elevenlabs.io/app/agents/whatsapp)，点击 ***导入账户*** 按钮：

![WhatsApp 页面](/docs/_fern-img/734d6e0c2af1c50b769700e084368bed2a8c7eccf47aece6cfb6fc5ca7623f44.webp)

#### 授权 ElevenLabs

这将打开授权流程，你可以在其中选择账户并授予 ElevenLabs 管理权限：

![WhatsApp 授权流程](/docs/_fern-img/9e5238e98f926582db314e9debc187a7dc29fd38a980cb732b4563b373110351.webp)

#### 分配智能体

完成账户导入后，系统会跳转到账户设置页面，你可以在此为其分配智能体：

![WhatsApp 账户页面](/docs/_fern-img/f5598ac70ade00048effb5ee3bf6cbc93cd61876652eb3ce5917ac21c6209bf6.webp)

> **Info**
>
> 如果未为账户分配智能体，呼入消息将被忽略，呼入电话将被拒接。不过，你仍可拨打呼出电话。

#### 配置 WhatsApp Manager

前往 [WhatsApp Manager](https://business.facebook.com/latest/whatsapp_manager/) 进行以下操作：

* 配置头像等：打开 ***Phone numbers*** 页面，选择一个电话号码，然后前往 ***Profile*** 标签页
* 允许语音通话：打开 ***Phone numbers*** 页面，选择一个电话号码，然后前往 ***Call settings*** 标签页
* 如需拨打呼出电话，添加付款方式：打开 ***Overview*** 页面，点击 ***Add payment method*** 按钮

## 账户设置

每个导入的号码都有用于控制智能体行为的设置：

* **启用消息功能**——智能体是否回复消息。关闭后，ElevenLabs 仅处理通话，而消息由你的应用处理。
* **启用语音消息回复**——开启时（默认），智能体会用语音消息回复语音消息；关闭时，始终使用文本回复。
* **启用正在输入指示器**——开启时（默认），智能体会将收到的消息标记为已读，并在撰写回复时显示正在输入指示器。

## 消息对话

当智能体使用[***结束对话*** 系统工具](/docs/zh/eleven-agents/customization/tools/system-tools/end-call)、配置的 ***最长对话时长*** 到期，或智能体最近一次回复后的默认非活动超时到期时，WhatsApp 消息对话将结束。

> **Info**
>
> WhatsApp 消息对话的默认非活动超时时间为 15 分钟，从智能体最近一次回复开始计算。详细了解[对话超时](/docs/zh/eleven-agents/customization/conversation-flow#maximum-conversation-duration)。

### 呼入

你可以向 WhatsApp 商业账户发送消息，智能体会回复：

![WhatsApp 文本对话](/docs/_fern-img/4c31b4d2b5eccccd7cddfa81144176a6d3c32f4670add5306f3a6ef78bc05244.webp)

任一超时到期时，ElevenAgents 会在关闭对话前发送配置的 ***最长对话时长消息***。如果该消息为空，对话将直接关闭，不发送告别消息。

智能体不仅能理解纯文本：

* **引用回复**——当用户长按一条消息并回复时，智能体知道用户正在回复哪条消息。
* **回应**——用户对智能体消息添加的表情回应会传递给智能体。
* **模板按钮点击**——当用户点击模板中的快速回复按钮时，智能体可以识别所选按钮。
* **互动回复**——点击[互动按钮和列表](/docs/zh/eleven-agents/whatsapp/interactive-messages)后，智能体会收到所选选项。

> **Note**
>
> 智能体会分别回复每条传入消息。连续快速发送的消息不会合并为一次回复。

### 呼出

你可以通过控制台或 API 发送经 Meta 批准的消息模板来发起对话，也可以通过通话权限请求安排呼出电话。有关创建模板、代码示例、收件人格式规则和批量营销活动，请参阅[呼出消息和模板](/docs/zh/eleven-agents/whatsapp/outbound)。

### 消息类型

除了文本外，还可以发送：

* 音频
  * 呼入语音消息会先转录为文本，再传递给智能体。
  * 默认情况下，智能体会使用配置的音色生成语音消息来回复语音消息——任意音色、任意语言。在账户设置中关闭 ***启用语音消息回复***，即可始终使用文本回复。如果音频生成失败，智能体会改用文本回复。
  * 音频消息会产生额外的语音转文本和文本转语音费用。定价与 STT 和 TTS API 相同。
* 图片
* 文档
* 贴纸
* 位置
* 联系人

![WhatsApp 音频对话](/docs/_fern-img/372158bc0f86d62b6742f2bb44a741e5299ee7b95e36e38c3df1f9c06cffe2a0.webp)![WhatsApp 图片对话](/docs/_fern-img/cbfbadb9d0a20f35537ce3bd137eb12b1005a862a7e1cf0155d271502fb713da.webp)![WhatsApp 文档对话](/docs/_fern-img/2b91d4077ac19a56dda9c5c016a47ed7d574ba2cb77ac89eb8785925bc89fa13.webp)![WhatsApp 位置对话](/docs/_fern-img/bcd0d8f7df69d6c381be5be7c7a91ec7752b2b1894a80539823b7d9266beb3dd.webp)![WhatsApp 联系人对话](/docs/_fern-img/75e56544700c87817a7f842943301a95e9e0b1fb84fc87e19139adb77f49ea5a.webp)

## 通话

### 呼入

你可以呼叫 WhatsApp 商业账户，智能体会接听。通话期间，也可以发送文本消息，这些消息会纳入对话。

### 呼出

呼出电话需要获得用户许可，并通过模板请求许可。有关流程、代码示例和批量呼叫，请参阅[安排呼出电话](/docs/zh/eleven-agents/whatsapp/outbound#scheduling-an-outbound-call)。

## 个性化

我们会将 `{{system__caller_id}}` 和 `{{system__called_number}}` [动态变量](/docs/zh/eleven-agents/customization/personalization/dynamic-variables)设置为 WhatsApp 用户 ID 和你的 WhatsApp 电话号码 ID（或反过来，取决于由谁发起对话）。你可以在工具或[对话发起 webhook](/docs/zh/eleven-agents/customization/personalization#conversation-initiation-webhooks)中使用这些变量，以获取对话中用户的相关信息。

> **Info**
>
> 你可以前往 [WhatsApp 页面](https://elevenlabs.io/app/agents/whatsapp)，点击账户旁的菜单，然后选择 ***Copy phone number ID***，以查找 WhatsApp 电话号码 ID。

### 初始化上下文

如果智能体除了上述系统变量外还使用[动态变量](/docs/zh/eleven-agents/customization/personalization/dynamic-variables)，需要规划这些变量值的来源。如果智能体未使用动态变量，则无需考虑这些内容。

**呼入对话**开始时没有用户提供的动态变量。支持的值提供方式是使用[对话发起 webhook](/docs/zh/eleven-agents/customization/personalization#conversation-initiation-webhooks)：当 WhatsApp 消息发起对话时，ElevenAgents 会使用 WhatsApp 用户 ID 作为 `caller_id`、WhatsApp 电话号码 ID 作为 `called_number` 调用你的端点，并应用响应返回的动态变量。Webhook 应始终返回智能体所需的每个变量——如果有 CRM 值则使用该值，否则使用备用常量。

> **Warning**
>
> 智能体编辑器中 **Dynamic Variables** 下输入的值，仅用于预览智能体的测试占位符。它们不会用于生产环境，也不会作为呼入对话的默认值。

**呼出对话**从[呼出消息或通话请求](/docs/zh/eleven-agents/whatsapp/outbound#dynamic-variables-branches-and-environments)的 `conversation_initiation_client_data.dynamic_variables` 字段获取值。这些值会在整个对话期间保留，用户回复时仍然可用。模板参数是独立字段，不会填充动态变量。

没有值的必填变量会导致对话失败。请参阅故障排除指南中的[缺失动态变量](/docs/zh/eleven-agents/whatsapp/troubleshooting#the-agent-doesnt-respond-to-inbound-messages)。

> **Note**
>
> `system__called_number` 的值是 WhatsApp **电话号码 ID**，而不是电话号码本身。WhatsApp 用户标识符也正在迁移至 [Business-Scoped User IDs (BSUIDs)](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-scoped-user-ids)；ElevenAgents 支持 BSUID，因此即使 Meta 提供的是 ID 而非用户电话号码，对话也能正常运行。

## 限制

目前不支持以下功能：

* **WhatsApp Flows**——无法发送互动表单，Flow 回复也不会传递给智能体。
* **视频消息**——呼入视频不会传递给智能体。
* **消息批处理**——智能体会逐条回复消息，而不会合并连续快速发送的消息。
* **由其他服务商管理的号码**——无法导入已注册其他 WhatsApp 服务商或正在 WhatsApp Business 应用中使用的号码。我们正与 Meta 合作启用 [Multi-Solution Conversations](https://developers.facebook.com/documentation/business-messaging/whatsapp/solution-providers/multi-solution-conversations)；仅语音设置可能已可通过 SIP 实现（参阅 [FAQ](/docs/zh/eleven-agents/whatsapp/troubleshooting#faq)）。
* **在开发者应用下创建的 WABA**——无法通过标准流程导入。
* **广告引荐元数据**——智能体无法获取点击 WhatsApp 广告的归因数据（参阅 [FAQ](/docs/zh/eleven-agents/whatsapp/troubleshooting#faq)）。
* **人工转接**——即将推出（参阅 [FAQ](/docs/zh/eleven-agents/whatsapp/troubleshooting#faq)）。

## 常见问题

有关定价、多服务商设置、人工转接、零保留模式、OTP 和合规性的常见问题，请参阅[故障排除和常见问题](/docs/zh/eleven-agents/whatsapp/troubleshooting)。