【问题标题】:Twilio Autopilot Handof with memory for on call conversationTwilio Autopilot Handof,带内存,用于通话通话
【发布时间】:2020-03-17 02:07:32
【问题描述】:

我有一个twilio autopilot,类似于twilio 中的预约时间表样本,我希望它在它启动之前就有一个记忆,我有一个B2C 服务,在那里我提供了与他们的客户联系的平台。现在每个企业都提供不同的服务,因此我希望能够识别我的机器人正在接听谁的电话,并根据该信息回复此人。

现在我有硬编码的企业 ID,但我希望企业能够使用他们的企业 ID 移交给机器人,我已阅读 documentation 但它没有说明如何处理呼叫重定向作为我的 Bot 将只处理呼叫。

【问题讨论】:

    标签: node.js twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    你可以用Twilio Studio来做到这一点!

    “入站上下文允许您在开始与机器人对话之前将数据添加到 Autopilot 内存。在 Studio 流程中,它允许您将流程中其他小部件创建的流程变量无缝传递到 Autopilot 以用于机器人对话. 然后,您可以直接从 Autopilot 对您的应用程序的请求中包含的 Memory JSON 解析这些变量“(more info here):

    -Memory.CarMake

    -Memory.CarModel

    您也可以使用类似这样的 URL 来传递带有 Memory 的入站上下文,其中发送到具有此 URL 的机器人的任何消息都会将 CarModelCarMakeCarYear 插入自动驾驶仪内存。 https://channels.autopilot.twilio.com/v1/<ACCOUNT_SID>/<ASSISTANT_SID>/twilio-messaging?Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"} 该 URL 将用于 SMS 机器人并进入您放置 Twilio 电话号码的 webhook URL 的位置,但您可以类似地修改它为 WhatsApp (https://channels.autopilot.twilio.com/v1///twilio-messaging/whatsapp?Memory= {"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}),语音,Custom Channels (https://channels.autopilot.twilio.com/v1///custom/{YourCustomChannelName} ?Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}) 等

    TwiML for voice would look like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <Response>
      <Connect action="https://www.example.com/autopilot">
        <Autopilot Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}>UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</Autopilot>
      </Connect>
    </Response>
    

    如果这有帮助,请告诉我!:D

    【讨论】:

    • 好的,我试过了,但问题是内存是动态的。
    • 您可以在 TwiML 中动态插入变量!
    • 我只是在下面回答了这个问题:)
    【解决方案2】:

    您可以使用入站上下文,如下所述。

    入站上下文 https://www.twilio.com/changelog/inbound-context

    入站上下文可让您将数据添加到自动驾驶仪内存之前 开始与机器人对话。它可以帮助您制作机器人 通过制作类似的信息,体验更加个性化和情境化 存储在第三方中的姓名、购买历史、帐号等 机器人对话中直接可用的系统。

    【讨论】:

      【解决方案3】:

      我找到了处理它的方法,它可能不是最好的方法,但它对我真的很有帮助。 所以我所做的是我创建了一个返回 Twml 的 API 类似于this

      <?xml version="1.0" encoding="UTF-8"?>
      <Response>
        <Connect action="https://www.example.com/autopilot">
          <Autopilot Memory={"CarModel":"Diablo","CarMake":"Lamborghini","CarYear":"2019"}>UAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</Autopilot>
        </Connect>
      </Response>
      

      现在我购买了号码并将其 webhook URL 设置为我创建的 API,在该 API 中,我可以传递参数,然后使用这些参数创建内存

      这是我在 Nodejs 中的 API 处理程序:

      const VoiceResponse = require('twilio').twiml.VoiceResponse
      const voice = (req, res, next) => {
      
        const response = new VoiceResponse()
        const connect = response.connect()
        connect.autopilot({
          TargetTask: 'greeting',
          Memory: `{"companyId": "${req.params.id}"}`
        },
        process.env.AUTOPILOT_SID)
      
        res.type('text/xml')
        res.send(response.toString())
      }
      

      我希望这对希望根据不同数字创建动态内存或创建适用于多租户平台的机器人的人有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-03
        • 2014-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多