# Leverantörsdata till Ergonode, mappade visuellt

Ergonode är enbart GraphQL, och varje attributtyp har sin egen typade mutation. SDM Portal vet vilken som ska användas, skriver dina varianter i den ordning Ergonode kräver och upprepar samma regler på varje fil den leverantören skickar.

Webbversion: https://sdmportal.com/sv/ergonode/

## Anslutningen

- **Protokoll:** Endast GraphQL, /api/graphql/
- **Autentisering:** API-nyckel i en X-API-KEY-header
- **Struktur:** Template
- **Skrivning:** GraphQL-mutations med alias, 25 operationer per förfrågan
- **Varianter:** Simple products först, sedan variable-produkten med bindings
- **Delta sync:** Hash per skrivoperation

## Där ett leverantörsflöde till Ergonode verkligen fastnar

### Varje typ har sin egen mutation

Text, numeric, select, multi select, unit, price och relation kräver var sin typade mutation. Skickar du ett värde genom fel mutation svarar Ergonode med ett okänt fel och inga detaljer.

### Varianter kräver en ordning

Barnen måste finnas innan variable-produkten kan binda dem. Får du ordningen fel misslyckas bindings.

### Status är en graf, inte ett fält

Ergonode validerar arbetsflödesövergångar på serversidan, så du kan inte bara sätta den status du vill ha från där produkten står nu.

## Så skriver SDM Portal till Ergonode

### Mappning per template

Välj templatet och attributskenan begränsas till dess attribut. Templates har inget visningsnamn i API:et, så väljaren visar template-koden. Det inbyggda SKU:t ingår inte i attributströmmen, så ett fält som heter esa_sku läggs till och du mappar SKU som vilken annan kolumn som helst.

### Typade skrivningar, upplösta i realtid

Text, textarea och date skickas som en sträng, numeric, price och unit som en float, select som en alternativkod, multi select som en lista med alternativkoder och relation som en lista med SKU. Typen hämtas från din katalog i realtid, inte från värdets form, så ett artikelnummer som ser numeriskt ut landar ändå som text.

### Värden per lokal

Lokal är en egenskap hos förbindelsen du drar. Tre beskrivningskolumner fyller ett attribut på tre språk, och körningens språk avgör standardvärdet.

### Varianter med axlar och bindings

Markera en parent key, en eller flera variantaxlar och variantens SKU på källkolumner. Simple products skapas först, sedan variable-produkten med sina bindings, vilket är den ordning Ergonode kräver. Axelvärden som går genom en ValueMap landar ändå på binding-koder.

### Arbetsflödesstatus via kortaste vägen

Eftersom Ergonode upprätthåller övergångsgrafen beräknas den kortaste vägen från produktens nuvarande status till den du mappat, och den gås steg för steg i stället för att sättas i ett hopp.

### Kategorier från flera taxonomier

Ett flöde kan innehålla mer än en taxonominod. Var och en mappar ett källvärde till en kategori, och en produkt får unionen utan dubbletter av allt som löstes, i ett enda kategorianrop.

### Alternativ, skapade och berikade

Saknade alternativ skapas med en kort föreslagen kod i små bokstäver, som du kan redigera per värde. Custom fields på alternativ av typen text, textarea och rich text kan fyllas från andra kolumner i samma rad, så att den långa skötseltexten landar i ett custom field medan alternativet behåller ett läsbart namn. Alternativnamn stannar vid 255 tecken.

### Nya attribut från editorn

Skapa attribut av typen text, textarea, numeric, date, select, multi select, unit, price och relation från ytan. Ergonode har inget API för att lägga ett attribut till ett template, så ett skapat attribut gäller hela instansen och du lägger till det i templatet i Ergonode själv. Editorn säger detta i samma stund som du skapar ett.

### Batchar som klarar en dålig cell

Skrivningar skickas som GraphQL-mutations med alias, 25 operationer per förfrågan, i jämn takt. Ett enda avvisat värde kan fälla ett helt batchat dokument, så en batch där varje operation misslyckades med samma fel körs om en operation i taget. Bara den verkliga syndaren misslyckas, och Ergonodes egen valideringsdetalj visas på raden.

### Mjuka fel förblir mjuka

Ett värde som nvt på ett numeriskt attribut hoppas över med en varning som namnger SKU:t. Ett dubblettvärde på ett unique-attribut, till exempel en delad tullkod, registreras som ett hopp i stället för att produkten misslyckas. En relation till ett SKU som inte finns ännu tas bort från den skrivningen och namnges i varningen, så att resten av relationen ändå landar.

## Vad vi kan skriva till Ergonode

Select och multi select mappas till alternativkoder, och saknade alternativ kan skapas och berikas. Ett prisattribut är en enda float vars valuta konfigureras på attributet inne i Ergonode, och ett unit-attribut läser sin symbol från attributet.

- Text
- Textarea
- Numeric
- Datum
- Select
- Multi select
- Unit
- Price
- Produktrelation
- Kategorier
- Arbetsflödesstatus
- Variant-bindings

## Vad Ergonode-connectorn inte gör ännu

### Bilder, gallerier, filer (inte skrivbara)

Mediaattribut syns i skenan men skrivs inte. Custom fields på alternativ av typen bild filtreras bort av samma skäl.

### Priser (en valuta)

Ett Ergonode-prisattribut innehåller en float och dess valuta konfigureras på attributet inne i Ergonode. Valuta per förbindelse, där flera kolumner slås samman till en samling, är en Akeneo-funktion.

### Grouping products (utanför omfattningen)

Bara simple- och variable-produkter. Grouping products skapas inte.

### Lägga ett attribut till ett template (manuellt steg)

Ergonode har inget API för det. Ett attribut som skapats från editorn finns i hela instansen, och du lägger till det i templatet i Ergonode innan det syns i den avgränsade skenan.

### Alternativnamn över 255 tecken (api-gräns)

Ergonode avvisar längre alternativnamn med ett ogenomskinligt fel, så namn kapas vid 255. Lägg den fullständiga texten i ett custom field på alternativet.

### Template-namn (kosmetiskt)

Ergonodes API returnerar inget visningsnamn för ett template, så väljare och varningar visar template-koden.

## FAQ

### Hur ansluter SDM Portal till Ergonode?

Ergonode exponerar enbart GraphQL, på /api/graphql/. Du lägger in instansens URL och en API-nyckel, som skickas som en X-API-KEY-header, och anslutningen verifieras med en riktig handshake. Nyckeln lagras krypterad och ingår aldrig i en exporterad mappning.

### Hanterar SDM Portal Ergonode-varianter?

Ja. Du markerar parent key, variantaxlarna och variantens SKU på källkolumner. Simple products skapas först och sedan variable-produkten med sina bindings, vilket är den ordning Ergonode kräver. Axelvärden som går genom en ValueMap landar ändå på binding-koder.

### Kan den sätta arbetsflödesstatusen i Ergonode?

Ja. Ergonode validerar statusövergångar på serversidan, så SDM Portal beräknar den kortaste vägen från produktens nuvarande status till den du mappat och går den steg för steg.

### Hur undviker en dålig cell att fälla en hel batch?

Skrivningar batchas som GraphQL-mutations med alias, 25 operationer per förfrågan. Ett enda avvisat värde kan fälla hela det batchade dokumentet, så en batch där varje operation misslyckades med samma fel körs om en operation i taget. Bara den verkliga syndaren misslyckas, och skälet Ergonode returnerade visas på raden.

### Skickar en andra körning om allt?

Nej. Varje skrivning hashas per operation, så en ny körning av en oförändrad fil rapporterar produkterna som oförändrade och skriver ingenting. En framtvingad full omsynk finns för de gånger du verkligen vill skicka om allt.

## Kom igång

Prova gratis i 14 dagar: https://app.sdmportal.com/signup?lang=sv

Andra PIM: https://sdmportal.com/sv/ergonode/ · https://sdmportal.com/sv/akeneo/ · https://sdmportal.com/sv/pimcore/

SDM Portal.
