更改 Twilio 函数以触发 2 个 webhook 端点(Missive 和 GoHighLevel)以处理传入的彩信

问题描述 投票:0回答:1

我正在尝试通过我的 twilio 功能在 Missive App 和 GoHighLevel 中接收彩信。

我正在使用这个 twilio 函数来触发 Missive App 和 GoHighLevel 的多个 Webhook 端点。

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 
  };

    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);
       });
};

入站和出站短信工作正常,但当我收到入站彩信时,消息没有内容。我正在尝试处理彩信,以便它们也传递到 Missive App 和 GoHighLevel。

twilio twilio-api
1个回答
0
投票

根据 Axios 文档,多个并发请求的“.then”应使用此模式:

Promise.all([getUserAccount(), getUserPermissions()])
  .then(function ([acct, perm]) {
    // ...
  });

试试这个:

Promise.all([
       axios.post(url1, qs.stringify(requestBody), config),
       axios.post(url2, qs.stringify(requestBody), config)
       ]).then(function ([p1, p2]) {
           callback(null, twiml);
       }).catch(err => {
           console.log(err);
           callback(err);
       });
© www.soinside.com 2019 - 2024. All rights reserved.