
Un pedido de WooCommerce puede contener varios productos, pero muchos flujos de trabajo necesitan esos productos por separado. Tal vez quieras una fila de hoja de cálculo por artículo, un registro de CRM por producto o datos más limpios para informes.
En lugar de mapear line_items[0], línea_de_artículos[1], y así sucesivamente de forma manual, puedes recorrer todo artículos_de_línea organizar y procesar cada producto automáticamente. Esta guía explica cómo hacerlo en Bit Flows utilizando un iterador.
Mapear el WooCommerce artículos_de_línea Inserta la matriz en el iterador Bit Flows y, a continuación, conecta la acción que quieras ejecutar a continuación.
El Iterador procesa cada partida de forma independiente, por lo que un pedido con varios productos puede crear filas de Google Sheets, registros de CRM, mensajes u otras acciones por separado sin necesidad de mapeo manual.
Realizar un bucle por las líneas de pedido de WooCommerce significa ejecutar la misma acción una vez por cada línea de producto distinta de un pedido. Un pedido que contenga dos camisetas y una taza de café tiene dos líneas de pedido, por lo que el bucle se ejecuta dos veces. La cantidad de camisetas es 2, pero solo se muestra una línea a menos que se añada intencionadamente otro bucle basado en la cantidad.
| Partida | Cantidad | Ejecuciones del iterador |
| Camiseta | 2 | 1 |
| Taza de café | 1 | 1 |
| Total | 3 unidades | ejecuciones de 2 partidas |
Esta distinción es importante porque un bucle por línea de pedido responde a la pregunta “¿Cuántas líneas de producto diferentes hay en el pedido?”. No responde a la pregunta “¿Cuántas unidades se han comprado en total?”. WooCommerce proporciona la cantidad de cada artículo, por lo que la siguiente acción sigue pudiendo ver que se han pedido dos camisetas.
Prepara estos elementos antes de crear el flujo de trabajo:
El flujo de trabajo recomendado utiliza tres nodos: WooCommerce inicia el flujo, Iterador divide la matriz line_items en elementos actuales y Google Sheet añade una fila para cada elemento actual. No necesitas un agente de IA, un enrutador o un analizador JSON para una respuesta estructurada normal de WooCommerce.

En Bit Flows, crea un nuevo flujo y añade WooCommerce como desencadenante; a continuación, selecciona «Al crear un nuevo pedido». De este modo, el flujo de trabajo se iniciará cada vez que WooCommerce cree un nuevo pedido.

Antes de continuar, decide cuándo debe ejecutarse el flujo. Al crear un nuevo pedido se activa en el momento en que se crea un pedido, lo cual para la mayoría de las cajas es mientras el pedido aún está pendiente de pago.
Abre el disparador y haz clic Escucharía la respuesta. Bit Flows permanecerá a la espera de la siguiente orden durante unos tres minutos.

Mientras se está ejecutando, abre tu tienda en una pestaña aparte y realiza un pedido de prueba. Añade al menos dos productos diferentes al carrito, luego sigue con el proceso de pago y finaliza el pedido. El uso de varios productos te ayudará a comprobar cómo gestiona y procesa el bucle más de un artículo dentro del mismo pedido.

Cuando se recibe el pedido, Bit Flows captura la respuesta. Podrás ver los datos del pedido, incluidos los orden_id y un objeto de pedido que contiene los datos de facturación, los totales y el artículos_de_línea matriz.

Haz clic en el icono «+» situado junto al disparador y añade la herramienta «Iterador». En el campo «Matriz», asigna el orden artículos_de_línea desde el activador de WooCommerce. Mapea line_items, no line_items[0].

Tras una prueba, despliega la salida del iterador y verás los campos correspondientes a los productos: id_producto, nombre_producto, cantidad, subtotal, total, código_producto, precio_unitario_producto, y más. Estos son los campos que enviarás a la hoja de cálculo. Utiliza los nombres de campo exactos que se muestran en tu propia respuesta capturada, ya que pueden variar según la configuración de la tienda.

En Google Sheets, crea una hoja de cálculo y añade una fila de encabezado. Utiliza los campos que quieras registrar aquí, como los detalles del pedido, la información del cliente, los detalles del producto, la información de pago y el estado del pedido.
Después del «Iterator», añade «Hojas de cálculo de Google» y selecciona «Añadir fila».
Para conectar Google Sheets con Bit Flows, ve a Consola de Google Cloud, activa las API de Google Drive y Google Sheets, configura la pantalla de consentimiento de OAuth y crea una aplicación web OAuth utilizando el origen de JavaScript autorizado y el URI de redirección proporcionados por Bit Flows. A continuación, copia el ID de cliente y el secreto de cliente generados y pégalos en los campos de conexión de Bit Flows. Para completar la configuración, sigue las instrucciones de guía de integración oficial de Google Sheets.
Selecciona tu conexión de Google, la hoja de cálculo y la pestaña de la hoja. Luego, mapea cada columna. Mantén la división clara. Los campos a nivel de pedido provienen del activador de WooCommerce y los campos a nivel de producto provienen del Iterador:

Para Nombre del Cliente, use Entrada Mixta para poder combinar dos campos en una columna, como billing_first_name y billing_last_name. Mezclar Entradas le permite colocar texto estático y más de un valor en un solo campo de destino, mientras que el mapeo normal pasa un solo valor.
Asigna el Total del pedido al total del pedido del disparador, no al total de una partida individual. Cada fila del mismo pedido muestra entonces el valor total del pedido. Ese valor se repite en cada fila de producto por diseño, así que trátalo como una etiqueta, no como un número para sumar. Si en su lugar deseas los ingresos por producto, añade una columna de Total de partida y asígnala al total del artículo actual del Iterador, que ya tiene en cuenta la cantidad.
Ejecute el flujo, luego realice un pedido de prueba con varios productos diferentes para demostrar que el ciclo funciona.
El Iterador procesa cada producto en ese pedido, y Agregar fila escribe una fila por producto. Un pedido con tres productos produce tres filas, cada una con su propio nombre de producto, cantidad y precio, mientras que los campos a nivel de pedido se mantienen iguales en esas filas.

Ese es el objetivo principal del bucle: un pedido con varios productos se convierte en registros de productos separados y utilizables, sin tener que seleccionar line_items[0], line_items[1] y así sucesivamente de forma manual.
Mapeando line_items[0] en lugar de line_items. Esto envía solo el primer producto a la hoja. Mapea la matriz line_items completa en el Iterador para que se procese cada producto.
Se espera una fila por unidad. Una cantidad de 3 sigue siendo una partida y una fila. Si realmente necesita una fila por unidad, tendría que agregar un segundo bucle basado en la cantidad, que la mayoría de las tiendas no necesitan.
El total del pedido muestra una cifra incorrecta. Si la columna del total del pedido muestra el precio del primer producto, o el mismo valor pequeño en cada fila de un pedido grande, se asignó al total de una partida individual en lugar de al gran total del pedido. Asígnela al gran total del pedido del activador. Para los ingresos por producto, agregue una columna de Total de partida asignada al total del artículo actual del Iterador.
Usando el activador de creación para una hoja de ventas pagadas. «Al crear un nuevo pedido» se activa antes del pago, por lo que la hoja puede llenarse con pedidos pendientes o abandonados. Utilice «Estado del pedido establecido en En proceso» o «Completado» cuando solo desee pedidos pagados.
El Iterator es una herramienta que procesa una lista elemento por elemento. Le proporcionas la matriz order line_items y ejecuta la siguiente acción una vez por cada producto en esa matriz. Debido a que entrega el siguiente paso un producto a la vez, puedes mapear los campos de ese producto directamente en una fila de una hoja de cálculo.
Una aclaración que evita confusiones más adelante: el Iterador se ejecuta una vez por cada fila de producto, no una vez por cada unidad. Si un cliente compra tres teléfonos iguales, sigue siendo un solo elemento de línea y una sola fila, con una cantidad de 3. No crea tres filas.
Una vez que el iterador está asignado a WooCommerce artículos_de_línea matriz, el resto del flujo de trabajo se vuelve mucho más fácil de gestionar. Puedes enviar cada producto a Google Sheets o a cualquier otra acción conectada manteniendo al mismo tiempo los detalles del pedido relacionados con él.
Esto es especialmente útil cuando su automatización necesita datos estructurados a nivel de producto en lugar de un pedido de WooCommerce agrupado.
Los elementos de línea de pedido de WooCommerce son las filas de productos distintas dentro de un pedido, con campos como ID de producto, ID de variación, cantidad, subtotal, impuestos y total.
Utiliza Bit Flows: añade un disparador de WooCommerce, pasa el array «line_items» del pedido a un iterador y, a continuación, añade una acción; así se ejecutará una vez por cada producto sin necesidad de PHP.
Crea una fila por línea de producto, no por unidad, por lo que una cantidad de tres sigue siendo un solo artículo de línea con un valor de cantidad de tres.
Usa Al crear un nuevo pedido para capturar cada pedido en el momento de su creación, o Estado del pedido establecido en Procesando o Completado cuando solo quieras registrar los pedidos pagados.
Sí, después del iterador puedes añadir cualquier acción Bit Flows, por lo que el mismo bucle puede crear registros de CRM, enviar correos electrónicos o publicar mensajes, uno por cada producto.
No, cuando line_items llega como una matriz estructurada, solo necesitas el Iterator, ya que el JSON Parser es para texto JSON sin procesar y un Agente de IA es innecesario para un mapeo fijo.
Sí, el disparador de WooCommerce, el iterador y la acción de Google Sheets están incluidos en el plan gratuito de Bit Flows, por lo que el flujo de trabajo se ejecuta sin necesidad de una suscripción de pago.
