【问题标题】:Make an API request on call end in twilio在 twilio 调用结束时发出 API 请求
【发布时间】:2021-06-18 03:14:29
【问题描述】:

我正在寻找一种表达“谢谢”的方式,并在 Twilio 中的函数执行结束时进行 API 调用。

类似这样的:

        responseObject = {
                "actions": [
                    {
                        "say": "Thank you!"
                    },
                    {
                        "redirect": {
                            "uri": "API_LINK",
                            "method": "POST"
                        }
                    }
                ]
            }

遗憾的是,如果您有重定向,twilio 会忽略所有其他消息。我试图通过首先重定向到 TwiML 来解决这个问题:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say>Thank you!</Say>
      <Redirect method="POST">API_LINK</Redirect>
</Response>

但上述方法也不起作用 - 在“谢谢!”之后显示应用程序错误在末尾。此外,我将查询参数与 API 调用一起传递:https://example.link?a=value&b=value。不确定,如何使用 TwiML 传递它。

这个 API 请求应该向微软团队频道发送消息。

【问题讨论】:

    标签: node.js twilio twilio-twiml twilio-functions


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    首先,您似乎在谈论 Autopilot 对话的结束,而不是功能执行的结束。如果是这种情况,您会收到错误,因为您正在混合使用 Autopilot Actions 和 TwiML。当您与 Autopilot 助手交互时,您应该只使用 Actions JSON 来响应它,而不是使用 TwiML。

    此外,Autopilot 将期望对其发出的请求的所有响应(包括通过重定向)以 Actions JSON 响应。因此不建议使用重定向操作来发出 API 请求。

    相反,我建议您使用Twilio Function(或您自己的后端)从 JavaScript 发出您的 API 请求并以“say”操作进行响应。

    Twilio 函数可能如下所示:

    exports.handler = function (context, event, callback) {
      // make request to Teams API
      // I'm not sure the API method you are using, but use an http client like got, superagent or node-fetch, or a dedicated API client if there is one available
    
      // create your actions
      const actions = {
        actions: [
          {
            "say": "Thank you!"
          }
        ]
      };
    
      // return the actions JSON
      callback(null, actions);
    });
    

    或者,您可以设置为receive an Autopilot webhook when a dialogue ends。这样您就可以只用“说”动作来响应 Autopilot,这将导致对话结束并触发 webhook。然后在您的 webhook 处理程序中,您可以向 Teams 发出 API 请求。

    让我知道这是否有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 2016-07-07
      相关资源
      最近更新 更多