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

如何在Firebase Cloud Function中用Twilio实现实时数据库触发的WhatsApp消息推送

实现Firebase实时数据库触发时发送WhatsApp消息

以下是将Twilio的WhatsApp消息发送逻辑整合到Firebase实时数据库触发器的完整方案:

步骤1:配置依赖与环境变量

首先在Firebase Functions目录下安装Twilio依赖:

npm install twilio

为避免硬编码敏感信息,建议将Twilio的账号SID和Auth Token配置为Firebase环境变量:

firebase functions:config:set twilio.account_sid="你的Twilio账号SID" twilio.auth_token="你的Twilio Auth Token"

步骤2:编写云函数代码

创建监听实时数据库指定节点变更的触发器(例如监听appointments/{appointmentId}节点的新增事件),触发时调用Twilio发送WhatsApp消息:

const functions = require("firebase-functions");
const twilio = require("twilio");

// 从Firebase环境变量读取Twilio配置
const accountSid = functions.config().twilio.account_sid;
const authToken = functions.config().twilio.auth_token;
const client = twilio(accountSid, authToken);

// 监听实时数据库appointments节点的新增事件
exports.sendAppointmentReminder = functions.database.ref('/appointments/{appointmentId}')
  .onCreate(async (snapshot, context) => {
    // 从数据库获取预约数据(可根据你的数据结构调整)
    const appointmentData = snapshot.val();
    const reminderMessage = `Your appointment is coming up on ${appointmentData.date} at ${appointmentData.time}`;
    const recipientNumber = `whatsapp:+${appointmentData.phone}`; // 确保号码符合E.164格式

    try {
      // 调用Twilio发送WhatsApp消息
      const message = await client.messages.create({
        body: reminderMessage,
        from: 'whatsapp:+1415454545386', // 你的Twilio WhatsApp号码
        to: recipientNumber
      });
      console.log(`消息发送成功,SID: ${message.sid}`);
      return null;
    } catch (error) {
      console.error('消息发送失败:', error);
      throw new functions.https.HttpsError('internal', '发送消息时出错');
    }
  });

关键注意事项

  • 触发器选择:根据需求选合适的触发器,比如onCreate(新增数据触发)、onWrite(数据增/改/删触发)或onUpdate(数据修改触发)。
  • 语法修复:你的原Twilio代码中body字段字符串未闭合(末尾缺失单引号),会导致语法错误,上述代码已修正。
  • 异步处理:Firebase云函数需正确处理异步操作,这里用async/await确保函数在Twilio请求完成后再结束。
  • 号码格式:接收号码必须以whatsapp:+开头,且符合E.164标准格式(例如whatsapp:+9196456454566)。

部署函数

完成代码编写后,部署到Firebase:

firebase deploy --only functions

内容的提问来源于stack exchange,提问作者Bhaskar Jyoti Dutta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:30:50