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).

Zo werkt dit proces in de praktijk:
- Een klant plaatst een artikel in de winkelwagen van je webshop.
- Stap 1 activeert een orderRequest-call naar Paazl met jouw referentiecode in het
orderReference-element van de call. - Paazl maakt met jouw referentiecode een voorlopige bestelling aan in de database. Deze is nog niet zichtbaar in je account.
- Je klant vult zijn of haar adresgegevens in.
- Stap 4 activeert een shippingOptionRequest-call naar Paazl, waarna de opgevraagde opties in je checkout verschijnen.
- Je klant kiest een verzendoptie, vult de betaalgegevens in en klikt op "Kopen".
- 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). - 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.

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.

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
| Element | Type | Verplicht? | Beschrijving |
|---|---|---|---|
hash | String(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" |
webshop | long(10) | Ja | Het webshop-ID van je hoofdwebshop. Je vindt dit in de Paazl-interface onder Instellingen > Mijn Account. |
targetWebshop | long(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. |
reference | String(255) | Ja | De referentiecode van jouw webshop voor de desbetreffende bestelling. |
products | Complex element | Ja | Bevat informatie over de producten waaruit een bestelling bestaat. |
quantity | positiveInteger | Nee | Het aantal stuks van een specifiek producttype in een zending. |
packagesPerUnit | positiveInteger | Nee | Het aantal pakketten dat nodig is voor een enkel product. Verplicht als de vervoerder TSN is. |
matrix | String[A-Za-z] | Nee | De kolom van de bezorgingsmatrix die van toepassing is op een product. |
weight | nonNegativeDecimal | Nee | Het gewicht van een product in kilogram (kg). Verplicht als de vervoerder UPS of FedEx is. |
width | nonNegativeInteger | Nee | De breedte van een product in hele centimeters (cm). |
length | nonNegativeInteger | Nee | De lengte van een product in hele centimeters (cm). |
height | nonNegativeInteger | Nee | De hoogte van een product in hele centimeters (cm). |
volume | nonNegativeDecimal | Nee | Het volume van een product in kubieke meter (m³), inclusief verpakking. Verplicht als de vervoerder TSN is. |
code | String | Nee | De artikelcode van een product. Verplicht als de vervoerder TSN is. |
description | String | Nee | Een omschrijving die vereist is voor douanedoeleinden. Verplicht als de vervoerder UPS is. |
countryOfManufacture | String | Nee | De ISO 3166-2-code voor het land waar de te verzenden goederen zijn geproduceerd. Verplicht als de vervoerder FedEx is. |
unitPrice | nonNegativeDecimal | Nee | De stukprijs van een product. |
unitPriceCurrency | String(3) | Nee | De ISO 4217-code van de desbetreffende valuta. De standaardwaarde is EUR. |
hsTariffCode | String | Nee | De GS-code (Harmonized System-code) voor de goederencategorie van het desbetreffende product. |
direction | directionType | Nee | 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:
|
processingDays | nonNegativeInteger | Nee | Het aantal dagen dat een magazijn nodig heeft om een bestelling klaar te maken voor afhaling door een vervoerder. |
promotionAbsolute | Boolean | Nee | Bij 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. |
promotion | Decimal | Nee | Gebruik 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
| Element | Type | Beschrijving |
|---|---|---|
succes | String | Bevat 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
Feedback verzonden
We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren
