The API is an HTTP request with POST method, requiring a JSON in the body (see JSON structure below). We will provide details for headers and security information once set up.
<aside> ℹ️ You must allow emails from [email protected]
</aside>
<aside> ✅ Deliveries into Amazon and hazardous (ADR) consignments are supported. Please see the detail below.
</aside>
<aside>
❌ Please note the following characters/combinations which are not permitted within fields:
• |
- Pipe
• ¦
- Broken pipe
• {
or }
- Curly parentheses (may only be used as part of the JSON structure - see below)
• [
or ]
- Square parentheses (may only be used as part of the JSON structure - see below)
</aside>
{
"operation": "string",
"import_configuration": {
"code": "string"
},
"transport_service": {
"code": "string"
},
"transport_network": {
"code": "string"
},
"customer": {
"code": "string"
},
"order_identifier": "string",
"customer_reference_numbers": [
"string"
],
"service_level": {
"code": "string"
},
"consignments": [
{
"pickup_stop": {
"date": "string",
"location": {
"name": "string",
"address": "string",
"address_second_line": "string",
"postal_code": "string",
"city": "string",
"country": "string"
},
"time_window": {
"code": "string",
"time_window_time_start": "string",
"time_window_time_end": "string"
},
"extras": [
{
"code": "string"
}
],
"email": "string",
"phone_number": "string",
"mobile_number": "string",
"reference_number": "string",
"note": "string"
},
"delivery_stop": {
"date": "string",
"location": {
"name": "string",
"address": "string",
"address_second_line": "string",
"postal_code": "string",
"city": "string",
"country": "string"
},
"time_window": {
"code": "string",
"time_window_time_start": "string",
"time_window_time_end": "string"
},
"extras": [
{
"code": "string"
"amazon": {
"asn_number": "string",
"fba_number": "string",
"po_number": "string",
"carton_count": "string",
"unit_count": "string"
}
}
],
"email": "string",
"phone_number": "string",
"mobile_number": "string",
"reference_number": "string",
"note": "string"
},
"goods": [
{
"packaging_type": {
"code": "string",
"packaging_size": {
"name": "string"
}
},
"quantity": "integer",
"total_pallet_spaces": "integer",
"total_weight_kg": "number",
"stackable": "boolean",
"description": "string",
"adr_type": "string"
"packaged_items": [
{
"adr": {
"un_number": "string",
"packaging_type": "string",
"emergency_phone_number": "string"
}
},
"description": "string"
"quantity": "integer",
"total_weight_kg": "number",
"total_volume_l": "number"
]
}
]
}
]
}
All fields must be populated, except those where it is specified it can be null
or blank (see column Options/Details below).
"operation": "string",
"import_configuration": {
"code": "string"
}
Same for all API calls, see example.
"operation": "CREATE",
"import_configuration": {
"code": "API"
}
"transport_service": {
"code": "string"
}
"PAL"
for Palletline
"HAZ"
for Hazchem
"GENERAL"
for General Haulage
"transport_service": {
"code": "PAL"
}
"transport_network": {
"code": "string"
}
"PALLETLINE"
for Palletline
"HAZCHEM"
for Hazchem
null
for General Haulage
"transport_network": {
"code": "PALLETLINE"
}
"transport_network": {
"code": null
}
"customer": {
"code": "string"
}
"<your account code with Stiller>"
This will be 6 letters and 2 digits, as printed on all invoices from Stiller.
"customer": {
"code": "ABCDEF01"
}
"order_identifier": "string"
"<your order’s unique reference number>"
Your unique identifier for the order (e.g. the order id from your system).
This must be unique for every order and not null
. Field customer_reference_numbers
does not have to be unique.
"order_identifier": "4276d786-a448-4157-a811-113144a47cf0"
"customer_reference_numbers": [
"string"
]
"<order reference or PO number>"
The order reference. This could be your PO number or your customer’s order reference. It does not have to be unique (e.g. multiple orders can be covered by the same PO).
<aside> ℹ️ To omit, enter no items.
</aside>
"customer_reference_numbers": [
"ref_123"
]
"customer_reference_numbers": []
"service_level": {
"code": "string"
}
"A"
for 24h service
"B"
for 48h service
"C"
for 72h service
"service_level": {
"code": "string"
},
"date": "string"
Date in the format “yyyy-mm-dd”
<aside> ⚠️ For Saturday deliveries, the relevant extra must also be selected.
</aside>
"date": "2024-05-29"
"location": {
"name": "string",
"address": "string",
"address_second_line": "string",
"postal_code": "string",
"city": "string",
"country": "string"
}
"name"
= Name of business/contact at the location
"address"
= Address first line
"address_second_line"
= Address second line
"postal_code"
= Postal code including space (excluding country code)
"city"
= Postal town
"country"
= 2-letter international country code (ISO 3166 standard)
<aside>
ℹ️ To omit "address_second_line"
, set to null
.
</aside>
<aside>
⚠️ Please note the following commonly misquoted "country"
codes:
"GB"
"IE"
"IM"
"JE"
"GG"
</aside>
"location": {
"name": "St Helier Town Hall",
"address": "PO Box 50",
"address_second_line": null,
"postal_code": "JE4 8PA",
"city": "St Helier",
"country": "JE"
}
"time_window": {
"code": "string",
"time_window_time_start": "string",
"time_window_time_end": "string"
}
In some cases, the "time_window_time_start"
and/or "time_window_time_end"
are not required.
PALLETLINE – COLLECTIONS:
"code": "CA"
Exclude both "time_window..."
fieldsPALLETLINE – DELIVERIES:
"code": "PT"
Exclude both "time_window..."
fields"code": "AM"
Exclude both "time_window..."
fields"code": "BD", "time_window_time_start": "<time in format hh:mm>" "time_window_time_end": "<time in format hh:mm>"
(same time as the start time)"code": "BK"
Exclude both "time_window..."
fieldsOnly one of these can be chosen for each leg ("pickup_stop"
and "delivery_stop"
).
<aside>
ℹ️ To omit, set code to null
.
</aside>
"time_window": {
"code": "CA"
}
"time_window": {
"code": "BD",
"time_window_time_start": "09:15"
}
"time_window": {
"code": "BD",
"time_window_time_start": "13:20",
"time_window_time_end": "13:20"
}
"time_window": {
"code": null
}