Shipping Options
Uri: https://api.finerworks.com/v3/list_shipping_options
Method: POST
Provides a list of available shipping options with the required shipping_code to be used when submitting an order.
Body
Requests shipping options by using order details to be submitted via order details object in the body.
Name | Description | Type | Additional information |
---|---|---|---|
order_po |
This be a unique order identifier or reference number. For example, an order numnber generated by your shopping cart or application. If you are just calculating shipping or testing any random string or number will suffice |
text | |
order_key |
This should be left as null. It will be generated when the order is submitted. |
globally unique identifier |
None. |
recipient |
Name and address of address you want order sent to. |
address |
Required |
order_items |
A list of individual products based on sku to be processed and shipped with order. |
array (product) |
Required |
shipping_code |
Shipping code that must be included with any orders. Will be required when submitting an order. Use the list_shipping_options to get specific codes or enter one of these codes: EC = Economy (Cheapest), SD = UPS Ground, FS = Fastest Availabled |
text |
Required |
ship_by_date |
Optional date it needs to ship by |
date |
None. |
customs_tax_info |
Optional for customs tax id and type whe shipping internationally |
customs_tax_info |
None. |
gift_message |
Optional message to print out on the packing slip for the recipient to see. |
text |
None. |
test_mode |
Optional - You can flag this order as a test order. Default is false if left empty or not included. |
boolean |
None. |
webhook_order_status_url |
Optional - order status webhook. Location were we can post JSON object with order status details. See fetch_order_status response (orders) for json format. |
text |
None. |
document_url |
May be a single page document. Must be a JPG or PDF (8.5x11) |
text |
Max length: 200 |
acct_number_ups |
FinerWorks registered UPS account. Used to ship under your own account. |
text |
Max length: 50 |
acct_number_fedex |
FinerWorks registered FEDEX account. Used to ship under your own account. |
text |
Max length: 50 |
custom_data_1 |
Optional data which may be used by developers. |
text |
Max length: 255 |
custom_data_2 |
Optional data which may be used by developers. |
text |
Max length: 255 |
custom_data_3 |
Optional data which may be used by developers. |
text |
Max length: 255 |
Example JSON Body
application/json, text/json
{ "order_po": "PO_0001", "order_key": null, "recipient": { "first_name": "Bob", "last_name": "Ross", "company_name": "Happy Little Trees, Inc", "address_1": "742 Evergreen Terrace", "address_2": null, "address_3": null, "city": "Mountain Scene", "state_code": "AK", "province": null, "zip_postal_code": "88888", "country_code": "us", "phone": "555-555-5555", "email": null, "address_order_po": "PO_0001" }, "order_items": [ { "product_order_po": "PO_0001", "product_qty": 1, "product_sku": "AP1234P1234", "product_image": null, "product_title": "The Big Blue Mountain", "template": null, "product_guid": "00000000-0000-0000-0000-000000000000", "custom_data_1": null, "custom_data_2": null, "custom_data_3": null } ], "shipping_code": "SD", "ship_by_date": null, "customs_tax_info": null, "gift_message": null, "test_mode": false, "webhook_order_status_url": null, "document_url": null, "acct_number_ups": null, "acct_number_fedex": null, "custom_data_1": null, "custom_data_2": null, "custom_data_3": null }
Sample Code Library
curl --location --request sample_method 'https://api.finerworks.comsample_endpoint' \
--header 'Content-Type: application/json' \
--header 'web_api_key: my-web-api-key-goes-here' \
--header 'app_key: my-app-key-goes-here' \
--data-raw '{
"order_po": "PO_0001",
"order_key": null,
"recipient": {
"first_name": "Bob",
"last_name": "Ross",
"company_name": "Happy Little Trees, Inc",
"address_1": "742 Evergreen Terrace",
"address_2": null,
"address_3": null,
"city": "Mountain Scene",
"state_code": "AK",
"province": null,
"zip_postal_code": "88888",
"country_code": "us",
"phone": "555-555-5555",
"email": null,
"address_order_po": "PO_0001"
},
"order_items": [
{
"product_order_po": "PO_0001",
"product_qty": 1,
"product_sku": "AP1234P1234",
"product_image": null,
"product_title": "The Big Blue Mountain",
"template": null,
"product_guid": "00000000-0000-0000-0000-000000000000",
"custom_data_1": null,
"custom_data_2": null,
"custom_data_3": null
}
],
"shipping_code": "SD",
"ship_by_date": null,
"customs_tax_info": null,
"gift_message": null,
"test_mode": false,
"webhook_order_status_url": null,
"document_url": null,
"acct_number_ups": null,
"acct_number_fedex": null,
"custom_data_1": null,
"custom_data_2": null,
"custom_data_3": null
}'
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.finerworks.comsample_endpoint');
$request->setMethod(HTTP_Request2::METHOD_sample_method);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Content-Type' => 'application/json',
'web_api_key' => 'my-web-api-key-goes-here',
'app_key' => 'my-app-key-goes-here'
));
$request->setBody('{
'order_po': 'PO_0001',
'order_key': null,
'recipient': {
'first_name': 'Bob',
'last_name': 'Ross',
'company_name': 'Happy Little Trees, Inc',
'address_1': '742 Evergreen Terrace',
'address_2': null,
'address_3': null,
'city': 'Mountain Scene',
'state_code': 'AK',
'province': null,
'zip_postal_code': '88888',
'country_code': 'us',
'phone': '555-555-5555',
'email': null,
'address_order_po': 'PO_0001'
},
'order_items': [
{
'product_order_po': 'PO_0001',
'product_qty': 1,
'product_sku': 'AP1234P1234',
'product_image': null,
'product_title': 'The Big Blue Mountain',
'template': null,
'product_guid': '00000000-0000-0000-0000-000000000000',
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}
],
'shipping_code': 'SD',
'ship_by_date': null,
'customs_tax_info': null,
'gift_message': null,
'test_mode': false,
'webhook_order_status_url': null,
'document_url': null,
'acct_number_ups': null,
'acct_number_fedex': null,
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
var client = new RestClient("https://api.finerworks.comsample_endpoint");
client.Timeout = -1;
var request = new RestRequest(Method.sample_method);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("web_api_key", "my-web-api-key-goes-here");
request.AddHeader("app_key", "my-app-key-goes-here");
request.AddParameter("application/json", "{
'order_po': 'PO_0001',
'order_key': null,
'recipient': {
'first_name': 'Bob',
'last_name': 'Ross',
'company_name': 'Happy Little Trees, Inc',
'address_1': '742 Evergreen Terrace',
'address_2': null,
'address_3': null,
'city': 'Mountain Scene',
'state_code': 'AK',
'province': null,
'zip_postal_code': '88888',
'country_code': 'us',
'phone': '555-555-5555',
'email': null,
'address_order_po': 'PO_0001'
},
'order_items': [
{
'product_order_po': 'PO_0001',
'product_qty': 1,
'product_sku': 'AP1234P1234',
'product_image': null,
'product_title': 'The Big Blue Mountain',
'template': null,
'product_guid': '00000000-0000-0000-0000-000000000000',
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}
],
'shipping_code': 'SD',
'ship_by_date': null,
'customs_tax_info': null,
'gift_message': null,
'test_mode': false,
'webhook_order_status_url': null,
'document_url': null,
'acct_number_ups': null,
'acct_number_fedex': null,
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var settings = {
"url": "https://api.finerworks.comsample_endpoint",
"method": "sample_method",
"timeout": 0,
"headers": {
"Content-Type": "application/json",
"web_api_key": "my-web-api-key-goes-here",
"app_key": "my-app-key-goes-here"
},
"data": JSON.stringify({
'order_po': 'PO_0001',
'order_key': null,
'recipient': {
'first_name': 'Bob',
'last_name': 'Ross',
'company_name': 'Happy Little Trees, Inc',
'address_1': '742 Evergreen Terrace',
'address_2': null,
'address_3': null,
'city': 'Mountain Scene',
'state_code': 'AK',
'province': null,
'zip_postal_code': '88888',
'country_code': 'us',
'phone': '555-555-5555',
'email': null,
'address_order_po': 'PO_0001'
},
'order_items': [
{
'product_order_po': 'PO_0001',
'product_qty': 1,
'product_sku': 'AP1234P1234',
'product_image': null,
'product_title': 'The Big Blue Mountain',
'template': null,
'product_guid': '00000000-0000-0000-0000-000000000000',
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}
],
'shipping_code': 'SD',
'ship_by_date': null,
'customs_tax_info': null,
'gift_message': null,
'test_mode': false,
'webhook_order_status_url': null,
'document_url': null,
'acct_number_ups': null,
'acct_number_fedex': null,
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}),
};
$.ajax(settings).done(function (response) {
console.log(response);
});
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'sample_method',
'hostname': 'api.finerworks.com',
'path': 'sample_endpoint',
'headers': {
'Content-Type': 'application/json',
'web_api_key': 'my-web-api-key-goes-here',
'app_key': 'my-app-key-goes-here'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"order_po": "PO_0001",
"order_key": null,
"recipient": {
"first_name": "Bob",
"last_name": "Ross",
"company_name": "Happy Little Trees, Inc",
"address_1": "742 Evergreen Terrace",
"address_2": null,
"address_3": null,
"city": "Mountain Scene",
"state_code": "AK",
"province": null,
"zip_postal_code": "88888",
"country_code": "us",
"phone": "555-555-5555",
"email": null,
"address_order_po": "PO_0001"
},
"order_items": [
{
"product_order_po": "PO_0001",
"product_qty": 1,
"product_sku": "AP1234P1234",
"product_image": null,
"product_title": "The Big Blue Mountain",
"template": null,
"product_guid": "00000000-0000-0000-0000-000000000000",
"custom_data_1": null,
"custom_data_2": null,
"custom_data_3": null
}
],
"shipping_code": "SD",
"ship_by_date": null,
"customs_tax_info": null,
"gift_message": null,
"test_mode": false,
"webhook_order_status_url": null,
"document_url": null,
"acct_number_ups": null,
"acct_number_fedex": null,
"custom_data_1": null,
"custom_data_2": null,
"custom_data_3": null
});
req.write(postData);
req.end();
require "uri"
require "net/http"
url = URI("https://api.finerworks.comsample_endpoint")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::sample_method.new(url)
request["Content-Type"] = "application/json"
request["web_api_key"] = "my-web-api-key-goes-here"
request["app_key"] = "my-app-key-goes-here"
request.body = "{
'order_po': 'PO_0001',
'order_key': null,
'recipient': {
'first_name': 'Bob',
'last_name': 'Ross',
'company_name': 'Happy Little Trees, Inc',
'address_1': '742 Evergreen Terrace',
'address_2': null,
'address_3': null,
'city': 'Mountain Scene',
'state_code': 'AK',
'province': null,
'zip_postal_code': '88888',
'country_code': 'us',
'phone': '555-555-5555',
'email': null,
'address_order_po': 'PO_0001'
},
'order_items': [
{
'product_order_po': 'PO_0001',
'product_qty': 1,
'product_sku': 'AP1234P1234',
'product_image': null,
'product_title': 'The Big Blue Mountain',
'template': null,
'product_guid': '00000000-0000-0000-0000-000000000000',
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}
],
'shipping_code': 'SD',
'ship_by_date': null,
'customs_tax_info': null,
'gift_message': null,
'test_mode': false,
'webhook_order_status_url': null,
'document_url': null,
'acct_number_ups': null,
'acct_number_fedex': null,
'custom_data_1': null,
'custom_data_2': null,
'custom_data_3': null
}"
response = https.request(request)
puts response.read_body
Name | Description | Type | Additional information |
---|---|---|---|
status | response_status |
None. |
|
options | array (shipping_option) |
None. |
Example JSON Response
application/json, text/json
{ "status": { "success": true, "status_code": 200, "message": "", "debug": null }, "options": [ { "rate": 9.95, "shipping_method": "USPS Priority Mail", "shipping_code": "SD", "calculated_total": { "order_po": "PO_0001", "order_subtotal": 122.0, "order_shipping_rate": 9.95, "order_discount": 0.0, "order_sales_tax": 11.28, "order_sales_tax_rate": 0.825, "order_credits_used": 0.0, "order_grand_total": 152.28, "product_pricing": [ { "product_qty": 1, "product_sku": "AP1556P466112", "product_code": "5M41M9S8X10F131S13X15J2S9X11G1", "product_price": 8.0, "add_frame_price": 9.0, "add_mat_1_price": 10.0, "add_mat_2_price": 0.0, "add_glazing_price": 10.0, "add_color_correct_price": 0.0, "total_price": 122.0, "info": null, "debug": null } ] } }, { "rate": 21.05, "shipping_method": "UPS Ground", "shipping_code": "SD", "calculated_total": { "order_po": "PO_0001", "order_subtotal": 122.0, "order_shipping_rate": 21.05, "order_discount": 0.0, "order_sales_tax": 11.44, "order_sales_tax_rate": 0.825, "order_credits_used": 0.0, "order_grand_total": 154.49, "product_pricing": [ { "product_qty": 1, "product_sku": "AP1556P466112", "product_code": "5M41M9S8X10F131S13X15J2S9X11G1", "product_price": 8.0, "add_frame_price": 9.0, "add_mat_1_price": 10.0, "add_mat_2_price": 0.0, "add_glazing_price": 10.0, "add_color_correct_price": 0.0, "total_price": 122.0, "info": null, "debug": null } ] } } ] }