Modelar variantes vía API: cómo exponer productos padre-hijo para diferentes canales de venta
La arquitectura de variantes del PIM no se puede publicar igual en todos los destinos. Lo que funciona para un eCommerce no necesariamente sirve para un marketplace o para un catálogo B2B. En esta nota, Erwin explica los patrones más comunes para exponer relaciones padre-hijo por API sin romper el modelo maestro y sin forzar a todos los canales a consumir la misma estructura.
Cuando trabajás con PIM e integraciones, hay un punto donde casi todos los modelos de datos se ponen a prueba de verdad: las variantes. Mientras el catálogo está quieto dentro del PIM, la lógica padre-hijo puede parecer simple. Tenés un producto base, tenés atributos que heredan, tenés otros que cambian y la estructura parece estar resuelta. El problema aparece cuando eso tiene que salir por API hacia distintos destinos.
Ahí es donde se ve que no existe una única forma correcta de exponer variantes. Un eCommerce puede querer un producto padre navegable con hijos para color y talle. Un marketplace puede pedir publicaciones separadas o una estructura más reducida, con menos dimensiones de variación. Un catálogo B2B puede priorizar una ficha agrupada por familia comercial o técnica, no necesariamente por la misma lógica de compra que usa una tienda online.
Por eso, para mí, modelar variantes vía API no es replicar la estructura interna del PIM tal cual está. Es traducirla de forma controlada para que cada destino reciba una representación útil sin comprometer la coherencia del maestro.
La variante no se diseña solo para existir dentro del PIM. Se diseña para poder viajar hacia otros sistemas sin perder sentido.
La lógica padre-hijo dentro del PIM no alcanza por sí sola
Dentro del PIM, la estructura suele estar bastante resuelta. El producto padre concentra atributos comunes. Los hijos cargan lo que cambia. Eso evita duplicación y permite mantener mejor el catálogo. Esa lógica funciona muy bien como modelo maestro, pero no siempre coincide con la forma en que otros sistemas necesitan consumir la información.
Un canal puede querer navegar por el padre y seleccionar variantes desde la ficha. Otro puede tratar cada variante como SKU independiente desde el inicio. Otro puede necesitar una mezcla de ambas cosas: padre para agrupación comercial, hijo para stock, precio o identificadores. En ese punto, la API deja de ser un transporte neutral y pasa a convertirse en una capa de traducción.
Ese cambio de mirada es importante. Muchas veces se cae en uno de dos errores. O se publica la estructura interna del PIM tal cual está, esperando que cada destino la entienda. O se deforma el modelo maestro para que se parezca al canal más exigente. Ninguna de las dos cosas suele escalar bien.
El problema de querer resolver todos los canales con una sola representación
Una tentación bastante común es pensar que, si el padre y los hijos están bien modelados dentro del PIM, entonces alcanza con exponer un único formato y dejar que todos los consumidores se adapten. En la práctica, eso suele generar fricción.
No todos los destinos quieren recibir el mismo nivel de detalle. No todos interpretan igual la relación entre padre e hijo. No todos trabajan con las mismas dimensiones de variación. Y no todos soportan la misma profundidad estructural. Por eso, para mí, la pregunta correcta no es cómo exponer las variantes una vez, sino cómo exponerlas de forma adecuada para cada destino sin duplicar el modelo central.
Cuando esto no se piensa así, aparecen los problemas de siempre: payloads demasiado pesados para algunos canales, estructuras insuficientes para otros, lógica repetida en varios integradores y una arquitectura que parece prolija al principio, pero se vuelve rígida cuando se suman nuevos destinos.
Una sola representación de variantes para todos los canales puede parecer ordenada al principio y limitarte después.
¿Qué conviene definir antes de publicar variantes por API?
Antes de pensar en endpoints o payloads, hay algunas decisiones conceptuales que conviene tener resueltas. No porque formen una receta cerrada, sino porque sin eso la variante termina mal expuesta aunque la integración funcione.
¿Qué atributos viven en el padre y cuáles en el hijo?
Esto parece básico, pero no siempre está del todo claro. Hay atributos que claramente pertenecen al padre: nombre comercial base, marca, descripción general, familia, materiales comunes o información institucional del producto. Y hay otros que deberían vivir en cada hijo: SKU, GTIN, color, talle, presentación, stock, precio si aplica, imágenes específicas o identificadores propios del canal.
Si eso no está bien definido, la API empieza a repetir información innecesaria, a mezclar responsabilidades o a dejar ambigua la relación entre producto base y variante concreta.
¿Qué entiende cada canal por “variante”?
No todos los sistemas llaman variante a la misma cosa. Para un eCommerce, puede ser la combinación navegable de color y talle. Para un marketplace, puede ser una sola dimensión. Para un entorno B2B, puede ser una configuración técnica o una presentación comercial. Entonces, antes de publicar, conviene entender qué espera realmente el destino y no asumir que su definición coincide con la del PIM.
¿Qué rol cumple el padre en cada salida?
Hay canales donde el padre es una entidad visible. Otros donde funciona como agrupación interna. Otros donde directamente no existe como objeto publicable. Esta decisión cambia todo: la forma del endpoint, la estructura del payload, la navegación y la lógica de consumo.

Los patrones de exposición más comunes
En mi experiencia, hay algunos patrones que se repiten bastante cuando toca publicar relaciones padre-hijo hacia distintos destinos. No son los únicos, pero sí los más comunes y útiles para pensar una arquitectura mantenible.
Padre navegable con hijos seleccionables
Este patrón es muy común en eCommerce. El padre funciona como producto principal de navegación y la ficha se construye alrededor suyo. Las variantes se presentan como opciones seleccionables: color, talle, capacidad, presentación o alguna combinación de esas dimensiones. El usuario entra al producto base y elige.
En este caso, la API suele necesitar devolver dos capas. Por un lado, la información común del padre. Por otro, el conjunto de hijos con sus atributos diferenciadores. Si además el canal consume imágenes, disponibilidad o pricing por variante, eso también tiene que salir resuelto a nivel hijo.
Este enfoque funciona bien cuando la experiencia de compra necesita agrupar y evitar duplicación visual en el catálogo.
Variantes expuestas como productos independientes con relación de agrupación
Este patrón aparece cuando el destino necesita operar cada variante como unidad autónoma, pero igual conviene conservar una relación de familia o agrupación. Acá cada hijo viaja con suficiente información propia como para existir casi solo, aunque mantenga un vínculo con su padre.
Suele ser útil cuando el consumidor del dato trabaja con SKU individual, sincronización fina, reglas particulares por variante o estructuras donde el producto vendible es directamente el hijo. La ventaja es operativa. La desventaja es que, si no se hace bien, la información se vuelve redundante. Por eso conviene mantener explícita la relación de agrupación y no convertir cada variante en un producto completamente aislado.
Padre técnico y hijos comerciales
Hay casos donde el padre no funciona como entidad visible de compra, sino como estructura técnica que organiza la información común. Los hijos, en cambio, son los que realmente se publican o se comercializan. Este patrón sirve cuando el sistema destino consume cada combinación como SKU vendible, pero igual se beneficia de una capa superior para herencia, orden o clasificación.
En algunos entornos B2B esto tiene mucho sentido, sobre todo cuando la lógica comercial no coincide exactamente con la lógica de navegación web. El catálogo puede necesitar agrupar por familia de producto o ficha técnica, mientras las operaciones concretas trabajan a nivel de variante.
Aplanado por canal
Este patrón aparece cuando el destino no tolera bien relaciones complejas o directamente no necesita el árbol padre-hijo. Entonces la capa de integración toma el modelo de variantes del PIM y lo aplana en una representación más lineal, pensada para ese consumidor específico.
Esto suele verse en ciertos feeds, publicaciones simplificadas o catálogos donde la prioridad no está en reproducir la riqueza relacional, sino en entregar una versión lista para consumir. El problema no es usar este enfoque, sino usarlo para todo. Como adaptación puntual puede ser completamente válido. Como arquitectura universal, suele empobrecer demasiado el modelo.
No todos los canales necesitan ver la misma arquitectura de variantes, pero todos deberían recibir una traducción coherente del mismo maestro.
Cómo cambia esto entre eCommerce, marketplace y B2B
La diferencia entre canales no es menor. Cambia de verdad la forma en que conviene exponer el producto.
En eCommerce
La relación padre-hijo suele estar muy ligada a navegación, filtros, fichas de producto, imágenes y selección del usuario. Acá importa mucho cómo se agrupan las variantes, cómo heredan contenido y cómo se resuelve visualmente la elección.
En marketplaces
El canal suele imponer más restricciones. Puede limitar dimensiones de variación, exigir atributos obligatorios o tratar publicaciones y variantes con una lógica propia. En ese contexto, la exposición de variantes hacia marketplace casi nunca es una copia exacta de la estructura del PIM. Siempre hay adaptación.
En catálogos B2B
Muchas veces la necesidad no pasa por navegación de compra rápida, sino por estructura técnica, claridad comercial, agrupación por familia y capacidad de consulta. En este contexto, la variante puede tener un peso distinto. A veces importa más la ficha técnica común. Otras veces importa más el SKU puntual, pero bajo una agrupación clara.
En COFLEX, por ejemplo, se integró un PIM con una plataforma B2B y además se proyectó una salida hacia catálogo mediante EasyCatalog, lo que muestra bastante bien cómo un mismo maestro puede necesitar vistas distintas según el tipo de destino.
¿Qué pasa cuando las variantes no están bien expuestas?
Cuando esta parte se resuelve mal, los problemas aparecen rápido. Hay duplicación innecesaria, filtros inconsistentes, fichas confusas, combinaciones inválidas, atributos mezclados entre padre e hijo, publicaciones que no respetan la lógica del canal o integraciones difíciles de mantener cuando cambian las familias o se agregan nuevas dimensiones de variación.
Y hay algo más: si la arquitectura de variantes no se traduce bien, el catálogo pierde legibilidad. No solo para sistemas, también para personas. Equipos internos, canales de salida y consumidores terminan trabajando sobre una representación poco clara de un dato que, dentro del PIM, quizá estaba bien resuelto.
Mi criterio práctico para publicar variantes por API
Si lo tengo que resumir en una idea simple, diría esto: la mejor exposición de variantes no es la más fiel a la base interna, sino la que mejor conserva la lógica del maestro mientras se adapta al uso real del destino.
Eso implica aceptar algo que a veces cuesta: no todos los canales tienen que recibir el mismo payload. Pero sí todos deberían apoyarse en la misma arquitectura central. Para mí, ahí está el equilibrio sano. Un maestro coherente, una capa de transformación explícita y salidas distintas según el consumidor.
Cuando eso está bien pensado, la variante deja de ser un problema técnico repetido en cada integración y pasa a convertirse en una estructura reusable, extensible y mucho más estable.
Modelar variantes vía API no es replicar el árbol padre-hijo del PIM como si todos los canales lo fueran a entender igual. Es construir una traducción controlada de esa lógica para que cada destino pueda consumirla sin perder la relación entre producto base y variantes. Cuando eso se hace bien, el catálogo gana coherencia adentro y afuera del PIM.
