WhatsApp API — 以编程方式发送消息

用于发送文本、媒体并通过简单的 REST 接口管理对话的完整 WhatsApp API。无 Puppeteer,无无头浏览器 — 纯 WebSocket 连接。

快速开始

不到一分钟发送您的第一条 WhatsApp 消息。创建账号、连接号码并调用 API:

curl -X POST https://api2whats.com/send-text \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{"to": "971501234567", "message": "Hello from the API!"}'

就是这样。一次请求,一次响应。无需 SDK。

什么是 WhatsApp API?

WhatsApp API 让您能从自己的软件发送和接收 WhatsApp 消息。您的代码向 API 端点发起 HTTP 请求,而不是在手机上打开 WhatsApp 应用手动输入消息。API 处理与 WhatsApp 服务器的连接、消息投递、状态跟踪和收到消息的转发。

这对任何需要大规模与客户沟通的企业都很有用。订单确认、发货更新、预约提醒、客户支持回复、营销活动 — 所有这些都可以通过 WhatsApp API 自动化。消息出现在客户已在使用的同一个 WhatsApp 聊天中,这意味着他们真的会阅读。WhatsApp 消息的打开率通常超过 90%,而电子邮件只有 20%。

概念很简单:您的应用向 API 服务器发送 HTTP 请求,API 服务器通过 WhatsApp 将消息投递给收件人,您收到确认投递的响应。对于收到的消息,API 实时将它们转发到您的 webhook URL,以便您的系统能立即处理它们。

我们的 WhatsApp API 如何工作

我们的 API 基于 WhatsApp Web 协议,使用直接 WebSocket 连接。这与使用 Puppeteer 或无头浏览器自动化 Web 界面的解决方案截然不同。直接 WebSocket 意味着更低的延迟、更低的资源占用和显著更好的可靠性。

您创建的每个实例都维护一个到 WhatsApp 服务器的经过认证的 WebSocket 连接。当您通过 API 发送消息时,它直接通过此 WebSocket 连接传输。没有浏览器渲染开销、无截图解析、无脆弱的 DOM 操作。连接是持久的,并自动处理重连。

我们还在多个地区运行分布式 SOCKS5 代理池。这有两个目的:无论您的服务器位于何处,都能确保可靠的连接;并将连接分布到多个 IP 地址以避免速率限制。每个实例通过不同的代理连接,因此即使您同时运行十个实例,它们也各自拥有独立的连接路径。

API 能做什么

发送文本消息

最基本的用例:向任何 WhatsApp 号码发送文本消息。消息支持 Unicode,因此您可以用任何语言发送文本,包括阿拉伯语、印地语、中文和表情符号。每条消息都单独投递,并带有完整的投递状态跟踪。

发送媒体

超越文本。发送图片、视频、文档、音频文件和贴纸。媒体可作为 URL 提供(API 获取并投递)或作为 Base64 编码数据内联发送。文档可以是 PDF、Word 文件、电子表格 — WhatsApp 支持的任何文件类型。

通过 Webhook 接收消息

当有人向您连接的号码发送消息时,API 会将其作为 POST 请求转发到您的 webhook URL。您获得发送者号码、消息内容、任何媒体附件和时间戳信息。您的 webhook 处理器处理消息并可触发任何自动响应或工作流。

管理多个号码

每个套餐支持多个实例,意味着您可以连接多个 WhatsApp 号码并从一个仪表板统一管理。通过在请求中指定实例 ID,可通过 API 在号码间切换。这对在多个地区或品牌运营的企业很有用。

跟踪消息状态

您发送的每条消息都会获得一个唯一 ID。您可以查询任意消息的状态 — 无论是待定、已发送、已投递还是已读。Webhook 也会实时推送状态更新,所以您的系统无需轮询就能在消息投递或阅读的那一刻知晓。

API 端点

API 遵循简洁的 REST 设计。所有端点接受并返回 JSON。以下是主要端点:

  • POST /send-text — 发送文本消息
  • POST /send-image — 发送图片
  • POST /send-video — 发送视频
  • POST /send-document — 发送文档或文件
  • POST /send-audio — 发送音频文件
  • POST /send-location — 发送位置
  • GET /message-status/{id} — 检查投递状态
  • POST /set-webhook — 配置您的 webhook URL
  • GET /instance/status — 检查连接状态

每个端点都需要在 Authorization 头中传递 API 密钥。按套餐执行速率限制,出现问题时 API 会返回带有 HTTP 状态码的清晰错误消息。

连接方式

将电话号码连接到 API 很简单。我们支持两种方式:

二维码连接

用手机上的 WhatsApp 应用扫描仪表板上的二维码。这是最快的方法 — 大约 10 秒。如果您没及时扫描,二维码会自动刷新。扫描后连接建立,实例保持在线直到您断开它。

配对码连接

在手机上输入数字配对码,而非扫描二维码。当您无法扫描二维码时很有用 — 例如在远程服务器上连接号码。配对码由 API 生成,几分钟后过期。

支持的编程语言

API 与语言无关。任何能发起 HTTP 请求的语言都可使用。我们为以下语言提供现成的代码示例:

  • PHP — 使用 cURL 或 Guzzle
  • Python — 使用 requests 库
  • JavaScript — 使用 fetch 或 axios (Node.js 和浏览器)
  • cURL — 直接命令行使用
  • Go — 使用 net/http
  • Java — 使用 HttpURLConnection 或 OkHttp

如果您的语言能发送带 JSON 正文的 HTTP POST 请求,您就能使用此 API。无需安装 SDK。

消息投递流程

理解消息如何在系统中流转有助于您构建更好的集成。发送消息时,逐步发生如下:

  1. 您的应用向 API 发送带有 API 密钥和消息数据的 HTTP 请求
  2. API 验证您的请求:检查 API 密钥、验证电话号码格式、确认实例已连接
  3. 消息通过相应实例的 WebSocket 连接排队投递
  4. 消息通过持久 WebSocket 连接传输到 WhatsApp 服务器
  5. WhatsApp 将消息投递给接收者的手机
  6. API 从 WhatsApp 接收投递确认并更新消息状态
  7. 如果配置了 webhook,状态更新会转发到您的服务器

从您的请求到投递确认的整个流程通常耗时 1-3 秒。状态更新(已投递、已读)可能因接收者的连接和打开消息的时间而需要更长时间。

实例管理

您连接的每个 WhatsApp 号码称为一个 "实例"。您可以从单个仪表板管理多个实例,并通过 API 指定实例 ID 在它们间切换。每个实例都有自己的:

  • API key — 唯一认证令牌
  • Connection status — 连接、断开或重连状态
  • Phone number — 关联的 WhatsApp 号码
  • Webhook URL — 收到消息的转发目标
  • Message history — 发送和接收消息的日志

实例可从仪表板或通过 API 创建、断开和删除。断开实例时 WhatsApp 会话终止,但您随时可重新连接且不丢失数据。

可靠性和正常运行时间

我们在所有套餐上维护 99.9% 的正常运行时间 SLA。我们的基础设施为可靠性而构建:

  • Automatic reconnection — 如果 WebSocket 连接断开,API 会在几秒内自动重连
  • Proxy failover — 如果某代理服务器出现问题,流量会通过池中的另一台路由
  • Message queuing — 如果 WhatsApp 连接暂时不可用,消息会排队并在连接恢复时投递
  • Health monitoring — 我们 24/7 监控所有实例并主动解决问题,防止其影响投递

只有当所有连接路径都耗尽时 API 才会返回 503 Service Unavailable 错误,这极其罕见。实际上,即使个别组件发生短暂中断,您的消息也会被投递。

安全与隐私

所有 API 通信均通过 HTTPS 加密。API 密钥通过 bcrypt 哈希安全存储 — 我们绝不以明文存储。您的 webhook URL 经过验证,所有 webhook 负载都经过签名,以便您验证它们确实来自我们的服务器。

除非您通过 webhook 显式转发,我们无法访问您的消息内容。您与客户之间的消息保持私密。WhatsApp 连接在消息传输层使用端到端加密。

定价

套餐起价 9.99 美元/月,包含每天一定数量的 API 请求、实例和功能。无隐藏费用、无按消息收费、无超额惊喜。您可以随时从仪表板升级或降级。

我们接受加密货币和信用卡。支付处理通过安全网关进行,您的支付信息绝不存储在我们的服务器上。

用例

我们的 WhatsApp API 被广泛应用于各行各业和应用中。以下是客户构建的一些最常见用例:

  • E-commerce — 订单确认、发货更新、投递通知、退货状态更新和购物车遗弃提醒
  • Healthcare — 预约提醒、处方续开提醒、检验结果传递和患者跟进
  • Education — 课程注册确认、作业截止日期、考试成绩和家校沟通
  • Real Estate — 房源提醒、看房确认、报价通知和租户沟通
  • Financial Services — 交易提醒、发票投递、付款提醒和账户通知
  • Restaurants — 订单确认、餐桌预订提醒、反馈收集和促销优惠
  • Logistics — 货运追踪更新、投递确认、司机分配和仓库通知

任何通过 WhatsApp 与客户沟通的企业,都能通过 API 自动化这些对话。关键在于识别哪些消息是重复且可预测的 — 那些才应被自动化。

快速上手

  1. 创建免费账号 — 耗时 30 秒
  2. 选择适合您需求的套餐
  3. 从您的 仪表板
  4. 通过二维码或配对码连接您的电话号码
  5. 使用您的 API 密钥发送第一条消息

如果您需要帮助上手,请查看我们的 API 文档联系我们的支持团队

准备好用 WhatsApp API 构建应用了吗?

加入数千名使用我们 API 自动化消息传递并构建更好客户体验的开发者行列。

免费开始