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>

JSON

JSON structure

{
  "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"
          ]
        }
      ]
    }
  ]
}

Details

All fields must be populated, except those where it is specified it can be null or blank (see column Options/Details below).

JSON structure

Options/Details

Examples

"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:

</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:

PALLETLINE – DELIVERIES:

Only 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
 }