Desarrollo web

Arquitectura de integración Salesforce: REST, Bulk 2.0 y Pub/Sub

Descubre patrones de arquitectura de integración Salesforce con REST, Bulk API 2.0 y Pub/Sub para optimizar latencia, rendimiento y límites de gobernador.

Volver al blog13 min de lectura
Arquitectura de integración Salesforce: REST, Bulk y Pub/Sub
13 min de lecturaQuedan 13 min

Diseñar una arquitectura de integración Salesforce resiliente requiere alinear los requisitos de capacidad de procesamiento (throughput) y latencia con los límites de la plataforma. Si bien los endpoints REST estándar atienden cargas de trabajo transaccionales síncronas, las arquitecturas no calibradas suelen degradarse ante picos repentinos o ante la sincronización de datos de gran volumen. Elegir el protocolo adecuado entre REST síncrono, Bulk API 2.0 asíncrona y las API Pub/Sub basadas en eventos determina si los pipelines empresariales mantienen la fidelidad en tiempo real o se enfrentan a estrictos umbrales operativos.

¿Por qué falla la arquitectura de integración Salesforce empresarial a escala?

Los pipelines de datos empresariales se degradan con frecuencia cuando los equipos tratan a Salesforce como una base de datos relacional ordinaria accesible mediante endpoints sin control de tasa. A escalas operativas moderadas, las llamadas REST síncronas punto a punto se ejecutan sin problemas en los puntos de contacto de facturación, marketing y ERP. Sin embargo, a medida que la frecuencia transaccional se acelera, estas conexiones no coordinadas agotan con rapidez los límites del tenant. Un modelo punto a punto simplista carece de almacenamiento en búfer, gestión de contrapresión y gobernanza compartida de tokens, lo que provoca que los picos localizados de ingesta bloqueen operaciones críticas de producción en unidades de negocio enteras.

El principal cuello de botella arquitectónico se origina al vincular la ejecución síncrona en tiempo real con las rígidas restricciones multitenant. Cuando los microservicios externos emiten peticiones HTTP individuales para cada mutación de estado, la acumulación de trabajo ascendente desencadena tiempos de espera de conexión (timeouts) en cascada. Según la documentación oficial sobre límites de solicitudes de las API de Salesforce, los tenants deben equilibrar las restricciones de ejecución concurrente con los topes de solicitudes acumuladas. Una robusta arquitectura de integración Salesforce previene los fallos en cascada al sustituir las llamadas directas a endpoints por capas de ingesta desacopladas y niveles de colas.

Construir un sistema resiliente requiere una planificada estrategia de límites de gobernador de la API de Salesforce que aísle los flujos de trabajo de misión crítica de la sincronización en segundo plano. Si bien los equipos de ingeniería modernos recurren con frecuencia a herramientas de programación con IA para acelerar el andamiaje de conectores y la generación de código reutilizable (boilerplate) para clientes, los scripts automatizados no pueden anticipar los cuellos de botella de concurrencia ni la contención entre aplicaciones. Los ingenieros de sistemas senior deben establecer un aislamiento estricto de límites, rutinas de recuperación de errores y una jerarquización de protocolos para preservar la estabilidad operativa bajo una carga sostenida.

¿Cómo determinan los límites diarios de la API y la capacidad de procesamiento (throughput) de datos la selección del protocolo?

Cálculo de las asignaciones de API en ventanas móviles de 24 horas entre aplicaciones conectadas

Salesforce contabiliza las llamadas entrantes REST, SOAP y Bulk frente a una asignación agregada para toda la organización a lo largo de una ventana móvil de 24 horas, en lugar de utilizar días naturales fijos. En implementaciones de Enterprise Edition, el fondo base comienza en 100 000 solicitudes, más las asignaciones por licencias contratadas (normalmente 1000 llamadas adicionales por cada licencia de usuario estándar). Dado que cada aplicación conectada, microservicio personalizado y paquete gestionado consume de este fondo compartido, una ingesta sin control de tasa desde un único subsistema puede agotar la cuota de la organización. Los sistemas cliente deben inspeccionar de forma proactiva el encabezado HTTP Sforce-Limit-Info o consultar el recurso de límites para regular dinámicamente la velocidad de las solicitudes salientes antes de alcanzar los límites de la plataforma.

Restricciones en la ejecución de solicitudes concurrentes y vulnerabilidades por tiempo de espera

Más allá de las asignaciones diarias agregadas, en una arquitectura de integración Salesforce los arquitectos deben considerar límites estrictos de concurrencia. Según las especificaciones de la plataforma, los entornos de producción limitan las solicitudes de larga duración —llamadas que se ejecutan durante 20 segundos o más— a un máximo de 25 subprocesos concurrentes. Si consultas transaccionales no optimizadas o integraciones síncronas saturan estos espacios de ejecución, las llamadas entrantes fallan de inmediato con una excepción REQUEST_LIMIT_EXCEEDED. El sondeo REST de alta frecuencia agrava este riesgo al mantener activos los subprocesos de conexión y aproximarse a los umbrales de tiempo de espera estándar de 10 minutos.

Desarrollar una eficaz estrategia de límites de gobernador salesforce api requiere sustituir el sondeo repetitivo por la entrega de mensajes basada en eventos. En patrones de integración salesforce empresariales maduros, los equipos de ingeniería aíslan las demandas de capacidad de procesamiento (throughput) amortiguando las cargas útiles mediante middleware de colas. En Canvas Developers, nuestros ingenieros evalúan el volumen de integración entre los servicios conectados, diseñando limitadores de tasa token-bucket y búferes asíncronos que protegen a las organizaciones de producción frente a picos imprevistos de transacciones.

¿Cuándo debería utilizar la API REST de Salesforce para integraciones en tiempo real?

Los endpoints REST síncronos proporcionan los ciclos inmediatos de solicitud-respuesta necesarios para interfaces de usuario interactivas, flujos de compra (checkout) y microservicios transaccionales. Cuando un usuario actualiza los datos del perfil de cliente en una aplicación móvil o un portal externo valida los derechos de suscripción, REST síncrono ofrece tiempos de respuesta inferiores al segundo que las arquitecturas asíncronas no pueden proporcionar. Para operaciones de un solo registro que requieren confirmación inmediata, los endpoints estándar de sObject garantizan una consistencia de datos confiable entre los distintos límites operativos.

Pipelines CRUD de un solo registro y recuperación de datos orientada a la interfaz de usuario

En flujos de trabajo transaccionales, los microservicios externos a menudo requieren identificadores de registro inmediatos para completar el procesamiento previo. Implementar llamadas REST punto a punto permite a los sistemas consultar, crear o actualizar registros individuales con una sobrecarga mínima de serialización. Sin embargo, al evaluar las ventajas y desventajas entre arquitecturas de salesforce rest api vs bulk api dentro de una arquitectura de integración Salesforce, depender de solicitudes REST individuales para la sincronización periódica de datos genera una latencia de red excesiva y agota rápidamente los límites de gobernador de 24 horas de la API de Salesforce.

Agrupación de llamadas de carga útil con recursos Composite y SObject Tree

Para lograr una eficiente integración de datos en tiempo real salesforce sin agotar las asignaciones de API, los ingenieros utilizan los recursos de Salesforce Composite. En lugar de enviar docenas de viajes de ida y vuelta (round-trips) HTTP aislados, la API compuesta (Composite API) de Salesforce permite a las aplicaciones cliente agrupar hasta 25 subpeticiones en una sola solicitud HTTP POST. Al hacer referencia a identificadores principales entre subpeticiones mediante variables de referencia (como @{NewAccount.id}), los desarrolladores pueden crear jerarquías complejas —como una Account con Contacts y Opportunities anidados— dentro de un único contexto de ejecución. El parámetro allOrNone aplica además una reversión atómica si alguna entidad secundaria dependiente no supera la validación.

Si bien las herramientas de programación con IA aceleran la generación de esquemas JSON compuestos y serializadores de carga útil, los ingenieros humanos deben verificar la atomicidad de las transacciones, los límites de tamaño de la carga útil y la lógica de gestión de errores. Los equipos que construyen pipelines de alto rendimiento a través de nuestros servicios de desarrollo de API aprovechan el scaffolding asistido por IA, garantizando al mismo tiempo que REST síncrono permanezca restringido a casos de uso transaccionales y de baja latencia.

¿Cómo gestiona Salesforce Bulk API 2.0 los pipelines de datos de gran volumen asíncronos?

Cuando los conjuntos de datos superan varios miles de entidades, los ciclos de solicitudes síncronas degradan el rendimiento de la base de datos y consumen rápidamente las asignaciones de la plataforma. Para migraciones de datos a gran escala, sincronizaciones nocturnas de almacenes de datos y actualización de catálogos, la ingesta masiva asíncrona se vuelve indispensable. En el clásico debate sobre las arquitecturas de salesforce rest api vs bulk api, Bulk API 2.0 traslada el procesamiento desde la ejecución inmediata del lado del cliente hacia colas asíncronas en el servidor, diseñadas para el procesamiento por lotes con alta capacidad de procesamiento (throughput).

Mecánica de ingesta y consultas con fragmentación automática en el servidor

A diferencia de la versión heredada Bulk API 1.0 —que requería que los clientes fragmentaran manualmente las cargas útiles en bloques de 10 000 registros y realizaran el seguimiento de múltiples estados de lotes—, Bulk API 2.0 simplifica la orquestación del pipeline. Los flujos de trabajo de ingesta requieren únicamente tres fases operativas: crear un trabajo de ingesta, transmitir una carga útil CSV sin procesar directamente al endpoint del trabajo y marcar el estado del trabajo como UploadComplete. La plataforma divide automáticamente los datos en lotes óptimos (estandarizados en bloques transaccionales de 200 registros) y distribuye las cargas de trabajo entre workers de procesamiento en segundo plano. Del mismo modo, los trabajos de consultas masivas se ejecutan de forma asíncrona, lo que permite a los consumidores posteriores paginar gigabytes de registros exportados mediante tokens locator sin saturar la memoria de consultas síncronas.

Gestión del límite diario de 150 millones de registros de Bulk y del estado de lotes prolongados

De acuerdo con las especificaciones oficiales de la plataforma Salesforce para Bulk API 2.0, las organizaciones tienen asignados hasta 150 000 000 de registros cargados por cada ventana móvil de 24 horas, con tamaños máximos de archivo de ingesta que alcanzan los 150 MB. Dado que la codificación CSV se expande durante la transmisión en base64, los equipos de ingeniería mantienen el tamaño de los archivos por debajo de 100 MB por envío para evitar el rechazo de las cargas útiles. Una vez en cola, los resultados de los trabajos completados —incluidos los registros correctos, fallidos y no procesados— permanecen disponibles para su recuperación durante siete días.

Diseñar pipelines ETL tolerantes a fallos dentro de una sólida arquitectura de integración Salesforce requiere implementar operaciones upsert idempotentes mediante IDs externos indexados y listeners automatizados de sondeo que analicen los endpoints CSV de failedResults. Mientras que los agentes de IA estructuran con rapidez workers de ingesta ETL y analizadores sintácticos de CSV, los ingenieros sénior deben revisar las reglas de validación de esquemas, establecer mecanismos de reintento para excepciones por contención de bloqueos y garantizar que las transacciones masivas no activen inadvertidamente bucles de automatización de Apex no optimizados.

¿Cómo implementar el streaming basado en eventos con la Salesforce Pub/Sub API?

Los sistemas distribuidos modernos requieren una propagación instantánea de eventos sin la sobrecarga operativa ni el agotamiento de los límites de gobernador provocado por los bucles de sondeo repetitivos. Para una mensajería con alta capacidad de respuesta, la Salesforce Pub/Sub API sustituye el streaming heredado de CometD por una interfaz unificada de publicación-suscripción de alto rendimiento.

Transporte gRPC, codificación binaria con Apache Avro y streams bidireccionales

Basada en el transporte HTTP/2 y los protocolos gRPC, la Pub/Sub API ofrece streaming bidireccional de eventos con conexiones multiplexadas. La serialización del payload se basa en esquemas binarios de Apache Avro, lo que reduce significativamente el tamaño de la carga en red en comparación con las representaciones JSON estándar sobre REST. Las aplicaciones cliente externas compilan definiciones de protocol buffers en stubs específicos para cada lenguaje, comunicándose con un único endpoint (api.pubsub.salesforce.com:7443) para publicar, suscribirse y recuperar esquemas de forma dinámica. Esta moderna arquitectura de protocolos impulsa pipelines escalables de integración de datos en tiempo real con Salesforce a través de microservicios y plataformas de mensajería externas.

Change Data Capture (CDC) frente a la arquitectura de Platform Events personalizados

Los arquitectos que implementan pipelines basados en eventos deben evaluar si utilizar Change Data Capture (CDC) o Platform Events personalizados. CDC publica eventos de notificación automáticos que representan mutaciones de creación, actualización, eliminación o restauración (undelete) en entidades estándar y personalizadas, lo que garantiza una sincronización precisa con bases de datos externas. Por el contrario, los Platform Events personalizados permiten a los ingenieros definir esquemas de negocio a medida —como activadores de captura de pagos o procesamiento de pedidos— sin vincular los mensajes directamente a las mutaciones del esquema de la base de datos interna.

Una implementación confiable de la Salesforce Pub/Sub API requiere mecanismos robustos de recuperación ante desastres. Según la documentación oficial de Salesforce sobre las suscripciones administradas de la Pub/Sub API, el Salesforce Event Bus retiene eventos de gran volumen durante una ventana de retención de 72 horas. Los suscriptores pueden especificar un ReplayId opaco para reanudar los streams tras desconexiones de red, garantizando una entrega de mensajes de al menos una vez (at-least-once). Los consumidores externos deben persistir el último identificador de replay procesado o aprovechar las suscripciones administradas en el servidor para evitar la duplicación de mensajes y la pérdida de datos.

¿Qué protocolo de API de Salesforce se adapta a sus necesidades de capacidad de procesamiento (throughput), latencia y volumen?

Al diseñar una arquitectura de integración Salesforce, seleccionar el protocolo de API óptimo requiere equilibrar la velocidad de los datos, el volumen y los límites de gobernador de Salesforce API. Ningún endpoint satisface por sí solo todos los requisitos arquitectónicos en los ecosistemas empresariales. En los modernos patrones de integración salesforce empresariales, los arquitectos combinan protocolos para responder a distintos perfiles de latencia y capacidad de procesamiento (throughput).

Protocolo Caso de uso principal Perfil de latencia Umbral de capacidad de procesamiento (throughput)
REST API / API compuesta (Composite API) Transacciones interactivas en la interfaz de usuario, operaciones CRUD de un solo registro, validación transaccional de pedidos Menos de un segundo (síncrono) Menos de 2.000 registros; hasta 25 subpeticiones por llamada con Salesforce Composite API
Bulk API 2.0 Migración de datos de gran volumen, sincronización ETL nocturna, alimentación de almacenes de datos De minutos a horas (asíncrono) Más de 2.000 registros; hasta 150 millones de registros cada 24 horas
Pub/Sub API Streaming bidireccional de eventos, Change Data Capture, microservicios basados en eventos Streaming en el bus de eventos en menos de un segundo Flujos continuos de eventos con retención de reproducción (replay) de 72 horas

Al analizar los enfoques de salesforce rest api vs bulk api junto con las arquitecturas de streaming, las implementaciones más resilientes adoptan un patrón híbrido. En esta arquitectura, Salesforce Pub/Sub API escucha los eventos de cambio en entidades en tiempo real para registrar las marcas temporales de modificación, mientras que los procesos en segundo plano aprovechan Salesforce Bulk API 2.0 para cargar entidades históricas masivas de forma asíncrona. Este flujo desacoplado preserva los límites de gobernador de Salesforce API y las cuotas diarias de solicitudes, al tiempo que facilita una integración de datos en tiempo real en Salesforce con visibilidad operativa continua en los sistemas externos.

Cuándo conviene una opción más simple: si una integración solo requiere notificaciones unidireccionales de bajo volumen sin transformaciones de payload ni un orden de entrega estricto, los Outbound Messages estándar de Salesforce o los webhooks básicos ofrecen una solución eficaz sin la sobrecarga operativa de mantener conexiones gRPC o registros de esquemas Avro.

¿Cómo deben los equipos de ingeniería crear, probar y blindar las integraciones empresariales de Salesforce?

En Canvas Developers, nuestros ingenieros dirigen herramientas y entornos de programación con IA como Antigravity para estructurar stubs de gRPC, modelos de Avro y pipelines de ingesta para Bulk API. La rápida iteración asistida por IA acelera la creación de estructuras iniciales, pero la resiliencia en producción exige ingenieros senior que dominen la arquitectura, revisen el código y verifiquen los límites de gobernador antes de cada despliegue.

La preparación para producción exige validar cuatro filtros de aceptación esenciales en todos los patrones de integración Salesforce empresariales:

  • Seguridad de autenticación: Aplicar flujos JWT bearer y alcances de privilegios mínimos en Connected Apps.
  • Gobernanza de tasa: Implementar limitadores token-bucket en el cliente para proteger la cuota móvil de 24 horas de la API.
  • Resiliencia de estado: Persistir los Replay ID opacos tras el procesamiento para garantizar un streaming at-least-once sin mutaciones duplicadas.
  • Aislamiento de fallos: Enrutar las filas fallidas de Bulk API hacia colas de mensajes no procesados (dead-letter queues) para su triaje automatizado.

Para evaluar o blindar su arquitectura de integración Salesforce, solicite una evaluación técnica especializada a través de nuestro formulario de contacto o explore nuestros servicios de infraestructura en la nube e ingeniería de Salesforce adaptados a las limitaciones de su stack.

Preguntas frecuentes

Preguntas frecuentes

¿Cómo influyen los governor limits en el diseño de una arquitectura de integración Salesforce con API REST?

Salesforce calcula las solicitudes entrantes de API REST en un período móvil de 24 horas para todas las aplicaciones conectadas, en lugar de días naturales. Además, producción limita las llamadas simultáneas de más de 20 segundos a un máximo de 25. Superar estos umbrales genera excepciones inmediatas, volviendo inviable el sondeo continuo punto a punto sin control en entornos corporativos.

¿Cuándo conviene migrar de la API REST de Salesforce a Bulk API 2.0?

Conviene pasar de endpoints síncronos REST o Composite a Bulk API 2.0 cuando el volumen de datos supera los 2.000 registros. Mientras que REST atiende operaciones transaccionales puntuales, Bulk API 2.0 procesa hasta 150 millones de registros diarios mediante particiones automáticas en el servidor de 200 registros por lote, eliminando la coordinación manual y preservando los governor limits diarios.

¿Cómo garantiza la Pub/Sub API de Salesforce la entrega de mensajes ante desconexiones?

La Pub/Sub API utiliza Salesforce Event Bus, que almacena eventos de plataforma de alto volumen y mutaciones de Change Data Capture durante 72 horas. Cada suscriptor rastrea su posición en el flujo con un Replay ID opaco. Tras una desconexión, el cliente envía su último Replay ID confirmado o recurre a suscripciones administradas para reanudar el consumo sin perder mensajes.

¿Cómo robustece Canvas Developers las integraciones de Salesforce generadas con IA?

Canvas Developers combina herramientas de programación con IA para generar esquemas, stubs de cliente y parsers con una rigurosa supervisión de ingeniería humana. Profesionales experimentados dirigen la arquitectura, revisan código, configuran seguridad OAuth, implementan búferes de reintento y ejecutan pruebas de integración. Esto asegura entregas rápidas mientras evita cuellos de botella de concurrencia, duplicación de datos y agotamiento de límites.