Flyt dine profiler over til delte værdier
Sådan kobler du de samme størrelser, farver, og andre værdier i mange produktprofiler til delte værdier. I admin, via REST API, eller med Claude, med prøvekørsel først og uden at røre lager, varianter, og priser.
Har du mange produktprofiler, har du sikkert også den samme størrelse eller farve liggende i dem alle. "Medium" i t-shirt-profilen, "Medium" i bukse-profilen, og måske "M" i en tredje. Med delte værdier bliver de til den samme værdi, så du og dine kunder kan finde alt i Medium på tværs af profilerne. Denne artikel viser, hvordan du flytter dine eksisterende profiler over, uanset om du har fem profiler eller 600.
Der er tre måder at gøre det på. Vælg den, der passer til dig:
- Spor A, i admin: til dig med få profiler. Du klikker dig igennem profilerne én ad gangen.
- Spor B, via REST API: til din udvikler eller integrator, når der er mange profiler.
- Spor C, med Claude: til dig med mange profiler, der hellere vil skrive på almindeligt dansk end programmere.
Er du i tvivl om, hvad en delt værdi er, så start med hovedartiklen Delte værdier eller den korte forklaring i ordbogen.
Før du går i gang
Hvad ændres, og hvad ændres ikke?
Når du kobler en profilværdi til en delt værdi, lægger du kun en kobling på. Profilens værdi bliver stående, som den er. Det betyder:
- Dine produkter, varianter, lagertal, priser, og ordrer ændres ikke.
- Kunder, der har varer i kurven, mærker ingenting.
- Alt kan fortrydes. Fjerner du koblingen igen, står profilværdien tilbage som en almindelig værdi.
Navne ændres kun, når du selv beder om det: når du omdøber en værdi, før du kobler den, når en udvikler bruger indstillingen til at rette stavemåden (se spor B), eller når du senere omdøber en delt værdi. Så får alle koblede værdier det nye navn, også dem der før var stavet anderledes. Ordrer beholder altid det navn, varen havde, da den blev købt.
Planlæg navnene først
Brug fem minutter på at skrive ned, hvilke delte værdier du vil have. Det er navnene, som kunden ser, når de filtrerer. Et par gode råd:
- Vælg én stavemåde. Skal det hedde "M" eller "Medium"? Bestem dig, og brug den samme overalt.
- Hold forskellige ting adskilt. Betyder to værdier noget forskelligt, så lav to delte værdier. En voksen-M og en børne-M er ikke den samme størrelse, så lav fx "M" og "M (børn)".
- Kobl kun attributter, der betyder det samme. "Nej" i attributten Vandtæt er ikke det samme som "Nej" i attributten Økologisk. Kobler du dem, vil kunden se begge slags produkter, når de filtrerer på "Nej".
- Store og små bogstaver er ligegyldige. "medium" og "Medium" regnes som det samme navn.
Delte værdier virker kun på attributter af typen Liste af værdier, som du selv udfylder. Felter, som kunden skriver i, kan ikke deles.
Spor A: i admin (få profiler)
Denne metode passer, når du har en håndfuld profiler. Billeder af alle skærmene finder du i hovedartiklen Delte værdier.
1. Opret de delte værdier
- Gå til Webshop → Produktprofiler.
- Klik på knappen Delte værdier øverst til højre.
- Skriv navnet i feltet Tilføj værdi her og tryk enter, og tryk Enter. Du kan oprette flere på én gang ved at adskille dem med semikolon, fx Small;Medium;Large.
- Træk værdierne i den rækkefølge, du vil have dem vist.
2. Gør profilens værdier delte
- Åbn en profil under Webshop → Produktprofiler.
- Find attributten, fx Størrelse, og klik i feltet Værdier.
- Skriv navnet på en værdi, profilen allerede har, fx "Medium".
- Der vises en liste med forslag. Ud for den delte værdi står der gør din værdi delt. Vælg den med musen eller med piletasterne og Enter.
- Profilens eksisterende værdi får nu et link-ikon. Der oprettes ikke en ny værdi, og varianter, lager, og priser er som før.
- Gentag for hver værdi. Koblingen gemmes med det samme.
Står der findes allerede ud for forslaget, er værdien allerede delt i denne profil, og du kan springe den over.
Hvis profilen staver værdien anderledes
Hedder værdien "M" i profilen, men "Medium" blandt dine delte værdier, skal du omdøbe den først:
- Klik på blyanten ud for "M" i profilen, og ret navnet til "Medium".
- Skriv "Medium" i feltet Værdier, og vælg forslaget med gør din værdi delt.
Har attributten allerede andre delte værdier, bliver værdien koblet i samme øjeblik, du omdøber den. Du kan se det på link-ikonet, og i forslagslisten står der så findes allerede. Så er du færdig med den værdi og kan springe trin 2 over. Har attributten endnu ingen delte værdier, sker koblingen først, når du vælger forslaget i trin 2.
At omdøbe en variantværdi ændrer kun navnet. Lagertal og lagerhistorik følger med.
Pas på to ting
- Vælg ikke den delte værdi uden at omdøbe først. Står der ikke "gør din værdi delt", får profilen en ny, ekstra værdi ved siden af den gamle. Er attributten en variant, betyder det en ny variant uden lager.
- Slet aldrig en værdi for at vælge den delte i stedet. Når du sletter en variantværdi, forsvinder variantens lagerhistorik. Omdøb i stedet.
Spor B: via REST API (mange profiler)
Til udviklere. Dette afsnit er teknisk og henvender sig til den, der laver integrationer for din webshop. Er du butiksejer uden en udvikler, så brug spor A eller spor C.
REST API'et har tre endpoints til flytningen: find kandidaterne, kobl dem, og fjern koblingen igen, hvis du fortryder. Alle kald bruger din API-nøgle som den rå nøgle i headeren Authorization, uden "Bearer" foran. POST-kald skal have Content-Type: application/json. Se Find eller opret en API-nøgle. I eksemplerne står DIN_TOKEN i stedet for nøglen.
1. Opret de delte værdier
Opret de navne, der skal stå i webshoppen. Findes en værdi allerede, returneres den eksisterende i stedet for en kopi.
curl -X POST https://www.shoporama.dk/REST/attribute-shared-value \
-H "Authorization: DIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"values": ["Small", "Medium", "Large"]}'
Du kan også springe dette trin over og lade link-kaldet oprette de manglende værdier (se create_missing nedenfor). Så bliver navnene dog dem, profilerne tilfældigvis bruger.
2. Find kandidaterne
Kaldet finder liste-attributter med samme navn i flere profiler, fx Størrelse i 40 profiler. Du får attributternes id'er, alle værdier med antal, stavemåder der kun adskiller sig på store og små bogstaver (fx "s" og "S"), og hvilken delt værdi hver værdi allerede matcher. Forskellige navne for den samme størrelse, fx "S" og "Small", står som to værdier. Dem samler du med mapping i næste trin.
curl "https://www.shoporama.dk/REST/attribute-shared-value/candidates?search=Størrelse" \ -H "Authorization: DIN_TOKEN"
Uddrag af svaret:
{
"candidates": [
{
"name": "Størrelse",
"attribute_count": 3,
"profile_count": 3,
"attributes": [
{
"attribute_id": 3667,
"name": "Størrelse",
"profile_id": 2939,
"profile_name": "Sweatshirts",
"is_variant": true,
"value_count": 3,
"linked_count": 0
}
],
"values": [
{
"value": "S",
"count": 3,
"spellings": ["S"],
"attribute_shared_value_id": null
}
]
}
],
"max_attributes_per_link": 50
}
Brug min_attributes (standard 2) til kun at se navne, der går igen i mindst så mange attributter. Gå listen igennem, og vælg kun de attributter, der betyder det samme.
3. Prøvekør koblingen
Link-kaldet kobler hver værdi i attributterne til den delte værdi med samme navn. Det kører som en prøvekørsel, medmindre du sender "dry_run": false, så der gemmes intet i første omgang.
curl -X POST https://www.shoporama.dk/REST/attribute-shared-value/link \
-H "Authorization: DIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"attribute_ids": [3667, 3673, 3689],
"mapping": {"S": "Small", "M": "Medium", "L": "Large"},
"create_missing": false,
"dry_run": true
}'
Felterne i kaldet:
- attribute_ids: attributterne fra trin 2. Højst 50 pr. kald. Har du flere, så del listen op og kald flere gange.
- mapping: oversætter profilernes stavemåde til den delte værdi, fx {"S": "Small"}. Store og små bogstaver er ligegyldige. Værdier uden mapping matches på deres eget navn.
- create_missing: standard true opretter delte værdier for navne, der ikke findes endnu. Med false bruges kun de delte værdier, du allerede har, og resten står som unmatched.
- rename: standard false, så profilerne beholder deres egen stavemåde ("S" bliver stående, men er koblet til "Small"). Med true omdøbes profilværdierne også, så de hedder det samme som den delte værdi. Det slår igennem på variantnavnene i lagerlisterne, men ikke på gamle ordrer.
- dry_run: standard true.
4. Læs svaret
Svaret viser for hver attribut og hver værdi, hvad der vil ske. Her forkortet til én attribut:
{
"dry_run": true,
"summary": {
"attributes": 3,
"values_linked": 9,
"values_already_linked": 0,
"shared_values_created": 0,
"values_unmatched": 0,
"values_renamed": 0
},
"attributes": [
{
"attribute_id": 3667,
"name": "Størrelse",
"profile_id": 2939,
"profile_name": "Sweatshirts",
"values": [
{
"attribute_value_id": 22302,
"value": "S",
"action": "link",
"attribute_shared_value_id": 1,
"shared_value": "Small"
},
{
"attribute_value_id": 22558,
"value": "M",
"action": "link",
"attribute_shared_value_id": 2,
"shared_value": "Medium"
},
{
"attribute_value_id": 22304,
"value": "L",
"action": "link",
"attribute_shared_value_id": 3,
"shared_value": "Large"
}
]
}
],
"created_shared_values": [],
"warnings": [],
"errors": [],
"notes": [
"dry_run: nothing was changed. Call again with dry_run=false to apply."
]
}
Tjek især disse felter:
- action pr. værdi: link (kobles), already_linked (allerede koblet), unmatched (ingen delt værdi, og create_missing er slået fra), eller skipped_empty (tom værdi, springes over).
- created_shared_values: de delte værdier, der bliver oprettet. Står der navne, du ikke havde regnet med, så tilføj dem til mapping.
- warnings: attributter, hvor to værdier ender på den samme delte værdi, fx både "S" og "Small". Begge kobles, men ingen af dem omdøbes, så attributten ikke får to ens værdier.
- errors: fx en attribut, der ikke findes, ikke er en liste, eller hører til en slettet profil, eller mere end 50 attributter. Så svarer API'et med 400, og der gemmes intet.
5. Kør koblingen
Ser prøvekørslen rigtig ud, så send præcis det samme kald med "dry_run": false. Svaret har samme opbygning. Kaldet kan roligt køres igen: værdier, der allerede er koblet, står som already_linked.
6. Tjek resultatet
Hent de delte værdier med GET /attribute-shared-value. Feltet linked_count viser, hvor mange profilværdier der bruger hver værdi. Hent derefter produkterne med en delt værdi på tværs af profilerne:
curl "https://www.shoporama.dk/REST/product?attribute_shared_value_id=2" \ -H "Authorization: DIN_TOKEN"
| betyder eller, og komma betyder og: attribute_shared_value_id=2|3,5 er (Medium eller Large) og den delte værdi med id 5. Tilføj in_stock=1 for kun at få varianter på lager. Du kan også tilføje is_online=1. De øvrige listefiltre på produktlisten, fx search, category_id, og profile_id, kan ikke kombineres med det.
7. Fortryd med unlink
Unlink fjerner koblingen for alle værdier i de angivne attributter. Profilværdierne og de delte værdier bliver stående. Ligesom link er unlink en prøvekørsel, medmindre du sender "dry_run": false:
curl -X POST https://www.shoporama.dk/REST/attribute-shared-value/unlink \
-H "Authorization: DIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"attribute_ids": [3667], "dry_run": true}'
{
"dry_run": true,
"attribute_ids": [3667],
"values_unlinked": 3,
"errors": []
}
Også her er grænsen 50 attributter pr. kald. Har du brugt rename, bliver det nye navn stående efter unlink. Hele API'et er beskrevet i REST API-dokumentationen under "Shared Values".
Spor C: med Claude
Har du forbundet Claude til din webshop (se Styr shoppen med AI), kan Claude klare hele flytningen for dig. Du skriver, hvad du vil, og Claude finder attributterne, viser dig resultatet, og kobler dem, når du siger god for det.
Eksempler på, hvad du kan skrive
- "Find alle attributter der hedder Størrelse på tværs af mine profiler, og vis mig hvad der sker, hvis du kobler dem til de delte værdier Small, Medium, og Large."
- "Opret de delte værdier XS, Small, Medium, Large, og XL, og kobl alle mine størrelser til dem. Hvor profilen skriver S, M, eller L, skal de kobles til Small, Medium, og Large."
- "Hvilke stavemåder af farverne har jeg i mine profiler? Foreslå hvilke delte værdier jeg bør oprette."
- "Fjern koblingen til de delte værdier i profilen Børnetøj."
Sådan arbejder Claude
Claude bruger de samme funktioner som REST API'et. For udviklere, der vil følge med i auditloggen, hedder værktøjerne:
- attribute_shared_value_candidates (Find ens attributværdier): finder attributter med samme navn i flere profiler.
- attribute_shared_value_link (Kobl værdier til delte værdier): kobler værdierne, højst 50 attributter ad gangen.
- attribute_shared_value_unlink (Fjern kobling til delte værdier): fortryder koblingen.
- Desuden attribute_shared_value_list og attribute_shared_value_create til at se og oprette de delte værdier.
Claude er instrueret i altid at lave en prøvekørsel først og vise dig, hvad der vil blive koblet, hvilke delte værdier der bliver oprettet, og eventuelle advarsler. Først når du har sagt ja, kobler Claude for alvor. Har du mange profiler, deler Claude selv arbejdet op i bidder af 50.
Har du slået Ekstra sikkerhed til, skal du godkende koblingen og fjernelse af koblinger i admin, før de bliver udført. Det samme gælder, hvis Claude skal slette en delt værdi. Prøvekørslen ændrer intet og kører derfor uden godkendelse.
Efter flytningen
- Nye værdier kobles af sig selv. Når en attribut har delte værdier, bliver en ny værdi med samme navn som en delt værdi koblet automatisk. Det gælder også, når du importerer produkter via CSV, eller når en integration opretter værdier. Attributter uden delte værdier påvirkes ikke, og der oprettes aldrig nye delte værdier af sig selv.
- Navnet er låst i profilen. En delt værdi har samme navn i alle profiler, så du retter navnet under Delte værdier, og så gælder det alle profiler. Skal én profil have sit eget navn, så klik på blyanten og vælg Gør til almindelig værdi.
- Filtrering i webshoppen. I temaerne Montana og MontanaB2B slår produktfilteret de koblede værdier sammen under den delte værdis navn. Filtrerer kunden på Medium, vises produkter fra alle profiler. Det kræver, at filteret er sat op under Design → Filter. Se artiklen om produktfiltrering. Andre temaer viser ingen forskel for kunden.
Sådan fortryder du
- Én værdi i én profil: klik på blyanten ud for værdien i profilen, og vælg Gør til almindelig værdi.
- En hel delt værdi: slet den på siden Delte værdier med krydset. Profilerne beholder værdien, den er bare ikke delt længere.
- Mange attributter på én gang: brug unlink i REST API'et, eller bed Claude om at fjerne koblingen.
I alle tilfælde står profilværdierne tilbage som almindelige værdier. Har du omdøbt værdier undervejs, beholder de det nye navn.
Ofte stillede spørgsmål
Kan jeg komme til at ødelægge mine produkter, når jeg gør det?
Nej. Koblingen er et ekstra lag oven på dine profiler. Produkter, varianter, lagertal, priser, og ordrer bliver ikke rørt, og du kan altid fjerne koblingen igen. Det eneste, du skal passe på, er ikke at slette værdier undervejs.
Hvordan kan jeg se, om en værdi allerede er delt?
I profilen har en delt værdi et link-ikon. På siden Delte værdier står der et tal i hver værdi, som viser, hvor mange profilværdier der bruger den. Står tallet på 0, er der ikke koblet noget endnu.
Jeg har over 400 profiler. Skal jeg virkelig klikke mig igennem dem alle?
Nej. Bed Claude om det, eller få din udvikler til at bruge REST API'et. Begge dele kobler op til 50 attributter pr. gang, så selv mange hundrede profiler kan klares i en håndfuld kald, med prøvekørsel først.
Ændrer det noget på mine pluklister eller i lageret?
Nej, ikke uden en omdøbning. Lagertal og lagerhistorik er de samme. Omdøber du en værdi, enten selv eller med rename i API'et, får varianten det nye navn i lagerlisterne. Ordrer, der allerede er lagt, og dermed også deres pluklister, beholder det navn, varen havde, da den blev købt.
Hvornår kan mine kunder se forskel?
Så snart værdierne er koblet, hvis du bruger Montana eller MontanaB2B med produktfiltrering sat op. Så viser et filter på fx Medium produkter fra alle profiler. Bruger du et andet tema, ser kunden ingen forskel, før temaet er bygget til det.
Kommer produkter fra min næste CSV-import automatisk med?
Ja, hvis attributten allerede har delte værdier, og værdien i filen hedder det samme som en delt værdi. Store og små bogstaver er ligegyldige. Staver filen værdien anderledes, eller findes den ikke som delt værdi, bliver den en almindelig værdi.
Hvad sker der, hvis en profil både har "S" og "Small"?
Peger begge på den samme delte værdi, bliver begge koblet, men ingen af dem omdøbes, så profilen ikke ender med to ens værdier. API'et og Claude viser en advarsel om det i prøvekørslen, så du kan rydde op i profilen bagefter.
Jeg er ny og har ikke lavet profilerne. Hvordan ved jeg, hvilke der hører sammen?
Bed Claude om at finde attributter med samme navn på tværs af profilerne og vise værdierne, eller spørg din udvikler om en liste over kandidaterne. Så kan du se, hvor der er forskellige stavemåder, før noget bliver koblet. Er du i tvivl, så skriv til support@shoporama.dk.
Relaterede artikler
Delte værdier: samme størrelser på tværs af profiler
Brug delte værdier, så fx Medium er den samme værdi i alle dine produktprofiler, og kunden kan filtrere på alt i Medium, uanset om det er t-shirts...
Produktprofiler og varianter
Guide til produktprofiler og varianter i Shoporama. Forstå hvordan profiler, attributter og varianter hænger sammen.
REST API-dokumentation
Link til dokumentation for Shoporamas REST API til integration med eksterne systemer.
Styr shoppen med AI: kom i gang med Claude og MCP
Forbind din Shoporama-shop med en AI-assistent via MCP, og bed den om at oprette ordrer, rabatkoder, og forsider. Se opsætningen, værktøjerne, og...