@flink-app/ 什么sapp-plugin (英语)
双向WhatsApp消息插件 闪烁 通过"WhatsApp"云API. 没有外部 SDK —— 使用本地 fetch。 。 。 .
特征
- 自动发现
WhatsappHandler通过 Flink 编译扩展名的文件 - 按消息类型、发送者、文本模式和连接方式匹配
- 发送文本、模板、图像、文档、交互式按钮/列表、位置、反应
- 多连接支持(多功能WhatsApp Business 电话号码)
- Webhook 签名验证(HMC-SHA256)
- 信件状态跟踪( 发送、 发送、 读取、 失败)
- 提供模板信息支持的24小时对话窗口意识
- 将下行标记为 WhatsApp 格式化转换器
- 发送测试消息的 CLI 工具
快速启动
pnpm add @flink-app/whatsapp-plugin
// flink.config.js
const { compilerPlugin } = require("@flink-app/whatsapp-plugin/compiler");
module.exports = { compilerPlugins: [compilerPlugin()] };
// src/index.ts
import { whatsappPlugin } from "@flink-app/whatsapp-plugin";
new FlinkApp<Ctx>({
plugins: [
whatsappPlugin<Ctx>({
connection: {
accessToken: process.env.WHATSAPP_ACCESS_TOKEN!,
phoneNumberId: process.env.WHATSAPP_PHONE_NUMBER_ID!,
verifyToken: process.env.WHATSAPP_VERIFY_TOKEN!,
appSecret: process.env.WHATSAPP_APP_SECRET!,
},
}),
],
});
// src/whatsapp-handlers/HandleText.ts
import { WhatsappHandler, WhatsappRouteProps } from "@flink-app/whatsapp-plugin";
export const Route: WhatsappRouteProps = { type: "text" };
const handler: WhatsappHandler<Ctx> = async ({ message, whatsapp }) => {
await whatsapp.reply(message, `Echo: ${message.text}`);
};
export default handler;
文档
见 技能文档 包括路由、多连接设置、模板信息、交互式信息、媒体处理等等.
Meta 应用程序设置
- 创建 Meta App 时 开发者. facebook.com
- 添加WhatsApp 产品
- 配置 Webhook URL 为
https://your-domain.com/webhooks/whatsapp - 订阅
messages网点字段 - 通过系统用户生成永久访问令牌
国 际
pnpm exec flink-whatsapp send --token <token> --phone-id <id> --to <number> "Hello!"
许可证
麻省理工学院