我想使用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;
}
衷心感谢您的帮助!
脚趾。
答案 0 :(得分:0)
这里是Twilio开发人员的传播者。
我不确定您是否可以在Zapier中运行自定义代码。但是,我可能建议您将Zapier webhook module与Twilio 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));
}