如何通过Twilio Connect接收用户的传入消息?

时间:2020-08-12 09:05:03

标签: node.js twilio sms

我正在使用Twilio Connect *将用户连接到Twilio。我可以购买号码并发送短信,但是看不到如何接收该Connect帐户的消息。它们没有显示在我的控制台中,我为拥有Connect App的主帐户设置了一个Webhook URL,但是我没有收到向发送给Connect'ed用户帐户的邮件的传入请求。

* https://www.twilio.com/docs/iam/connect

我看到了如何通过可编程SMS来执行此操作,但是此处没有显示我的已连接用户的号码,并且无法在已连接用户的帐户上设置webhook URL。

enter image description here

每当我进入[测试]关联用户的帐户时(在生产环境中我将无法执行此操作)

enter image description here

...然后单击数字,我得到一个错误。

enter image description here

那么,如何在已连接用户的电话号码上设置网络钩子?

1 个答案:

答案 0 :(得分:1)

您能够购买号码并发送短信,所以我假设您已经正确设置了Twilio应用程序,并将该摘录放置在您的站点上,以允许用户进行连接。在他们授权您的帐户后,您现在可以代表他们管理他们的帐户。您可以在其帐户上执行的操作实际上并未授予“您的Twilio”帐户,而是授予了他们批准的应用程序(您的应用程序)。因此,您需要从应用程序的API连接到twilio对其帐户执行操作。

您应该在用户返回时存储他们“帐户SID” 并点击您在twilio的App Config中设置的“授权” URL。这样,您就可以代表他们执行所有帐户操作,包括设置在收到特定电话号码的短信时要点击的sms_url / Webhook URL。您不能通过twilio用户界面(据我所知)执行此类任务,但是您当然可以使用Twilio API。

创建/更新电话号码时,还应设置以下内容。

  • sms_application_sid

(OR)

  • sms_url
  • sml_method

在Node.js中,它看起来像这样:

const accountSid = '<Your-Authorized-Users-Account-SID>';
const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);

client.incomingPhoneNumbers
      .create({
      phoneNumber: '+17774445555',

      // add the following property
      sms_application_sid: '<Your-SMS-APP-SID>'

}).then(incoming_phone_number => console.log(incoming_phone_number.sid));

请注意,您可以设置以下内容而不是“ sms_application_sid”,但是如果您的终端发生任何更改,则需要更新所有电话号码,而不是单个SMS_App。

client.incomingPhoneNumbers
      .create({
      phoneNumber: '+17774445555',

      // add the following properties
      sms_method: 'POST',
      sms_url: 'https://app.yourcoolapp.com/on-received-sms' // This would be your "Hook" URL


}).then(incoming_phone_number => console.log(incoming_phone_number.sid));

不仅可以“创建”,还可以根据电话号码更新和删除号码。

Twilio的API文档中的链接和参考


总而言之,使用您的应用创建的新twilio电话号码现在只是常规的twilio电话号码,但是您管理它的方式有所不同。您可以完全控制其帐户中的所有电话号码,中继线,应用程序以及其他所有内容。提出请求时只需使用其帐户SID。