# Dane dostawców do Akeneo, zmapowane wizualnie

Twój dostawca przysyła arkusz kalkulacyjny. Akeneo oczekuje dokumentu produktu z właściwą rodziną, kanałem, lokalizacją i walutą przy każdej wartości. SDM Portal jest warstwą mapowania pomiędzy: budujesz ją raz na dostawcę, a każdy kolejny plik odtwarza te same reguły.

Wersja web: https://sdmportal.com/pl/akeneo/

## Połączenie

- **Protokół:** Akeneo REST API, /api/rest/v1
- **Uwierzytelnianie:** OAuth2 password grant: client ID, secret, nazwa użytkownika, hasło
- **Edycje:** Community Edition 7 i Serenity, wykrywane przy handshake
- **Struktura:** Rodzina
- **Zapis:** ND-JSON PATCH /products, do 100 na batch
- **Delta sync:** Hash dokumentu na produkt

## Gdzie naprawdę zacina się feed dostawcy do Akeneo

### Atrybuty żyją w rodzinach

Kolumna dostawcy nic nie znaczy, dopóki nie wiesz, do której rodziny należy. Wybierz rodzinę, a szyna atrybutów zawęża się do atrybutów tej rodziny, w jej własnej kolejności.

### Każda wartość ma wymiar

Wartości w Akeneo noszą lokalizację i, przy atrybutach scopable, kanał. Cena to kolekcja z walutą. Wartość metryczna to liczba plus jednostka. Pomyl jedno z nich i wartość zostanie odrzucona.

### Opcje to kody, nie etykiety

Wartość select musi trafić na istniejący kod opcji zgodny ze znakami, które akceptuje Akeneo. Pliki dostawców przysyłają zamiast tego etykiety w rodzaju Navy Blue.

## Jak SDM Portal zapisuje do Akeneo

### Mapowanie w obrębie rodziny

Wybierz rodzinę, a szyna atrybutów ogranicza się do niej, zachowując kolejność atrybutów tej rodziny. Atrybut identifier jest pomijany, a w jego miejsce dodawane jest pole systemowe esa_sku, więc SKU mapujesz jak każdą inną kolumnę, dokładnie tak jak w Ergonode.

### Lokalizacja na połączeniu

Włączone lokalizacje pochodzą z Twojej instancji. Lokalizacja jest właściwością połączenia, które rysujesz, więc trzy kolumny opisu mogą zasilić jeden atrybut w trzech językach. Atrybut lokalizowalny przyjmuje lokalizację połączenia; nielokalizowalny zachowuje pierwszą wartość i zgłasza ostrzeżenie.

### Kanał i waluta na profil

W ustawieniach publikacji znajdują się kanał i domyślna waluta profilu, proponowane z Twoich własnych kanałów i ograniczone do walut tego kanału. Wartość scopable bez ustawionego kanału jest pomijana z ostrzeżeniem. Ustaw to przed zatwierdzeniem: zmiana zmienia każdy hash dokumentu i wymusza pełne ponowne wysłanie.

### Kolekcje cen, wielowalutowość

Waluta jest również właściwością połączenia. Kilka kolumn źródłowych, na przykład price_eur i price_usd, łączy się w jedną kolekcję cen na jednym atrybucie. Mieszanie połączeń z walutą i bez waluty powoduje niepowodzenie dry-runu, zamiast zgadywania.

### Atrybuty metryczne

Wartość metryczna jest zapisywana jako liczba plus domyślna jednostka metryczna atrybutu. Atrybut bez domyślnej jednostki pomija wartość i to komunikuje, zamiast zapisywać liczbę bez jednostki.

### Tworzenie opcji z etykietami

Brakujące opcje select są tworzone z etykietami dla każdej lokalizacji. Kody muszą używać znaków dozwolonych przez Akeneo, a nieprawidłowy kod jest odrzucany z propozycją poprawki, a nie po cichu przepisywany, więc kod, który widzisz, jest kodem, który trafia na miejsce.

### Nowe atrybuty z edytora

Twórz atrybuty typu text, textarea, number, date, simple select, multi select, boolean, price collection i metric bez opuszczania kanwy. Każdy typ wymaga grupy atrybutów; metric wymaga też rodziny i domyślnej jednostki. Nowy atrybut jest dopisywany do rodziny profilu za pomocą PATCH-a, który czyta i dokleja, więc nic innego w tej rodzinie nie jest ruszane.

### Reference entities w Serenity

Atrybut reference entity zachowuje się jak select, a jego wariant collection jak multi select. Lista opcji to rekordy powiązanej encji, więc wartości dostawcy mapujesz wprost na kody rekordów.

### Mechanika zapisu, którą można sprawdzić

Produkty wychodzą w batchach ND-JSON po maksymalnie 100. Każda linia wraca jako utworzona, zaktualizowana lub odrzucona, a odrzucenie jest raportowane per atrybut. Limity zapytań są respektowane na podstawie odpowiedzi. Każdy produkt nosi hash dokumentu, więc ponowne uruchomienie na niezmienionym pliku nie zapisuje niczego. W trybach create i update najpierw sprawdzane jest, co już istnieje, w blokach po 500 SKU.

## Co możemy zapisać do Akeneo

Wartości select i multi select są mapowane na kody opcji, a brakujące opcje można utworzyć wraz z ich etykietami. Kategorie są przypisywane per produkt jako zbiór bez duplikatów.

- Tekst
- Textarea
- Liczba
- Data
- Simple select
- Multi select
- Boolean
- Kolekcja cen, wielowalutowa
- Metric
- Kategorie
- Reference entity
- Reference entity collection

## Czego konektor Akeneo jeszcze nie robi

### Product models i warianty (warianty)

Osie wariantów są dziś funkcją Ergonode. W profilu Akeneo znaczniki wariantów są ukryte. Jeśli starszy przepływ nadal je nosi, dzieci są zapisywane jako samodzielne produkty, a rodzice pomijani z jednym zbiorczym ostrzeżeniem.

### Media, tabele, identifier (bez możliwości zapisu)

Atrybuty obrazu i mediów, atrybuty tabelowe oraz atrybut identifier są widoczne w szynie, ale nie da się do nich zapisywać. Pozostają czytelne, żebyś widział całą rodzinę.

### Rekordy reference entity (tylko do odczytu)

Rekordy reference entity są czytane jako opcje, nigdy nie są tworzone. Ich etykietą jest kod rekordu, więc lista wyboru pokazuje kody.

### Status workflow (ignorowane)

Akeneo nie ma statusu workflow na produktach. Mapowanie statusu przeniesione z przepływu Ergonode jest ignorowane z jednym ostrzeżeniem, zamiast przerywać uruchomienie.

### Custom fields przy opcjach (tylko ergonode)

Opcje w Akeneo mają etykiety, ale nie mają custom fields, więc funkcje wzbogacania opcji pozostają ukryte w profilu Akeneo.

### Usuwanie atrybutów (jednokierunkowo)

Atrybutu utworzonego przez API nie da się już usunąć przez API CE 7. Twórz je świadomie.

## FAQ

### Które wersje Akeneo obsługuje SDM Portal?

Akeneo Community Edition 7 i Serenity. Edycja i wersja są wykrywane w czasie handshake połączenia i pokazywane w wierszu połączenia, więc widzisz dokładnie, z czym jesteś połączony.

### Jak SDM Portal uwierzytelnia się w Akeneo?

Przez połączenie API Akeneo: client ID, client secret, nazwa użytkownika i hasło przez OAuth2 password grant. Token bearer jest cache'owany per połączenie i odnawiany raz przy odpowiedzi 401. Poświadczenia są przechowywane w postaci zaszyfrowanej i nigdy nie wchodzą w skład eksportowanego mapowania.

### Czy SDM Portal obsługuje product models i warianty Akeneo?

Jeszcze nie. Osie wariantów i bindings są dziś funkcją Ergonode. W profilu Akeneo znaczniki wariantów są ukryte, a przepływ, który nadal je nosi, zapisuje dzieci jako samodzielne produkty i pomija rodziców z jednym ostrzeżeniem.

### Jak obsługiwane są kanały, lokalizacje i waluty?

Lokalizacja jest właściwością połączenia mapowania, więc trzy kolumny opisu mogą zasilić jeden atrybut w trzech językach. Kanał i domyślną walutę ustawiasz per profil w ustawieniach publikacji, wybierając z własnych kanałów. Atrybut ceny może przyjąć kilka walut jednocześnie, jeśli ustawisz walutę na każdym połączeniu.

### Czy mogę zobaczyć, co się stanie, zanim cokolwiek zostanie zapisane do Akeneo?

Tak. Dry-run pokazuje wynik wiersz po wierszu, z ostrzeżeniami o niezmapowanych wartościach i pominiętych polach, i nie zapisuje niczego. Uruchomienia mogą trafić najpierw do Akeneo staging, a potem na produkcję, a delta sync oznacza, że ponownie wysyłane są tylko zmienione produkty.

## Zacznij

Wypróbuj bezpłatnie 14 dni: https://app.sdmportal.com/signup?lang=pl

Inne systemy PIM: https://sdmportal.com/pl/ergonode/ · https://sdmportal.com/pl/akeneo/ · https://sdmportal.com/pl/pimcore/

SDM Portal.
