Twilio与聊天机器人的对话

Twilio与聊天机器人的对话,twilio,twilio-studio,twilio-conversations,Twilio,Twilio Studio,Twilio Conversations,我想知道如何使用twilio对话api和自动驾驶仪聊天机器人。 因此,用户开始与bot聊天,在回答了bot的一些问题后,用户被交给real-agent并继续与他们聊天。 我已经使用twilio对话api和使用自动驾驶仪的聊天机器人进行了对话。 现在我想知道如何集成它们。这里是Twilio开发者福音传道者 Twilio Autopilot不支持对话,只支持可编程聊天。对于这些用例中的大多数,我建议使用Autopilot+Studio+Flex——然后您可以构建任何东西 以下解决方法来自Twilio

我想知道如何使用twilio对话api和自动驾驶仪聊天机器人。 因此,用户开始与bot聊天,在回答了bot的一些问题后,用户被交给real-agent并继续与他们聊天。 我已经使用twilio对话api和使用自动驾驶仪的聊天机器人进行了对话。
现在我想知道如何集成它们。

这里是Twilio开发者福音传道者

Twilio Autopilot不支持对话,只支持可编程聊天。对于这些用例中的大多数,我建议使用Autopilot+Studio+Flex——然后您可以构建任何东西

以下解决方法来自Twilio保障性工程师Adam Taylor:

  • 要在自动驾驶仪会话结束后创建自动驾驶仪演播室流(即,在没有
    侦听的情况下点击任务),您可以
    切换到另一个小部件。您可以在自动驾驶仪的内存中添加一个“sendToAgent”指示器,然后使用“Split-Based”小部件检查该指示器,只有在适当的时候才进行切换。
    然后,自动驾驶仪告别任务的示例可能如下所示
  • {
    “行动”:[
    {
    “说:”太好了。如果你有任何问题,请再次联系。我会把你送到一个代理人那里去完成。”
    },
    {
    “记住”:{
    “sendToAgent”:正确
    }
    }
    ]
    }
    
  • 在中找到您的Studio流SID
  • 要使用对话,请确保您的功能具有更新版本的Twilio
  • 然后,函数的JS代码可能看起来像
  • exports.handler=函数(上下文、事件、回调){
    const client=context.gettwillioclient();
    const conversationSid=event.conversationSid;
    客户对话
    .对话(对话SID)
    .webhooks.create({
    “configuration.flowSid”:“fwxxxxxxxxxxxxxxxxxx”//在此处更新您的流sid
    “configuration.replayAfter”:0,
    目标:“工作室”
    })
    .然后(webhook=>{
    让responseObject={“conversationSid”:conversationSid,“webhookSid”:webhook.sid};
    回调(null,responseObject);
    })
    .catch(错误=>{
    回调(错误);
    });
    };
    
  • 将该函数URL粘贴为会话的事件后URL。选择“onConversationAdded”作为此url将接收的帖子Webhook。

  • 通过配置短信会话。

  • 将自动驾驶仪机器人的电话号码与此消息服务关联。

  • 更新集成设置,以便在信息到达此电话号码时创建新对话

  • 创建从对话中删除Studio的函数。创建一个包含如下代码的函数:

  • exports.handler=函数(上下文、事件、回调){
    const client=context.gettwillioclient();
    const conversationSid=event.conversationSid;
    const webhookSid=event.webhookSid;
    客户对话
    .对话(对话SID)
    .webhooks(webhookSid)
    .删除()
    .然后(()=>{
    让responseObject={“conversationSid”:conversationSid,“webhookSid”:webhookSid};
    回调(null,responseObject);
    })
    .catch(错误=>{
    回调(错误);
    });
    };
    
    另一个功能是将参与者添加到对话中

    exports.handler=函数(上下文、事件、回调){
    const client=context.gettwillioclient();
    const conversationSid=event.conversationSid;
    const handoffTo=event.handoffTo;
    客户对话
    .对话(对话SID)
    .与会者
    .创造({
    'messagingBinding.address':切换到,//要将消息会话切换到的电话号码或whatsapp地址
    'messagingBinding.proxyAddress':'+14156632326'//附加到消息服务的电话号码
    })
    .然后(参与者=>{
    让responseObject={“participantSid”:participant.sid,“conversationSid”:conversationSid};
    回调(null,responseObject);
    })
    .catch(错误=>{
    回调(错误);
    });
    };
    
    最后,添加Studio小部件以运行这些功能并完成切换。 第一个小部件是RunFunction-removestudiowbhook

    函数参数包括
    ConversationSid:{{trigger.message.ConversationSid}}
    WebhookSid:{{trigger.message.WebhookSid}
    第二个小部件是RunFunction-addToConversation

    函数参数包括
    ConversationSid:{{trigger.message.ConversationSid}
    WebhookSid:+15555551212(您要切换到的号码)
    第三个发送消息

    小部件配置:
    MessageBody:Customer{{{contact.channel.address}}已与代理Adam连接。(替换为您的代理人姓名)
    将消息发送至:+155551213(替换为您要切换到的号码)

    Conversations API的描述将“基本自动响应和聊天机器人功能”作为一些自动功能“这意味着您可以在Conversations API的帮助下构建自己的聊天机器人


    让我知道这是否有帮助!

    这里是Twilio开发者福音传道者

    Twilio Autopilot没有对话作为受支持的频道,只有可编程的聊天。对于大多数使用情况,我建议使用Autopilot+Studio+Flex——然后您可以构建任何东西

    以下解决方法来自Twilio保障性工程师Adam Taylor:

  • 要在自动驾驶仪会话结束后创建自动驾驶仪演播室流程(即,在没有
    侦听的情况下点击任务),您可以
    切换到另一个小部件。您可以在自动驾驶仪内存中添加“sendToAgent”指示器,然后使用“基于拆分”小部件检查此指示器,仅在适当时进行切换。
    然后,自动驾驶仪告别任务的示例可能如下所示
  • {
    “行动”:[
    {