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

How do I receive an incoming message for a user via Twilio Connect?

我正在使用 Twilio Connect* 将我的用户连接到 Twilio。我可以购买号码和发送短信,但我看不到如何接收该 Connect 帐户的消息。它们没有出现在我的控制台中,我为拥有 Connect 应用程序的主帐户设置了一个 webhook URL,但我没有收到发送到我的 Connect'ed 用户帐户的消息的传入请求。

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

我了解如何使用可编程短信执行此操作,但我的已连接用户的号码未显示在此处,而且我无法在已连接用户的帐户上设置 webhook URL。

Whenever I go into the [test] Connected user's account (I won't be able to do this in production)

... and click on the number, I get an error.

那么,如何在已连接用户的号码上设置 webhook?

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

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

当你create/update一个phone号码时,你还应该设置如下。

  • sms_application_sid

(或)

  • 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”,但是如果您有任何更改,则需要更新所有 phone 个数字而不是单个 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));

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

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


总而言之,使用您的应用程序创建的新 twilio phone 号码现在只是一个普通的 twilio 号码,但是您管理它的方式略有不同。您可以完全控制所有 phone 个号码、中继线、应用程序以及他们帐户中的所有其他内容。发出请求时只需使用他们的帐户 SID。