如何在Zapier代码中授权Twilio帐户Sid和令牌

时间:2019-10-21 12:50:14

标签: javascript twilio whatsapp twilio-api zapier

当前正在尝试创建Whatsapp消息,以通过Twilio API在Zapier上显示此自定义Javascript代码进行发送。它成功到达twilio,但返回“身份验证错误-未提供凭据”。

var messagesUrl = "https://api.twilio.com/2010-04-01/Accounts/<accountSID>/Messages.json";
var payload = {
 "To": "whatsapp:<tonumber>",
 "Body" : "Hey This is a test",
  "From" : "whatsapp:<fromnumber>"
};
 var options = {
 "method" : "post",
 "payload" : payload
};

options.headers = {
 "Authorization" : "Basic <accountsid>:<accounttoken>"
};
fetch(messagesUrl, {options, body: JSON.stringify(payload)})
 .then(function(binaryResponse) {
  return binaryResponse.json();
})
.then(function(jsonResponse){
  callback(null, {result: jsonResponse});
}).catch(callback);

仅将关于whatsapp的确认文本发送给zapier上的潜在客户的最佳方法是什么?预先感谢

4 个答案:

答案 0 :(得分:2)

fetchoptions对象作为第二个参数。您当前正在做

fetch (messagesUrl, {
  options: {
    method: 'post',
    payload: payload,
    headers: {
      Authorization: '...'
    }
  },
  body: JSON.stringify(payload)
}) // ...

您不应有嵌套的option对象。假设twilio的东西设置正确(我不知道),这应该可以工作:

fetch (messagesUrl, {
  method: 'post',
  payload: payload, // probably remove this, it's not part of the syntax (see below)
  headers: {
    Authorization: '...'
  }
  body: JSON.stringify(payload)
}) // ...

您可以传递给第二个参数的所有选项:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Syntax

答案 1 :(得分:1)

我发现这篇文章非常有趣。 我也使用 ZAPIER 和 TWILIO,我希望在我的 googlesheet 上注册的客户收到确认 whatsapp 消息。

我无法配置 ZAPIER。 我做了很多测试,但我对编程不太了解,我肯定犯了一个错误。

当我从 ZAPIER 启动测试时,它给了我这个错误:请求无法被 Zapier 发送到 Webhooks。 应用返回“需要‘收件人’电话号码。”。

我附上了带有插入配置的图像。 我哪里出错了? 我应该如何纠正它?

enter image description here

更新: 我在 whatsapp 上批准的模板是这样的:

Ciao Ciao%20%7B%7B1%7D%7D%2C%20la%20tua%20registrazione%20%C3%A8%20avvenuta%20con%20successo.%0ARicordati%20che%20lo%20SCONTO%20che%20hai%20scelto%20%C3%A8%20attivo%20fino%20al%20%7B%7B2%7D%7D.%20%0ATi%20aspettiamo%20-%20nei%20prossimi%20giorni%20-%20nel%20tuo%20Centro%20LIGHT%20di%20fiducia.%0A%0ANell%27attesa%20ti%20facciamo%20ancora%20i%20migliori%20Auguri%F0%9F%8E%81%F0%9F%8E%89%F0%9F%8E%8A%0AStaff%20LIGHT
, la tua registrazione è avvenuta con successo.
Ricordati che lo SCONTO che hai scelto è attivo fino al {{2}}. 
Ti aspettiamo - nei prossimi giorni - nel tuo Centro LIGHT di fiducia.

Nell'attesa ti facciamo ancora i migliori Auguri???
Staff LIGHT

生成的文字是这个

void Rover::move(Mars& mars)
{   
    if (heading=='^' && y-1 >= 0){
        mars.setObject(x,y,' ');
        y-=1;
        mars.setObject(x,y,'^');
    }
    if (heading=='>' && x+1 < mars.getDimX()){
        mars.setObject(x,y,' ');
        x+=1;
        mars.setObject(x,y,'>');
    }
    if(heading=='<' && x-1 >= 0){
        mars.setObject(x,y,' ');
        x-=1;
        mars.setObject(x,y,'<');
    }
    if(heading=='v' && y+1 < mars.getDimY()){
        mars.setObject(x,y,' ');
        y+=1;
        mars.setObject(x,y,'v');
    }
    Explore(mars);
}

错误报告:

错误 63016 由于您在允许的窗口之外,因此无法发送自由格式的消息。请使用模板。

描述 由于您在允许的窗口之外,因此无法发送自由格式的消息。请使用模板。

答案 2 :(得分:0)

谢谢您的帮助,我最终使用了一种更为简单的“自定义Web钩子POST”方法来解决了这个问题,因为它过于复杂。 有关我如何对希望通过以下Zapier上的Twilio发送whats-app消息的其他人进行此操作的详细信息:

方法

Post

URL

https://api.twilio.com/2010-04-01/Accounts/<accountSID>/Messages.json

数据

To=whatsapp:%2B<toNumber>&From=whatsapp:%2B<fromNumber>&Body=Put your message body here

注意:您的E.164号码的+将串联在一起,因此%2B将其替换

基本身份验证

<AccountSID>|<AccountToken>

标题

Content-Type | application/x-www-form-urlencoded

答案 3 :(得分:0)

最好观看this视频,以了解消息模板和zapier自定义方面的复杂性

如果您不控制模板中的新行并避免消息失败,则会遇到一些问题