Orders
Working with orders.
List Despatched Goodsouts
GET /v1/orders/despatched
List order goodsouts. Please note that all expands will be applied automatically.
Return Type
array<DespatchedOrders>
Filters
| Field | Operators | Value List URL |
|---|---|---|
| search | LIKE | fuzzy search across selected attributes |
| id | EQUALS | |
| order.reference | IN | |
| order.channel.short_code | IN, NOT_IN | /v1/orders/channels |
| order.channel.id | IN, NOT_IN | |
| despatch_date | LESS_THAN, ON_DATE, MORE_THAN | |
| order.currency.code | IN, NOT_IN | |
| attributes.name | IN, NOT_IN |
Sortings
Results can be sorted by the following keys: bid, despatch_date, order.channel.name, order.status, placed_date, status, warehouse.name.
Available expands
| Field | Return Type | Description |
|---|---|---|
attributes | array<CachedAttribute> | An attribute. |
courier | CachedCourier | A courier. |
courier.service | CachedShippingService | Holds data about a shipping service. |
courier.tracking | array<CachedCourierTracking> | Tracking details. |
order | CachedOrder | An order. |
order.currency | SummarisedCurrency | A currency. |
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/despatched?expand=*", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/despatched?expand=*', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/despatched?expand=*",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/despatched?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86",
"paging": {
"page": 1,
"records": 1,
"per_page": 250,
"total_records": 1,
"total_pages": 1
}
},
"data": [
{
"id": 1049789,
"status": "despatched",
"bid": "1049789-1049789",
"despatch_date": null,
"courier": {
"name": "Royal Mail",
"code": "RM",
"service": {
"name": "CRL - Packet (24 Hr)",
"code": "1ST",
"tracked": false,
"signed": false
},
"tracking": [
{
"courier": "Royal Mail",
"code": "RMTN1134905823GB",
"url": "http://www.royalmail.com/trackdetails?trackNumber=RMTN1134905823GB"
}
]
},
"attributes": [
{
"name": "Marketplace",
"value": "202-9999999-9995900"
}
],
"order": {
"id": 1234567,
"reference": "CustomerReference #154254",
"status": "open",
"currency": {
"code": "GBP",
"name": "British Pound",
"symbol": "£"
}
}
}
]
}List Goodsouts
GET /v1/orders/goodsouts
List order goodsouts. Please note that all expands will be applied automatically. The warehouse ID filter accepts warehouse shortcodes as well as IDs.
Return Type
array<CachedGoodsout>
Filters
| Field | Operators | Value List URL |
|---|---|---|
| search | LIKE | fuzzy search across selected attributes |
| id | EQUALS | |
| status | IN, NOT_IN | |
| order.reference | IN | |
| order.channel.short_code | IN, NOT_IN | /v1/orders/channels |
| order.channel.id | IN, NOT_IN | |
| shipping_address.country.iso_2 | IN, NOT_IN | |
| date_placed | LESS_THAN, ON_DATE, MORE_THAN | |
| despatch_date | LESS_THAN, ON_DATE, MORE_THAN | |
| order.currency.code | IN, NOT_IN | |
| tags.shortcode | IN, NOT_IN | |
| warehouse.id | IN, NOT_IN | |
| attributes.name | IN, NOT_IN |
Sortings
Results can be sorted by the following keys: bid, despatch_date, order.channel.name, order.status, placed_date, status, warehouse.name.
Available expands
| Field | Return Type | Description |
|---|---|---|
attributes | array<CachedAttribute> | An attribute. |
courier | CachedCourier | A courier. |
courier.service | CachedShippingService | Holds data about a shipping service. |
courier.tracking | array<CachedCourierTracking> | Tracking details. |
lines | array<CachedGoodsoutLine> | An order goodsout line summary. |
order | CachedOrder | An order. |
order.brand | CachedBrand | A brand. |
order.channel | CachedOrderChannel | An order channel. |
order.currency | SummarisedCurrency | A currency. |
shipping_address | CachedAddress | An address. |
shipping_address.contact | CachedAddressContact | A BladePRO contact. |
shipping_address.country | SummarisedCountry | A country. |
tags | array<SummarisedTag> | A tag. |
warehouse | SummarisedWarehouse | A warehouse. |
warehouse.country | SummarisedCountry | A country. |
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/goodsouts?expand=*", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/goodsouts?expand=*', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts?expand=*",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/goodsouts?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86",
"paging": {
"page": 1,
"records": 1,
"per_page": 250,
"total_records": 1,
"total_pages": 1
}
},
"data": [
{
"id": 1049789,
"bid": "1234567-1049789",
"creator": "Support Team",
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"warehouse": "CHR",
"courier": {
"name": "Royal Mail",
"code": "RM",
"service": {
"name": "CRL - Packet (24 Hr)",
"code": "1ST",
"tracked": false,
"signed": false
},
"tracking": [
{
"courier": "Royal Mail",
"code": "RMTN1134905823GB",
"url": "http://www.royalmail.com/trackdetails?trackNumber=RMTN1134905823GB"
}
]
},
"tags": [
{
"name": "Processed",
"shortcode": "processed",
"description": "Processed by a 3rd party system"
}
],
"attributes": [
{
"name": "Marketplace",
"value": "202-9999999-9995900"
}
],
"shipping_address": {
"first_name": "Support",
"last_name": "Team",
"company": null,
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": null,
"town": "Christchurch",
"county": "Dorset",
"postcode": "BH234FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": null,
"telephone": null,
"secondary_telephone": null,
"contact": {
"name": "Support Team",
"group": "I-Fulfilment"
},
"country": {
"name": "United Kingdom",
"iso_2": "GB",
"iso_3": "GBR"
}
},
"order": {
"id": 1234567,
"reference": "CustomerReference #154254",
"status": "open",
"channel": {
"id": 342,
"short_code": "DEMO",
"name": "Demo Channel"
},
"currency": {
"code": "GBP",
"name": "British Pound",
"symbol": "£"
},
"brand": {
"name": "Demo Brand"
}
},
"lines": {
"id": 3450345,
"product_variation_id": 1,
"sku": "DEMO-SKU-01",
"name": "Example product",
"quantity": 1
}
}
]
}Create Order
POST /v1/orders
Creates an order.
Request Body
Return Type
Types for the Request Body
CreateOrder (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
channel | Channel’s unique short code or ID. | stringor integer | requirednot nullif type is string, then min length is 3if type is integer, then min is 1 |
reference | Order specific reference. | string | requirednot nullmin length is 1 |
currency | Currency ISO code. | string | requirednot nullmin length is 3 |
goodsouts | List of goodsouts to create on the order. | array<Goodsout> | requirednot nullmin count is 1 |
Address
| Key | Description | Types | Restrictions |
|---|---|---|---|
title | Title. | string | not null |
first_name | First name. | string | requirednot null |
last_name | Last name. | string | requirednot null |
company | Company name. | string | not null |
address_one | First line of address. | string | requirednot null |
address_two | Second line of address. | string | not null |
address_three | Third line of address. | string | not null |
town | Town. | string | requirednot null |
country_id | Country ISO 2 or ISO 3 code. | string | requirednot nullmin length is 2max length is 3 |
county | County. | string | not null |
postcode | Postcode. | string | requirednot null |
email | Email. | string | not null |
mobile | Mobile number. | string | not null |
telephone | Landline number. | string | not null |
secondary_telephone | Secondary telephone number. | string | not null |
vat_number | VAT number. | string | not null |
Attribute
| Key | Description | Types | Restrictions |
|---|---|---|---|
name | Name of the attribute | string | requirednot nullmin length is 1 |
value | Value of the attribute | string | requirednot null |
BulkOptions
| Key | Description | Types | Restrictions |
|---|---|---|---|
requires_palletisation | Whether the goodsout needs palletisation. | boolean | |
single_sku_cartons_only | Are packed boxes only allowed to have a single SKU in them? | boolean | |
distribution_branch_id | Distribution branch ID. | string | |
department_number | Department number. | string | |
store_location_number | Store location number. | string | |
distribution_centre | Distribution centre. | string | |
purchase_order_reference | Purchase order reference. | string | |
carton_label | Carton label details. | CartonLabel |
CartonLabel
| Key | Description | Types | Restrictions |
|---|---|---|---|
type_id | Carton label type’s ID. | integer | requirednot nullmin is 1 |
references | References required by the label type. Use their ‘code’ field as keys in this map. | object | requirednot null |
CreateOrderGoodsoutLinePackingRequirements
| Key | Description | Types | Restrictions |
|---|---|---|---|
pack_together_reference | The reference used to group items together that must be packed in the same box. | string |
Goodsout
| Key | Description | Types | Restrictions |
|---|---|---|---|
warehouse | Warehouse short code. | string | requirednot nullmin length is 3 |
type | Type. | enum(consumer, trade, retail) | not null |
retailer | Retailer | integer | not nullmin is 1 |
date_placed | Customer placed date. | date | requirednot null |
shipping_address | Customer shipping address. | Address | requirednot null |
lines | The list of products. | array<Line> | requirednot nullmin count is 1 |
attributes | List of attributes. | array<Attribute> | not null |
picking_instructions | Picking instructions. | string | not null |
despatch_instructions | Despatch instructions. | string | not null |
delivery_instructions | Delivery instructions. | string | not null |
gift_message | Gift message. If presented, gift_message_template_shortcode is required. | string | optionally requirednot null |
gift_message_template_shortcode | Shortcode for the gift message template to be used. If presented, gift_message is required. | string | optionally requirednot null |
shipping | Shipping data. | Shipping | not null |
bulk_options | Options for bulk goodsouts. | BulkOptions | |
tags | List of tags to be applied to the goodsout. | array<string> |
Line
| Key | Description | Types | Restrictions |
|---|---|---|---|
variation | Product description | Variation | requirednot null |
net_unit_principal | The net amount paid for a single one of these items. | number | requirednot nullmin is 0 |
principal_tax | The ID of the tax that should be applied to the line principal value. | integer | requirednot nullmin is 1 |
discount | The amount of discount to be applied to the line principal value. | number | not nullmin is 0 |
discount_type | The type of discount to apply. | enum(percentage, value) | not null |
quantity | The quantity ordered. | integer | requirednot nullmin is 1 |
expiry_date | The required expiry date that must be picked. | date | not null |
batch_code | The required batch code that must be picked. | string | not nullmin length is 1 |
packing_requirements | Packing Requirements | CreateOrderGoodsoutLinePackingRequirements |
Shipping
| Key | Description | Types | Restrictions |
|---|---|---|---|
customer_principal | The net amount the customer paid for shipping. | number | requirednot nullmin is 0 |
shipping_code | Shipping code. | string | not nullmin length is 2 |
duty_paid | Duty paid. | boolean | not null |
Variation
| Key | Description | Types | Restrictions |
|---|---|---|---|
sku | The product’s stock keeping unit (SKU). | string | requirednot nullmin length is 1 |
channel | The product channel’s ID. | integer | requirednot nullmin is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
goodsouts | array<OrderGoodsouts> | Customer order shipments. |
goodsouts.attributes | array<CachedAttribute> | An attribute. |
goodsouts.lines | array<OrderGoodsoutLines> | An order for a product. |
goodsouts.shipments | array<Shipments> | Data related to a shipment. |
goodsouts.shipments.shipping_service | ShippingServices | Customer order shipments. |
goodsouts.shipments.shipping_service.courier_account | ShippingCourierAccounts | Shipping courier account data. |
goodsouts.shipments.shipping_service.courier_account.courier | CachedNameAndCode | Holds a name and a code field. |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders?expand=*", [
"body" => json_encode([
"channel" => "DEMO",
"reference" => "#154254",
"currency" => "GBP",
"goodsouts" => [
[
"warehouse" => "CHR",
"type" => "consumer",
"retailer" => 1,
"date_placed" => "2020-03-31",
"shipping_address" => [
"title" => "Mr",
"first_name" => "Support",
"last_name" => "Team",
"company" => "ACME LTD",
"address_one" => "Unit 4",
"address_two" => "Radar Way",
"address_three" => "Ind Est",
"town" => "Christchurch",
"country_id" => "GB",
"county" => "Dorset",
"postcode" => "BH23 4FL",
"email" => "support.team@i-fulfilment.co.uk",
"mobile" => "00000000000",
"telephone" => "00000000000",
"secondary_telephone" => "0000000000000",
"vat_number" => "GB999 9999 73",
],
"lines" => [
[
"variation" => [
"sku" => "GREEN-BALL",
"channel" => 1,
],
"net_unit_principal" => 12.55,
"principal_tax" => 12,
"discount" => 0,
"discount_type" => "value",
"quantity" => 4,
"expiry_date" => "2025-03-31",
"batch_code" => "ABC154254",
"packing_requirements" => [
"pack_together_reference" => "ABC1234",
],
],
],
"attributes" => [
[
"name" => "my-attribute",
"value" => "LoremIpsum",
],
],
"picking_instructions" => null,
"delivery_instructions" => "When not home put in shed.",
"gift_message" => null,
"shipping" => [
"customer_principal" => 0.99,
"shipping_code" => null,
"duty_paid" => true,
],
"bulk_options" => [
"requires_palletisation" => true,
"single_sku_cartons_only" => true,
"distribution_branch_id" => "BRANCH_01",
"department_number" => "DEP01",
"store_location_number" => "41440",
"distribution_centre" => "DC49004",
"purchase_order_reference" => "PO6548967-46531",
"carton_label" => [
"type_id" => 1,
"references" => [
"dc" => "ABC",
"store" => "ABC",
],
],
],
"tags" => [
"JIT",
"MyTag",
],
],
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders?expand=*', {
channel: "DEMO",
reference: "#154254",
currency: "GBP",
goodsouts: [
{
warehouse: "CHR",
type: "consumer",
retailer: 1,
date_placed: "2020-03-31",
shipping_address: {
title: "Mr",
first_name: "Support",
last_name: "Team",
company: "ACME LTD",
address_one: "Unit 4",
address_two: "Radar Way",
address_three: "Ind Est",
town: "Christchurch",
country_id: "GB",
county: "Dorset",
postcode: "BH23 4FL",
email: "support.team@i-fulfilment.co.uk",
mobile: "00000000000",
telephone: "00000000000",
secondary_telephone: "0000000000000",
vat_number: "GB999 9999 73",
},
lines: [
{
variation: {
sku: "GREEN-BALL",
channel: 1,
},
net_unit_principal: 12.55,
principal_tax: 12,
discount: 0,
discount_type: "value",
quantity: 4,
expiry_date: "2025-03-31",
batch_code: "ABC154254",
packing_requirements: {
pack_together_reference: "ABC1234",
},
},
],
attributes: [
{
name: "my-attribute",
value: "LoremIpsum",
},
],
picking_instructions: nil,
delivery_instructions: "When not home put in shed.",
gift_message: nil,
shipping: {
customer_principal: 0.99,
shipping_code: nil,
duty_paid: true,
},
bulk_options: {
requires_palletisation: true,
single_sku_cartons_only: true,
distribution_branch_id: "BRANCH_01",
department_number: "DEP01",
store_location_number: "41440",
distribution_centre: "DC49004",
purchase_order_reference: "PO6548967-46531",
carton_label: {
type_id: 1,
references: {
dc: "ABC",
store: "ABC",
},
},
},
tags: [
"JIT",
"MyTag",
],
},
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders?expand=*",
body: {
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP",
"goodsouts": [
{
"warehouse": "CHR",
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"expiry_date": "2025-03-31",
"batch_code": "ABC154254",
"packing_requirements": {
"pack_together_reference": "ABC1234"
}
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"picking_instructions": null,
"delivery_instructions": "When not home put in shed.",
"gift_message": null,
"shipping": {
"customer_principal": 0.99,
"shipping_code": null,
"duty_paid": false
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
}
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP",
"goodsouts": [
{
"warehouse": "CHR",
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"expiry_date": "2025-03-31",
"batch_code": "ABC154254",
"packing_requirements": {
"pack_together_reference": "ABC1234"
}
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"picking_instructions": null,
"delivery_instructions": "When not home put in shed.",
"gift_message": null,
"shipping": {
"customer_principal": 0.99,
"shipping_code": null,
"duty_paid": false
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
}
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1234567,
"reference": "#154254",
"status": "open",
"goodsouts": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift.",
"attributes": [
{
"name": "Marketplace",
"value": "202-9999999-9995900"
}
],
"shipments": [
{
"shipping_service": [
{
"name": "CRL - Packet (24 Hr)",
"code": "1ST",
"courier_account": [
{
"name": "Royal Mail",
"courier": {
"name": "Royal Mail",
"code": "RM"
}
}
]
}
]
}
],
"lines": [
{
"id": 3450345,
"transaction_sku": "GREEN-BALL",
"quantity": 4,
"discount_type": "percentage",
"discount": 1.5,
"net_unit_principal": 12,
"status": "active",
"variation": {
"id": 1,
"product_id": 1,
"status": "active",
"sku": "DEMO-SKU-01",
"barcode": "0123456789012",
"product_variation_type_id": 1,
"discontinued_date": "2019-11-25T14:52:56.000Z",
"despatch_instructions": "Always pack facing upwards.",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"type": {
"id": 1,
"name": "Standard Product",
"type": "product",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
},
"descriptions": [
{
"id": 1,
"product_variation_id": 1,
"locale_id": 1,
"name": "Example product",
"full_description": "Example product description",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"locale": {
"id": 1,
"name": "English",
"code": "en",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
]
}
}
],
"tags": [
{
"id": 1,
"name": "Processed",
"shortcode": "PROCESSED",
"description": "Marked a as processed by XYZ system",
"created": "2019-11-25T14:52:56.000Z"
}
],
"warehouse": [
{
"id": 1,
"short_code": "CHR",
"name": "Christchurch"
}
],
"order": {
"id": 1234567,
"reference": "#154254",
"status": "open",
"channel": {
"id": 321,
"organisation_id": 321,
"name": "Demo Channel",
"short_code": "DEMO",
"status": "active",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"organisation": {
"id": 1,
"name": "Demo",
"active": true,
"vat_number": "GB999 9999 73",
"notes": "Demo account...",
"contact_name": "Mr Joe Bloggs",
"contact_phone": "+44 01425 000 000",
"contact_mobile": "+44 00000000",
"contact_email": "joe.bloggs@example.com",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
},
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": null,
"town": "Christchurch",
"county": "Dorset",
"postcode": "BH23 4FL",
"country_id": 1,
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"country": {
"id": 1,
"name": "United Kingdom",
"iso_2": "GB",
"iso_3": "GBR",
"region_id": 1,
"currency_id": 1,
"block": "EU",
"region": {}
}
}
}
}
}Create Goodsout
POST /v1/orders/goodsouts
Creates an order goodsout.
Request Body
Return Type
Types for the Request Body
CreateGoodsout (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
warehouse | Warehouse short code. | string | requirednot nullmin length is 3 |
order | Order. | Order | requirednot null |
type | Type. | enum(consumer, trade, retail) | not null |
retailer | Retailer | integer | not nullmin is 1 |
date_placed | Customer placed date. | date | requirednot null |
shipping_address | Customer shipping address. | Address | requirednot null |
lines | The list of products. | array<Line> | requirednot nullmin count is 1 |
attributes | List of attributes. | array<Attribute> | not null |
picking_instructions | Picking instructions. | string | not null |
despatch_instructions | Despatch instructions. | string | not null |
delivery_instructions | Delivery instructions. | string | not null |
gift_message | Gift message. If presented, gift_message_template_shortcode is required. | string | optionally requirednot null |
gift_message_template_shortcode | Shortcode for the gift message template to be used. If presented, gift_message is required. | string | optionally requirednot null |
shipping | Shipping data. | Shipping | not null |
import_options | Import options. | ImportOptions | |
metadata | Goodsout metadata. | array<OrderResourceMetadata> | |
bulk_options | Options for bulk goodsouts. | BulkOptions | |
tags | List of tags to be applied to the goodsout. | array<string> |
Address
| Key | Description | Types | Restrictions |
|---|---|---|---|
title | Title. | string | |
first_name | First name. | string | |
last_name | Last name. | string | |
company | Company name. | string | |
address_one | First line of address. | string | |
address_two | Second line of address. | string | |
address_three | Third line of address. | string | |
town | Town. | string | |
country_id | Country ISO 2 or ISO 3 code. | string | min length is 0max length is 3 |
county | County. | string | |
postcode | Postcode. | string | |
email | Email. | string | |
mobile | Mobile number. | string | |
telephone | Landline number. | string | |
secondary_telephone | Secondary telephone number. | string | |
vat_number | VAT number. | string | |
location_id | Location ID. | string |
Attribute
| Key | Description | Types | Restrictions |
|---|---|---|---|
name | Name of the attribute | string | requirednot nullmin length is 1 |
value | Value of the attribute | string | requirednot null |
BulkOptions
| Key | Description | Types | Restrictions |
|---|---|---|---|
requires_palletisation | Whether the goodsout needs palletisation. | boolean | |
single_sku_cartons_only | Are packed boxes only allowed to have a single SKU in them? | boolean | |
distribution_branch_id | Distribution branch ID. | string | |
department_number | Department number. | string | |
store_location_number | Store location number. | string | |
distribution_centre | Distribution centre. | string | |
purchase_order_reference | Purchase order reference. | string | |
carton_label | Carton label details. | CartonLabel |
CartonLabel
| Key | Description | Types | Restrictions |
|---|---|---|---|
type_id | Carton label type’s ID. | integer | requirednot nullmin is 1 |
references | References required by the label type. Use their ‘code’ field as keys in this map. | object | requirednot null |
CreateOrderGoodsoutLinePackingRequirements
| Key | Description | Types | Restrictions |
|---|---|---|---|
pack_together_reference | The reference used to group items together that must be packed in the same box. | string |
ImportOptions
| Key | Description | Types | Restrictions |
|---|---|---|---|
fraud | If the order came in as a possible fraud order, set this to true. The order will be put on hold. | boolean |
Line
| Key | Description | Types | Restrictions |
|---|---|---|---|
variation | Product description | Variation | requirednot null |
net_unit_principal | The net amount paid for a single one of these items. | number | requirednot nullmin is 0 |
principal_tax | The ID of the tax that should be applied to the line principal value. | integer | requirednot nullmin is 1 |
discount | The amount of discount to be applied to the line principal value. | number | not nullmin is 0 |
discount_type | The type of discount to apply. | enum(percentage, value) | not null |
quantity | The quantity ordered. | integer | requirednot nullmin is 1 |
packing_requirements | Packing Requirements | CreateOrderGoodsoutLinePackingRequirements | |
expiry_date | The required expiry date that must be picked. | date | not null |
batch_code | The required batch code that must be picked. | string | not nullmin length is 1 |
Order
| Key | Description | Types | Restrictions |
|---|---|---|---|
channel | Channel’s unique short code or ID. | stringor integer | requirednot nullif type is string, then min length is 3if type is integer, then min is 1 |
reference | Order specific reference. | string | requirednot nullmin length is 1 |
currency | Currency ISO code. | string | requirednot nullmin length is 3 |
OrderResourceMetadata
| Key | Description | Types | Restrictions |
|---|---|---|---|
key | Metadata key. | string | requirednot null |
value | Metadata value. | string | requirednot null |
Shipping
| Key | Description | Types | Restrictions |
|---|---|---|---|
customer_principal | The net amount the customer paid for shipping. | number | requirednot nullmin is 0 |
shipping_code | Shipping code. | string | not nullmin length is 2 |
duty_paid | Duty paid. | boolean | not null |
Variation
| Key | Description | Types | Restrictions |
|---|---|---|---|
sku | The product’s stock keeping unit (SKU). | string | requirednot nullmin length is 1 |
channel | The product channel’s ID. | integer | requirednot nullmin is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
attributes | array<CachedAttribute> | An attribute. |
lines | array<OrderGoodsoutLines> | An order for a product. |
lines.variation | ProductVariations | Marketplace listable products’ data. |
lines.variation.descriptions | array<ProductVariationDescriptions> | Variation descriptions. |
lines.variation.descriptions.locale | Locales | Locale data. |
lines.variation.type | ProductVariationTypes | Product variation type data. |
order | Orders | Customer order groups. |
order.channel | OrderChannels | Customer order groups. |
order.channel.organisation | Organisations | Organisation data. |
shipments | array<Shipments> | Data related to a shipment. |
shipments.shipping_service | ShippingServices | Customer order shipments. |
shipments.shipping_service.courier_account | ShippingCourierAccounts | Shipping courier account data. |
shipments.shipping_service.courier_account.courier | CachedNameAndCode | Holds a name and a code field. |
shipping_address | OrderGoodsoutAddresses | Data related to an address. |
shipping_address.country | Countries | A country. |
shipping_address.country.region | Regions | Geographical region data. |
tags | array<Tags> | A tag. |
warehouse | SummarisedWarehouse | A warehouse. |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts?expand=*", [
"body" => json_encode([
"warehouse" => "CHR",
"order" => [
"channel" => "DEMO",
"reference" => "#154254",
"currency" => "GBP",
],
"type" => "consumer",
"retailer" => 1,
"date_placed" => "2020-03-31",
"shipping_address" => [
"title" => "Mr",
"first_name" => "Support",
"last_name" => "Team",
"company" => "ACME LTD",
"address_one" => "Unit 4",
"address_two" => "Radar Way",
"address_three" => "Ind Est",
"town" => "Christchurch",
"country_id" => "GB",
"county" => "Dorset",
"postcode" => "BH23 4FL",
"email" => "support.team@i-fulfilment.co.uk",
"mobile" => "00000000000",
"telephone" => "00000000000",
"secondary_telephone" => "0000000000000",
"vat_number" => "GB999 9999 73",
"location_id" => "00000000",
],
"lines" => [
[
"variation" => [
"sku" => "GREEN-BALL",
"channel" => 1,
],
"net_unit_principal" => 12.55,
"principal_tax" => 12,
"discount" => 0,
"discount_type" => "value",
"quantity" => 4,
"packing_requirements" => [
"pack_together_reference" => "ABC1234",
],
"expiry_date" => "2025-03-31",
"batch_code" => "ABC154254",
],
],
"attributes" => [
[
"name" => "my-attribute",
"value" => "LoremIpsum",
],
],
"delivery_instructions" => "When not home put in shed.",
"shipping" => [
"customer_principal" => 0.99,
"duty_paid" => true,
],
"import_options" => [
"fraud" => true,
],
"bulk_options" => [
"requires_palletisation" => true,
"single_sku_cartons_only" => true,
"distribution_branch_id" => "BRANCH_01",
"department_number" => "DEP01",
"store_location_number" => "41440",
"distribution_centre" => "DC49004",
"purchase_order_reference" => "PO6548967-46531",
"carton_label" => [
"type_id" => 1,
"references" => [
"dc" => "ABC",
"store" => "ABC",
],
],
],
"tags" => [
"JIT",
"MyTag",
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts?expand=*', {
warehouse: "CHR",
order: {
channel: "DEMO",
reference: "#154254",
currency: "GBP",
},
type: "consumer",
retailer: 1,
date_placed: "2020-03-31",
shipping_address: {
title: "Mr",
first_name: "Support",
last_name: "Team",
company: "ACME LTD",
address_one: "Unit 4",
address_two: "Radar Way",
address_three: "Ind Est",
town: "Christchurch",
country_id: "GB",
county: "Dorset",
postcode: "BH23 4FL",
email: "support.team@i-fulfilment.co.uk",
mobile: "00000000000",
telephone: "00000000000",
secondary_telephone: "0000000000000",
vat_number: "GB999 9999 73",
location_id: "00000000",
},
lines: [
{
variation: {
sku: "GREEN-BALL",
channel: 1,
},
net_unit_principal: 12.55,
principal_tax: 12,
discount: 0,
discount_type: "value",
quantity: 4,
packing_requirements: {
pack_together_reference: "ABC1234",
},
expiry_date: "2025-03-31",
batch_code: "ABC154254",
},
],
attributes: [
{
name: "my-attribute",
value: "LoremIpsum",
},
],
delivery_instructions: "When not home put in shed.",
shipping: {
customer_principal: 0.99,
duty_paid: true,
},
import_options: {
fraud: true,
},
bulk_options: {
requires_palletisation: true,
single_sku_cartons_only: true,
distribution_branch_id: "BRANCH_01",
department_number: "DEP01",
store_location_number: "41440",
distribution_centre: "DC49004",
purchase_order_reference: "PO6548967-46531",
carton_label: {
type_id: 1,
references: {
dc: "ABC",
store: "ABC",
},
},
},
tags: [
"JIT",
"MyTag",
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts?expand=*",
body: {
"warehouse": "CHR",
"order": {
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP"
},
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"location_id": "00000000"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"packing_requirements": {
"pack_together_reference": "ABC1234"
},
"expiry_date": "2025-03-31",
"batch_code": "ABC154254"
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"delivery_instructions": "When not home put in shed.",
"shipping": {
"customer_principal": 0.99,
"duty_paid": false
},
"import_options": {
"fraud": true
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"warehouse": "CHR",
"order": {
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP"
},
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"location_id": "00000000"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"packing_requirements": {
"pack_together_reference": "ABC1234"
},
"expiry_date": "2025-03-31",
"batch_code": "ABC154254"
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"delivery_instructions": "When not home put in shed.",
"shipping": {
"customer_principal": 0.99,
"duty_paid": false
},
"import_options": {
"fraud": true
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift.",
"attributes": [
{
"name": "Marketplace",
"value": "202-9999999-9995900"
}
],
"shipments": [
{
"shipping_service": [
{
"name": "CRL - Packet (24 Hr)",
"code": "1ST",
"courier_account": [
{
"name": "Royal Mail",
"courier": {
"name": "Royal Mail",
"code": "RM"
}
}
]
}
]
}
],
"lines": [
{
"id": 3450345,
"transaction_sku": "GREEN-BALL",
"quantity": 4,
"discount_type": "percentage",
"discount": 1.5,
"net_unit_principal": 12,
"status": "active",
"variation": {
"id": 1,
"product_id": 1,
"status": "active",
"sku": "DEMO-SKU-01",
"barcode": "0123456789012",
"product_variation_type_id": 1,
"discontinued_date": "2019-11-25T14:52:56.000Z",
"despatch_instructions": "Always pack facing upwards.",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"type": {
"id": 1,
"name": "Standard Product",
"type": "product",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
},
"descriptions": [
{
"id": 1,
"product_variation_id": 1,
"locale_id": 1,
"name": "Example product",
"full_description": "Example product description",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"locale": {
"id": 1,
"name": "English",
"code": "en",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
]
}
}
],
"tags": [
{
"id": 1,
"name": "Processed",
"shortcode": "PROCESSED",
"description": "Marked a as processed by XYZ system",
"created": "2019-11-25T14:52:56.000Z"
}
],
"warehouse": [
{
"id": 1,
"short_code": "CHR",
"name": "Christchurch"
}
],
"order": {
"id": 1234567,
"reference": "#154254",
"status": "open",
"channel": {
"id": 321,
"organisation_id": 321,
"name": "Demo Channel",
"short_code": "DEMO",
"status": "active",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"organisation": {
"id": 1,
"name": "Demo",
"active": true,
"vat_number": "GB999 9999 73",
"notes": "Demo account...",
"contact_name": "Mr Joe Bloggs",
"contact_phone": "+44 01425 000 000",
"contact_mobile": "+44 00000000",
"contact_email": "joe.bloggs@example.com",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
},
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": null,
"town": "Christchurch",
"county": "Dorset",
"postcode": "BH23 4FL",
"country_id": 1,
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"country": {
"id": 1,
"name": "United Kingdom",
"iso_2": "GB",
"iso_3": "GBR",
"region_id": 1,
"currency_id": 1,
"block": "EU",
"region": {}
}
}
}
}Create Goodsout (minimal response)
POST /v1/orders/goodsouts/minimal
Creates an order goodsout and returns minimal information about it.
Request Body
Return Type
Types for the Request Body
CreateGoodsout (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
warehouse | Warehouse short code. | string | requirednot nullmin length is 3 |
order | Order. | Order | requirednot null |
type | Type. | enum(consumer, trade, retail) | not null |
retailer | Retailer | integer | not nullmin is 1 |
date_placed | Customer placed date. | date | requirednot null |
shipping_address | Customer shipping address. | Address | requirednot null |
lines | The list of products. | array<Line> | requirednot nullmin count is 1 |
attributes | List of attributes. | array<Attribute> | not null |
picking_instructions | Picking instructions. | string | not null |
despatch_instructions | Despatch instructions. | string | not null |
delivery_instructions | Delivery instructions. | string | not null |
gift_message | Gift message. If presented, gift_message_template_shortcode is required. | string | optionally requirednot null |
gift_message_template_shortcode | Shortcode for the gift message template to be used. If presented, gift_message is required. | string | optionally requirednot null |
shipping | Shipping data. | Shipping | not null |
import_options | Import options. | ImportOptions | |
metadata | Goodsout metadata. | array<OrderResourceMetadata> | |
bulk_options | Options for bulk goodsouts. | BulkOptions | |
tags | List of tags to be applied to the goodsout. | array<string> |
Address
| Key | Description | Types | Restrictions |
|---|---|---|---|
title | Title. | string | |
first_name | First name. | string | |
last_name | Last name. | string | |
company | Company name. | string | |
address_one | First line of address. | string | |
address_two | Second line of address. | string | |
address_three | Third line of address. | string | |
town | Town. | string | |
country_id | Country ISO 2 or ISO 3 code. | string | min length is 0max length is 3 |
county | County. | string | |
postcode | Postcode. | string | |
email | Email. | string | |
mobile | Mobile number. | string | |
telephone | Landline number. | string | |
secondary_telephone | Secondary telephone number. | string | |
vat_number | VAT number. | string | |
location_id | Location ID. | string |
Attribute
| Key | Description | Types | Restrictions |
|---|---|---|---|
name | Name of the attribute | string | requirednot nullmin length is 1 |
value | Value of the attribute | string | requirednot null |
BulkOptions
| Key | Description | Types | Restrictions |
|---|---|---|---|
requires_palletisation | Whether the goodsout needs palletisation. | boolean | |
single_sku_cartons_only | Are packed boxes only allowed to have a single SKU in them? | boolean | |
distribution_branch_id | Distribution branch ID. | string | |
department_number | Department number. | string | |
store_location_number | Store location number. | string | |
distribution_centre | Distribution centre. | string | |
purchase_order_reference | Purchase order reference. | string | |
carton_label | Carton label details. | CartonLabel |
CartonLabel
| Key | Description | Types | Restrictions |
|---|---|---|---|
type_id | Carton label type’s ID. | integer | requirednot nullmin is 1 |
references | References required by the label type. Use their ‘code’ field as keys in this map. | object | requirednot null |
CreateOrderGoodsoutLinePackingRequirements
| Key | Description | Types | Restrictions |
|---|---|---|---|
pack_together_reference | The reference used to group items together that must be packed in the same box. | string |
ImportOptions
| Key | Description | Types | Restrictions |
|---|---|---|---|
fraud | If the order came in as a possible fraud order, set this to true. The order will be put on hold. | boolean |
Line
| Key | Description | Types | Restrictions |
|---|---|---|---|
variation | Product description | Variation | requirednot null |
net_unit_principal | The net amount paid for a single one of these items. | number | requirednot nullmin is 0 |
principal_tax | The ID of the tax that should be applied to the line principal value. | integer | requirednot nullmin is 1 |
discount | The amount of discount to be applied to the line principal value. | number | not nullmin is 0 |
discount_type | The type of discount to apply. | enum(percentage, value) | not null |
quantity | The quantity ordered. | integer | requirednot nullmin is 1 |
packing_requirements | Packing Requirements | CreateOrderGoodsoutLinePackingRequirements | |
expiry_date | The required expiry date that must be picked. | date | not null |
batch_code | The required batch code that must be picked. | string | not nullmin length is 1 |
Order
| Key | Description | Types | Restrictions |
|---|---|---|---|
channel | Channel’s unique short code or ID. | stringor integer | requirednot nullif type is string, then min length is 3if type is integer, then min is 1 |
reference | Order specific reference. | string | requirednot nullmin length is 1 |
currency | Currency ISO code. | string | requirednot nullmin length is 3 |
OrderResourceMetadata
| Key | Description | Types | Restrictions |
|---|---|---|---|
key | Metadata key. | string | requirednot null |
value | Metadata value. | string | requirednot null |
Shipping
| Key | Description | Types | Restrictions |
|---|---|---|---|
customer_principal | The net amount the customer paid for shipping. | number | requirednot nullmin is 0 |
shipping_code | Shipping code. | string | not nullmin length is 2 |
duty_paid | Duty paid. | boolean | not null |
Variation
| Key | Description | Types | Restrictions |
|---|---|---|---|
sku | The product’s stock keeping unit (SKU). | string | requirednot nullmin length is 1 |
channel | The product channel’s ID. | integer | requirednot nullmin is 1 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts/minimal", [
"body" => json_encode([
"warehouse" => "CHR",
"order" => [
"channel" => "DEMO",
"reference" => "#154254",
"currency" => "GBP",
],
"type" => "consumer",
"retailer" => 1,
"date_placed" => "2020-03-31",
"shipping_address" => [
"title" => "Mr",
"first_name" => "Support",
"last_name" => "Team",
"company" => "ACME LTD",
"address_one" => "Unit 4",
"address_two" => "Radar Way",
"address_three" => "Ind Est",
"town" => "Christchurch",
"country_id" => "GB",
"county" => "Dorset",
"postcode" => "BH23 4FL",
"email" => "support.team@i-fulfilment.co.uk",
"mobile" => "00000000000",
"telephone" => "00000000000",
"secondary_telephone" => "0000000000000",
"vat_number" => "GB999 9999 73",
"location_id" => "00000000",
],
"lines" => [
[
"variation" => [
"sku" => "GREEN-BALL",
"channel" => 1,
],
"net_unit_principal" => 12.55,
"principal_tax" => 12,
"discount" => 0,
"discount_type" => "value",
"quantity" => 4,
"packing_requirements" => [
"pack_together_reference" => "ABC1234",
],
"expiry_date" => "2025-03-31",
"batch_code" => "ABC154254",
],
],
"attributes" => [
[
"name" => "my-attribute",
"value" => "LoremIpsum",
],
],
"delivery_instructions" => "When not home put in shed.",
"shipping" => [
"customer_principal" => 0.99,
"duty_paid" => true,
],
"import_options" => [
"fraud" => true,
],
"bulk_options" => [
"requires_palletisation" => true,
"single_sku_cartons_only" => true,
"distribution_branch_id" => "BRANCH_01",
"department_number" => "DEP01",
"store_location_number" => "41440",
"distribution_centre" => "DC49004",
"purchase_order_reference" => "PO6548967-46531",
"carton_label" => [
"type_id" => 1,
"references" => [
"dc" => "ABC",
"store" => "ABC",
],
],
],
"tags" => [
"JIT",
"MyTag",
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts/minimal', {
warehouse: "CHR",
order: {
channel: "DEMO",
reference: "#154254",
currency: "GBP",
},
type: "consumer",
retailer: 1,
date_placed: "2020-03-31",
shipping_address: {
title: "Mr",
first_name: "Support",
last_name: "Team",
company: "ACME LTD",
address_one: "Unit 4",
address_two: "Radar Way",
address_three: "Ind Est",
town: "Christchurch",
country_id: "GB",
county: "Dorset",
postcode: "BH23 4FL",
email: "support.team@i-fulfilment.co.uk",
mobile: "00000000000",
telephone: "00000000000",
secondary_telephone: "0000000000000",
vat_number: "GB999 9999 73",
location_id: "00000000",
},
lines: [
{
variation: {
sku: "GREEN-BALL",
channel: 1,
},
net_unit_principal: 12.55,
principal_tax: 12,
discount: 0,
discount_type: "value",
quantity: 4,
packing_requirements: {
pack_together_reference: "ABC1234",
},
expiry_date: "2025-03-31",
batch_code: "ABC154254",
},
],
attributes: [
{
name: "my-attribute",
value: "LoremIpsum",
},
],
delivery_instructions: "When not home put in shed.",
shipping: {
customer_principal: 0.99,
duty_paid: true,
},
import_options: {
fraud: true,
},
bulk_options: {
requires_palletisation: true,
single_sku_cartons_only: true,
distribution_branch_id: "BRANCH_01",
department_number: "DEP01",
store_location_number: "41440",
distribution_centre: "DC49004",
purchase_order_reference: "PO6548967-46531",
carton_label: {
type_id: 1,
references: {
dc: "ABC",
store: "ABC",
},
},
},
tags: [
"JIT",
"MyTag",
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/minimal",
body: {
"warehouse": "CHR",
"order": {
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP"
},
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"location_id": "00000000"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"packing_requirements": {
"pack_together_reference": "ABC1234"
},
"expiry_date": "2025-03-31",
"batch_code": "ABC154254"
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"delivery_instructions": "When not home put in shed.",
"shipping": {
"customer_principal": 0.99,
"duty_paid": false
},
"import_options": {
"fraud": true
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts/minimal' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"warehouse": "CHR",
"order": {
"channel": "DEMO",
"reference": "#154254",
"currency": "GBP"
},
"type": "consumer",
"retailer": 1,
"date_placed": "2020-03-31",
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"location_id": "00000000"
},
"lines": [
{
"variation": {
"sku": "GREEN-BALL",
"channel": 1
},
"net_unit_principal": 12.55,
"principal_tax": 12,
"discount": 0,
"discount_type": "value",
"quantity": 4,
"packing_requirements": {
"pack_together_reference": "ABC1234"
},
"expiry_date": "2025-03-31",
"batch_code": "ABC154254"
}
],
"attributes": [
{
"name": "my-attribute",
"value": "LoremIpsum"
}
],
"delivery_instructions": "When not home put in shed.",
"shipping": {
"customer_principal": 0.99,
"duty_paid": false
},
"import_options": {
"fraud": true
},
"bulk_options": {
"requires_palletisation": true,
"single_sku_cartons_only": true,
"distribution_branch_id": "BRANCH_01",
"department_number": "DEP01",
"store_location_number": "41440",
"distribution_centre": "DC49004",
"purchase_order_reference": "PO6548967-46531",
"carton_label": {
"type_id": 1,
"references": {
"dc": "ABC",
"store": "ABC"
}
}
},
"tags": [
"JIT",
"MyTag"
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"order_id": 1234567,
"goodsout_ids": [
1049789
]
}
}Bulk Import Orders
POST /v1/orders/goodsouts/from_file
Uploads a file to be imported.
Request Body
Return Type
Types for the Request Body
BulkImportOrders (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
file | The file contents Base64 encoded. | string | requirednot nullmin length is 1 |
name | The file name. | string | requirednot nullmin length is 1 |
extension | The file extension. | string | requirednot nullmin length is 1 |
mime | The file mime. | string | requirednot nullmin length is 1 |
category | The document category. | enum(document) | requirednot null |
paper_size | The paper size. | enum(A4, 6x4) | not null |
print_at_despatch | The number of copies to print at desptach. | number | not nullmin is 0 |
mapping_template_id | The ID for the mapping template. | integer | requirednot nullmin is 1 |
organisation_id | The ID for the organisation. | integer | requirednot nullmin is 1 |
order_channel_id | The ID for the order channel. | integer | requirednot nullmin is 1 |
brand_id | The ID for the brand. | integer | requirednot nullmin is 1 |
currency_id | The ID for the currency. | integer | requirednot nullmin is 1 |
fields | The array of fields of the file. | string | requirednot null |
slug | The slug. | string | requirednot null |
Rate limit cost
Each call to this endpoint deducts 25 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts/from_file", [
"body" => json_encode([
"file" => ":: FILE CONTENTS ::",
"name" => "my_document.pdf",
"extension" => "pdf",
"mime" => "application/pdf",
"category" => "document",
"paper_size" => "A4",
"print_at_despatch" => 1,
"mapping_template_id" => 123,
"organisation_id" => 123,
"order_channel_id" => 123,
"brand_id" => 123,
"currency_id" => 123,
"fields" => "[{\"name\":\"reference\",\"label\":\"Order Reference\",\"description\":\"The customer order reference.\",\"required\":true,\"type\":\"text\",\"key\":\"order.reference\",\"validations\":[null],\"possibleMappings\":[\"reference\",\"order_reference\"],\"primaryKey\":true}]",
"slug" => "order",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts/from_file', {
file: ":: FILE CONTENTS ::",
name: "my_document.pdf",
extension: "pdf",
mime: "application/pdf",
category: "document",
paper_size: "A4",
print_at_despatch: 1,
mapping_template_id: 123,
organisation_id: 123,
order_channel_id: 123,
brand_id: 123,
currency_id: 123,
fields: "[{\"name\":\"reference\",\"label\":\"Order Reference\",\"description\":\"The customer order reference.\",\"required\":true,\"type\":\"text\",\"key\":\"order.reference\",\"validations\":[null],\"possibleMappings\":[\"reference\",\"order_reference\"],\"primaryKey\":true}]",
slug: "order",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/from_file",
body: {
"file": ":: FILE CONTENTS ::",
"name": "my_document.pdf",
"extension": "pdf",
"mime": "application/pdf",
"category": "document",
"paper_size": "A4",
"print_at_despatch": 1,
"mapping_template_id": 123,
"organisation_id": 123,
"order_channel_id": 123,
"brand_id": 123,
"currency_id": 123,
"fields": "[{\"name\":\"reference\",\"label\":\"Order Reference\",\"description\":\"The customer order reference.\",\"required\":true,\"type\":\"text\",\"key\":\"order.reference\",\"validations\":[null],\"possibleMappings\":[\"reference\",\"order_reference\"],\"primaryKey\":true}]",
"slug": "order"
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts/from_file' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"file": ":: FILE CONTENTS ::",
"name": "my_document.pdf",
"extension": "pdf",
"mime": "application/pdf",
"category": "document",
"paper_size": "A4",
"print_at_despatch": 1,
"mapping_template_id": 123,
"organisation_id": 123,
"order_channel_id": 123,
"brand_id": 123,
"currency_id": 123,
"fields": "[{\"name\":\"reference\",\"label\":\"Order Reference\",\"description\":\"The customer order reference.\",\"required\":true,\"type\":\"text\",\"key\":\"order.reference\",\"validations\":[null],\"possibleMappings\":[\"reference\",\"order_reference\"],\"primaryKey\":true}]",
"slug": "order"
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"success": true
}
}View Goodsout
GET /v1/orders/goodsouts/:id
Retrieves a single goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Return Type
Available expands
| Field | Return Type | Description |
|---|---|---|
attributes | array<CachedAttribute> | An attribute. |
lines | array<OrderGoodsoutLines> | An order for a product. |
lines.items | array<OrderGoodsoutLineItems> | An item inside a goodsout line. |
lines.items.batch | ProductComponentBatches | Description of a batch. |
lines.items.component | ProductComponents | Product component. |
lines.items.despatched_stocks | array<OrderGoodsoutLineItemDespatchedStocks> | Stock despatched for an specific line item. |
lines.items.despatched_stocks.batch | ProductComponentBatches | Description of a batch. |
lines.principal_tax | OrganisationTaxes | Organisation tax data. |
lines.variation | ProductVariations | Marketplace listable products’ data. |
lines.variation.descriptions | array<ProductVariationDescriptions> | Variation descriptions. |
lines.variation.descriptions.locale | Locales | Locale data. |
lines.variation.type | ProductVariationTypes | Product variation type data. |
order | Orders | Customer order groups. |
order.channel | OrderChannels | Customer order groups. |
order.channel.organisation | Organisations | Organisation data. |
shipments | array<Shipments> | Data related to a shipment. |
shipments.shipping_service | ShippingServices | Customer order shipments. |
shipments.shipping_service.courier_account | ShippingCourierAccounts | Shipping courier account data. |
shipments.shipping_service.courier_account.courier | CachedNameAndCode | Holds a name and a code field. |
shipping_address | OrderGoodsoutAddresses | Data related to an address. |
shipping_address.country | Countries | A country. |
shipping_address.country.region | Regions | Geographical region data. |
tags | array<Tags> | A tag. |
warehouse | SummarisedWarehouse | A warehouse. |
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567?expand=*", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567?expand=*', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567?expand=*",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift.",
"attributes": [
{
"name": "Marketplace",
"value": "202-9999999-9995900"
}
],
"shipments": [
{
"shipping_service": [
{
"name": "CRL - Packet (24 Hr)",
"code": "1ST",
"courier_account": [
{
"name": "Royal Mail",
"courier": {
"name": "Royal Mail",
"code": "RM"
}
}
]
}
]
}
],
"lines": [
{
"id": 3450345,
"transaction_sku": "GREEN-BALL",
"quantity": 4,
"discount_type": "percentage",
"discount": 1.5,
"net_unit_principal": 12,
"status": "active",
"variation": {
"id": 1,
"product_id": 1,
"status": "active",
"sku": "DEMO-SKU-01",
"barcode": "0123456789012",
"product_variation_type_id": 1,
"discontinued_date": "2019-11-25T14:52:56.000Z",
"despatch_instructions": "Always pack facing upwards.",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"type": {
"id": 1,
"name": "Standard Product",
"type": "product",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
},
"descriptions": [
{
"id": 1,
"product_variation_id": 1,
"locale_id": 1,
"name": "Example product",
"full_description": "Example product description",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"locale": {
"id": 1,
"name": "English",
"code": "en",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
]
}
}
],
"tags": [
{
"id": 1,
"name": "Processed",
"shortcode": "PROCESSED",
"description": "Marked a as processed by XYZ system",
"created": "2019-11-25T14:52:56.000Z"
}
],
"warehouse": [
{
"id": 1,
"short_code": "CHR",
"name": "Christchurch"
}
],
"order": {
"id": 1234567,
"reference": "#154254",
"status": "open",
"channel": {
"id": 321,
"organisation_id": 321,
"name": "Demo Channel",
"short_code": "DEMO",
"status": "active",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z",
"organisation": {
"id": 1,
"name": "Demo",
"active": true,
"vat_number": "GB999 9999 73",
"notes": "Demo account...",
"contact_name": "Mr Joe Bloggs",
"contact_phone": "+44 01425 000 000",
"contact_mobile": "+44 00000000",
"contact_email": "joe.bloggs@example.com",
"created": "2019-11-25T14:52:56.000Z",
"modified": "2019-11-25T14:52:56.000Z"
}
}
},
"shipping_address": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": null,
"town": "Christchurch",
"county": "Dorset",
"postcode": "BH23 4FL",
"country_id": 1,
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73",
"country": {
"id": 1,
"name": "United Kingdom",
"iso_2": "GB",
"iso_3": "GBR",
"region_id": 1,
"currency_id": 1,
"block": "EU",
"region": {}
}
}
}
}Upload Document
POST /v1/orders/goodsouts/:id/documents
Uploads a Base64 encoded document to a goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
OrderGoodsoutDocumentUploadConfirmation
Types for the Request Body
Document (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
file | The file contents Base64 encoded. | string | requirednot nullmin length is 1 |
name | The file name. | string | requirednot nullmin length is 1 |
extension | The file extension. | string | requirednot nullmin length is 1 |
mime | The file mime. | string | requirednot nullmin length is 1 |
category | The document category. | enum(document) | requirednot null |
paper_size | The paper size. | enum(A4, 6x4) | not null |
print_at_despatch | The number of copies to print at desptach. | number | not nullmin is 0 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/documents", [
"body" => json_encode([
"file" => ":: FILE CONTENTS ::",
"name" => "my_document.pdf",
"extension" => "pdf",
"mime" => "application/pdf",
"category" => "document",
"paper_size" => "A4",
"print_at_despatch" => 1,
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/documents', {
file: ":: FILE CONTENTS ::",
name: "my_document.pdf",
extension: "pdf",
mime: "application/pdf",
category: "document",
paper_size: "A4",
print_at_despatch: 1,
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/documents",
body: {
"file": ":: FILE CONTENTS ::",
"name": "my_document.pdf",
"extension": "pdf",
"mime": "application/pdf",
"category": "document",
"paper_size": "A4",
"print_at_despatch": 1
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/documents' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"file": ":: FILE CONTENTS ::",
"name": "my_document.pdf",
"extension": "pdf",
"mime": "application/pdf",
"category": "document",
"paper_size": "A4",
"print_at_despatch": 1
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"success": true
}
}Cancel Goodsout
PUT /v1/orders/goodsouts/:id/cancel
Cancels an order goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
Reason (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
reason | The reason. | string | requirednot nullmin length is 1 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/cancel", [
"body" => json_encode([
"reason" => "Example reason.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/cancel', {
reason: "Example reason.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/cancel",
body: {
"reason": "Example reason."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/cancel' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"reason": "Example reason."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Update Delivery Instructions
PUT /v1/orders/goodsouts/:id/delivery_instructions
Updates a goodsout’s delivery instructions.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
DeliveryInstructions (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
delivery_instructions | Delivery instructions. | string | requirednot nullmin length is 0max length is 30 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/delivery_instructions", [
"body" => json_encode([
"delivery_instructions" => "When not home put in shed.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/delivery_instructions', {
delivery_instructions: "When not home put in shed.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/delivery_instructions",
body: {
"delivery_instructions": "When not home put in shed."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/delivery_instructions' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"delivery_instructions": "When not home put in shed."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Update Gift Message
PUT /v1/orders/goodsouts/:id/gift_message
Updates a goodsout’s gift message.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
UpdateGoodsoutGiftMessage (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
message | Gift Message. | string | requirednot nullmin length is 0max length is 800 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/gift_message", [
"body" => json_encode([
"message" => "Happy birthday Sam!<br/>Hope you enjoy this gift.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/gift_message', {
message: "Happy birthday Sam!<br/>Hope you enjoy this gift.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/gift_message",
body: {
"message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/gift_message' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Update Shipping Address
PUT /v1/orders/goodsouts/:id/shipping_address
Updates the shipping address of a goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
Address (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
title | Title. | string | not null |
first_name | First name. | string | requirednot null |
last_name | Last name. | string | requirednot null |
company | Company name. | string | not null |
address_one | First line of address. | string | requirednot null |
address_two | Second line of address. | string | not null |
address_three | Third line of address. | string | not null |
town | Town. | string | requirednot null |
country_id | Country ISO 2 or ISO 3 code. | string | requirednot nullmin length is 2max length is 3 |
county | County. | string | not null |
postcode | Postcode. | string | requirednot null |
email | Email. | string | not null |
mobile | Mobile number. | string | not null |
telephone | Landline number. | string | not null |
secondary_telephone | Secondary telephone number. | string | not null |
vat_number | VAT number. | string | not null |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/shipping_address", [
"body" => json_encode([
"title" => "Mr",
"first_name" => "Support",
"last_name" => "Team",
"company" => "ACME LTD",
"address_one" => "Unit 4",
"address_two" => "Radar Way",
"address_three" => "Ind Est",
"town" => "Christchurch",
"country_id" => "GB",
"county" => "Dorset",
"postcode" => "BH23 4FL",
"email" => "support.team@i-fulfilment.co.uk",
"mobile" => "00000000000",
"telephone" => "00000000000",
"secondary_telephone" => "0000000000000",
"vat_number" => "GB999 9999 73",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/shipping_address', {
title: "Mr",
first_name: "Support",
last_name: "Team",
company: "ACME LTD",
address_one: "Unit 4",
address_two: "Radar Way",
address_three: "Ind Est",
town: "Christchurch",
country_id: "GB",
county: "Dorset",
postcode: "BH23 4FL",
email: "support.team@i-fulfilment.co.uk",
mobile: "00000000000",
telephone: "00000000000",
secondary_telephone: "0000000000000",
vat_number: "GB999 9999 73",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/shipping_address",
body: {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73"
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/shipping_address' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": "Ind Est",
"town": "Christchurch",
"country_id": "GB",
"county": "Dorset",
"postcode": "BH23 4FL",
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73"
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"title": "Mr",
"first_name": "Support",
"last_name": "Team",
"company": "ACME LTD",
"address_one": "Unit 4",
"address_two": "Radar Way",
"address_three": null,
"town": "Christchurch",
"county": "Dorset",
"postcode": "BH23 4FL",
"country_id": 1,
"email": "support.team@i-fulfilment.co.uk",
"mobile": "00000000000",
"telephone": "00000000000",
"secondary_telephone": "0000000000000",
"vat_number": "GB999 9999 73"
}
}Update Goodsout Warehouse
PUT /v1/orders/goodsouts/:id/warehouse
Updates a goodsout’s warehouse.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
UpdateGoodsoutWarehousee (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
warehouse_code | The warehouse short code. | string | requirednot nullmin length is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
warehouse | SummarisedWarehouse | A warehouse. |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/warehouse?expand=*", [
"body" => json_encode([
"warehouse_code" => "CHR",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/warehouse?expand=*', {
warehouse_code: "CHR",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/warehouse?expand=*",
body: {
"warehouse_code": "CHR"
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/warehouse?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"warehouse_code": "CHR"
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift.",
"warehouse": [
{
"id": 1,
"short_code": "CHR",
"name": "Christchurch"
}
]
}
}Hold Goodsout
PUT /v1/orders/goodsouts/:id/hold
Holds an order goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
Reason (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
reason | The reason. | string | requirednot nullmin length is 1 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/hold", [
"body" => json_encode([
"reason" => "Example reason.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/hold', {
reason: "Example reason.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/hold",
body: {
"reason": "Example reason."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/hold' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"reason": "Example reason."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Unhold Goodsout
PUT /v1/orders/goodsouts/:id/unhold
Unholds an order goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
Reason (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
reason | The reason. | string | requirednot nullmin length is 1 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/unhold", [
"body" => json_encode([
"reason" => "Example reason.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/unhold', {
reason: "Example reason.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/unhold",
body: {
"reason": "Example reason."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/unhold' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"reason": "Example reason."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Get Goodsout Despatch Attributes
GET /v1/orders/goodsouts/:id/despatch_attributes
Get all despatch attributes for a goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Return Type
array<OrderGoodsoutDespatchAttributes>
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/despatch_attributes", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/despatch_attributes', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/despatch_attributes",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/despatch_attributes' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"sku": "DEMO-SKU-01",
"product_name": "Example Product",
"attribute_name": "Color",
"attribute_value": "Red"
}
]
}Require Quote on Goodsout
PUT /v1/orders/goodsouts/:id/require_quote
Require quote to an order goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
RequireQuote (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
require_quote | Require quote | boolean | requirednot null |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/require_quote", [
"body" => json_encode([
"require_quote" => true,
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/require_quote', {
require_quote: true,
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1049789/require_quote",
body: {
"require_quote": true
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/1049789/require_quote' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"require_quote": true
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Booking In Required
PUT /v1/orders/goodsouts/:id/set_booking_in_required
Add Booking In required tag to goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
BookingInRequired (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
booking_in_required | Set booking in required tag. | boolean | requirednot null |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/:id/set_booking_in_required", [
"body" => json_encode([
"booking_in_required" => true,
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/set_booking_in_required', {
booking_in_required: true,
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/:id/set_booking_in_required",
body: {
"booking_in_required": true
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/set_booking_in_required' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"booking_in_required": true
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1049789,
"status": "awaiting_despatch",
"date_placed": "2019-11-25T14:52:56.000Z",
"despatch_date": null,
"cancellation_date": "2019-11-25T14:52:56.000Z",
"despatch_on_date": null,
"type": "consumer",
"retailer_id": null,
"source": "How the order was created.",
"delivery_instructions": "When not home put in shed.",
"gift_message": "Happy birthday Sam!<br/>Hope you enjoy this gift."
}
}Add Goodsout Timeline
POST /v1/orders/goodsouts/:id/timeline
Add a message or note to the timeline.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
CreateAudit (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
message | The message or note to be added to the timeline. | string | requirednot nullmax length is 65535 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/timeline", [
"body" => json_encode([
"message" => "Marked as processed with in system XYZ.",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/timeline', {
message: "Marked as processed with in system XYZ.",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/timeline",
body: {
"message": "Marked as processed with in system XYZ."
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/timeline' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"message": "Marked as processed with in system XYZ."
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"message": "Marked as processed with in system XYZ."
}
}Apply Goodsout Tag
POST /v1/orders/goodsouts/:id/tags
Applies a tag to a goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Request Body
Return Type
Types for the Request Body
ApplyTag (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
shortcode | The tag shortcode. | string | requirednot nullmin length is 1 |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/orders/goodsouts/:id/tags", [
"body" => json_encode([
"shortcode" => "PROCESSED",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/tags', {
shortcode: "PROCESSED",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/:id/tags",
body: {
"shortcode": "PROCESSED"
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/tags' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"shortcode": "PROCESSED"
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"id": 1,
"name": "Processed",
"shortcode": "PROCESSED",
"description": "Marked a as processed by XYZ system",
"created": "2019-11-25T14:52:56.000Z"
}
}Remove Goodsout Tag
DELETE /v1/orders/goodsouts/:id/tags/:tagShortcode
Remove a tag from a goodsout.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
- :tagShortcode: [a-zA-Z0-9]{3,20}
Return Type
Empty.
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("DELETE", "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/tags/PROCESSED", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.delete 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/tags/PROCESSED', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "DELETE",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/1234567/tags/PROCESSED",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request DELETE 'https://public-api.bladepro.io/v1/orders/goodsouts/1234567/tags/PROCESSED' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
nullBulk List Tracking Numbers
PUT /v1/orders/goodsouts/bulk_tracking_numbers
Fetches all the tracking numbers for a set list of order goodsouts. This endpoint always expands all expandables.
Request Body
Return Type
array<BulkOrderTrackingNumbers>
Types for the Request Body
BulkGetGoodsoutData (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
order_goodsout_ids | List of order goodsout ID’s. | array<number> | requirednot nullmin count is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
tracking_numbers | array<CachedCourierTracking> | Tracking details. |
Rate limit cost
Each call to this endpoint deducts 5 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers?expand=*", [
"body" => json_encode([
"order_goodsout_ids" => [
1,
2,
3,
4,
5,
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers?expand=*', {
order_goodsout_ids: [
1,
2,
3,
4,
5,
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers?expand=*",
body: {
"order_goodsout_ids": [
1,
2,
3,
4,
5
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"order_goodsout_ids": [
1,
2,
3,
4,
5
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"order_goodsout_id": 1049789,
"despatch_date": "2021-01-26T14:52:56.000Z",
"courier": "Royal Mail",
"external_tracking_enabled": true,
"service": "Tracked 48H Hour",
"tracking_numbers": [
{
"courier": "Royal Mail",
"code": "RMTN1134905823GB",
"url": "http://www.royalmail.com/trackdetails?trackNumber=RMTN1134905823GB"
}
]
}
]
}Bulk List Tracking Numbers by Reference
PUT /v1/orders/goodsouts/bulk_tracking_numbers/by_reference
Fetches all the tracking numbers for a set list of order goodsouts. This endpoint always expands all expandables.
Request Body
BulkGetGoodsoutDataByReference
Return Type
array<BulkOrderTrackingNumbersByReference>
Types for the Request Body
BulkGetGoodsoutDataByReference (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
references | List of order references. | array<string> | requirednot nullmin count is 1 |
statuses | Limit to certain goodsout statuses. | array<enum(draft, awaiting_allocation, hung, returned, awaiting_payment, awaiting_picking, awaiting_despatch, backorder_release, backorder, cancelled, return_open, item_refunded, item_replaced, awaiting_collection, despatched)> | min count is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
tracking_numbers | array<CachedCourierTracking> | Tracking details. |
Rate limit cost
Each call to this endpoint deducts 5 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers/by_reference?expand=*", [
"body" => json_encode([
"references" => [
"#154254",
"#154234",
"AB12314",
],
"statuses" => [
"awaiting_despatch",
"despatched",
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers/by_reference?expand=*', {
references: [
"#154254",
"#154234",
"AB12314",
],
statuses: [
"awaiting_despatch",
"despatched",
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers/by_reference?expand=*",
body: {
"references": [
"#154254",
"#154234",
"AB12314"
],
"statuses": [
"awaiting_despatch",
"despatched"
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_tracking_numbers/by_reference?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"references": [
"#154254",
"#154234",
"AB12314"
],
"statuses": [
"awaiting_despatch",
"despatched"
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"reference": "#154254",
"order_goodsout_id": 1049789,
"despatch_date": "2021-01-26T14:52:56.000Z",
"status": "despatched",
"courier": "Royal Mail",
"service": "Tracked 48H Hour",
"external_tracking_enabled": true,
"tracking_numbers": [
{
"courier": "Royal Mail",
"code": "RMTN1134905823GB",
"url": "http://www.royalmail.com/trackdetails?trackNumber=RMTN1134905823GB"
}
]
}
]
}Bulk List Goodsout Statuses
PUT /v1/orders/goodsouts/bulk_statuses
Fetches the statuses for a set list of order goodsouts.
Request Body
Return Type
array<BulkOrderStatuses>
Types for the Request Body
BulkGetGoodsoutData (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
order_goodsout_ids | List of order goodsout ID’s. | array<number> | requirednot nullmin count is 1 |
Rate limit cost
Each call to this endpoint deducts 5 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_statuses", [
"body" => json_encode([
"order_goodsout_ids" => [
1,
2,
3,
4,
5,
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_statuses', {
order_goodsout_ids: [
1,
2,
3,
4,
5,
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/bulk_statuses",
body: {
"order_goodsout_ids": [
1,
2,
3,
4,
5
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/goodsouts/bulk_statuses' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"order_goodsout_ids": [
1,
2,
3,
4,
5
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"order_goodsout_id": 1049789,
"status": "awaiting_despatch"
}
]
}Bulk Check Order Exists
PUT /v1/orders/exists
Check to see if an order reference exists on a specific channel.
Request Body
Return Type
array<BulkCheckOrderExists>
Types for the Request Body
BulkCheckOrderExistsData (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
order_channel_id | Order channel to check against. | integer | requirednot nullmin is 1 |
order_references | List of order references to check. | array<string> | requirednot nullmin count is 1 |
Rate limit cost
Each call to this endpoint deducts 5 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/exists", [
"body" => json_encode([
"order_channel_id" => 1,
"order_references" => [
"433-3450983-23443",
"443-473470-972349",
"43-45343-54543543543-001",
],
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/exists', {
order_channel_id: 1,
order_references: [
"433-3450983-23443",
"443-473470-972349",
"43-45343-54543543543-001",
],
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/exists",
body: {
"order_channel_id": 1,
"order_references": [
"433-3450983-23443",
"443-473470-972349",
"43-45343-54543543543-001"
]
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/exists' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"order_channel_id": 1,
"order_references": [
"433-3450983-23443",
"443-473470-972349",
"43-45343-54543543543-001"
]
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"order_reference": "8674-7893278932798-68723",
"order_id": 4374739234,
"exists": false
}
]
}Bulk List All Open Orders
PUT /v1/orders/open
List all the ‘open’ orders for a given channel. Can be used to do a pre-cursive check when importing to filter quickly filter out known references.
Request Body
BulkListAllOpenOrderReferencesInput
Return Type
array<BulkListAllOpenOrders>
Types for the Request Body
BulkListAllOpenOrderReferencesInput (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
order_channel_id | Order channel to check against. | integer | requirednot nullmin is 1 |
Available expands
| Field | Return Type | Description |
|---|---|---|
goodsouts | array<BulkListAllOpenOrdersGoodsout> | undefined |
goodsouts.metadata | array<BulkListAllOpenOrdersGoodsoutMetadata> | undefined |
Rate limit cost
Each call to this endpoint deducts 5 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("PUT", "https://public-api.bladepro.io/v1/orders/open?expand=*", [
"body" => json_encode([
"order_channel_id" => 1,
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.put 'https://public-api.bladepro.io/v1/orders/open?expand=*', {
order_channel_id: 1,
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "PUT",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/open?expand=*",
body: {
"order_channel_id": 1
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request PUT 'https://public-api.bladepro.io/v1/orders/open?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"order_channel_id": 1
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"order_id": "2333",
"reference": "8674-7893278932798-68723",
"goodsouts": [
{
"order_goodsout_id": "2333",
"status": "awaiting_picking",
"metadata": [
{
"key": "import_data",
"value": "..."
}
]
}
]
}
]
}Get packing list.
GET /v1/orders/goodsouts/:id/packing_list
Fetches all boxes the goodsout was packed into. This endpoint always expands all expandables.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Return Type
array<OrderGoodsoutPackingListBox>
Available expands
| Field | Return Type | Description |
|---|---|---|
contains | array<OrderGoodsoutPackingListProduct> | A pallet on a packing list. |
pallet | OrderGoodsoutPackingListPallet | A pallet on a packing list. |
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/goodsouts/:id/packing_list?expand=*", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/packing_list?expand=*', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/:id/packing_list?expand=*",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/packing_list?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"pallet": {
"pallet_product_variation_id": 1,
"pallet_reference": 1,
"sku": "STD-PALLET",
"weight_kg": "1.000"
},
"carton_reference": 1,
"carton_product_variation_id": 1,
"sku": "OWNPACK",
"sscc_18": "012345600064565487",
"weight": "1.421",
"height": 200,
"width": 300,
"depth": 150,
"contains": {
"product_component_id": 1,
"sku": "BLUE_CAR",
"name": "Blue Toy Car",
"quantity": 25,
"colour": "Blue",
"size": "1:46",
"style": "Standard",
"type": null,
"quality": "medium"
}
}
]
}Save Goodsout Shipment Tracking Update
POST /v1/shipping/tracking_update
Receives goodsout shipment tracking update.
Request Body
SaveGoodsoutShipmentTrackingUpdate
Return Type
Types for the Request Body
SaveGoodsoutShipmentTrackingUpdate (root level)
| Key | Description | Types | Restrictions |
|---|---|---|---|
message | A summary text that describes the tracking event. | string | requirednot nullmin length is 1 |
location | A text summary of where (location) the update has occurred. | string | requirednot nullmin length is 1 |
tracking_number | The specific tracking number for the update. | string | requirednot nullmin length is 1 |
timestamp_utc | The date/time of when the update was created (UTC format only). | date | requirednot null |
Rate limit cost
Each call to this endpoint deducts 2 credits from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::MANAGE.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("POST", "https://public-api.bladepro.io/v1/shipping/tracking_update", [
"body" => json_encode([
"message" => "Shipment has arrived at regional facility.",
"location" => "Christchurch",
"tracking_number" => "123ABC",
"timestamp_utc" => "2024-10-07T14:52:56.000Z",
]),
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.post 'https://public-api.bladepro.io/v1/shipping/tracking_update', {
message: "Shipment has arrived at regional facility.",
location: "Christchurch",
tracking_number: "123ABC",
timestamp_utc: "2024-10-07T14:52:56.000Z",
}, {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "POST",
json: true,
uri: "https://public-api.bladepro.io/v1/shipping/tracking_update",
body: {
"message": "Shipment has arrived at regional facility.",
"location": "Christchurch",
"tracking_number": "123ABC",
"timestamp_utc": "2024-10-07T14:52:56.000Z"
},
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request POST 'https://public-api.bladepro.io/v1/shipping/tracking_update' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login' \
--data-raw '{
"message": "Shipment has arrived at regional facility.",
"location": "Christchurch",
"tracking_number": "123ABC",
"timestamp_utc": "2024-10-07T14:52:56.000Z"
}'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": {
"message": "Shipment has arrived at regional facility.",
"location": "Christchurch",
"tracking_number": "123ABC",
"timestamp": "2024-10-07T14:52:56.000Z"
}
}List Goodsout Shipment Tracking Updates
GET /v1/orders/goodsouts/:id/shipping/tracking_updates
List goodsout shipment tracking updates.
Parameter Regular Expressions
- :id: [1-9][0-9]{0,}
Return Type
array<OrderGoodsoutShipmentTracking>
Available expands
| Field | Return Type | Description |
|---|
Rate limit cost
Each call to this endpoint deducts 1 credit from your request bucket.
Scopes
This endpoint is only available for users with scope APP::ORDERS::READ.
<?php
// Instantiate a GuzzleHttp client
$client = new \GuzzleHttp\Client();
// Make the request
$response = $client->request("GET", "https://public-api.bladepro.io/v1/orders/goodsouts/:id/shipping/tracking_updates?expand=*", [
"headers" => [
"Content-Type" => "application/json",
"Access-Token" => "my-token-from-login",
],
]);
// Process the response
$responseBody = json_decode($response->getBody(), true);require 'rest-client'
require 'json'
# Make the request
response = RestClient.get 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/shipping/tracking_updates?expand=*', {
access_token: 'my-token-from-login',
content_type: :json,
accept: :json
}
# Process the response
puts response.body// Require the node HTTP module
var request = require("request");
// Make the request
request({
method: "GET",
json: true,
uri: "https://public-api.bladepro.io/v1/orders/goodsouts/:id/shipping/tracking_updates?expand=*",
headers: {
"Access-Token": "my-token-from-login",
"Content-Type": "application/json",
},
(error, response, body) => {
// Process the response
console.log(body);
},
});# Make the request
curl --location --request GET 'https://public-api.bladepro.io/v1/orders/goodsouts/:id/shipping/tracking_updates?expand=*' \
--header 'Content-Type: application/json' \
--header 'Access-Token: my-token-from-login'Example result:
{
"meta": {
"request_reference": "235chjz9h-c893v86"
},
"data": [
{
"message": "Shipment has arrived at regional facility.",
"location": "Christchurch",
"tracking_number": "123ABC",
"timestamp": "2024-10-07T14:52:56.000Z"
}
]
}