Gracias al tipo de datos de matriz, puedes hacer tus automatizaciones más potentes y cortar nodos repetitivos en ellas sin impactar en su funcionalidad.
En este artículo, aprenderás a crear y modificar matrices, y obtendrás algunos casos prácticos reales. Ten en cuenta que las matrices no están disponibles en las acciones de automatización y solo se pueden utilizar a través de la API. En este artículo se tratará lo siguiente:
Creación de matrices
Las matrices de Manychat pueden contener textos y números. Hay dos formas de crear matrices:
- UI: en el producto
- API
Para crear una matriz a través de una UI, sigue estos pasos:
Navega hasta Settings (Configuración) → Fields (Campos):
Haz clic en el botón + New User Field (+ Nuevo campo de usuario). Agrega el nombre del campo y selecciona Array (Matriz) en la lista desplegable, luego haz clic en Create (Crea).
Actualmente, no es posible crear un campo bot con el tipo de matriz. Solo se admiten campos de usuario.
Para crear una matriz a través de la API, utiliza el endpoint /fb/page/createCustomField y especifica array (matriz) como tipo en el cuerpo de la solicitud:
{
"caption": "My array",
"type": "array",
"description": "This field can store an array"
}
Lectura de matrices
Los campos de usuario personalizados (CUF) con el tipo de matriz son accesibles a través de lo siguiente:
- UI: en el producto
- API
Para obtener la lista de CUF ya existentes, navega hasta Settings (Configuración) → Fields (Campos). Todos los CUF se muestran en formato de tabla. Puedes comprobar el tipo de CUF en la columna "Type" (Tipo).
Puedes recuperar la misma lista utilizando el endpoint /fb/page/getCustomFields.
Cada objeto CUF contiene type (tipo):
Los valores CUF asociados a un contacto concreto se almacenan en una tarjeta de contacto. Por defecto, Manychat muestra el número de elementos de un campo de matriz, pero puedes acceder a todos los elementos de la matriz haciendo clic en él. A continuación se muestra un ejemplo:
El endpoint de la API equivalente es /fb/subscriber/getInfo.
La respuesta contiene todos los CUF con su tipo y valor:
Modificación de matrices
Es posible modificar los datos de los CUF con el tipo de matriz mediante lo siguiente:
- Mapeo de solicitudes externas
- Mapeo de acciones de aplicación
- API
Para mapear una matriz, especifica la ruta JSON a esta, y Manychat guarda esta matriz en un CUF. A continuación, puedes encontrar un ejemplo basado en un servicio o una API real.
Esta es una respuesta JSON de la API de pedidos de Shopify. Cada pedido es único y puede contener un número diferente de artículos. Gracias a las matrices, puedes guardar todas las unidades de mantenimiento de stock (SKU) en 1 CUF. No es necesario analizar y preparar una respuesta para almacenar cada SKU dentro de su propio CUF.
Los endpoints de la API /fb/subscriber/setCustomField y /fb/subscriber/setCustomFields también se pueden utilizar para guardar matrices. A continuación, encontrarás algunos ejemplos del cuerpo de la solicitud.
- establecer valor no vacío
{
"subscriber_id": {{subscriber_id}},
"field_id": {{field_id}},
"field_value": [1, 2, 3, "apples"]
}
- establecer valor vacío
{
"subscriber_id": {{subscriber_id}},
"field_id": {{field_id}},
"field_value": []
}
- borrar campo de matriz
{
"subscriber_id": {{subscriber_id}},
"field_id": {{field_id}},
"field_value": null
}
No es posible modificar o borrar un campo de matriz en la UI.
Casos de uso
Las matrices se pueden utilizar para múltiples casos de uso. Lo que los une a todos es que las matrices son estupendas cuando los datos con los que trabajas contienen un número desconocido de elementos. Por ejemplo:
- Comercio electrónico. Cada carrito y cada pedido son únicos. Los pedidos pueden contener cualquier cantidad de artículos. Puedes suponer que un pedido promedio contiene 2 o 3 artículos, y mapear cada artículo individualmente, pero en este caso, puedes perder algunos datos si tu cliente pide más artículos de los previstos en tu mapeo.
- Bots basados en NLU/NLP. Servicios como wit.ai analizan las entradas del usuario y devuelven intenciones y entidades. Una vez más, cada entrada de usuario es única. Las matrices funcionan perfectamente sin importar cuántas entidades devuelva el servicio.
- Preguntas de opción múltiple. Si utilizas formularios o encuestas para calificar a tus contactos, es posible que estés familiarizado con las preguntas de opción múltiple. El número de opciones que cada contacto puede seleccionar varía. Es más fácil almacenarlas en matrices que analizar los datos y crear un CUF distinto para cada respuesta.