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

修改Twilio函数触发Missive与GoHighLevel Webhook处理入站MMS

解决Twilio函数传递MMS内容至Missive和GoHighLevel的问题

你的代码目前仅传递了短信基础字段,MMS的媒体文件信息未被包含在请求体中,导致两个平台接收不到MMS内容。Twilio在触发Webhook时,会通过MediaUrl0、MediaUrl1...(对应第N个媒体文件)和MediaContentType0、MediaContentType1...字段返回MMS的媒体地址和类型,需要把这些字段加入传递的参数中。

修改后的完整代码如下:

const axios = require('axios');
const qs = require('querystring');

exports.handler = function(context, event, callback) {

  let twiml = new Twilio.twiml.MessagingResponse();

  let { 
      ApiVersion,
      SmsSid,
      SmsStatus,
      SmsMessageSid,
      NumSegments,
      ToState,
      From,
      MessageSid,
      AccountSid,
      ToCity,
      FromCountry,
      ToZip,
      FromCity,
      To,
      FromZip,
      ToCountry,
      Body,
      NumMedia,
      FromState 
  } = event;

  let requestBody = {
      ApiVersion,
      SmsSid,
      SmsStatus,
      SmsMessageSid,
      NumSegments,
      ToState,
      From,
      MessageSid,
      AccountSid,
      ToCity,
      FromCountry,
      ToZip,
      FromCity,
      To,
      FromZip,
      ToCountry,
      Body,
      NumMedia,
      FromState 
  };

  // 添加MMS媒体字段
  if (NumMedia > 0) {
    for (let i = 0; i < parseInt(NumMedia); i++) {
      requestBody[`MediaUrl${i}`] = event[`MediaUrl${i}`];
      requestBody[`MediaContentType${i}`] = event[`MediaContentType${i}`];
    }
  }

    let url1 = "https://example.com/1";
    let url2 = "https://example.com/2";

   const config = {
     headers: {
     'Content-Type': 'application/x-www-form-urlencoded'
     }};

  Promise.all([
       axios.post(url1, qs.stringify(requestBody), config),
       axios.post(url2, qs.stringify(requestBody), config)
       ]).then(result => {
           callback(null, twiml);
       }).catch(err => {
           console.log(err);
           callback(err);
       });
};

修改说明

  • 新增了针对NumMedia的判断逻辑:当收到MMS(NumMedia大于0)时,循环遍历所有媒体文件,将对应的MediaUrl{N}和MediaContentType{N}字段添加到requestBody中。
  • 这些字段包含了MMS的媒体文件地址和类型,Missive和GoHighLevel就能通过这些字段解析并展示MMS内容。
  • 原有短信逻辑不受影响,依然可以正常传递文本内容。

内容的提问来源于stack exchange,提问作者MacKenzie Brackett

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:07:54