是否有 Twilio webhook 通知我在排队之前挂断的用户
Is there a Twilio webhook that informs me of users who hang up before being queued
我有一个 'incoming call' 网络挂钩,用于我正在开发的联络中心应用程序,它基本上与呼叫者说几句话 ("Welcome to x company etc.."),然后将它们添加到呼叫队列。
我可以为队列的 'action' 和 'wait' 事件添加更多网络挂钩,这让我可以检查队列中的呼叫进度,但我正在努力找到一种方法来处理在进入队列之前挂断的呼叫。一个例子是,如果有人在系统说话时挂断电话 "Welcome to x company etc.."。
我知道我可以自动将它们添加到队列中并在 'wait url' 网络挂钩中播放欢迎消息,但是此消息会循环重复。
这里是 Twilio 开发人员布道者。
您可以获得有关来电呼叫状态的网络挂接。您只需要为 "Call status changes".
的 phone 号码添加一个 URL
调用完成后,您将获得一个 webhook,以便您跟踪其进度。
或者,就像您说的那样,您可以在 <Enqueue>
通话时将消息作为 waitUrl
的一部分播放。不过,您不必重复它,实际上可以 return TwiML as the response to the waitUrl
。例如,TwiML 可以包含 <Redirect>
,这样您就可以读出欢迎消息,然后重定向到然后循环播放的音乐播放列表。
如果有帮助请告诉我。
从我这边编码的更简单的方法 here 是使用 while 循环并查询 twilio api 以获取调用 sid
的调用状态
account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO__AUTH_TOKEN')
client = Client(account_sid, auth_token)
while True:
r = client.calls(sid).fetch()
c = to_dict(r)
print(f'{datetime.now().strftime("%Y%m%d_%H%M%S")} from={c["from"]} to={c["to"]} status={c["status"]}')
# ts . . .
stop = c["status"] not in ['queued', 'ringing', 'in-progress'] # stop by :completed
if stop: break
time.sleep(3)
我有一个 'incoming call' 网络挂钩,用于我正在开发的联络中心应用程序,它基本上与呼叫者说几句话 ("Welcome to x company etc.."),然后将它们添加到呼叫队列。
我可以为队列的 'action' 和 'wait' 事件添加更多网络挂钩,这让我可以检查队列中的呼叫进度,但我正在努力找到一种方法来处理在进入队列之前挂断的呼叫。一个例子是,如果有人在系统说话时挂断电话 "Welcome to x company etc.."。
我知道我可以自动将它们添加到队列中并在 'wait url' 网络挂钩中播放欢迎消息,但是此消息会循环重复。
这里是 Twilio 开发人员布道者。
您可以获得有关来电呼叫状态的网络挂接。您只需要为 "Call status changes".
的 phone 号码添加一个 URL调用完成后,您将获得一个 webhook,以便您跟踪其进度。
或者,就像您说的那样,您可以在 <Enqueue>
通话时将消息作为 waitUrl
的一部分播放。不过,您不必重复它,实际上可以 return TwiML as the response to the waitUrl
。例如,TwiML 可以包含 <Redirect>
,这样您就可以读出欢迎消息,然后重定向到然后循环播放的音乐播放列表。
如果有帮助请告诉我。
从我这边编码的更简单的方法 here 是使用 while 循环并查询 twilio api 以获取调用 sid
account_sid = os.environ.get('TWILIO_ACCOUNT_SID')
auth_token = os.environ.get('TWILIO__AUTH_TOKEN')
client = Client(account_sid, auth_token)
while True:
r = client.calls(sid).fetch()
c = to_dict(r)
print(f'{datetime.now().strftime("%Y%m%d_%H%M%S")} from={c["from"]} to={c["to"]} status={c["status"]}')
# ts . . .
stop = c["status"] not in ['queued', 'ringing', 'in-progress'] # stop by :completed
if stop: break
time.sleep(3)