Metadatos a nivel de canal

Metadatos a nivel de canal

Los metadatos a nivel de canal son un objeto JSON que se puede aplicar a todos los árboles en un canal. Estos metadatos pueden ser un ID de origen de datos, una ruta de API para una función avanzada o incluso una respuesta básica de saludo. Puedes editar los metadatos en la configuración del "árbol de un canal" en "Configuración del Árbol".
Puedes aprovechar los metadatos a nivel de canal para mejorar la reutilización y reducir el tiempo de implementación del árbol de un canal. Por ejemplo, en el escenario en el que despliegas un árbol de preguntas frecuentes (FAQ) en un nuevo canal, puedes mantener el mismo árbol y simplemente cambiar el ID del origen de datos en la configuración de metadatos del nuevo canal.

Resultado Esperado 

En el siguiente ejemplo, el usuario aplicó diferentes IDs de origen de datos en los metadatos a nivel de canal para Facebook Messenger y WhatsApp. Puedes observar claramente que el contenido es ligeramente diferente, pero el flujo de la conversación es el mismo.

Facebook Level 5 FAQ Chatbot
Chatbot de preguntas frecuentes de nivel 5 para Facebook
WhatsApp Level 5 FAQ Chatbot
El mismo desarrollo de chatbot de preguntas frecuentes se implementa en Facebook y WhatsApp.
Datasource with Facebook
Origen de datos con Facebook
Datasource with WhatsApp
Los Orígenes de Datos son diferentes para Facebook y WhatsApp

Ponerse manos a la obra

  1. Deberías decidir qué parte de la construcción de tu chatbot se modificará en diferentes canales.

  2. Localiza esa parte de la construcción del chatbot y aplica  this.channel.metadata en consecuencia. Por ejemplo, si deseas utilizar un origen de datos diferente para un canal diferente, puedes localizar y reemplazar todos los IDs de origen de datos originales con this.channel.metadata.faqDataSourceId  en collectionName.

Ejemplo de acción previa

return new Promise(async (resolve, reject) => {
console.log("in Save Category 1 answers")
let result = await this.fetchDataFromDataSource({
channel: this.channel,
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,
})
})
  1. Dirígete al canal específico y agrega el objeto JSON de metadatos a "Metadatos a nivel de canal" bajo "Configuración del Árbol".
Channel-wide Metadata
Metadatos a Nivel de Canal

A continuación se muestra un objeto de metadatos de ejemplo para un origen de datos de preguntas frecuentes (FAQ):

{
"this.channel.metadata.faqDataSourceId": "5ea26a9d54dasd3dasd2_faq_level_5",
}
  • Para el texto después de metadata. puedes designar cualquier nombre que se ajuste a tu caso de uso.
  • Para la cadena después de "this.channel.metadata.faqDataSourceId", puedes ingresar los datos reales (por ejemplo, el ID del origen de datos o la ruta de la API) que se aplicarán en un canal específico