频道元数据
Channel-wide Metadata 是一个 JSON 对象,可以应用于 Channel 中的所有树。 此元数据可以是数据源 ID、高级功能的 API 路径,甚至是基本的问候语响应。 您可以在“频道”的“树设置”中编辑元数据。
您可以利用通道范围的元数据来提高 可重用性 并减少树构建的通道部署时间。 例如,在您将 FAQ tree build 部署到新频道的场景中,您可以保留 完全相同的树构建,只需更改新频道元数据设置中的数据源 ID。
预期结果
在以下示例中,用户在 Channel-wide Metadata 中为 Facebook Messenger 和 WhatsApp 应用了不同的数据源 ID。 您可以清楚地发现内容 略有不同,但对话流程 是相同的。
动手实践
您应该决定您的聊天机器人构建的哪一部分将在不同渠道中进行更改。
找到聊天机器人构建的那部分并相应地应用“this.channel.metadata”。 例如,如果您想为不同的频道使用不同的数据源,您可以在
collectionName
中定位并替换所有原始数据源ID为this.channel.metadata.faqDataSourceId
。
Example Pre-action
return new Promise(async (resolve, reject) => {
try {
console.log("in Save Category 1 answers")
let result = await this.fetchDataFromDataSource({
collectionName: this.channel.metadata.faqDataSourceId,
filter: {}
})
console.log("result", result)
result = this.lodash.uniqBy(result, "Category 1")
console.log("result", result)
result = this.lodash.reject(result, { "Category 1": "" })
console.log("result", result)
result = this.lodash.sortBy(result, "Category 1 Priority")
this.member.botMeta.tempData.currentAnswers = result.map(obj => obj["Category 1"])
this.member.botMeta.tempData.listLength = result.length
resolve({
member: this.member,
})
} catch (e) {
reject(e)
}
})
- 前往特定频道并将元数据 JSON 对象添加到“Tree Settings”下的“Channel-wide Metadata”。
Channel-wide Metadata
Below is a sample metadata object for FAQ data source:
{
"this.channel.metadata.faqDataSourceId": "5ea26a9d54dasd3dasd2_faq_level_5",
}
- 对于
metadata.
之后的文本,您可以指定任何名称以适合您的用例。 - 对于
"this.channel.metadata.faqDataSourceId"
后面的字符串,您可以输入要在特定频道中应用的实际数据(例如数据源ID或API路径)。