Zapier到Twilio生成动态SMS正文

时间:2019-01-20 10:10:32

标签: javascript node.js twilio twilio-api zapier

我想使用Zapier通过Twilio发送SMS,每次我的mailchimp邮件列表有新订阅者时,它的动态主体就会包含指向应用程序的不同会员推荐链接。

我有两个单独的代码可以满足我的需求,但是由于在Zapier的代码自动化中安装模块的局限性以及我缺乏编程经验,我不知道如何将两者整合到一起Zapier代码Zap。

这是我可以用来通过Twilio发送SMS并独立运行的代码:

const accountSid = '<twilioAcctSid>';
const authToken = '<twilioAuthToken>';
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({from: '<twilPhoneNo>', body: '<affiliateRefLink>', to: '<subscriberPhoneNo>' })
  .then(message => console.log(message.sid))
  .done();

这是我在其他地方用来随机选择我的会员链接的代码,我想在SMS正文中包括指向新订户的随机链接。

const refCodes = ['link1',
                'link2',
                'link3'];

function getCode()
{
    let randomNum = Math.floor((Math.random() * refCodes.length));
    let baseSite = "#url_";
    let newLink = baseSite + refCodes[randomNum];
    document.getElementById('#url').href = newLink;
    document.getElementById('#url').innerHTML = newLink;

}

衷心感谢您的帮助!

脚趾。

2 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

我不确定您是否可以在Zapier中运行自定义代码。但是,我可能建议您将Zapier webhook moduleTwilio Function结合使用。

Twilio函数为您提供了一种无服务器的方式来运行基于Node.js的自定义代码,因此您可以将上面的两段代码合并到一个函数中,然后由Zapier Webhook调用。另外,如果MailChimp允许您设置自己的webhook,则可以完全绕开Zapier,并将其直接指向Twilio函数。

让我知道是否有帮助。

答案 1 :(得分:0)

感谢@philnash的支持,我能够使用下面的代码解决此问题!

  exports.handler = function(context, event, callback) {
  const appCodes = ['code1', 'code2', 'code3', 'code4']
  var smsBody = refCode ();
  var subNum = event.primaryPhone || 'There is no subscriber number'; // primaryPhone sent via HTTP post to twilio function

function refCode () {
    return appCodes[Math.floor((Math.random() * appCodes.length))];
};

  context.getTwilioClient().messages.create({
    to: `${subNum}`, // parameters & values recieved from HTTP POST are available within the twilio functions "event" context
    from: '+1444555666',
    body: `Get the App: ${smsBody}`
  }).then(msg => {
    callback(null, msg.sid);
  }).catch(err => callback(err));
}