Dit artikel bevat de technische specificaties van de order-call van de Paazl SOAP API.


Met dit verzoek maak je een voorlopige bestelling (pending order) aan in de database van Paazl. De voorlopige bestelling krijgt een unieke bestellingsreferentie en is niet zichtbaar in het bestellingenoverzicht van je webapp-account. Je kunt productattributen meesturen om de verzendopties en verzendtarieven op te halen die je voor dat product hebt ingesteld in je bezorgingsmatrix.


Voorlopige bestellingen (Pending orders)


Bij het verwerken van bestellingen gebruikt Paazl twee bestellingstypes om de aankooptransactie te modelleren: een "voorlopige bestelling" (pending order) en een "bestelling" (order). De voorlopige bestelling dient als tijdelijk referentiepunt voor beschikbare verzendopties. Zodra je klant een optie kiest en op "Kopen" klikt, wordt de voorlopige bestelling een definitieve bestelling die je moet bevestigen (committen).


Order vs Pending Order diagram

Zo werkt dit proces in de praktijk:


  1. Een klant plaatst een artikel in de winkelwagen van je webshop.
  2. Stap 1 activeert een orderRequest-call naar Paazl met jouw referentiecode in het orderReference-element van de call.
  3. Paazl maakt met jouw referentiecode een voorlopige bestelling aan in de database. Deze is nog niet zichtbaar in je account.
  4. Je klant vult zijn of haar adresgegevens in.
  5. Stap 4 activeert een shippingOptionRequest-call naar Paazl, waarna de opgevraagde opties in je checkout verschijnen.
  6. Je klant kiest een verzendoptie, vult de betaalgegevens in en klikt op "Kopen".
  7. Stap 5 activeert een commitOrderRequest-call naar Paazl. Deze call bevat een referentie naar de voorlopige bestelling (pendingOrderReference) en een (nieuwe) referentie voor de definitieve bestelling (orderReference).
  8. Paazl maakt de bestelling aan in haar database met de waarde van <orderReference> en toont de bestelling in je webshop-account.

Voorbeeld


Stel dat een klant in je checkout zit en de adresgegevens heeft ingevuld. Via het orderReference-element van de orderRequest-call laat je Paazl weten dat de referentiecode voor de voorlopige bestelling temp0001 is. Deze waarde wordt opgeslagen in de database van Paazl, maar is niet zichtbaar in het Paazl-account van je webshop.


Order vs Pending Order example step 1

Je klant klikt nu op "Kopen" en je stuurt een commitOrder-verzoek naar Paazl. Via het element pendingOrderReference geef je door dat het om de voorlopige bestelling temp0001 gaat. Tegelijkertijd geef je via het element orderReference aan dat de referentiecode voor de definitieve bestelling order0001 is. Paazl maakt de bestelling aan met referentiecode order0001 en deze verschijnt direct in je Paazl-account.


Order vs Pending Order example step 2

Productattributen


Paazl gebruikt de attributen van een product — zoals hoogte, gewicht of waarde — om te bepalen welke verzendoptie geldt voor een bestelling. Dit gebeurt op basis van de instellingen van de bezorgingsmatrix in je Paazl-webapp-account. Zie Over bezorgingsmatrices voor meer informatie over hoe dit werkt.


Request


Elementspecificaties


ElementTypeVerplicht?Beschrijving
hashString(255)Ja

Een met SHA-1 versleutelde authenticatiecode. De string die je versleutelt is een samenvoeging van de volgende substrings:

<webshop-ID> + <integratiewachtwoord> + <bestellingsreferentie>

Je vindt het webshop-ID en het integratiewachtwoord in je Paazl-webapp-account onder Instellingen > Mijn Account.

Voorbeeld

Webshop-ID: "store12"

Integratiewachtwoord: "myPassword"

Bestellingsreferentie: "Order001"

Te versleutelen string: "store12myPasswordOrder001"

webshoplong(10)JaHet webshop-ID van je hoofdwebshop. Je vindt dit in de Paazl-interface onder Instellingen > Mijn Account.
targetWebshoplong(10)Nee

Gebruik je meerdere webshops? Dan is dit het webshop-ID van een onderliggende webshop (ook wel bekend als Paazl-subaccount). Je vindt dit in het Paazl-webapp-account van de desbetreffende subwebshop onder Instellingen > Mijn Account.

De hash die je aanmaakt met het webshop-ID van je hoofdwebshop (hoofdaccount) geeft je ook toegang tot de bijbehorende subwebshops.

referenceString(255)JaDe referentiecode van jouw webshop voor de desbetreffende bestelling.
productsComplex elementJaBevat informatie over de producten waaruit een bestelling bestaat.
quantitypositiveIntegerNeeHet aantal stuks van een specifiek producttype in een zending.
packagesPerUnitpositiveIntegerNee

Het aantal pakketten dat nodig is voor een enkel product.

Verplicht als de vervoerder TSN is.

matrixString[A-Za-z]NeeDe kolom van de bezorgingsmatrix die van toepassing is op een product.
weightnonNegativeDecimalNee

Het gewicht van een product in kilogram (kg).

Verplicht als de vervoerder UPS of FedEx is.

widthnonNegativeIntegerNeeDe breedte van een product in hele centimeters (cm).
lengthnonNegativeIntegerNeeDe lengte van een product in hele centimeters (cm).
heightnonNegativeIntegerNeeDe hoogte van een product in hele centimeters (cm).
volumenonNegativeDecimalNee

Het volume van een product in kubieke meter (m³), inclusief verpakking.

Verplicht als de vervoerder TSN is.

codeStringNee

De artikelcode van een product.

Verplicht als de vervoerder TSN is.

descriptionStringNee

Een omschrijving die vereist is voor douanedoeleinden.

Verplicht als de vervoerder UPS is.

countryOfManufactureStringNee

De ISO 3166-2-code voor het land waar de te verzenden goederen zijn geproduceerd.

Verplicht als de vervoerder FedEx is.

unitPricenonNegativeDecimalNeeDe stukprijs van een product.
unitPriceCurrencyString(3)NeeDe ISO 4217-code van de desbetreffende valuta. De standaardwaarde is EUR.
hsTariffCodeStringNeeDe GS-code (Harmonized System-code) voor de goederencategorie van het desbetreffende product.
directiondirectionTypeNee

Heeft betrekking op omruilbestellingen (swap orders) waarbij sommige producten moeten worden opgehaald op een afhaallocatie en andere moeten worden afgeleverd op het adres van de geadresseerde. Kan een van de volgende twee waarden hebben:

  • delivery
  • pickup
processingDaysnonNegativeIntegerNeeHet aantal dagen dat een magazijn nodig heeft om een bestelling klaar te maken voor afhaling door een vervoerder.
promotionAbsoluteBooleanNeeBij true is de korting een absoluut bedrag. Bij false is de korting een percentage. Heb je meerdere producten? Dan stel je voor elk product dezelfde waarde in.
promotionDecimalNeeGebruik dit om prijzen te verlagen in de shippingOptionResponse-call. Geldt er voor verschillende producten een andere korting? Dan wordt de hoogste korting op alle prijzen toegepast.

Voorbeeld request (Verzoek)


<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:mat="http://www.paazl.com/schemas/matrix">
   <soapenv:Header/>
   <soapenv:Body>
      <mat:orderRequest>
        <mat:hash>2c3b01dc6bc280ffa4d643955555257b82d1d261</mat:hash>
         <mat:webshop>491</mat:webshop>
         <mat:targetWebshop></mat:targetWebshop>
         <mat:orderReference>214748364720151230095732</mat:orderReference>
         <mat:products>
            <mat:product>
               <mat:quantity>1</mat:quantity>
               <mat:packagesPerUnit>1</mat:packagesPerUnit>
               <mat:matrix></mat:matrix>
               <mat:weight>1</mat:weight>
               <mat:width>10</mat:width>
               <mat:height>15</mat:height>
               <mat:length>10</mat:length>
               <mat:volume></mat:volume>
               <mat:code></mat:code>
               <mat:description>Test</mat:description>
               <mat:countryOfManufacture>NL</mat:countryOfManufacture>
               <mat:unitPrice>50</mat:unitPrice>
               <mat:unitPriceCurrency>EUR</mat:unitPriceCurrency>
               <mat:hsTariffCode></mat:hsTariffCode>
               <mat:processingDays></mat:processingDays>
               <mat:promotionAbsolute></mat:promotionAbsolute>
               <mat:promotion></mat:promotion>
            </mat:product>
         </mat:products>
      </mat:orderRequest>
   </soapenv:Body>
</soapenv:Envelope>

Response


Elementspecificaties


ElementTypeBeschrijving
succesStringBevat de melding "Order successfully saved".

Voorbeeld response (Antwoord)


<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <orderResponse xmlns="http://www.paazl.com/schemas/matrix">
         <succes>Order successfully saved</succes>
      </orderResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren