我正在使用Twilio Connect *将用户连接到Twilio。我可以购买号码并发送短信,但是看不到如何接收该Connect帐户的消息。它们没有显示在我的控制台中,我为拥有Connect App的主帐户设置了一个Webhook URL,但是我没有收到向发送给Connect'ed用户帐户的邮件的传入请求。
* https://www.twilio.com/docs/iam/connect
我看到了如何通过可编程SMS来执行此操作,但是此处没有显示我的已连接用户的号码,并且无法在已连接用户的帐户上设置webhook URL。
每当我进入[测试]关联用户的帐户时(在生产环境中我将无法执行此操作)
...然后单击数字,我得到一个错误。
那么,如何在已连接用户的电话号码上设置网络钩子?
答案 0 :(得分:1)
您能够购买号码并发送短信,所以我假设您已经正确设置了Twilio应用程序,并将该摘录放置在您的站点上,以允许用户进行连接。在他们授权您的帐户后,您现在可以代表他们管理他们的帐户。您可以在其帐户上执行的操作实际上并未授予“您的Twilio”帐户,而是授予了他们批准的应用程序(您的应用程序)。因此,您需要从应用程序的API连接到twilio对其帐户执行操作。
您应该在用户返回时存储他们“帐户SID” 并点击您在twilio的App Config中设置的“授权” URL。这样,您就可以代表他们执行所有帐户操作,包括设置在收到特定电话号码的短信时要点击的sms_url / Webhook URL。您不能通过twilio用户界面(据我所知)执行此类任务,但是您当然可以使用Twilio API。
创建/更新电话号码时,还应设置以下内容。
(OR)
在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电话号码现在只是常规的twilio电话号码,但是您管理它的方式有所不同。您可以完全控制其帐户中的所有电话号码,中继线,应用程序以及其他所有内容。提出请求时只需使用其帐户SID。