调用云功能

当唤起云功能的时候, Stackchat可以提供清晰的结构数据用来支持功能执行。功能中会接收到两段参数:

`userData' 在每次云功能唤醒时会提供包含如下所有MetaCustom的内容。

               //  userData -
               //    - metaData -
               //          - userId
               //          - signedUpAt
               //          - conversationStarted
               //          - isAuthenticated
               //          - email
               //          - givenName
               //          - surname
               //          - lastUtterance
               //          - rawNlpResponse
               //          - previousFlow
               //          - currentFlow
               //    - slotData -
               //        - All custom slot variables

原数据中填写的数据字段会根据你的机器人在Channel的沟通与描述而产生变化.

其中需要额外注意 rawNlpResponse 数据字段。如果你的机器人有办法可以通过NLP-based navigation或者active navigation方式触发流程, 该数据字段可能就会过时, 因为它总是需要NLP服务提供最新的回复。

rawNlpResponse 会以如下形式呈现。

{
    dateReceived
    responseData
}

dateReceived 可以用于验证时间并确认NLP回复是与唤起的云功能相关,responseData 会根据使用的NLP服务产生变化.

第二个会发送的参数是postBackPayload. 它仅会在云功能通过postback carousel button 唤醒时传输并会反馈该按钮的负载。它可以用来执行一些功能例如回传产品ID。如果云功能是通过其它方式触发,该参数将不会包含在内。

你的云功能现在将可以通过Dynamic Content Toolkit的编程和回传数据来执行。在大部分情况下, 它将通过非同步联络的方式给到你的商业API,以用来回传promisePromise<dc.DynamicContentItem[]>。在极少情况下当你的动态内容已经生成,你可以使用dc.DynamicContentItem[]替代。