EXTRAvestiging webshop development tools
EXTRAvestiging webshops kunnen standalone opgezet worden waarna de webshop via een menu-optie in de website te benaderen is. Mooier is uiteraard als de EV webshop in de website geïntegreerd kan worden zoals u hier kunt zien. Naast de standaard integratie van de EV webshop in WordPress, kan een EV webshop ook in elke maatwerk website geïntegreerd worden als deze PHP en javascript ondersteunt (wat 99% van de websites ondersteunt). Door middel van enkele javascript en PHP-statements is deze integratie te realiseren zoals u hier kunt zien.
Op de webpage ‘https://extravestiging.nl/webshop-tools-snippets‘ vind u diverse code-voorbeelden.
Deze webpage laat de mogelijkheden zien en welke hulpmiddelen gebruikt kunnen worden om een EV webshop binnen een bestaande website te integreren.
- Deeplinken: Het direct springen naar bepaalde webshop pagina’s
- Addproduct: Het toevoegen van producten
- GetInfo : Het ophalen van EXTRAvestigiging webshop informatie
- SetSessionId : Het zetten van een custom sessie ID
- GetMainAssortiments : Het ophalen van de hoofd-assortimenten
- GetSubAssortiments : Het ophalen van de sub-assortimenten van een assortiment
- GetAssortimentItems : Het ophalen van producten van een assortiment
- GetDiscountProducts : Het ophalen van de reclame producten
- GetProductInfo : Het ophalen van product informatie
- GetProductSubcodeInfo : Het ophalen van product/subcode informatie
- GetShoppingcartContents: Het ophalen van de inhoud van het winkelmandje
- GetLocations: Het ophalen van de winkellocaties
- GetFrontpageProducts: Het ophalen van de frontpage / featured producten
- GetPromotedProducts: Het ophalen van de promoted producten
Deeplinken
Deeplinken is een techniek waardoor via een URL direct naar een bepaalde page gesprongen wordt. Zo kun je denken aan bijvoorbeeld een facebook post ‘check deze lekker taart!‘ waarna direct naar deze taart gesprongen kan worden door er op te klikken. EV webshop integratie ondersteund deeplinken via de URL door de ‘page=’ parameter.
Achter de ‘page=’ parameter, kan de URL van de webshop pagina ingegeven worden wara je direct naar wilt springen. In onderstaande voorbeelden is de webshop te vinden via de URL https://extravestiging.nl/webshop en deze dient u te veranderen in de EV webshop URL van uw website.
Winkelwagentje
www.extravestiging.nl/webshop/?page=/CheckoutShoppingCart.aspx
Inloggen
www.extravestiging.nl/webshop/?page=/SignOn.aspx
Aanbiedingen
www.extravestiging.nl/webshop/?page=/aanbiedingen
Zoeken
www.extravestiging.nl/webshop/?page=/search.aspx&q=cake
Direct naar een product/ assortiment of page springen
Aangezien producten en assortimenten dynamisch zijn, zijn de productnamen dat ook. Door naar het product te navigeren op de webshop, kun je de directe link bepalen van dit product. De directe URL staat in de adresbalk:
https://extravestiging.nl/webshop/?page=/assortiment/extravestiging-banket/roombotercake
p.s. Als er in de URL ‘s|’ staat, kan dat genegeerd en weggelaten worden.
Direct producten plaatsen in winkelmandje
Het is mogelijk dat u vanuit uw website, Facebook of Twitter direct een product of aanbieding in de winkelmand wilt plaatsen. U kunt dat doen door een directe URL aan te roepen. De page ‘AddProduct.aspx’ wordt aangeroepen met een aantal parameters zoals:
http://webshop.extravestiging.nl/AddProduct.aspx?ProductId=1&Subcode=000&Amount=10
Dit betekend:
Plaats 10 keer het product 1 met subcode 000 in het winkelmandje en ga direct naar het winkelmandje om te betalen (standaard actie).
ProductCode = De productcode van het product in Bake-it (of ProductId)
Subcode = De subcode van het toe te voegen product. Als er geen subcode is ingegeven, wordt de standaard subcode van het product genomen (of SubcodeId)
Amount = Aantal producten dat u in de winkelmand wilt plaatsen
In plaats van de ProductCode en Subcode kunnen ook de ProductId en SubcodeId gebruikt worden. Dit zijn de interne id’s van de producten binnen EV die verder niet zichtbaar zijn binnen de EV webshop maar wel via GetInfo.aspx (zie onder) teruggegeven worden.
Daarnaast zijn er nog een aantal speciale parameters:
ActionCode = De actie die gedaan moet worden nadat het product in het winkelmandje is geplaatst
ActionCodeURL = De URL / website waarnaar gesprongen moet nadat het product in de winkelmand is geplaatst
SessionId = Geef een sessie ID mee voor het toevoegen van het product.
AddType = “New”, “Add” of “Delete”.
Als “New” wordt gespecificeerd wordt er altijd een nieuw product aangemaakt.
Als “Add” (wat de standaard method is) dan wordt getracht het product bij een al bestand product in het winkelmandje toe te voegen.
Als “Delete” wordt gespecificeerd wordt getracht het product uit het winkelmandje te verwijderen.
De actiecode bevat de actie die gedaan moet worden nadat het product in de winkelmandje is geplaatst en kan de volgende waarde bevatten:
ActionCode=ShoppingCart –> Na toevoegen, ga naar het winkelmandje (standaard actie als er geen ActionCode als parameter is meegegeven)
ActionCode=Home –> Na toevoegen, ga naar de startpagina van de webshop
ActionCode=Offers –> Na toevoegen, ga naar de aanbiedingen pagina van de webshop
ActionCode=URL –> Spring naar een andere website –> ActionCodeURL moet ook gevuld zijn
ActionCode=ShowStatus –> Geeft de status terug als XML output
Als ActionCode URL is, moet de ActionCodeURL de website/URL bevatten waarnaar gesprongen wordt nadat het product is toegevoegd.
Voorbeeld:
Als er een verkeerde parameter is meegegeven aan de AddProduct.aspx pagina, wordt er een XML fout-pagina getoond met de statuscode en beschrijving van de fout:
Status = 0 –> OK
Status = 1 –> Er is geen productcode meegegeven in de parameters
Status = 2 –> Er is geen subcode meegegeven in de parameters / geen standaard subcode
Status = 11 –> Product niet gevonden in de database
Status = 12 –> Subcode niet gevonden in de database
Status = 20 –> Product/Subcode combinatie niet gevonden in de database
Status = 80 –> Het te verwijderen product niet in het winkelmandje gevonden
Status = 81 –> Het verwijderen van het product is mislukt
Status = 89 –> ActionCode is niet geldig
Status = 90 –> SessionId niet goed gezet
Status = 99 –> Algemene / onbekende fout
Sessies
Als de webshop / website gemixed via AJAX, URL en CURL calls benaderd wordt, kan het zijn dat er verschillende sessie ID’s gebruikt worden door de browser waardoor bijvoorbeeld toegevoegde producten niet zichtbaar zijn in de winkelwagen. Om dit te voorkomen, kan de SessionId van de browser gezet worden of de sessie als parameter meegegeven worden aan AddProduct. Zie SetSessionId : Het zetten van een custom sessie ID.
Informatie van EXTRAvestiging opvragen
Het is mogelijk dat u vanuit uw website informatie opvraagd van de EV webshop. U kunt daarbij denken aan reclames in een bepaalde periode, assortimenten etc. Hierdoor kunt u deze informatie binnen een website gebruiken om bijvoorbeeld dynamisch een menu op te bouwen op basis van de beschikbare assortimenten voor een bepaalde datum.
Hier vindt u een PHP voorbeeld waar de assortimenten van een EV webshop worden opgehaald, dynamisch een knop gemaakt worden met de afbeelding en link naar het assortiment in de webshop: http://evphptest.extravestiging.nl/
Als er geen data is, wordt een lege string teruggegeven waarop binnen de code gecontroleerd kan worden. Als er een probleem is bij het ophalen van informatie, wordt een foutcode in XML getoond:
- OK = 0
- NoAssortimentCode = 1
- NoProductCode = 2
- NoSubCode = 3
- DateFormatInvalid = 4
- AmountInvalid = 5
- NoActionCode = 6
- ProductNotFound = 7
- SubcodeNotFound = 8
- ProductSubcodeNotFound = 9
- AssortimentNotFound = 10
- ProductCodeNotUnique = 11
- SubCodeNotUnique = 12
- ProductSubCodeNotUnique = 13
- AssortimentCodeNotUnique = 14
- MaxItemsInvalid = 15
- ProductIdListInvalid = 16
- ProductCodeListInvalid = 17
- ProductIdInProductIdListNotFound = 18
- ProductCodeInProductCodeListNotFound = 19
- LocationNotFound = 20
- LocationCodeNotUnique = 21
- NoLocationCode = 22
- SessionIdNotSet = 23
- SessionIdSet = 24
- Unknown = 99
Sessies
Als de EV webshop / website gemixed via AJAX en URL calls benaderd wordt, kan het zijn dat er verschillende sessie ID’s gebruikt worden door de browser waardoor bijvoorbeeld toegevoegde producten niet zichtbaar zijn in de opgeroepen winkelwagen. Om dit te voorkomen, kan de SessionId van de browser gezet worden door de volgende URL aan te roepen voordat het product toegevoegd wordt:
http://webshop.extravestiging.nl/GetInfo.aspx?Action=SetSessionId&SessionId=test123
Deze sessie ID is een string die maximaal 24 karakters lang is (of wordt 24 lang gemaakt wordt) en kan bijvoorbeeld de huidige SessionId van de website zijn. Daarna kunnen de opvraag-functies met GetInfo.aspx aangeroepen worden. De teruggegeven XML bevat het root-attribuut SessionId waardoor in de code gecontroleerd kan worden of de gegevens van de juiste sessie getoond worden.
LET OP: Een SessieId mag enkel uit kleine letters a – z en cijfers 0 – 5 bestaan en mag niet langer zijn dan 24 tekens!
CallBack
Samen met de SessieID kan ook een CallBack URL meegegeven worden die uitgevoerd wordt nadat de bestelling afgerond is. Deze CallBack wordt slechts eenmaal uitgevoerd per transactie. Een voorbeeld zie je hieronder:
Na het afronden van de transactie wordt de CallBack ‘http://website.bakker.nl/VerwerkOrder.php?Id=1’ uitgevoerd waarbji een aantal parameters worden toegevoegd aan de CallBack URL die in de ontvangende URL verwerkt kunnen worden:
- Result = # waarbij 0 = OK, 1 = Order niet gevonden / Probleem
- OrderId = [Bedrag]
- Revenue= [Bedrag]
- ShippingCosts = [Bedrag]
- DeliveryCosts = [Bedrag]
- Tax = [Bedrag]
- Paid = True/False
- PaymentStatus (Only when paid electronically)
- PaymentId (Only when paid electronically)
Opmerkingen
- Als in de callback een & teken nodig is, deze vervangen in # in de callback. Deze wordt vertaald naar & zodra de callback uitgevoerd wordt.
- SetSession=#zet de huidige sessie nog eens. Dit kan gebruikt worden om de CallBack te veranderen.
Meerdere Sessie onderhouden
Hieronder een voorbeeld van URLS die na elkaar aangeroepen kunnen worden waarbij 2 aparte winkelmandjes bediend worden:
https://webshop.extravestiging.nl/GetInfo.aspx?Action=SetSessionId&SessionId=test123 (Optioneel: Om de browser SessionId te zetten)
https://webshop.extravestiging.nl/AddProduct.aspx?ProductCode=1&Subcode=000&Amount=10&SessionId=test123
https://webshop.extravestiging.nl/GetInfo.aspx?Action=SetSessionId&SessionId=test124 (Optioneel: Om de browser SessionId te zetten)
https://webshop.extravestiging.nl/AddProduct.aspx?ProductCode=2&Subcode=000&Amount=10&SessionId=test124
https://webshop.extravestiging.nl/GetInfo.aspx?Action=GetShoppingcartContents&SessionId=test123
https://webshop.extravestiging.nl/GetInfo.aspx?Action=GetShoppingcartContents&SessionId=test124
Voorbeeld voor het opvragen van de huidige SessionId van de browser:
Als de GetShoppingcartContents aangeroepen wordt, zie je als root-attribuut de SessionId staan die gebruikt kan worden voor verdere aanroepen van de webshop:
https://webshop.extravestiging.nl/GetInfo.aspx?Action=GetShoppingcartContents
SessieId’s en webserver calls
Elke webbrowser houdt zelf zijn eigen sessie bij middels een zogenoemde sessioncookie. Wanneer een call naar de webshop wordt gemaakt vanuit een server-omgeving, kan het zijn dat de sessie vanwege CORS (Cross Origin Resource Sharing) niet goed ingesteld kan worden. Door middel van de parameter ‘SessionOrigin’ kan expliciet toestemming gegeven worden aan een website om toch de gegevens van de juiste sessie op te vragen.
Met deze call wordt expliciet toestemming gegeven aan de website ‘http://test.extravestiging.nl’ om de sessioncookie ‘test123’ in te stellen en vervolgens de juiste data van de webshop ‘webshop.extravestiging.nl’ op te vragen. Een voorbeeld vindt u op ‘http://phpai.extravestiging.nl‘
LET OP: http:// en https:// dienen expliciet meegegeven te worden!
Parameters:
Parameter | Omschrijving |
---|---|
SessionID | De SessionId van de browser zodat de juiste content opgehaald wordt. |
SessionOrigin | Enkel voor server-calls: De website die de call naar de webshop uitvoert zodat de juiste sessie ingesteld can worden vanwege CORS. U dient http:// of https:// expliciet mee te geven |
Hoofdassortimenten
Met onderstaande link kunnen de hoofd-assortimenten opgeroepen worden. Deze worden in de vorm van een XML bestand teruggegeven.
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetMainAssortiments
Als een EV webshop gebruik maakt van de franchise module, dient een locatiecode meegegeven te worden omdat het assortiment per locatie anders kan zijn. Zodra een locatiecode is meegegeven, is deze geldig voor de gehele sessie, echter, bij Action=GetMainAssortiments is het meegeven van de locatiecode verplicht zodra een EV webshop gebruik maakt van de Franchise module!
Parameters:
Parameter | Omschrijving |
---|---|
Date | Er wordt gecontroleerd of het seizoen van het assortiment geldig is voor deze datum. (Optioneel –> Vandaag) |
LocationId / LocationCode | Zodra de EV webshop gebruik maakt van de franchise module, is het meegeven van de LocationId of LocationCode verplicht omdat assortimenten per locatie anders kunnen zijn. |
Subassortimenten
Een hoofdassortiment kan subassortimenten bevatten. Bijvoorbeeld hoofdassortiment ‘Brood’ bevat subassortimenten ‘Klein brood’ en ‘Groot brood’ die beiden vervolgens de producten bevatten. Met een parameter wordt aangegeven van welk assortiment de subassortimenten opgehaald moeten worden.
Live voorbeeld
Parameters:
Parameter | Omschrijving |
---|---|
AssortimentId / AssortimentCode | Zowel de assortiment code of assortiment id kan meegegeven worden als parameter (Verplicht) |
Date | Er wordt gecontroleerd of het seizoen van het assortiment geldig is voor deze datum. (Optioneel –> Vandaag) |
Assortiment Items
Een assortiment bevat andere assortimenten of assortiment items. Deze assortiment items zijn de ‘Productknoppen’ binnen een assortiment zoals te zien op https://webshop.extravestiging.nl/assortiment/extravestiging-brood. Met de ActionCode ‘GetAssortimentItems’ kunnen de items van een assortiment opgehaald worden. Hierbij wordt rekening gehouden of de producten in het seizoen zitten en ook voor een eventueel gekozen datum besteld mogen worden. Ook worden de producten op dezelfde volgorde in de XML weergegeven als ze op de EV webshop getoond worden.
Zodra de ‘FastOrderSubcodeId’ bij een AssortimentItem gevuld is houdt dit in dat er van dit product/assortimentitem 1 subcode gedefinieerd is maar ook dat er geen extra teksten/opties voor dit product nodig zijn en dus direct met AddProduct.aspx in de iwinkelwagen gelegd kan worden.
Live voorbeelden
Laat alle hoofd assortimenten zien zodat we de ID kunnen bepalen van het assortiment waarvan we de items willen zien.
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetMainAssortiments
We kiezen het assortiment ‘Brood’ met Id=3.
Haal alle AssortimentItems op van AssortimentId=3
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetAssortimentItems&AssortimentId=3
Haal de eerste 4 AssortimentItems op van AssortimentId=3
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetAssortimentItems&AssortimentId=3&MaxItems=4
Haal 2 willekeurige AssortimentItems op van AssortimentId=3 (Tip: Druk een paar keer op F5, je ziet telkens andere producten)
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetAssortimentItems&AssortimentId=3&MaxItems=2R
Haal AssortimentItems op van AssortimentId=3 waar de ProductId binnen (1|2|11)
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetAssortimentItems&AssortimentId=3&ProductIdList=1|2|11
Haal 2 willekeurige AssortimentItems op van AssortimentId=3 waar de ProductId binnen (1|2|11) en geldig voor 4 Juni 2018. (Tip: Druk een paar keer op F5, je ziet telkens 2 wisselende producten geselecteerd uit deze 3 producten)
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetAssortimentItems&AssortimentId=3&ProductIdList=1|2|11&MaxItems=2R&Date=20180604
Parameters:
Parameter | Omschrijving |
---|---|
AssortimentId / AssortimentCode | Zowel de assortiment code of assortiment id kan meegegeven worden als parameter (Verplicht) |
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen van het assortiment geldig is voor deze datum. (Optioneel –> Vandaag) |
MaxItems=### of ###R | Haal maximaal ‘###’ items op. Wanneer de R achter het aantal wordt gezet, worden willekeurige items gekozen. |
ProductIdList=ID1|ID2|ID3 | Haal enkel de assortiment items op waarvan de Product Id aanwezig is binnen ‘ID1|ID2|ID3’ |
ProductCodeList=Code1|Code2|Code3 | Haal enkel de assortiment items op waarvan de Product Code aanwezig is binnen ‘ID1|ID2|ID3’ |
Aanbiedingen
Binnen de backoffice van de EV webshop kunnen aanbiedingen ingegeven zijn zoals te zien op https://webshop.bakkerijschalke.nl/aanbiedingen . Met de ActionCode ‘GetDiscountProducts’ kunnen de aanbiedingen van de EV webshop opgehaald worden. Hierbij wordt rekening gehouden of de producten in het seizoen zitten.
Live voorbeelden
Laat alle aanbiedingen zien:
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetDiscountProducts
http://evSchalkeb2c.extravestiging.nl/GetInfo.aspx?Action=GetDiscountProducts
Als een EV webshop gebruik maakt van de franchise module, dient een locatiecode meegegeven te worden omdat de aanbiedingen per locatie anders kunnen zijn. Zodra een locatiecode is meegegeven, is deze geldig voor de gehele sessie, echter, bij Action=GetDiscountProducts is het meegeven van de locatiecode verplicht zodra een EV webshop gebruik maakt van de Franchise module!
De XML data die teruggegeven wordt komt overeen met de aanbiedingsknoppen binnen de EV Webshop. Bake-it is opgebiouwd uit producten met hun bijbehorende subcodes. Een aanbieding kan voor een specifieke product/subcode combinatie ingesteld zijn (Scenario 1) of voor elke subcode van een product ingesteld zijn (Scenario 2). Scenario 2 is enkel van toepassing in Bake-it, Orbak heeft altijd product/subcode aanbiedingen (scenario 1)
Scenario 1
Als een reclame voor een Product/Subcode combinatie ingesteld is, dan zijn in de XML zowel de ProductId als de SubcodeID gevuld en bevat de ‘DisplayPrice’ de daadwerkelijke reclameprijs voor de periode ‘DiscountStartDate’ t/m ‘DiscountEndDate’.
Scenario 2
Het product is in de aanbieding voor elke product/subcode combinatie. Zo kun je in Bake-it aangeven dat een bruinbrood 1.5 Euro kost ipv 2 Euro en aangezien dit geld voor elke subcode kost een half-bruinbrood 0,75 Euro ipv 1 Euro. In de XML is de ProductId dan wel gevuld maar de SubcodeId is dan leeg. De DisplayPrice is de prijs die op de reclame knop (vanaf) staat in de EV webshop. Om de prijs van de reclame te zien, dienen een paar extra stappen genomen te worden:
- Vraag de discounts op met Action=GetDiscountProducts, daar zie je de reclame start en einddatum en de webshop knop-prijs staan
- Als zowel de ProductId als SubcodeId gevuld zijn, is de DisplayPrice ook de echte reclameprijs voor deze product/subcode combinatie voor de gegeven periode, zie scenario 1
- Als de SubcodeID leeg is, is het dus een algemene reclame en geldt deze reclame voor elke geldige subcode van dat product.
- Je kunt met Action=GetProductInfo alle geldige subcodes (en reclameprijzen) van het product opvragen voor een bepaalde datum (vandaar dat de parameter Date meegegeven kan worden)
- Alternatief is om via Action=GetProductSubcode direct per ProductId/Code – SubcodeId/Code via GetProductSubcode de prijs opvragen
Voorbeeld:
1 http://evSchalkeb2c.extravestiging.nl/GetInfo.aspx?Action=GetDiscountProducts
4 http://evSchalkeb2c.extravestiging.nl/GetInfo.aspx?Action=GetProductInfo&ProductId=27
5 http://evSchalkeb2c.extravestiging.nl/GetInfo.aspx?Action=GetProductSubcodeInfo&ProductId=27&SubcodeId=0&Date=20180702
Parameters:
Parameter | Omschrijving |
---|---|
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen/beschikbaarheid van het product geldig is voor deze datum. (Optioneel –> Vandaag) |
MaxItems=### of ###R | Haal maximaal ‘###’ items op. Wanneer de R achter het aantal wordt gezet, worden willekeurige items gekozen. |
LocationId / LocationCode | Zodra de EV webshop gebruik maakt van de franchise module, is het meegeven van de LocationId of LocationCode verplicht omdat assortimenten per locatie anders kunnen zijn. |
Product informatie
Per product is veel informatie beschikbaar zoals te zien op https://webshop.extravestiging.nl/assortiment/extravestiging-brood/witbrood-rond. Met de ActionCode ‘GetProductInfo’ kan deze informatie opgevraagd worden. Ook worden alle mogelijke subcodes getoond met de daarbij behorende prijzen.
Zodra een datum meegegeven wordt, worden de prijzen van dit product van die datum bepaald. Standaard wordt ‘vandaag’ als datum genomen. Als het product toevallig op deze (zelf gegeven) datum in de aanbieding is, dan wordt de aanbiedingsprijs getoond.
Ook zijn er een aantal beschikbaarheid-flags beschikbaar die bepaald worden op basis van de informatie in Bake-it of Orbak en de datum die meegegeven is. Als er geen datum meegegeven is, wordt vandaag als referentiedatum gebruikt.
CanShowProduct – Het product mag getoond worden op de webshop op deze datum
CanDeliverProduct – Het product kan nu besteld worden voor bezorging voor deze datum (Ook check op seizoen, deadline, uitzonderingsdagen, levertijd)
CanPickupProduct – Het product kan nu besteld worden om af te halen op deze datum (Ook check op seizoen, deadline, uitzonderingsdagen, levertijd)
CanShipProduct – Het product kan nu besteld worden om op deze datum verzonden te worden (Ook check op seizoen, deadline, uitzonderingsdagen, levertijd)
De URL is de relatieve URL waarmee het product getoond en besteld kan worden en wordt enkel gevuld als dit product binnen een assortiment van Bake-it/Orbak aanwezig is. Ergo: Als de URL leeg is, dit product toevoegen aan een assortiment in Bake-it zodat dit product de website getoond kan worden, gevonden kan worden en ook besteld kan worden.
Ook worden er voedingswaarde en andere informatie vanuit het recept getoond als er een recept gekoppeld is aan het product. Er dient gekeken te worden of het recept wel is goedgekeurd want als dat niet het geval is, dient er een disclaimer te komen of dienen de gegevens uit het recept niet getoond te worden.
Live voorbeeld
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetProductInfo&ProductCode=10
Parameters:
Parameter | Omschrijving |
---|---|
ProductId / ProductCode | Zowel de product code of product id kan meegegeven worden als parameter (Verplicht) |
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen van het assortiment geldig is voor deze datum. (Optioneel –> Vandaag) |
Bake-it vs Orbak
Bake-it maakt gebruik van subcodes en Orbak maakt gebruik van hoofd- en subproducten. Daarom is de XML die ProductInfo geeft iets anders voor Bake-it en voor Orbak.
Bake-it
Orbak
Orbak maakt gebruik van hoofd-producten en sub-producten. Bij een hoofdproduct is de [MainProductCode] leeg en bij een sub product is deze gevuld.
Hieronder ziet een voorbeeld van een hoofd-product
- ProductId = 2585
- MainProductCode is leeg
- Variation = leeg
- Er zijn 2 sub-producten
Hieronder ziet een voorbeeld van een sub-product
- ProductId = 2584
- MainProductCode is de productcode van ProductId 2585
- Variation = heel ongesneden
- Er zijn geen sub-producten
Product Subcode informatie
Een EV webshop product is een combinatie van een product en een subcode. De subcode bepaald de uitvoering en prijs van het product. Met de ActionCode ‘GetProductSubcodeInfo’ kan de product/subcode informatie opgevraagd worden. Dit is een ‘subset’ van de veel uitgebreidere productinformatie.
Live voorbeeld
Parameters:
Parameter | Omschrijving |
---|---|
ProductId / ProductCode | Zowel de product code of product id kan meegegeven worden als parameter (Verplicht) |
SubcodeId / Subcode | Zowel de subcode of subcode id kan meegegeven worden als parameter (Verplicht) |
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen van het assortiment geldig is voor deze datum. (Optioneel –> Vandaag) |
Winkelwagentje
Zodra een product in de EV webshop besteld wordt, wordt het product aan het winkelwagentje toegevoegd. Met de ActionCode ‘GetShoppingcartContents’ kan het winkelmandje opgevraagd worden.
Live voorbeeld
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetShoppingcartContents
Parameters
Parameter | Omschrijving |
---|---|
SessionId | De SessionId kan meegegeven worden zodat de contents van de juiste sessie worden weergegeven. Controleer of het root-attribuut hetzelfde is als de SessionId die meegegeven is, deze kan in sommige gevallen na-ijlen waardoor een tweede call voor de contents van de sessie nodig kan zijn. Dit is te voorkomen door eerst de SetSessionId actie uit te voeren en daarna het winkelwagentje op te roepen. |
Winkellocaties
Op de EXTRAvestiging webshop zijn verschillende winkellocaties beschikbaar. Deze kunnen opgevraagd worden via de actiecode GetLocations.
Live voorbeeld
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetLocations
Parameters
Parameter | Omschrijving |
---|---|
Geen | Er zijn geen parameters beschikbaar |
Frontpage producten
Binnen Bake-it en Orbak kun je aan geven dat een product ‘Featured’ is ofwel op de voorpagina van een website getoond moet worden. Met deze functie GetFrontpageProducts kun je deze producten opvragen.
Live voorbeeld
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetFrontpageProducts
Parameters
Parameter | Omschrijving |
---|---|
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen/beschikbaarheid van het product geldig is voor deze datum. (Optioneel –> Vandaag) |
MaxItems=### of ###R | Haal maximaal ‘###’ items op. Wanneer de R achter het aantal wordt gezet, worden willekeurige items gekozen. |
Promoted producten
Binnen Bake-it en Orbak kun je aan geven dat een product ‘Promoted’ is ofwel ergen op de website gepromote of getoond moet worden. Met deze functie GetPromotedProducts kun je deze producten opvragen.
Live voorbeeld
http://webshop.extravestiging.nl/GetInfo.aspx?Action=GetPromotedProducts
Parameters
Parameter | Omschrijving |
---|---|
Date=YYYYMMDD | Er wordt gecontroleerd of het seizoen/beschikbaarheid van het product geldig is voor deze datum. (Optioneel –> Vandaag) |
MaxItems=### of ###R | Haal maximaal ‘###’ items op. Wanneer de R achter het aantal wordt gezet, worden willekeurige items gekozen. |