要通过 WhatsApp API 发送消息,通常需要准备 WhatsApp Business 账户、已绑定的企业电话号码、电话号码 ID、访问令牌,以及已获批的消息模板,或处于开放状态的 24 小时客服会话窗口。 实际发送消息时,是向 WhatsApp Business Platform 的 messages 端点发起 POST 请求,但大多数消息送达问题并不出在 POST 请求本身,而是与配置、模板、用户授权以及 Webhook 回调规则有关。
本指南主要讲解 WhatsApp API 的使用方式:消息是如何发送的、需要哪些字段、何时必须使用模板,以及如何在不违反 Meta 政策或影响客户信任的前提下,从测试发送平稳过渡到生产环境正式发送。
快速答案
如果您希望通过 CRM、电商、客服、OTP 验证场景或营销自动化等企业系统发送消息,请使用 WhatsApp Business Platform。只有在您希望打开与用户的聊天窗口时,才应使用 Click-to-Chat 链接。它们无法为您的应用提供服务端 API,用于大规模发送模板消息、事务性消息或用户生命周期消息。
-点击对话(Click-to-Chat)链接:
api.whatsapp.com/send
和 wa.me
只是用于打开聊天窗口,并不是服务端消息发送 API。
什么才算使用 WhatsApp API 发送消息?
“使用 WhatsApp API 发送消息”这一说法通常被用来指代四种不同的东西。这四者并不能混为一谈:
| 选项 | 功能说明 | 适用场景 | 是否支持通过 API 发送消息? |
|---|---|---|---|
| api.whatsapp.com/send 或 wa.me | 打开与某个电话号码的聊天窗口,并可预填一段文本。 | 网站按钮、广告投放,以及简单的点击聊天流程。 | 不可以。它是一个链接,不是服务端消息发送 API。 |
| WhatsApp Business App | 让小团队通过一个企业电话号码手动回复消息。 | 微型企业以及消息量较低的客服场景。 | 没有可实际用于自动化的 API。 |
| WhatsApp Cloud API | 让开发者通过 Meta 的 API 发送、接收和追踪消息。 | 适合能够处理配置、访问令牌、Webhook、模板及合规要求的团队。 | 可以 |
| 业务解决方案提供商或消息平台 | 在官方 API 的基础上,提供开户引导、模板工具、消息路由、数据分析、技术支持和集成能力。 | 适合希望开展生产级消息发送、但不想独自搭建全部运营能力的团队。 | 可以 |
如果您的目标只是让访客发起聊天,请使用点击对话链接。如果您的目标是从后端触发订单更新、OTP 验证码、预约提醒、弃购消息、WhatsApp 客服流程 或生命周期运营活动,您就需要使用 WhatsApp Business Platform。
发送 WhatsApp API 消息前,您需要准备哪些内容?
只有完成企业侧配置后,测试消息发送才会变得简单。在编写请求体之前,请确认以下六项内容:
API 就绪检查清单
企业验证: 您的企业身份已在 Meta Business Manager 中完成验证。
WhatsApp Business Account(WABA): 您的 WABA 已创建,并已关联到正确的企业主体。
电话号码 ID: 发送号码已完成注册和验证,且未绑定到普通 WhatsApp 应用。
访问令牌: 您的应用或系统能够通过 Graph API 或 BSP 提供的 API 完成鉴权。
模板审批: 任何发生在客服会话窗口之外、由企业主动发起的外发消息,都必须使用已获批的模板。
Webhook 端点: 您的系统可以接收送达、已读、失败以及入站消息回调事件。
在您确定接入路径之前,请先确认您的号码当前是否已绑定到普通 WhatsApp 应用,还是已经具备 API 接入条件。根据 Meta WhatsApp Cloud API 文档(2026) ,消息发送通过服务商的消息端点完成,而模板、媒体和交互式消息分别有各自的对象规则。
使用 WhatsApp API 发送消息:分步操作流程
不同服务商的控制台会有所不同,但正式上线后的流程通常是一致的:完成账户接入、验证号码、创建模板、发送测试消息,然后监控状态回调事件。
第 1 步:选择直连 Cloud API,还是通过 BSP 接入
直连 Cloud API 能让开发者获得最高的控制权。BSP 或消息平台则可为团队提供更多运营支持,包括嵌入式开户、模板管理、路由、数据分析和支持服务。 如果整个接入与运营生命周期均由工程团队负责,请选择直连 API;如果业务团队需要营销活动管理工具、审批、报表或跨渠道自动化,请选择平台方案。
在第二种路径中,EngageLab 是构建在官方 WhatsApp Business API 之上的开户接入、模板管理、数据分析和工作流管理层,而非直接替代 Meta 官方 API。
| 决策问题 | 直连 Cloud API | BSP / 平台 |
|---|---|---|
| 由谁负责接入与配置? | 工程团队 | 市场、客服、产品和工程团队共同负责 |
| 模板创建 | 通过 Meta 官方工具创建,或使用自定义工具创建 | 通常可在平台界面内直接管理 |
| 数据分析 | 您需要基于 Webhook 回调和日志自行搭建分析看板 | 平台已内置送达分析和互动分析能力 |
| 最佳适用场景 | 以 API 为核心、内部工具能力较强的产品团队 | 需要快速、稳定上线 WhatsApp 消息能力的团队 |
步骤 2. 获取您的电话号码 ID 和访问令牌
要发送 WhatsApp API 消息,您需要准备发送号码和认证凭据。在 Cloud API 接入方式下,这通常指电话号码 ID 和访问令牌。在 BSP 接入方式下,服务提供商可能会提供其自有的 API 认证信息,同时在后台处理 Meta 侧的相关细节。
- 必填标识符:
phone_number_id
- 必填认证信息:
Authorization: Bearer ACCESS_TOKEN
- 接收方号码格式要求:
country_code + phone_number
,除非您的服务提供商另有说明,否则不要包含空格或符号。
步骤 3. 为外发消息创建已获批的模板
如果客户最近没有向您的企业发送消息,通常您不能发送自由文本消息。您必须发送已获批的模板。模板通常用于账户验证、订单更新、预约提醒、付款通知,以及符合 WhatsApp 政策的营销消息等场景。
Meta 的 Cloud API 发送消息文档 介绍了官方端点和消息对象模型。但对于生产环境,更关键的是运营层面的要求:模板名称、语言、变量和按钮参数必须与已获批模板完全一致。
步骤 4. 发送 API 请求
一次消息发送请求通常包含三个部分:端点、请求头和 JSON 请求体。请将版本占位符替换为您的应用当前使用的 Graph API 版本。
- 端点:
POST https://graph.facebook.com/vXX.X/{phone-number-id}/messages
- 请求头:
Authorization: Bearer ACCESS_TOKEN
和 Content-Type: application/json
- 必填字段:
messaging_product
、to、type,以及与消息类型相匹配的消息对象,例如 template 或 text
。
- 模板示例:
{"messaging_product":"whatsapp","to":"15551234567","type":"template","template":{"name":"order_update","language":{"code":"en_US"}}}
如果您是通过某个平台 API 发送消息,端点和字段名称可能会有所不同,但相同的业务规则仍然适用:有效的接收方号码、有效的发送号码、已获批的模板、正确的语言,以及用户明确同意接收消息。
步骤 5. 监控消息状态和错误
HTTP 响应成功,并不一定意味着用户已经看到消息。您仍然需要结合送达、失败等 Webhook 事件,确认该消息是已发送、已送达、已读,还是已被拒绝。
值得对比的主流 WhatsApp API 消息发送服务商
原文比较了五类服务商,这部分内容在这里仍然值得参考。但现在更重要的是比较服务商的方式:不要只看它能不能发送 WhatsApp 消息,还要看它在接入支持、模板管理、数据分析、地区覆盖能力,以及是否能与您的客户旅程打通等方面的能力。
| 服务商 | 最佳适用场景 | 需要重点考察的内容 | 消息发送场景侧重点 |
|---|---|---|---|
| EngageLab | 适合希望同时获得 WhatsApp API 配置、模板、数据分析能力以及客户互动流程能力的团队。 | 您是否还需要在 WhatsApp 之外,配套使用短信、邮件、推送通知或生命周期自动化能力。 | 当消息发送是 OTP 验证码发送、客户支持、营销或留存流程的一部分时,尤其适合。 |
| Twilio | 适合已在使用 Twilio API 处理短信、语音或其他渠道,且由开发团队主导的团队。 | 按国家/地区计算的总体成本、模板运营流程,以及您内部还需要自行搭建多少配套工具。 | 对于由工程团队主导的消息系统,这是一个很强的 API 优先方案。 |
| CallHippo | 适合希望在通话或企业电话流程中使用 WhatsApp 的销售和客户支持团队。 | 每用户席位定价、团队收件箱流程的适配度,以及自动化深度是否符合您的使用场景。 | 更适合团队协作式对话场景,而非复杂的生命周期消息发送。 |
| Wati | 适合专注于 WhatsApp 电商和客户支持的中小企业。 | 模板管理、Shopify 或电商集成,以及在联系人规模扩大后的定价表现。 | 适合以 WhatsApp 为核心开展运营的中小企业。 |
| SleekFlow | 适合需要跨聊天渠道管理销售对话的社交电商团队。 | 套餐限制、团队收件箱需求,以及销售自动化是否为核心诉求。 | 当消息发送流程与会话式销售紧密结合时,这类平台会更合适。 |
围绕配置、模板和数据分析构建消息发送流程
将 WhatsApp Business API 配置与模板创建、模板审批状态校验打通。
在 API 响应之后,跟踪送达、已读、失败、用户回复和转化事件。
当您需要兜底触达或开展生命周期运营时,可将 WhatsApp 与短信、邮件和推送通知结合使用。
模板消息与会话内回复
很多 WhatsApp API 项目,问题就出在这里。API 支持发送不同类型的消息,但实际可发送哪些消息,取决于由谁发起对话,以及客服会话窗口是否仍然开启。
| 消息类型 | 适用场景 | 是否需要审批? | 常见场景 |
|---|---|---|---|
| 模板消息 | 企业主动发送的外发消息,尤其是在客服会话窗口之外。 | 是,模板需事先通过审批。 | OTP 验证码、订单更新、预约提醒、物流通知、促销活动。 |
| 自由格式文本回复 | 当用户先向您的企业发送消息后,在已开启的客服会话窗口内回复。 | 回复本身无需模板审批。 | 客服回复、故障排查、正在进行的会话。 |
| 媒体消息 | 当图片、文档、音频或视频有助于推进沟通时使用。 | 是否需要审批取决于该消息是在模板中发送,还是在服务会话中发送。 | 收据、文档、产品图片、登机牌、票务凭证。 |
| 交互式消息 | 当您希望用户选择回复、点击按钮或查看简短选项列表时使用。 | 是否需要审批取决于平台政策和具体会话场景。 | 客服菜单、配送选项、预约流程、线索筛选。 |
WhatsApp API 发送消息时的常见错误
当团队反馈“WhatsApp API 消息没有发送成功”时,根本原因通常是以下几种之一:
| 问题 | 可能原因 | 修复方法 |
|---|---|---|
| HTTP 响应成功,但用户未收到消息 | 模板质量问题、政策拦截、收件人异常,或未通过 webhook 进行排查。 | 请检查消息状态 webhook、模板状态、质量评分,以及收件人的授权订阅来源。 |
| 自由文本消息被拒绝 | 当前未处于已开启的客服会话窗口内。 | 请使用已获批的模板,或等待客户先向您的企业发起消息。 |
| 模板发送失败 | 模板名称、语言代码、参数数量或按钮中的变量配置错误。 | 请确保 API 请求参数与已获批的模板版本完全一致。 |
| 访问令牌或权限错误 | 令牌已过期、应用配置错误、权限缺失,或绑定了错误的企业账号。 | 请重新生成凭证,并核验应用、WABA 与电话号码 ID 之间的对应关系。 |
| 意外触发频率限制或质量限制 | 新号码、质量评分较低,或发送节奏过快。 | 请逐步预热号码、细分受众,并在扩大规模前持续监控失败状态回执。 |
如果您的目标是进行群发式发送,请不要忽略用户同意和模板规则。建议您先阅读我们的 WhatsApp 群发消息 指南。
扩大发送规模前的 WhatsApp API 生产环境检查清单
单条测试消息只能证明凭证可用,并不能证明系统已经做好生产上线准备。在扩大发送规模之前,请确认以下控制项:
- 同意来源:每位接收者都应具备明确的授权来源,以及按渠道留存的用户同意记录。
- 模板管理规范:模板名称、类别、变量、语言及按钮参数均已完成文档化管理。
- 兜底机制:当 WhatsApp 消息发送失败时,系统可在适当情况下自动切换至短信、邮件、推送通知,或转交人工客服跟进。
- Webhook 可靠性:您的端点能够处理重试、重复回调、失败状态以及入站回复。
- 排除规则:已退订用户、已将您的企业账号拉黑的用户以及无效号码会从后续发送任务中移除。
- 数据报表:业务团队可以查看送达、已读、点击、回复、失败原因、模板质量评分以及转化事件。
如果您也使用 WhatsApp Web 处理客服会话,请注意两者的区别:WhatsApp Web 更适合人工处理会话,但当消息来自后端事件、生命周期自动化或大规模客服流程时,API 消息发送会是更合适的选择。
WhatsApp API 发送消息常见问题
api.whatsapp.com/send 与 WhatsApp Business API 是一回事吗?
不是。点击对话链接可以打开与某个电话号码的 WhatsApp 会话,并可附带预填文本,但它不支持服务器端发送消息、接收 Webhook、管理模板或跟踪送达状态。
- 点击聊天链接:
api.whatsapp.com/send
和 wa.me
不使用模板也可以通过 WhatsApp API 发消息吗?
通常只有在用户先向您的企业发送消息、且仍处于开放的客服会话窗口内时才可以。对于企业主动向用户发送的消息,您需要使用已获批的模板。这也是为什么很多测试文本消息在看似配置无误的情况下仍然发送失败的最常见原因。
发送模板消息需要哪些字段?
至少需要发送方电话号码 ID、访问令牌、接收方电话号码以及模板语言代码。如果已获批的模板包含变量或按钮,请求中还必须传入与模板定义一致的参数。
- 模板必填字段:
messaging_product
、消息 type、模板 name
和模板语言代码。
我可以通过 API 群发 WhatsApp 消息吗?
您可以通过程序化方式发送消息,但群发消息必须遵循 WhatsApp 的用户同意、模板、质量和速率规则。请不要将该 API 当作冷开发或陌生触达工具。如需规划群发活动,请参阅我们的指南 如何通过 WhatsApp API 群发消息 。
为什么 API 返回成功,但消息没有送达?
请求成功仅表示请求已被接受。消息投递仍可能因模板质量、平台政策限制、收件人接收资格、令牌/账户映射或路由状态而失败。请通过 Webhook 和服务提供商分析能力排查已发送、已送达、已读及失败等事件状态。
我应该直接使用 Cloud API,还是选择 WhatsApp API 服务提供商?
如果您的开发团队希望获得完全控制权,并且能够自行完成注册与接入流程、模板管理、监控、Webhook、仪表盘和支持工具,请直接使用 Cloud API。如果您希望一次性获得这些运营能力,以及接入引导、数据分析、合规支持和跨渠道自动化能力,请选择服务提供商或平台。
核心结论
只要账户、号码、令牌、模板和 Webhook 配置正确,使用 WhatsApp API 发送消息并不难。真正的关键在于:明确哪些消息类型是您可以发送的、在 API 响应后持续跟踪投递状态,以及建立完善的控制机制,从而在不引发质量或合规问题的情况下实现规模化发送。
如果您的团队希望将 WhatsApp 消息用于 OTP 验证码、订单更新、客服通知、销售线索跟进或生命周期运营活动,采用 API 优先的平台,可以缩短从初始配置到生产上线的落地周期。EngageLab 可帮助团队将 WhatsApp Business API 与模板、数据分析和客户互动工作流连接起来,避免消息发送环节与整体客户旅程脱节。













