¿Cómo configuro el paso Editar lista?
Filtra, ordena, quita duplicados y acorta una lista de una herramienta, una acción o una elección múltiple.
¿Para qué sirve?
«Editar lista» edita una lista y escribe el resultado en una variable nueva. La lista suele venir de la respuesta de una Llamada a herramienta o una Acción de integración; una respuesta de elección múltiple también es una lista.
Los visitantes no ven este paso y el avatar no dice nada; el agente sigue sin esperar al visitante.
Para añadirlo, haz clic en «Añadir paso» en la pestaña «Editor» y luego en «Editar lista» en la categoría «Lógica»; el paso se añade en el centro del lienzo. Sus ajustes están en la pestaña «Contenido» del panel que se abre a la derecha al hacer clic en el paso.
Este paso no tiene «Texto en pantalla»; en su lugar hay una «Nota del paso» al final del panel. La nota es solo para ti: los visitantes no la ven, y no se dice ni se traduce.
En los valores usas variables de pasos anteriores, como {city}. Para un campo dentro de una respuesta, añade su nombre tras un punto: {order.status}. El botón «Insertar variable» de los cuadros muestra las variables que puedes usar en ese punto. Una variable que aún no tiene valor cuenta como texto vacío.
Configurar el paso
- En «Lista», escribe la ruta a la lista en sí, como {answer.items}; la respuesta entera no es una lista. Si la lista está en la respuesta de una Llamada a herramienta, haz clic en «Obtener datos de ejemplo» para llamar una vez a la herramienta: eliges una de las «Listas en la respuesta» y ves los «Campos de la primera fila».
- Activa las operaciones que quieras (ver abajo).
- Introduce el «Nombre de la variable» donde se escribe el resultado. {list} da toda la lista, {list.1.field} un campo del primer elemento.
Operaciones
Las operaciones siempre se ejecutan en este orden, para que resultados como «los 5 más baratos» salgan bien:
- «Filtrar»: solo quedan los elementos que cumplen las reglas. Las reglas funcionan como en el paso Condición; escribe el campo del elemento como {item.field} ({item} si el elemento es un valor simple). Sin reglas, no se filtra nada.
- «Ordenar»: escribe en el cuadro que se abre el campo por el que ordenar (por ejemplo, price) y elige «Ascendente» o «Descendente». Los números se ordenan como números, las fechas como fechas y lo demás alfabéticamente; los elementos con valor vacío van al final.
- «Quitar duplicados»: escribe en el cuadro que se abre el campo que comparar; de los elementos con el mismo valor, solo queda el primero. Como se ejecuta después de ordenar, queda el de arriba. Sin campo, se compara el elemento completo.
- «Conservar los primeros N elementos»: solo quedan tantos elementos como el número que indiques, desde arriba de la lista.
Usar el resultado
Puedes usar el resultado en pasos posteriores: mostrarlo como opciones en un paso Selección con «Origen de las opciones» › «Desde una variable», ejecutar los mismos pasos para cada elemento con un paso Bucle, o contarlo o sumarlo con el «Resumen de lista» de Definir variables. Si el resultado es muy largo (unos 16 000 caracteres), se quitan elementos del final.
Ejemplo
Una Llamada a herramienta escribe las horas disponibles en {answer}. En Editar lista: «Lista» {answer.slots}; «Filtrar» {item.seats} · «Número» · «es mayor que» · 0; «Ordenar» por el campo start, «Ascendente»; «Conservar los primeros N elementos» 5; «Nombre de la variable» next_slots. Un paso Selección con el origen «Desde una variable» ofrece entonces las cinco horas más próximas como opciones.
A tener en cuenta
El editor te avisa cuando: no se ha elegido ninguna lista, el nombre de la variable no es válido o una regla de filtro no mira el campo del elemento (esa regla da el mismo resultado para todos los elementos). Si la ruta escrita no apunta a una lista, los datos de ejemplo muestran «Esta ruta no apunta a una lista; el resultado queda vacío.» Para el paso Llamada a herramienta, consulta Pasos Acción de integración y Llamada a herramienta.
Los nombres de variables solo pueden usar las letras a–z, dígitos y guiones bajos (_); las letras con acento y los espacios desaparecen al escribir. «system» está reservado para las variables del sistema, así que elige otro nombre.
Los problemas no impiden guardar: el agente se guarda, pero el paso incompleto no funcionará como se espera en la conversación. Corrige los pasos marcados y prueba el agente con «Vista previa». Para encontrar los pasos marcados, consulta el editor de flujos.
Artículos relacionados
- ¿Cómo configuro los pasos Acción de integración y Llamada a herramienta?Haz trabajo en una integración conectada o llama a tu propia herramienta en un punto del agente: salidas, rama de fallo y reintentos.
- ¿Cómo configuro el paso Bucle?Ejecuta los mismos pasos para cada elemento de una lista, elementos escritos, un rango de números o un texto dividido.
- ¿Cómo configuro el paso Selección?Ofrece opciones a los visitantes: elección única o múltiple, con opciones de una lista fija, una herramienta, una acción anterior o una variable.
- ¿Cómo configuro el paso Definir variables?Escribe texto, un cálculo, una fecha o un resumen de lista en variables, y usa los resultados en pasos posteriores.