Åben indkøbskurv

I denne artikel:


     

    Introduktion

    Med åben indkøbskurv kan du tilføje produkter til indkøbskurven via et link til shoppen. Det kan f.eks. være et link eller en QR-kode til linket i et nyhedsbrev, på sociale medier eller i en specifik forhandler- eller tilbudsmail mv. Åben indkøbskurv kan også benyttes til, at tilføje specialtilbud, rabatter og oprette produkter ad hoc. Åben indkøbskurv er tilgængelig i alle abonnementspakker.

    Der findes to versioner af Åben indkøbskurv

    Udvidet åben indkøbskurv aktiveres via et flueben under Indstillinger > Webshopindstillinger > Produkter i sektionen Udvidet åben indkøbskurv. Se mere her. Åben indkøbskurv kan ikke benyttes på pakkeprodukter.

    Bemærk: Denne artikel fokuserer på seneste version af åben indkøbskurv, som er baseret på metoden addmulti. Hvis du benytter en tidligere version baseret på metoden add, kan du læse videre her.

     

    I praksis

    Som vi nævnte i introduktionen består funktionen i korte træk af, at man kan lægge varer i kurven via et link til shoppen. Linket tilføjes nogle parametre for at fortælle shoppen, hvilke produkter det drejer sig om eller, hvis der f.eks. skal oprettes et produkt, sættes en pris osv. til formålet.

    Basisudgaven af åben indkøbskurv kan modtage følgende parametre via linket:

    • sku = Varenummer (kan være både produktets og/eller variantens)
    • product = Produktets ID
    • variant = ID for den pågældende variant (ved variantprodukter)
    • amount = Antal/stk. (uden amount sættes værdien 1)
    • notification = Visning af statusbesked i kurv (sættes til "true" eller "false")

    Bemærk: Linket skal enten indeholde "sku" (varenummer) eller "product" (produkt ID) for at funktionen aktiveres. Hvis du har flere produkter med samme varenummer bør du benytte "sku" (produkt ID), da shoppen ellers ikke ved, hvilket af produkterne du ønsker at tilføje.

    Linket består af:

    • URL'en til shoppen:
      https://eksempel-shop.dk/actions/cart/addmulti/
    • input-parameter med produktinformationerne formateret som JSON argument:
      ?input=[{"product":26,"amount":2}]
    • Her lægger vi 2 stk af produkt ID 26 i kurven:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2}]

    Rækkefølgen af produkt parametre er uden betydning. Vi kan altså bytte om på product og amount så linket ser således ud og stadigt lægge produkterne i kurven:

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"amount":2, "product":26}]

     

    Hvor finder jeg Varenummer og produkt ID?

    Varenummer og produkt ID finder du under fanen Generelt på produktet. Du finder varianternes ID under fanen Varianter på det enkelte produkt (synlig på variantprodukter):

    Du kan ligeledes lave et udtræk af dine produkter og varianter med shoppens eksportfunktion så du kan aflæse variant ID mv. på tværs af produkter.

    Hvis man ønsker at linke direkte til et produkt uden varianter, kan linket se således ud:

    Eksempel 1: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"sku":"51284441","amount":1}]
    Eksempel 2: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":1}]

    Hvor "sku" er varenummeret (i dette tilfælde "51284441"), "product" er produktets ID (i dette tilfælde "26"), og "amount" bestemmer antallet, der skal tilføjes kurven.

    Hvis man ønsker at linke til et produkt med varianter via produktets ID, skal linket se således ud:

    Eksempel 3: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":2,"variant":33,"amount":1}]

    Hvor "2" er produktets ID, "33" er variantens globale ID, og "amount" bestemmer antallet, der skal tilføjes kurven.

    Parameteret "notification" bestemmer visningen af statusbeskeder som "Varen er lagt i din indkøbskurv.", "Produktet findes ikke" osv. når linket benyttes:

    Medtages parameteret i linket med værdien "false", så undlades notifikationen (standard er "true" og parameteret kan derfor undlades, hvis statusbeskederne skal vises):

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2}]&notification=false

    Værd at vide: Bortset fra parameteret expiryDays (se sektionen Udløb af indhold i kurven) er rækkefølgen af parametre i linket er uden betydning.

     

    Tilføjelse af flere produkter

    Det er muligt at tilføje flere produkter til kurven f.eks. ved at benytte flere links som vist her:

    Kald 1: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":1,"amount":1}]
    Kald 2: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":2,"amount":1}]
    Kald 3: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":3,"amount":1}]
    

    Så længe gentagne kald foretages i samme session vil produkterne blive tilføjet samme kurv. Den anbefalede måde at tilføje flere produkter på er ved, at inkludere alle produkter i samme kald som i dette eksempel:

    Kald 1: https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":1,"amount":1}, {"product":2,"amount":1}, {"product":3,"amount":1}]
    

    Vi kan bryde linket op således for at få et overblik:

    • Start: https://eksempel-shop.dk/actions/cart/addmulti/?input=[
    • Produkt 1: {"product":1,"amount":1},
    • Produkt 2: {"product":2,"amount":1},
    • Produkt 3: {"product":3,"amount":1}
    • Slut: ]

     

    Tilvalgstyper

    Hvis du ønsker at inkludere Tilvalgstyper på produktet, så kan det gøres via parametret "additionalData". I eksemplet herunder har produktet 4 tilvalg med flere valgmuligheder i enkeltvalgsbokse (radioknapper), afkrydsningsbokse (checkbox) og et tekstfelt:

    1. Der findes 4 slags tilvalgstyper, som fastsættes ved oprettelse af tilvalgstyperne i shoppen:
      • Enkeltvalgsbokse (radioknapper)
      • Afkrydsningsboks (checkbox)
      • Tekstfelt
      • Dropdownliste

      Den overordnede tilvalgstype adresseres via tilvalgstypens ID, som svarer til variablen typeId i vores kald til shoppen. typeId er med andre ord tilvalgstypen og ikke en bestemmelse af om den er en afkrydsningsboks mv., dette er fastsat ved oprettelsen af vores tilvalgstyper.

    2. Valget for den pågældende tilvalgstype angiver vi via parameteret choice:
      • Ved dropdownliste/enkeltvalgsboks: ID (2 mv.)
      • Ved afkrydsningsboks et array af ID'er ([5,6])
      • Ved tekstfelt en tekststreng ("Min+yndlingsstol")

      Værdien til choice (også kaldet tilvalgstypedata) kan aflæses på de enkelte tilvalgstyper i shoppens administration, og står listet i tilvalgsdataenes titler som "(data 1), (data 4)" etc.

      Bemærk: Indhold til Tekstfelt skal være UTF-8 indkodet så ikke-latinske tegn som æ, ø, å og mellemrum overholder formatet.

    Hvis vi ønsker at benytte billedeksemplet ovenfor til vores kald kan det gøre således:

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":16,"variant":36,"amount":1,"additionalData":[{"typeId": 1, "choice": 2}, {"typeId": 2, "choice": [5,6]}, {"typeId": 3, "choice": "Min yndlingsstol!"}, {"typeId": 4, "choice": 7}]}]
    

     

    Vi kan bryde URL'en op således for at få et overblik:

    • Start: https://eksempel-shop.dk/actions/cart/addmulti/?input=[
    • Produkt start: {
    • Produkt ID, variant og antal: "product":16,"variant":36,"amount":1,
    • Tilvalg start: "additionalData":[
    • Tilvalgstype 1: {"typeId": 1, "choice": 2},
    • Tilvalgstype 2: {"typeId": 2, "choice": [5,6]},
    • Tilvalgstype 3: {"typeId": 3, "choice": "Min yndlingsstol!"},
    • Tilvalgstype 4: {"typeId": 4, "choice": 7}
    • Tilvalg slut: ]
    • Produkt slut: }
    • Slut: ]

    Tilvalgene står i kurven sammen med produktet og er en tydelig indikator for om tilvalgsdataene er kommunikeret korrekt til shoppen via din URL:

    For at benytte denne funktion skal du kende ID'erne på tilvalgstyperne (typeId) og deres tilhørende data ID (choice). Gå til Produkter > Tilvalgstyper og aflæs tilvalgstype ID'et (vises i kolonnen "Id"):

    Klik på blyantikonet for at få vist detaljer for tilvalgstypedata. Her kan du aflæse tilvalgsdataenes ID som vist herunder. Data ID'erne benyttes når du skal sætte markering i enkeltvalgsbokse, dropdownliste eller afkrydsningsbokse (som vist i eksemplet længere oppe i artiklen):

    Læs mere om oprettelse af Tilvalgstyper her.

     

    Opsummering

    • product/sku/ean: Én af disse er er påkrævet
    • variant: Påkrævet for variant produkter, hvis feltet product benyttes
    • amount: Påkrævet
    • additionalData: Valgfri inkludering af én eller flere tilvalgstyper (variablen skrives med camelCase)
    • notification: Valgfri visning af statusbesked

    Husk at variant ID'et ikke kan aflæses under variantdata i administrationen da det er et relativt ID tilknyttet varianttypen og ikke et unikt ID. Lav i stedet et udtræk af dine produkter og varianter med shoppens eksportfunktion.

     

    Udvidet åben indkøbskurv

    Denne funktion kan f.eks. benyttes til at sende et eller flere produkt-links til en kunde med aftalt pris og antal. Da linket inkluderer en hash-kode (en sikkerhedsnøgle til identifikation af linkets oprindelige opbygning) er det ikke muligt, at ændre værdierne efter linket er genereret og sendt til kunden.

    For at benytte den udvidede åbne indkøbskurv skal du aktivere indstillingen i administrationen under Indstillinger > Webshopindstillinger > Produkter (nederst på siden):

    1. Udvidet åben indkøbskurv: Aktiverer funktionaliteten for udvidet åben indkøbskurv.
    2. Tilladte IP-adresser (valgfri): Semikolon-separeret liste over tilladte IP-adresser. Dette er IP'en på slutbrugeren, som benytter linket til åben indkøbskurv. Listen over IP-adresser hjælper med, at forhindre misbrug af linket til åben indkøbskurv.
    3. Hemmelig nøgle: En nøgle, som indtastes i shoppens administration. Den hemmelige nøgle er en sikring af de links der genereres. Den sikrer at variabler som titel og pris ikke kan ændres af slutbrugeren.
    4. Gem dine ændringer.

     

    Oprettelse af "engangsprodukter"

    Udvidet åben indkøbskurv kan være praktisk, hvis du afgiver et tilbud eller sammensætter en produktpakke ad hoc, og ønsker at sende et link til kunden så denne bestille varerne uden, at du på forhånd har oprettet specifikke produkter til formålet.

    Dette gøres ved, at have et anonymt (generisk/universelt) produkt forberedt som du efterfølgende via åben kurv-linket kan sætte titel, pris og varenummer på. Produktet er med andre ord bare en pladsholder for de informationer du angiver i linket. Dermed kan du generere forskellige links til det samme produkt i shoppen, som hver gang har forskellige priser og titler, og dermed agerer som et nyt produkt, hver gang. Denne metode vil f.eks. også kunne benyttes af sælgere og partnere som shoppen måtte have tilknyttet. Bemærk: Produkter oprettet på denne måde bliver ikke gemt som normale produkter i shoppen men fungerer som engangsprodukter til formålet.

    Udvidet åben indkøbskurv tilføjer nye parametre til den eksisterende funktionalitet i åben indkøbskurv for, at man kan ændre priser, titler osv. Parametrene er som følger:

    • title = Produkt titel (valgfri vilkårlig titel f.eks. "Tilbud ifølge aftale", "Sommerpakke", "Specialopgave", "Messetilbud" mv.).
    • price = Produkt pris (ønsket stk. pris/tilbudspris/specialpris)
    • currency = Gennemtvingelse af valuta ("DKK", "EUR", "NOK" mv.)
    • weight = Produktets vægt ("0.2", "1.5" mv.)

    Hvis der angives en titel skal dette gøres med URL-indkodning (så mellemrum og ikke-latinske tegn indkodes):

    • "Tilbud ifølge aftale" => "Tilbud+if%C3%B8lge+aftale"

    Dette kan du f.eks. benytte vores kodegenerator til (se afsnittet længere nede i artiklen).

    Valuta (currency)

    Hvis du benytter currency skal du være opmærksom på følgende:

    • currency er kun tilgængelig, hvis price inkluderes i forespørgslen.
    • currency sikrer, at produkter med en tilpasset pris låses til den angivne valuta. Dette bevirker, at produkter tilføjet kurven ikke vil kunne købes, hvis man efterfølgende skifter valuta på shoppen eller, hvis produkterne tilføjes kurven med en anden valuta valgt på shoppen.
    • currency sættes med standard valuta kode f.eks. "DKK", "EUR", "NOK" osv. De samme værdier finder du under Indstillinger > Valuta når du tilføjer og redigerer shoppens valuta.

    Vægt (weight)

    Hvis du benytter weight skal du være opmærksom på følgende:

    • weight er kun tilgængelig med Udvidet åben indkøbskurv.
    • Hvis et produkt tilføjes via Åben indkøbskurv med weight defineret, og det samme produkt efterfølgende tilføjes manuelt via ordreflowet vil produkterne tilføjes som 2 ordrelinjer, hver med deres egen vægt.
    • Der tages højde for vægt sat via weight i beregningen af fragt på ordren.

    Med ovenstående forøges det mulige antal parametre til følgende når udvidet åben indkøbskurv er aktiveret:

    • title = Produkt titel
    • price = Produkt pris
    • currency = Gennemtvingelse af valuta
    • weight = Produktets vægt
    • sku = Varenummer (kan være både produkt og/eller variant)
    • product = Produktets ID
    • variant = ID for variant (ved variantprodukt)
    • amount = Antal: prisen multipliceres med antal (uden amount sættes værdien 1)
    • notification = Statusbesked i kurv

     

    Sikring med hemmelig nøgle

    Til udvidet åben indkøbskurv genereres en SHA-1 hash-kode ud fra en hemmelig nøgle samt værdierne af de argumenter, som inkluderes (i rækkefølgen de optræder i linket), hvor hemmelig nøgle er den indtastede kode i administrationen:

    Den hemmelige nøgle er en kombination af bogstaver og tal som du selv finder på. Koden bevirker i sidste ende, at shoppen kan vurdere om åben kurv-linket har været manipuleret efter det har været sendt til modtageren og returneres til shoppen. I så fald vil det blive afvist af shopsystemet.

    Eksempel

    Linket opbygges således:

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"title":"Tilbud","amount":2,"price":49.00}]&code=987f667ec75a3f3e3ce61058539d2afad1e29c27

    Linket består af:

    • URL'en til shoppen:
      https://eksempel-shop.dk/actions/cart/addmulti/
    • input-parameter med produktinformationerne formateret som JSON argument:
      ?input=[{"product":26,"title":"Tilbud","amount":2,"price":49.00}]
    • code-parameter med den hemmelige nøgle + produktinformationerne:
      07FnpNB9Qk8q[{"product":26,"title":"Tilbud","amount":2,"price":49.00}]
      Som bliver til:
      &code=987f667ec75a3f3e3ce61058539d2afad1e29c27

    Værd at vide: Rækkefølgen af parametre i linket er uden betydning så længe de ikke ændres i linket efter nøglen er genereret.

    I kodeeksemplerne herunder viser vi, hvordan ovenstående gøres programmatisk. Du kan også benytte vores kode-generator længere nede i artiklen til direkte, at konfigurere dine produkter og generere et komplet link.

    
    // Parameters
    System.Collections.Specialized.NameValueCollection args = System.Web.HttpUtility.ParseQueryString(string.Empty);
    args.Add("input", "[{\"product\":26,\"amount\":2, \"price\":89}, {\"product\":8,\"amount\":4, \"price\":49}]");
    // Secret (as entered in the shop administration)
    string secret = "07FnpNB9Qk8q";
    // Join secret with parameters (out "07FnpNB9Qk8q[{\"product\":26,\"amount\":2, \"price\":89}, {\"product\":8,\"amount\":4, \"price\":49}]")
    secret += string.Join("", args.AllKeys.Select(key => args[key]));
    // Generate SHA-1 (out "a989ebef759b01e7bc91362317f83bea5be82626")
    string hash = System.Security.Cryptography.SHA1.Create().ComputeHash(Encoding.UTF8.GetBytes(secret)).Aggregate(string.Empty, (x, y) => x + y.ToString("x2"));
    // Get URL with parameters and key
    string url = "https://eksempel-shop.dk/actions/cart/addmulti/?" + args.ToString() + "&code=" + hash;
    // (out "https://eksempel-shop.dk/actions/cart/addmulti/?input=%5b%7b%22product%22%3a26%2c%22amount%22%3a2%2c+%22price%22%3a89%7d%2c+%7b%22product%22%3a8%2c%22amount%22%3a4%2c+%22price%22%3a49%7d%5d&code=a989ebef759b01e7bc91362317f83bea5be82626")
    
        
    
        // Parameters
        $url = 'https://eksempel-shop.dk/actions/cart/addmulti/?input=';
        $input =  [['product' => 26,'amount' => 2,'price' => 89,],['product' => 8,'amount' => 4,'price' => 49,]];
        $input = json_encode($input);
        $arg = array();
        $arg['input'] = $input;
        // Generate SHA-1 from secret (as entered in the shop administration)
        $sha = sha1('07FnpNB9Qk8q' . \json_encode($arg));
        $input = urlencode($input);
        // Get URL with parameters and key
        $out = "{$url}{$input}&code=$sha";
    
    

     

    Link generator - lav dit eget link

    Hvis du ønsker at konfigurere dine produkter og efterfølgende generere et komplet link med sikkerhedsnøgle til udvidet åben indkøbskurv kan du gøre dette helt uden programmeringserfaring ved, at benytte følgende metode.

    Det gøres ved at kopiere kodestumpen herunder og indsætte den i LINQPad, der er et gratis værktøj til afvikling af kode. Kodestumpen samler dine parametre samt den hemmelige nøgle, og genererer en SHA-1 nøgle til brug i linket. Herefter bygger koden det færdige link til dig. Koden tager højde for specialtegn i din titel og undlader parametre, som ikke har angivet nogen værdi. Du kan downloade softwaren her.

    Når du har indsat kodestumpen i LINQPad kan du ændre værdierne som beskrevet i kommentarerne i koden:

    Download

    Start LINQPad og indsæt kodestumpen:

    Klik på billedet for at zoome. Du kan downloade LINQPad her.

    1. Indsæt og tilpas dine værdier.
    2. Klik på startknappen eller tast F5 på dit tastatur for at køre koden.
    3. Det genererede link fremkommer i nederste vindue og kan kopieres herfra.

    Du kan efterfølgende gemme dit kodedokument i LINQPad og oprette kopier til senere brug, forskellige tilbud mv.

     

    Tracking af ordrestatus via sporingskode

    Det er muligt at medsende en sporingskode i kaldet til Åben indkøbskurv, som efterfølgende kan benyttes til at identificere ordren via SOAP- og GraphQL API. På denne måde kan man afklare om ordren er blevet oprettet og i så fald, hvilken ordrestatus den har mv.

    Tracking funktionen fungerer ved at medsende parameteret referralCode i kaldet til shoppen: referralCode=LiveDec23-00001

    Sporingskoden kan f.eks. bestå af en statisk del der fortæller, hvilken begivenhed ordren er oprettet til (live shopping event mv.) og en fortløbende eller tilfældig værdi der er unik for ordren, f.eks. LiveDec23-00001. På denne måde kan du identificere alle ordrer for det pågældende event og samtidigt skelne dem fra hinanden når du laver dit udtræk.

    Her finder du sporingskoden i de to API'er:

    Værd at vide

    • Sporingskoden må ikke overstige 50 tegn.
    • Til sporingskoden benyttes UTF-8 indkodning internt i systemet. Dog skal du være opmærksom på at UTF-8 ikke understøttes i URL, og du bør derfor lave en sporingskode der indeholder gyldige tegn.
    • Sporingskoden er en del af Udvidet åben indkøbskurv og kan tilføjes eksemplet med hemmelig nøgle og kodegeneratoren i denne artikel.

     

    Udløb af indhold i kurven

    Med parametret expiryDays er det muligt at angive, hvor mange dage kurven skal bevares for gæste-brugere uden login. Denne funktion vil typisk være rettet mod kunder med mobiltelefon, der ikke er logget ind i shoppen og handler som gæst men stadigvæk har behov for, at kunne genkalde produkter efter udløbet session ud fra en forudbestemt periode som shopejeren finder passende i den pågældende kontekst som f.eks. live shopping events. Ved registrerede kunder gælder de eksisterende regler for indkøbskurven.

    Værd at vide

    • Hvis expiryDays undlades, benyttes standard udløb på 30 dage for gæster i shoppen.
    • Værdien i expiryDays angives som heltalsværdi: 0 = deaktiveret (udløb med session), 30 = max-antal dage.
    • Værdier større end 30 og mindre end 0 vil resultere i undtagelsen Ugyldig åben indkøbskurv kode.
    • Hvis du benytter expiryDays med Udvidet åben indkøbskurv skal expiryDays placeres efter input sektionen og før referralCode (se eksempler herunder). Placering i en anden rækkefølge vil resultere i undtagelsen Ugyldig åben indkøbskurv kode.

    Eksempel

    Åben indkøbskurv:

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2},{"product":8,"amount":3}]&expiryDays=1&referralCode=live2025

    Udvidet åben indkøbskurv:

    https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2,"price":49.00},{"product":8,"amount":3,"price":99.00}]&code=8d646466923831398f0e5948412167e4194cea93&expiryDays=1&referralCode=live2025

     

    Stacking af produkter i kurven

    Med parametret stack er det muligt, at bestemme om gentagne tilføjelser af det samme produkt skal lægges til eksisterende produkter af samme slags i kurven, altså tilføjes som en enkelt linje med opskrivning af produktantal eller om de skal have hver deres linje, og fremstå som separate klynger af produkter i kurven.

    • Parameteret stack tilføjes en boolsk værdi: true/false eller 1/0.
    • Stacking er slået fra som standard (svarende til stack=0)
    • stack fungerer både med normal, addmulti og udvidet åben indkøbskurv.
    • stack inkluderes ikke i oprettelsen af hash koden til udvidet åben indkøbskurv og står på den måde som en selvstændig del af strengen.
    • Produkter stackes kun, hvis de er identiske og ikke er blevet tilpasset med nye værdier via åben indkøbskurv (pris, titel, vægt eller valuta). Tilpassede produkter stackes altså ikke (se Eksempel 2)

    Eksempel 1

    1. Normal tilføjelse via Åben indkøbskurv, hvor de 2 produkter tilføjes kurven som forventet:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2}]
    2. Gentages samme kald vil der tilføjes yderligere 2 produkter på en separat linje fordi stacking er slået fra som standard:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2}]
    3. Slår vi stacking til (stack=1) vil produkterne i stedet lægges oven i de eksisterende produkter i kurven:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2}]&stack=1

    Eksempel 2

    Her tilføjer vi flere forskellige produkter i samme kald med udvidet åben indkøbskurv.

    1. Her tilføjes 2 stk. af produkt ID 26, og 5 stk. af produkt ID 8, som har tilpasset pris og titel, hvilket tilføjer 2 produktlinjer i kurven:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2},{"product":8,"title":"Ny titel","amount":3,"price":599.00}]&code=3bed596867cc652ebc04b11c3510b0c90086816c
    2. Gentages kaldet med stacking slået til (stack=1) vil produkt ID 26 stackes til 4 stk. men produkt ID 8 vil ikke stackes men få, hver deres linje med hhv. 5 stk. fordi de er tilpassede produkter:
      https://eksempel-shop.dk/actions/cart/addmulti/?input=[{"product":26,"amount":2},{"product":8,"title":"Ny titel","amount":3,"price":599.00}]&code=3bed596867cc652ebc04b11c3510b0c90086816c&stack=1

     

    Fejlsøgning

    Husk at tekstfelter i dit JSON-argument skal være UTF-8 indkodet, og at talværdier angives med punktum som decimal separator, hvilket f.eks. betyder, at en pris på 26,79 DKK skrives med punktum: 26.79.

    Hvis kald med åben indkøbskurv fejler, kan det give en af følgende beskeder:

    • Ugyldig åben indkøbskurv kode: Den genererede SHA-1 matcher ikke de data shoppen forventer. Det kan f.eks. være, hvis man har ændret en værdi (pris, titel mv.) eller den hemmelige nøgle i shoppen, og har glemt at generere en ny SHA-1 nøgle til linket.
    • Produktet findes ikke: Produkt ID (product) eller Varenummer (sku) findes ikke. Hvis du benytter både "product" og "sku" i samme link, skal begge stemme med produktet, før produktet kan fremfindes. Hvis der er angivet et variant ID (variant), men produktet ikke har nogen varianter, ignoreres dette og hovedproduktet lægges i kurv.
    • Husk at vælge antal: Hvis linket indeholder parameteret "variant", og dette ikke matcher variant ID'et på det valgte produkt.
    • Dette produkt er ikke på lager og kan derfor ikke bestilles: Hvis produktet er sat til ikke at kunne sælges med 0 i lagerantal, lægges varen i kurven med denne besked.
    • Ugyldig URL-parameter: Vises ved syntaks fejl i JSON-koden (ved brug af addmulti). Det kunne f.eks. være, hvis vægten i weight-parameteret ikke er angivet med en numerisk værdi.
    • Error - Invalid JSON input: Vises, hvis JSON koden ikke kan afvikles (ved brug af addmulti). Det kunne f.eks. være, hvis der ikke er angivet matchende parenteser, manglende eller forkert tegnsætning i koden.
    • Ugyldig åben indkøbskurv IP-adresse: Kaldet kommer fra en IP-adresse, som ikke er angivet under Indstillinger > Webshopindstillinger > Produkter i feltet Tilladte IP-adresser (hvis feltet er tomt er denne funktion ikke aktiv).
    • Hvis dit link bringer dig til forsiden af shoppen, i stedet for at lægge varen i kurven, skal du gennemgå linket for fejl.

     

    Nyttige links