/services/webshop/v1/orders/detail
Auth
Returns full order details including products, pricing, tax breakdown, shipping, payment, discount and user/billing information. Response structure varies by order type (checkout or quote).
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
order_number |
string | Yes | ORD-2025-001 |
| Header | Type | Description | Example |
|---|---|---|---|
X-RateLimit-Limit |
integer | Maximum number of requests allowed per minute | 60 |
X-RateLimit-Remaining |
integer | Number of requests remaining in the current window | 57 |
| Field | Type | Description |
|---|---|---|
error |
boolean | |
data |
object | |
data.order_id |
string | |
data.order_number |
string | |
data.vendor_comment |
string | |
data.type |
string | |
data.quote |
object | |
data.checkout |
object | |
data.users |
string |
| Header | Type | Description | Example |
|---|---|---|---|
X-RateLimit-Limit |
integer | Maximum number of requests allowed per minute | 60 |
X-RateLimit-Remaining |
integer | Number of requests remaining in the current window | 57 |
| Field | Type | Description |
|---|---|---|
error |
boolean | |
message |
string |
| Field | Type | Description |
|---|---|---|
message |
string | Errors overview. |
errors |
object | A detailed description of each field that failed validation. |
| Header | Type | Description | Example |
|---|---|---|---|
X-RateLimit-Limit |
integer | Maximum number of requests allowed per minute | 60 |
X-RateLimit-Remaining |
integer | Number of requests remaining in the current window | 57 |
| Field | Type | Description |
|---|---|---|
error |
boolean | |
message |
string |
| Header | Type | Description | Example |
|---|---|---|---|
X-RateLimit-Limit |
integer | Maximum number of requests allowed per minute | 60 |
X-RateLimit-Remaining |
integer | Number of requests remaining in the current window | 57 |
| Field | Type | Description |
|---|---|---|
error |
boolean | |
message |
string |
| Header | Type | Description | Example |
|---|---|---|---|
X-RateLimit-Limit |
integer | Maximum number of requests allowed per minute | 60 |
X-RateLimit-Remaining |
integer | Number of requests remaining in the current window | 57 |
Retry-After |
integer | Seconds until the rate limit resets | 60 |
| Field | Type | Description |
|---|---|---|
error |
boolean | |
message |
string |
curl -X POST "https://api.wemasy.nl/api/services/webshop/v1/orders/detail" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"order_number": "ORD-2025-001"
}'
fetch('https://api.wemasy.nl/api/services/webshop/v1/orders/detail', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"order_number": "ORD-2025-001"
})})
.then(r => r.json())
.then(data => console.log(data));
$response = Http::withToken('YOUR_API_TOKEN')
->accept('application/json')
->post('https://api.wemasy.nl/api/services/webshop/v1/orders/detail', {
"order_number": "ORD-2025-001"
});
$data = $response->json();
import requests
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Accept": "application/json"
}
data = {
"order_number": "ORD-2025-001"
}
r = requests.post("https://api.wemasy.nl/api/services/webshop/v1/orders/detail", headers=headers, json=data)
print(r.json())
{
"error": false,
"data": {
"order_id": 2502,
"order_number": "8",
"vendor_comment": null,
"type": "checkout",
"quote": {
"order": {
"products": []
}
},
"checkout": {
"order": {
"tax_amounts": {
"0": 0,
"9": 0,
"21": 22.56
},
"show_price_tax_included": true,
"session": "eeX6TCxiubsfJEE7h49dzS3RaNcHXUTHaHcjnUqd69944a0e334ed",
"total_price": 107.43802,
"total_price_tax": 22.55749,
"total_price_with_tax": 129.99551,
"total_discount_amount": 0,
"products": [
{
"quantity": "1",
"title": "T Shirt",
"options": [],
"price_excl_tax": 103.30579,
"price_tax": 21.69447,
"price_incl_tax": 125.00026,
"original_price_excl_tax": 111.57025,
"original_price_incl_tax": 135,
"has_discount": true,
"tax_percentage": 21,
"total_price_excl_tax": 103.30579,
"total_price_tax": 21.69447,
"total_price_incl_tax": 125.00026,
"total_discount_amount": 0,
"applied_discount": null
}
],
"status": null,
"invoice_id": null,
"pdf_status": {
"invoice": {
"status": "not_generated",
"url": null,
"pending": false
},
"package_slip": {
"status": "not_generated",
"url": null,
"pending": false
}
},
"discount": null,
"should_snelstart_sync": false,
"metadata": {
"sendcloud_no_parcels": 1,
"sendcloud_weight": 0.5,
"sendcloud_labels_created": false,
"sendcloud_shipment_created": false
}
},
"shipment": {
"selected": {
"selected": "kJ9hqHhCYhCHOKHE",
"title": "Standard Shipping",
"price": {
"tax_class": 2,
"incl_tax": 4.99972,
"tax": 0.86749,
"excl_tax": 4.13223
}
}
},
"payment": {
"selected": "ideal",
"methods": [],
"payment_status": null
}
},
"users": {
"invoice_email": "john@example.com",
"invoice_firstname": "John",
"invoice_lastname": "Doe",
"invoice_phonenumber": "+31612345678",
"invoice_is_company": null,
"invoice_company": null,
"invoice_tax_number": null,
"invoice_street": "Keizersgracht",
"invoice_number": "123",
"invoice_postcode": "1015 CJ",
"invoice_city": "Amsterdam",
"invoice_country": "NL",
"invoice_notes": null,
"custom_shipping_information": null,
"shipping_firstname": null,
"shipping_lastname": null,
"shipping_phonenumber": null,
"shipping_email": null,
"shipping_company": null,
"shipping_street": null,
"shipping_number": null,
"shipping_postcode": null,
"shipping_city": null,
"shipping_country": "NL"
}
}
}