# Leverandørdata til Ergonode, mappet visuelt

Ergonode er kun GraphQL, og hver attributtype har sin egen typede mutation. SDM Portal vet hvilken som skal brukes, skriver variantene dine i den rekkefølgen Ergonode krever, og gjentar de samme reglene på hver fil den leverandøren sender.

Nettversjon: https://sdmportal.com/no/ergonode/

## Tilkoblingen

- **Protokoll:** Kun GraphQL, /api/graphql/
- **Autentisering:** API-nøkkel i en X-API-KEY-header
- **Struktur:** Template
- **Skriving:** GraphQL-mutations med alias, 25 operasjoner per forespørsel
- **Varianter:** Simple products først, deretter variable-produktet med bindings
- **Delta sync:** Hash per skriveoperasjon

## Der en leverandørfeed til Ergonode faktisk stopper

### Hver type har sin egen mutation

Text, numeric, select, multi select, unit, price og relation krever hver sin typede mutation. Sender du en verdi gjennom feil mutation, svarer Ergonode med en ukjent feil og ingen detaljer.

### Varianter krever en rekkefølge

Barna må finnes før variable-produktet kan binde dem. Tar du feil rekkefølge, feiler bindings.

### Status er en graf, ikke et felt

Ergonode validerer arbeidsflytoverganger på serversiden, så du kan ikke bare sette statusen du vil ha fra der produktet står nå.

## Slik skriver SDM Portal til Ergonode

### Mapping per template

Velg templatet og attributtskinnen begrenses til attributtene i det. Templates har ikke noe visningsnavn i API-et, så velgeren viser template-koden. Den innebygde SKU-en er ikke del av attributtstrømmen, så et felt kalt esa_sku legges inn, og du mapper SKU som enhver annen kolonne.

### Typede skrivinger, løst i sanntid

Text, textarea og date sendes som en streng, numeric, price og unit som en float, select som en alternativkode, multi select som en liste med alternativkoder og relation som en liste med SKU-er. Typen hentes fra det live katalogen din, ikke fra formen på verdien, så et artikkelnummer som ser numerisk ut, havner likevel som tekst.

### Verdier per lokalitet

Lokalitet er en egenskap ved forbindelsen du tegner. Tre beskrivelseskolonner fyller ett attributt på tre språk, og kjøringens språk bestemmer standardverdien.

### Varianter med akser og bindings

Merk en parent key, en eller flere variantakser og variant-SKU-en på kildekolonner. Simple products opprettes først, deretter variable-produktet med sine bindings, som er rekkefølgen Ergonode krever. Aksverdier som går gjennom en ValueMap, ender likevel opp i binding-koder.

### Arbeidsflytstatus via korteste vei

Fordi Ergonode håndhever overgangsgrafen, beregnes den korteste veien fra produktets nåværende status til den du mappet, og den går steg for steg i stedet for å settes i ett sprang.

### Kategorier fra flere taksonomier

En flyt kan holde mer enn én taksonominode. Hver av dem mapper en kildeverdi til en kategori, og et produkt får unionen uten duplikater av alt som ble løst, i ett kategorikall.

### Alternativer, opprettet og beriket

Manglende alternativer opprettes med en kort foreslått kode i små bokstaver, som du kan redigere per verdi. Custom fields på alternativer av typen text, textarea og rich text kan fylles fra andre kolonner i samme rad, slik at den lange vedlikeholdsteksten havner i et custom field mens alternativet beholder et lesbart navn. Alternativnavn stopper på 255 tegn.

### Nye attributter fra editoren

Opprett attributter av typen text, textarea, numeric, date, select, multi select, unit, price og relation fra lerretet. Ergonode har ikke noe API for å legge et attributt til et template, så et opprettet attributt gjelder hele instansen, og du legger det til templatet i Ergonode selv. Editoren sier dette i det øyeblikket du oppretter ett.

### Batcher som overlever en dårlig celle

Skrivinger sendes som GraphQL-mutations med alias, 25 operasjoner per forespørsel, med jevn takt. Én avvist verdi kan velte et helt batchet dokument, så en batch der hver operasjon feilet med samme feil, prøves på nytt én operasjon om gangen. Bare den virkelige synderen feiler, og Ergonodes egen valideringsdetalj vises på raden.

### Myke feil forblir myke

En verdi som nvt på et numerisk attributt hoppes over med en advarsel som navngir SKU-en. En duplikatverdi på et unique-attributt, for eksempel en delt tollkode, registreres som et hopp i stedet for at produktet feiler. En relasjon til en SKU som ikke finnes ennå, fjernes fra den skrivingen og navngis i advarselen, slik at resten av relasjonen likevel havner der.

## Hva vi kan skrive til Ergonode

Select og multi select mappes til alternativkoder, og manglende alternativer kan opprettes og beriges. Et prisattributt er en enkelt float der valutaen konfigureres på attributtet inne i Ergonode, og et unit-attributt leser symbolet sitt fra attributtet.

- Tekst
- Textarea
- Numeric
- Dato
- Select
- Multi select
- Unit
- Price
- Produktrelasjon
- Kategorier
- Arbeidsflytstatus
- Variant-bindings

## Hva Ergonode-connectoren ikke gjør ennå

### Bilder, gallerier, filer (ikke skrivbar)

Mediaattributter er synlige i skinnen, men skrives ikke. Custom fields på alternativer av typen bilde filtreres bort av samme grunn.

### Priser (én valuta)

Et Ergonode-prisattributt inneholder én float, og valutaen konfigureres på attributtet inne i Ergonode. Valuta per forbindelse, der flere kolonner slås sammen til én samling, er en Akeneo-funksjon.

### Grouping products (utenfor omfang)

Bare simple- og variable-produkter. Grouping products opprettes ikke.

### Legge et attributt til et template (manuelt steg)

Ergonode har ikke noe API for det. Et attributt opprettet fra editoren finnes for hele instansen, og du legger det til templatet i Ergonode før det vises i den avgrensede skinnen.

### Alternativnavn over 255 tegn (api-grense)

Ergonode avviser lengre alternativnavn med en uklar feil, så navn kuttes ved 255. Legg den fulle teksten i et custom field på alternativet.

### Template-navn (kosmetisk)

Ergonode-API-et returnerer ikke noe visningsnavn for et template, så velgere og advarsler viser template-koden.

## FAQ

### Hvordan kobler SDM Portal seg til Ergonode?

Ergonode eksponerer kun GraphQL, på /api/graphql/. Du legger inn instans-URL-en og en API-nøkkel, som sendes som en X-API-KEY-header, og tilkoblingen verifiseres med en reell handshake. Nøkkelen lagres kryptert og er aldri en del av en eksportert mapping.

### Håndterer SDM Portal Ergonode-varianter?

Ja. Du merker parent key, variantaksene og variant-SKU-en på kildekolonner. Simple products opprettes først og deretter variable-produktet med sine bindings, som er rekkefølgen Ergonode krever. Aksverdier som går gjennom en ValueMap, ender likevel opp i binding-koder.

### Kan den sette arbeidsflytstatusen i Ergonode?

Ja. Ergonode validerer statusoverganger på serversiden, så SDM Portal beregner den korteste veien fra produktets nåværende status til den du mappet, og går den steg for steg.

### Hvordan kan én dårlig celle unngå å velte en hel batch?

Skrivinger batches som GraphQL-mutations med alias, 25 operasjoner per forespørsel. En enkelt avvist verdi kan velte hele det batchede dokumentet, så en batch der hver operasjon feilet med samme feil, prøves på nytt én operasjon om gangen. Bare den virkelige synderen feiler, og årsaken Ergonode returnerte, vises på raden.

### Vil en ny kjøring sende alt på nytt?

Nei. Hver skriving hashes per operasjon, så en ny kjøring av en uendret fil rapporterer produktene som uendret og skriver ingenting. En tvungen full resync finnes for de gangene du faktisk vil sende alt på nytt.

## Kom i gang

Prøv gratis i 14 dager: https://app.sdmportal.com/signup?lang=no

Andre PIM-er: https://sdmportal.com/no/ergonode/ · https://sdmportal.com/no/akeneo/ · https://sdmportal.com/no/pimcore/

SDM Portal.
