我有一个简单的应用程序,应该能够拨打电话。该调用应该只询问一个问题并收集用户的 DTML 响应。棘手的部分是我想知道当调用完成时用户在状态更改回调中的响应。我无法在缓存、数据库或任何其他存储中保留调用的状态。这就是为什么我认为我可以在调用期间更改状态回调 url,以将用户的响应包含在查询参数中。所以在我处理用户响应的 http 处理程序中我有这个:
CallResource.Update(
statusCallbackMethod: Twilio.Http.HttpMethod.Post,
statusCallback: statusUrlWithUserResponseinQueryParameter,
pathSid: id
);
它运行时没有任何异常,但似乎它没有达到我想要的效果。结果
statusUrlWithUserResponseinQueryParameter
没有被调用,仍然使用调用资源创建时指定的 url。这是一个错误还是我误解了什么?还有其他方法可以将用户的响应传递给状态更改回调吗?
根据此页面上的“更新活动呼叫的 Statuscallback”,您必须同时更新 URL 和 StatusCallbackUrl:
要更新呼叫上的 StatusCallback,需要在中设置 Url 同样的说法。
尝试更新您的代码以包含新的网址:
CallResource.Update(
url: new Uri(yourNewUriThatHasNewOrTheSameTwiml),
statusCallbackMethod: Twilio.Http.HttpMethod.Post,
statusCallback: statusUrlWithUserResponseinQueryParameter,
pathSid: id
);
但是,我认为您正在尝试做的是解决 Gather 的工作方式。典型的行为是让应用程序响应包含数字的 Gather webhook。 “收集后重定向” 可能会给您一些如何实现您想要完成的任务的想法。