Streaming API (eventos en tiempo real)
¿Quieres que tu almacén de datos, tu middleware o tu sistema de notificaciones se enteren en el instante en que se contabiliza una factura? Los eventos estándar de Salesforce — Change Data Capture y los eventos de plataforma — funcionan en los objetos de REDA Financials igual que en cualquier objeto personalizado. El paquete no publica ningún bus de eventos propietario, lo cual es una buena noticia: configuras mecanismos estándar que ya gobiernas, sin necesidad de construir un consumidor específico del proveedor.
Change Data Capture en objetos contables
Habilita CDC para los objetos que te interesan
Configuración → Change Data Capture → selecciona los objetos refin__ (Factura de venta, Factura de compra, Recibo de caja, Transacción contable…). Cada uno obtiene un canal estándar de eventos de cambio.
Suscríbete desde tu consumidor
Suscriptores CometD/gRPC, o triggers de Flujo/Apex sobre los eventos de cambio — patrones estándar. Los eventos llevan los campos modificados y el tipo de cambio.
Filtra las transiciones que importan
El momento contablemente significativo suele ser el cambio de estado: refin__Status__c llegando a 'Contabilizado' (el documento entró a los libros) o saliendo de ese estado (descontabilizado/anulado). Para feeds a nivel de libro mayor, CDC en refin__Accounting_Transaction__c transmite las contabilizaciones reales.
Patrones de consumidor probados
- Sincronización con el almacén de datos: CDC en Transacción contable → réplica de libro mayor de solo anexado, siempre al día.
- Notificaciones: un Flujo activado por registro en Factura de venta (se dispara igual con cambios de API y de la interfaz) que publica en tu herramienta de chat cuando se contabilizan facturas grandes.
- Sistemas posteriores: archivos de pago, sistemas de propiedades — dispara con la transición a contabilizado en lugar de sondear.
Qué viene incluido y qué habilitas tú
| Mecanismo | ¿Viene incluido? | Notas |
|---|---|---|
Eventos de plataforma (__e) | Ninguno viene incluido | El paquete no publica ningún evento personalizado — no busques canales de REDA en el selector de eventos |
| Change Data Capture | Nada viene preactivado | Tú seleccionas los objetos refin__ en Configuración; los canales siguen la nomenclatura estándar — refin__Sales_Invoice__ChangeEvent y similares |
| Webhooks / HTTP saliente | Ninguno viene incluido | Las únicas llamadas salientes del paquete son sus dos integraciones de servicio propias (IA, tipos de cambio); la entrega de eventos a tus sistemas es algo que tú configuras mediante mecanismos estándar |
| Flujos activados por registro / triggers | Los construyes tú | Se disparan igual con cambios de API y de la interfaz — a menudo el consumidor de "streaming" más simple para una sola reacción del lado del org |
refin__ — asignaciones, volumen de eventos por ráfagas de contabilización, contenido a nivel de campo — es una propiedad de la configuración y la edición de tu org. Habilita, suscríbete y contabiliza un documento de prueba de principio a fin antes de diseñar el consumidor de producción basándote en suposiciones.
Cómo elegir tu señal
| Necesidad | Mejor mecanismo | Por qué |
|---|---|---|
| Un sistema externo refleja los cambios contables de forma continua | Suscripción a CDC (CometD/gRPC) | Ordenado, reproducible, entregado fuera de la transacción — pensado para consumidores externos |
| Una sola reacción dentro del org ante una contabilización | Flujo activado por registro en el cambio de estado | Sin infraestructura de suscriptor; la condición que dispara el flujo es el filtro |
| Cargas nocturnas al almacén de datos, sin necesidad de tiempo real | Sondeo programado por consulta REST/Bulk | Lo más simple de operar; el libro mayor es la verdad consultable — el streaming es una optimización, no un requisito |
| Réplica a nivel de libro mayor (cada débito y crédito) | CDC en refin__Accounting_Transaction__c | Refleja los efectos en lugar de los documentos; por naturaleza es casi exclusivamente de anexado |
Un consumidor real: el caso de Meridian
El almacén de datos financieros de Meridian Properties Group se suscribe a refin__Accounting_Transaction__ChangeEvent tras habilitar CDC en el objeto de libro mayor. El consumidor anexa las creaciones, marca las eliminaciones (descontabilizar borra filas del libro mayor — el evento de eliminación es la señal de reversión) y basa todo en el Id del registro. El trabajo de conciliación nocturno compara luego los saldos del almacén con una consulta Bulk del mismo objeto — el streaming mantiene el día al corriente, el lote demuestra que se mantuvo honesto. Cuando los auditores preguntaron cómo maneja la réplica una factura anulada, la respuesta fue una sola frase: el flujo del libro mayor lleva las filas contables de la anulación como cualquier otra.
Errores comunes que debes evitar
| Error | Por qué perjudica | Haz esto en su lugar |
|---|---|---|
| Tratar 'Contabilizado' como un evento de una sola vez | Los documentos se descontabilizan y vuelven a contabilizarse — los consumidores de "visto una vez" cuentan por duplicado o pierden reversiones | Basa la clave en el Id + la transición; procesa los cambios de estado, no los estados |
| Habilitar CDC en todos los objetos refin "por si acaso" | Las asignaciones se consumen en canales que nadie usa; solo el objeto de libro mayor ya es de alto volumen | Habilita exactamente lo que tiene un consumidor; agrega canales cuando existan consumidores |
| Construir un canal en tiempo real para un informe diario | Infraestructura de streaming para responder algo que un sondeo resuelve en una sola consulta | Ajusta el mecanismo al requisito de actualidad — la tabla de elección de arriba |
| Esperar contenido de evento específico de REDA | No existen — los eventos son eventos de cambio estándar con los campos modificados y el tipo de cambio | Diseña los consumidores sobre el sobre estándar de CDC; es un comportamiento de la plataforma totalmente documentado |
Qué sigue
- API REST — el homólogo de solicitud/respuesta.
- Integración con Salesforce Flows — consumidores declarativos.
- Descripción general de la API — el panorama completo.
Preguntas frecuentes
El CDC estándar ya entrega eventos de cambio confiables, ordenados y reproducibles bajo la gobernanza y los límites de tu org — un bus propietario duplicaría eso con menos herramientas. Una superficie pequeña y estable, y todo lo demás estándar.
Sí — se aplican las asignaciones estándar de CDC según tu edición de Salesforce. Habilita los objetos que realmente vas a consumir; el objeto de libro mayor es de alto volumen por naturaleza, así que dimensiona en consecuencia.
La misma receta: CDC (o un Flujo activado por registro) en refin__Bank_Reconciliation__c, vigilando que el Estado llegue a 'Completado' o 'Aprobado'. Cualquier objeto, cualquier transición — esa es la ventaja del mecanismo estándar.
Sí — CDC captura los cambios de datos sin importar quién los haya hecho, así que los documentos generados por plantillas recurrentes o contabilizados por trabajos programados llegan a tu consumidor igual que las acciones de un usuario. Espera ráfagas alrededor de los horarios de los procesos nocturnos.
No existen webhooks empaquetados. Las arquitecturas estándar son: un suscriptor externo en el canal de CDC (streaming de tipo pull), o tu propio Flujo/Apex reaccionando al cambio y haciendo la llamada saliente bajo la gobernanza de sitios remotos y credenciales de tu org.
¿Te resultó útil?