创建一个HTTP POST到Twilio功能(发送短信)

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

我创建了一个Twilio的功能,我想用送我的分支机构推介链接,通过我的频道来的应用程序的用户。

它工作正常使用静态/从数,不过,我想使“到”字段,可以通过HTTP /网络挂接POST操纵的动态变量时,Zapier检测到新的用户我Mailchimp邮件列表,并通过他们的电话号码作为变量。

我也不清楚是什么,我需要做验证客户端(Zapier)即拍即POST,因为我不想向世界开放使用的功能,如果任何见解可以在此分享这将是真诚的赞赏 - 我是一个非常没有经验的程序员试图很快学会!

@philnash - 感谢您的建议,实施它慢!

提前谢谢了!

exports.handler = function(context, event, callback) {
  const appCodes = ['code1', 'code2', 'code3', 'code4']
  var smsBody = refCode ();

function refCode () {
    return appCodes[Math.floor((Math.random() * appCodes.length))];
};
  
  context.getTwilioClient().messages.create({
    to: '+11112223333', // How do I make this dynamic from HTTP/Zapier Webhook POST???
    from: '+1444555666',
    body: `Get the App: ${smsBody}`
  }).then(msg => {
    callback(null, msg.sid);
  }).catch(err => callback(err));
}
twilio mailchimp zapier twilio-functions
3个回答
0
投票

Twilio开发者传道这里。

我相信在Zapier网络挂接正在发送的详细信息,包括电话号码,作为POST请求的主体。

在请求主体的所有参数显示传递到您的处理程序event对象。你可能想在这里你打印出event对象的内容,看看你正在传递什么运行测试。你可以这样做:

exports.handler = function(context, event, callback) {
  for (let key in event) {
    console.log(`${key}: ${event[key]}`);
  }
  // ... rest of the function
}

然后,当你弄清楚什么参数储存号码,您可以使用在呼叫建立的消息。

让我知道这是否有助于在所有。


0
投票

尝试这个:

exports.handler = function(context, event, callback) {
  for (let key in event) {
    console.log(`${key}: ${event[key]}`);
  }
  // ... rest of the function
  callback(null, 'complete');
};

0
投票

谢谢大家对您的输入,它是真诚的感谢!我可以用下面的代码来解决这个问题:

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));
}
© www.soinside.com 2019 - 2024. All rights reserved.