Oversigt
POST den til /api/public/strategy/evaluate, og vis svaret.
Denne side dækker to implementeringsmønstre:
- PDP-kontekst - placér en sektion på produktsider, der kalder API’en med det aktuelt viste produkt og viser en karrusel med returnerede anbefalinger.
- Kurvkontekst - vis en upsell-blok i en brugerdefineret kurv, der kalder API’en med alle aktuelle kurvvarelinjer og viser de returnerede produkter.
Hvad du skal bruge
- Din Strategy API-nøgle. I Aftersell skal du gå til Settings → Product Strategy og i kortet Security Token kopiere dit token (dette er din Strategy API-nøgle).
- Strategy-ID’et. Åbn den Strategy, du vil køre, i Aftersells Strategy-editor, og kopiér dens ID.
- Adgang til temakode. Du skal tilføje en Liquid-sektion (PDP) eller blok (brugerdefineret kurv) til dit Shopify-tema - Online Store → Themes → … → Edit code.
PDP-kontekst: Sektionssnippet
Installation
- I din Shopify-administrator skal du gå til Online Store → Themes, klikke på … på dit tema og vælge Edit code.
- Under mappen Sections skal du oprette en ny fil med navnet
aftersell-upsell-carousel.liquid. - Indsæt snippet nedenfor i den nye fil, og erstat
YOUR_STRATEGY_API_KEYmed API-nøglen fra Aftersell. - Gem.
- Åbn din produktskabelon (typisk
templates/product.jsonellersections/main-product.liquid), og tilføj sektionen Aftersell Carousel der, hvor karrusellen skal vises. Fra temaeditoren kan du også trække den direkte ind på produktsiden. - I sektionens indstillinger skal du indsætte dit Strategy-ID.
Hvad sektionen sender
- products - et array med ét element, der indeholder det aktuelt viste produkt (productId, variantId, quantity, price, handle, title, vendor, productType, tags, collections, sellingPlan).
- cart - subtotal, antal varer, antal linjer i kundens aktuelle kurv (udelades, hvis kurven er tom).
- cartToken - så API’en kan knytte denne evaluering til samme session.
- customer - tags, land, provins, sprogindstilling, ordreantal, samlet forbrug og accepterer-marketing-flag, men kun hvis kunden er logget ind.
- session - valutakode fra
shop.currency.
session-objektet før fetch-kaldet.
Snippet

Tilpasning
{% schema %}-blokken for at eksponere flere justeringsmuligheder i temaeditoren.
CSS’en er afgrænset under .aftersell-*-klassenavne og indeholder en Splide-drevet karrusel med 4 produkter ad gangen, der skifter til 2 ved 768px og 1 ved 480px. Redigér den frit, så den matcher dit tema - intet af den er nødvendig for, at API-kaldet fungerer.
Kurvkontekst: Brugerdefineret kurv-upsell-blok
cart.liquid. Formen på API-kaldet og håndteringen af svaret er identisk med PDP-eksemplet - kun products-arrayet er anderledes.
Strukturen ser sådan ud:
fetch-kaldet til /api/public/strategy/evaluate er uændret fra PDP-mønsteret ovenfor - kun products-arrayet skifter fra [productContext] til det kurvafledte array.
Hvad der sker, når Strategyen returnerer
evaluationId er et unikt id for denne evaluering. Hvis du gemmer det og knytter det til de produkter, du viser, kan du attribuere den resulterende ordre tilbage til præcis den anbefaling, der skabte den - se Attribution nedenfor.
Hvordan du viser products-arrayet, er helt op til din temakode. PDP-snippet ovenfor viser dem som en karrusel af kort med variantvælgere og læg-i-kurv-knapper; en brugerdefineret kurvblok kunne vise dem som en lodret liste inde i draweren.
Se API-referencen for Evaluate Strategy for det fulde anmodnings- og svarskema.
Når der ikke returneres noget produkt
products: []), er det op til din kode, hvordan det håndteres. PDP-snippet ovenfor skjuler karrusellen helt. En brugerdefineret kurvblok kan falde tilbage til kurvens standard-upsell-liste eller simpelthen ikke vise noget.
For at undgå et tomt svar skal du konfigurere en Catch all i Strategyen, så der altid er et fallback-produkt at returnere. Se siden Opbygning af Strategies for at lære, hvordan du opsætter en Catch all.
Tips til brugerdefinerede integrationer
- Byg konteksten i Liquid. Liquid kører ved rendering og har adgang til hele Shopify-objektgrafen - produkt, kurv, kunde, butik, request. Brug den til at udfylde payloaden på serversiden i stedet for at ty til klientsidekald.
- Hold API-nøglen ude af offentlige repos. Den ender i din temakode, som sendes til browseren - det er fint. Men indsæt ikke det samme tema i et offentligt repository, og del ikke bundtet eksternt.
- Brug en Catch all. Butiksfacade-oplevelser ser ødelagte ud, når en plads forsvinder. En Catch all med et lille sæt sikre standardprodukter holder brugerfladen konsistent.
- Cache, hvor det giver mening. Strategies API laver let caching på serversiden (
meta.servedFromCache), men til PDP’er med høj trafik kan du også ville debounce eller memoize kald på klienten (f.eks. ikke kalde igen, når det samme produkt vises to gange i en session).
Attribution
/cart/add.js-kaldet varelinjeegenskaber til kurvvaren:
Attribuering tilbage til evalueringen
evaluationId fra svaret og knytte det til varelinjen under egenskaben __as_offer_id. AfterSell læser denne nøgle, så ordrer mærket med den attribueres til den specifikke evaluering i rapporteringen.
I evaluate()-handleren skal du holde fast i id’et fra svaret:
__as_offer_id - det er den nøgle, AfterSell leder efter, og understregningspræfikset holder den skjult for kunderne. Hvis evaluationId mangler (for eksempel hvis der ikke blev returneret produkter), skal du springe egenskaben over i stedet for at sende en tom værdi.