记录Twilio自动驾驶对话

时间:2019-04-26 18:32:03

标签: twilio

我正在将Twilio Autopilot与可编程语音作为输入通道,我想记录客户与机器人进行的整个对话。

我在哪里以及如何去做?

我正在使用重定向到自动驾驶仪URL的twiML容器。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Redirect method="POST">[autopilot url]</Redirect>
</Response>

1 个答案:

答案 0 :(得分:2)

此处是Twilio开发人员的传播者。

要录制没有<Record> TwiML动词的呼叫,您可以

  1. 与AP connect动词<Response> <Connect> <Autopilot> ...一起使用...
  2. 使用响应中收到的呼叫SID和use the call recording controls API开始记录呼叫。

或者,您可以在从自动驾驶仪任务重定向的Twilio函数中使用Moment软件包。

对于要记录用户输入的任务,您的自动驾驶仪任务代码可能如下所示:

{
    "actions": [
        {
            "collect": {
                "name": "your-task-name",
                "questions": [
                    {
                        "question": {
                            "say": "What's your first name?"
                        },
                        "name": "first_name",
                        "type": "Twilio.FIRST_NAME"
                    },
                    {
                        "question": {
                            "say": "How many people would you like the reservation to be for?"
                        },
                        "name": "number",
                        "type": "Twilio.NUMBER"
                    }
                ],
                "on_complete": {
                    "redirect": "https://your-function-url.twil.io/your-function-name"
                }
            }
        }
    ]
}

重定向到Twilio函数后,可以使用Moment模块编写一些Node.js代码,如下所示:

exports.handler = function(context, event, callback) {
    const moment = require('moment');
    let responseObject = {};
    let memory = JSON.parse(event.Memory);
    let first_name = memory.twilio.collected_data.your-task-name.answers.first_name.answer || 'to whom it may concern';
    let number = memory.twilio.collected_data.your-task-name.answers.number.answer;
    let message = "Ok " + first_name + "You said your group is of size " + number + "Thank you for booking with us";
    ResponseObject = {
        "actions":[
        { "say": { "speech": message } }
    ]};
    callback(null, responseObject);
}

上面的代码将用户的答案保存到您的自动驾驶助手所询问的每个问题中,从而期望得到不同类型的响应。这些Built-in Field Types包括数字,是或否答案,日期,时间,名字,姓氏,电子邮件,月份,美国各州,国家,城市,星期几,货币,语言等。您还可以跟踪自动驾驶助手在每个自动驾驶任务中提出的问题。

Deep Table tutorial和此Facebook Messenger bot blog post(不同的通信平台,用于解析用户输入的相同代码)有更多详细信息。希望这会有所帮助!