--- title: "Crear una regla" url: https://docs.catalyst.zoho.com/es/tutorials/invoice-notifier/python/create-rule/ description: "Crea una arquitectura dirigida por eventos para automatizar las actualizaciones de facturas de Zoho Books a Zoho Cliq usando Event Functions y Catalyst Signals." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Publishers" url: /es/signals/help/publishers/key-aspects/ - name: "Targets" url: /es/signals/help/targets/key-aspects/ - name: "Rules" url: /es/signals/help/rules/key-aspects/ - name: "Events" url: /es/signals/help/events/key-aspects/ - name: "Event Functions" url: /es/serverless/help/functions/event-functions/ --- # Crear una regla Ahora que el Publisher y la Event Function están configurados, definamos cómo se deben procesar y entregar los eventos configurando una regla. Sigue estos pasos para crear la regla: 1. En la consola de desarrollo, selecciona tu proyecto: *InvoiceNotifier*. 2. Ve a **Catalyst Signals** y haz clic en **Rules** en la navegación izquierda. ![Add Rule](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/rule.webp) 3. Haz clic en **Add Rule**, luego proporciona un nombre y una descripción para tu regla. ![Provide name and description for the Rule](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/create-rule.webp) ### Definir la fuente de eventos 4. En Source, haz clic en **Choose Event** y selecciona el Publisher de Zoho Books que agregaste anteriormente. 5. De la lista de eventos disponibles, elige *Customer Payment Created* y luego haz clic en **Done**. ![Configure the publisher and event for the rule](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/source.webp) ### Definir el filtro de eventos 6. En la sección Filter, haz clic en el **ícono de edición** y elige **Events matching certain conditions**. ![Select Events matching certain conditions](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/filter.webp) 7. Crea una condición de filtro para incluir solo los eventos donde el estado de la factura sea **Paid**: - En el menú desplegable Path, selecciona la ruta JSON que corresponde al campo **payment_status**. - Define la condición para que coincida con Paid. 8. Haz clic en **Save** para aplicar el filtro. ![Configure filter for the rule](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/filter-criteria.webp) ### Configurar los ajustes del Target 9. Haz clic en **Choose Target** y asigna un nombre a tu target. 10. En **Consumer Type**, selecciona la Event Function que creamos anteriormente usando la CLI. 11. Establece la **Dispatch Policy** en **Batch by Interval**: - Elige un intervalo de *una hora*. - Establece el Retry Count en *cinco*. ![Configure target settings](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/target-settings.webp) ### Transformar el payload 12. En la sección **Target Input**, elige **Transform**. 13. Del payload de evento predeterminado del evento *Customer Payment Created*, selecciona solo los datos requeridos y estructúralos como se muestra a continuación. **Expected Event Payload** ```json { "data" : [ [ { "Customer" : "test", "Invoice Number" : "Customer opening balance", "Amount" : "₹3,24,244.00", "Paid On" : "31/10/2023", "Invoice Id" : "275557000000158181" } ] ] } ``` **Data Mapping for Template Compiler** ```text { "data" : $.events.forEach((event)-> event.data.payment.invoices.forEach((invoice)-> { "Customer" : event.data.payment.customer_name, "Invoice Number" : invoice.invoice_number, "Amount" : invoice.total_formatted, "Paid On" : event.data.payment.date_formatted, "Invoice Id" : invoice.invoice_id } ) ) } ``` Pega esta estructura en el compilador de plantillas para extraer los campos requeridos y haz clic en **Generate Output**. ![Event Body Transformation](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/transformation.webp) Consulta la [guía de ayuda de transformación del cuerpo de eventos](https://docs.catalyst.zoho.com/es/signals/help/targets/event-body-setup/event-transformation/) para aprender cómo personalizar los payloads de eventos en detalle. 14. Guarda las configuraciones del target y luego haz clic en **Save** nuevamente para finalizar la regla. Ahora, cada vez que un cliente complete un pago, la factura correspondiente en Zoho Books se actualiza. Esta actualización desencadena un evento que se procesa cada hora en Catalyst Signals y envía automáticamente un mensaje resumido al canal de Zoho Cliq. ![Invoice Notifier](https://catalyst-docs-development.zohostratus.in/images/tutorials/invoice-notifier/demo.webp)