# Datos de proveedores en Akeneo, mapeados visualmente

Tu proveedor te envía una hoja de cálculo. Akeneo quiere un documento de producto con la familia, el canal, la locale y la divisa correctas en cada valor. SDM Portal es la capa de mapeo intermedia: la construyes una vez por proveedor y cada archivo posterior repite las mismas reglas.

Versión web: https://sdmportal.com/es/akeneo/

## La conexión

- **Protocolo:** Akeneo REST API, /api/rest/v1
- **Autenticación:** OAuth2 password grant: client ID, secret, usuario, contraseña
- **Ediciones:** Community Edition 7 y Serenity, detectadas en el handshake
- **Estructura:** Familia
- **Escritura:** ND-JSON PATCH /products, hasta 100 por lote
- **Delta sync:** Hash de documento por producto

## Dónde se atasca de verdad un feed de proveedor en Akeneo

### Los atributos viven en familias

Una columna de proveedor no significa nada hasta que sabes a qué familia pertenece. Elige la familia y el panel de atributos se reduce a los atributos de esa familia, en su propio orden.

### Cada valor tiene una dimensión

Los valores de Akeneo llevan una locale y, en los atributos scopable, un canal. Un precio es una colección con una divisa. Un valor métrico es una cantidad más una unidad. Si uno de esos falla, el valor se rechaza.

### Las opciones son códigos, no etiquetas

Un valor de select tiene que resolverse en un código de opción existente que respete los caracteres que Akeneo acepta. Los archivos de proveedores envían etiquetas como Navy Blue en su lugar.

## Cómo escribe SDM Portal en Akeneo

### Mapeo por familia

Elige la familia y el panel de atributos se limita a ella, manteniendo el orden de atributos de esa familia. El atributo identifier queda excluido y en su lugar se añade un campo de sistema llamado esa_sku, así que mapeas el SKU como cualquier otra columna, igual que en Ergonode.

### La locale en la conexión

Las locales activadas vienen de tu propia instancia. La locale es una propiedad de la conexión que dibujas, así que tres columnas de descripción pueden alimentar un atributo en tres idiomas. Un atributo localizable toma la locale de la conexión; uno no localizable conserva el primer valor y avisa.

### Canal y divisa por perfil

Los ajustes de publicación guardan el canal y la divisa por defecto del perfil, ofrecidos desde tus propios canales y limitados a las divisas de ese canal. Un valor scopable sin canal configurado se descarta con un aviso. Configúralo antes de la aprobación: cambiarlo cambia cada hash de documento y obliga a un nuevo envío completo.

### Colecciones de precios, multidivisa

La divisa también es una propiedad de una conexión. Varias columnas de origen, por ejemplo price_eur y price_usd, se unen en una sola colección de precios sobre un atributo. Mezclar conexiones con divisa y conexiones sin divisa hace fallar el dry-run en lugar de adivinar.

### Atributos métricos

Un valor métrico se escribe como una cantidad más la unidad métrica por defecto del atributo. Un atributo sin unidad por defecto descarta el valor y lo indica, en lugar de escribir un número sin unidad.

### Creación de opciones con etiquetas

Las opciones de select que faltan se crean con etiquetas por locale. Los códigos deben respetar los caracteres que Akeneo permite, y un código inválido se rechaza con una corrección sugerida en lugar de reescribirse en silencio, así que el código que ves es el código que llega.

### Atributos nuevos desde el editor

Crea atributos de tipo text, textarea, number, date, simple select, multi select, boolean, price collection y metric sin salir del lienzo. Cada tipo necesita un grupo de atributos; metric necesita además una familia y una unidad por defecto. El atributo nuevo se añade a la familia del perfil con un PATCH de leer y añadir, así que no se toca nada más de la familia.

### Reference entities en Serenity

Un atributo reference entity se comporta como un select y su colección como un multi select. La lista de opciones son los records de la entidad vinculada, así que mapeas los valores del proveedor directamente sobre códigos de record.

### Mecánica de escritura que puedes auditar

Los productos salen en lotes ND-JSON de hasta 100. Cada línea vuelve como creada, actualizada o rechazada, y un rechazo se informa por atributo. Los límites de tasa se respetan a partir de la respuesta. Cada producto lleva un hash de documento, así que volver a ejecutar un archivo sin cambios no escribe nada. En los modos create y update primero se comprueba qué existe, en bloques de 500 SKU.

## Qué podemos escribir en Akeneo

Los valores de select y multi select se mapean a códigos de opción, y las opciones que faltan pueden crearse con sus etiquetas. Las categorías se asignan por producto como un conjunto sin duplicados.

- Texto
- Textarea
- Número
- Fecha
- Simple select
- Multi select
- Boolean
- Colección de precios, multidivisa
- Metric
- Categorías
- Reference entity
- Reference entity collection

## Lo que el conector de Akeneo todavía no hace

### Product models y variantes (variants)

Los ejes de variante son hoy una función de Ergonode. En un perfil de Akeneo los marcadores de variante están ocultos. Si un flujo más antiguo todavía los lleva, los hijos se escriben como productos independientes y los padres se omiten con un único aviso agrupado.

### Medios, tablas, identifier (no escribible)

Los atributos de imagen y medios, los atributos de tabla y el atributo identifier son visibles en el panel pero no escribibles. Siguen siendo legibles para que veas la familia completa.

### Records de reference entity (solo lectura)

Los records de una reference entity se leen como opciones, nunca se crean. Su etiqueta es el código del record, así que el selector muestra códigos.

### Estado de workflow (ignorado)

Akeneo no tiene un estado de workflow en los productos. Un mapeo de estado heredado de un flujo de Ergonode se ignora con un aviso en lugar de hacer fallar la ejecución.

### Custom fields en las opciones (solo ergonode)

Las opciones de Akeneo tienen etiquetas pero no custom fields, así que las funciones de enriquecimiento de opciones permanecen ocultas en un perfil de Akeneo.

### Eliminar atributos (sin retorno)

Un atributo creado a través de la API no se puede volver a eliminar con la API de CE 7. Créalos de forma deliberada.

## FAQ

### ¿Qué versiones de Akeneo admite SDM Portal?

Akeneo Community Edition 7 y Serenity. La edición y la versión se detectan durante el handshake de la conexión y se muestran en la fila de la conexión, así que ves exactamente a qué estás conectado.

### ¿Cómo se autentica SDM Portal en Akeneo?

A través de una conexión de API de Akeneo: client ID, client secret, usuario y contraseña sobre el OAuth2 password grant. El token bearer se guarda en caché por conexión y se renueva una vez ante un 401. Las credenciales se almacenan cifradas y nunca forman parte de un mapeo exportado.

### ¿Admite SDM Portal los product models y las variantes de Akeneo?

Todavía no. Los ejes de variante y los bindings son hoy una función de Ergonode. En un perfil de Akeneo los marcadores de variante están ocultos, y un flujo que todavía los lleva escribe los hijos como productos independientes y omite los padres con un aviso.

### ¿Cómo se gestionan los canales, las locales y las divisas?

La locale es una propiedad de la conexión de mapeo, así que tres columnas de descripción pueden alimentar un atributo en tres idiomas. El canal y la divisa por defecto se fijan por perfil en los ajustes de publicación, ofrecidos desde tus propios canales. Un atributo de precio puede recibir varias divisas a la vez si pones una divisa en cada conexión.

### ¿Puedo ver qué va a pasar antes de que se escriba algo en Akeneo?

Sí. Un dry-run muestra el resultado fila a fila con avisos por valores sin mapear y campos descartados, y no escribe nada. Las ejecuciones pueden ir primero a un Akeneo de staging y luego a producción, y el delta sync significa que solo se vuelven a enviar los productos que han cambiado.

## Empezar

Prueba gratis 14 días: https://app.sdmportal.com/signup?lang=es

Otros PIM: https://sdmportal.com/es/ergonode/ · https://sdmportal.com/es/akeneo/ · https://sdmportal.com/es/pimcore/

SDM Portal.
