You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码调用WhatsApp API发送文件?JavaScript端有哪些可行实现方案?

WhatsApp JS环境发送多媒体文件解决方案

你之前使用的https://wa.me/<Phone number>?text=Hi属于公开跳转分享接口,仅支持传递文本参数,无法携带图片、音频、文档等文件类数据,要实现多媒体文件发送可以参考以下方案:

1. 官方方案:WhatsApp Business Platform

这是Meta官方推出的商业级API,合规稳定,支持所有常见多媒体类型(图片、音频、文档、视频、位置、互动消息等)发送,可直接在JavaScript/Node.js环境调用。
使用逻辑:

  • 先在Meta开发者平台申请开通WhatsApp Business账号,获取访问令牌、发送者手机号ID等鉴权参数
  • 调用官方消息发送接口,通过type参数指定消息类型为对应的多媒体类型,传入文件的公网访问地址或者直接以form-data形式上传文件二进制流即可

Node.js调用示例(以发送图片为例):

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

async function sendWhatsAppImage(recipientPhone, imagePath) {
  const form = new FormData();
  form.append('messaging_product', 'whatsapp');
  form.append('to', recipientPhone);
  form.append('type', 'image');
  form.append('image', fs.createReadStream(imagePath));

  const config = {
    headers: {
      Authorization: 'Bearer 你的官方访问令牌',
      ...form.getHeaders()
    }
  };

  await axios.post('https://graph.facebook.com/v18.0/你的发信号码ID/messages', form, config);
}

2. 第三方封装服务

如果不想自行处理官方接口的鉴权、格式适配、回调处理等逻辑,可以选择封装好的第三方WhatsApp消息服务,这类服务一般都提供了开箱即用的JS SDK,只需要传入接收方号码、文件地址/二进制流即可完成发送,降低开发成本。

注意事项

  • 个人版WhatsApp没有公开的官方发送API,所有基于爬虫、协议破解的非官方个人号发送方案都违反WhatsApp用户协议,存在账号被永久封禁的风险,不建议使用
  • 所有合法的文件发送接口都要求文件大小符合WhatsApp的限制要求,常见类型文件上限一般在100MB以内
  • 发送给未添加你为联系人的用户时,需要先获得用户的主动发起对话授权,否则消息会被拦截

内容的提问来源于stack exchange,提问作者Tanishq SIngh Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 15:39:05