Table of Contents
Amazon Selling Partner
Updated by Colin
With the Amazon Selling Partner Merchant Integration you can create labels through ShipStream on your own Amazon Selling Partner account. This is referred to by Amazon as "Buy Shipping" and is a requirement if you are in the Seller Fulfilled Prime program. In a nutshell, ShipStream will use your Seller Central account to buy shipping for your Amazon orders and receive and print the label using a completely seamless integration.
Authorize ShipStream
In order to use Amazon's "Buy Shipping" API the seller must first authorize ShipStream to act on their behalf.
- Navigate to System > Integrations > Merchant Integrations.
- Click Add New Subscription.
- Choose the Merchant to which the Amazon Seller Central account belongs.
- Click the Amazon Selling Partner plugin.
- Configure the plugin as needed and click Save Subscription. You may modify the configuration later.
- Click the Authorize button.
- Your browser will navigate you to the Amazon Seller Central site for authorization. Verify that the information looks correct and click Confirm to continue.
- You will be redirected back to ShipStream and the account should now be authorized. This can be verified by the text Connection Active in the OAuth Connection section of the subscription page.
Service Selection
When using Amazon's "Buy Shipping" API which is what happens when the packing operation for a shipment is completed, the process will first request a list of all "eligible" shipping services. This list is determined by Amazon and is outside of the control of ShipStream. However, ShipStream gives you control over which of the provided services should be chosen automatically via the "Allowed Shipping Services" field in the "Plugin Configuration":
If none of the "eligible" services presented by Amazon are allowed by your ShipStream configuration you will receive an error like this:
In this case the shipment cannot be completed via the Amazon API until the configuration is updated to allow an eligible service to be selected. Alternatively, the shipment will have to be completed offline or using a non-Amazon shipping method and it will be up to the user to make sure the tracking number is relayed back to Amazon.
Preferred Carrier
Generally, ShipStream will choose the cheapest option presented by Amazon. If you are using your own shipping account on Amazon or you have other factors that affect which carrier you prefer to use, you may wish to designate one carrier as the "Preferred Carrier". You can then set a threshold that will determine how much more expensive the next cheapest option must be before using a carrier other than the Preferred Carrier.
- System > Configuration > Shipping Methods > Amazon Selling Partner
To completely prevent ShipStream from choosing a carrier that is not the Preferred Carrier, you can choose "Require Rates from Preferred Carrier".
Excluded Services
For advanced cases, you may wish to further refine the list of eligible services on a per-order basis. This can be accomplished by using the key "Other Shipping Options" field of the order which is a JSON object. Specify a key called "amazon_excluded_services"
and the value must be an array of strings. These strings can be either a specific Amazon service or a PCRE-compatible regular expression using /
as the delimiter. Any services matching any of the provided strings will be excluded from that order.
{
"amazon_excluded_services": ["/^UPS/"]
}
This is most likely useful to add using a "Before Create Order Script":
// Do not ship orders submitted on Friday via UPS
if (order.timestamp.format('l') === "Friday") {
order.options.other_shipping_options = {
"amazon_excluded_services": ["/^UPS/"]
}
}
List of Amazon Shipping Services
The following is a list of the known/supported Amazon Shipping Services.
[
[
'ShippingServiceName' => 'USPS Priority Mail Express®',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_EXP',
],
[
'ShippingServiceName' => 'USPS Priority Mail Express Legal Flat Rate Envelope',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_EXP_LFRE',
],
[
'ShippingServiceName' => 'USPS Priority Mail Express Padded Flat Rate Envelope',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_EXP_PFRE',
],
[
'ShippingServiceName' => 'USPS Priority Mail®',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI',
],
[
'ShippingServiceName' => 'USPS Priority Mail Cubic®',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_CUBIC',
],
[
'ShippingServiceName' => 'USPS Priority Mail® Large Flat Rate Box',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_LFRB',
],
[
'ShippingServiceName' => 'USPS Priority Mail Legal Flat Rate Envelope',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_LFRE',
],
[
'ShippingServiceName' => 'USPS Priority Mail® Flat Rate Box',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_MFRB',
],
[
'ShippingServiceName' => 'USPS Priority Mail Padded Flat Rate Envelope',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_PFRE',
],
[
'ShippingServiceName' => 'USPS Parcel Select',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PSBN',
],
[
'ShippingServiceName' => 'UPS Ground',
'CarrierName' => 'UPS',
'ShippingServiceId' => 'UPS_PTP_GND',
],
[
'ShippingServiceName' => 'UPS 2nd Day Air',
'CarrierName' => 'UPS',
'ShippingServiceId' => 'UPS_PTP_2ND_DAY_AIR',
],
[
'ShippingServiceName' => 'UPS Next Day Air',
'CarrierName' => 'UPS',
'ShippingServiceId' => 'UPS_PTP_NEXT_DAY_AIR',
],
[
'ShippingServiceName' => 'UPS Next Day Air (Saturday)',
'CarrierName' => 'UPS',
'ShippingServiceId' => 'UPS_PTP_NEXT_DAY_AIR_SAT',
],
[
'ShippingServiceName' => 'UPS Next Day Air Saver',
'CarrierName' => 'UPS',
'ShippingServiceId' => 'UPS_PTP_NEXT_DAY_AIR_SAVER',
],
[
'ShippingServiceName' => 'FedEx Priority Overnight®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_PRIORITY_OVERNIGHT',
],
[
'ShippingServiceName' => 'FedEx Priority Overnight® (Saturday)',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_PRI_OVERNIGHT_SAT',
],
[
'ShippingServiceName' => 'FedEx Standard Overnight®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_STANDARD_OVERNIGHT',
],
[
'ShippingServiceName' => 'FedEx 2Day®A.M.',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_SECOND_DAY_AM',
],
[
'ShippingServiceName' => 'FedEx 2Day®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_SECOND_DAY',
],
[
'ShippingServiceName' => 'FedEx Express Saver®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_EXPRESS_SAVER',
],
[
'ShippingServiceName' => 'FedEx Home Delivery®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_HOME_DELIVERY',
],
[
'ShippingServiceName' => 'FedEx Ground®',
'CarrierName' => 'FEDEX',
'ShippingServiceId' => 'FEDEX_PTP_GROUND',
],
//
// International Methods
//
[
'ShippingServiceName' => 'DHL Express International',
'CarrierName' => 'DHLMX',
'ShippingServiceId' => 'DHLMX_PTP_PACKAGE_EXPRESS',
],
[
'ShippingServiceName' => 'USPS First Class International',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_FC_INTL',
],
[
'ShippingServiceName' => 'USPS Priority Mail International',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_PRI_INTL',
],
[
'ShippingServiceName' => 'USPS Priority Mail Express International',
'CarrierName' => 'USPS',
'ShippingServiceId' => 'USPS_PTP_EXP_INTL',
],
];
Amazon Orders
There are a few requirements that an order must meet to allow ShipStream to call the Amazon MWS for shipping labels.
Amazon Order ID
When the Amazon Order is provided to ShipStream it must include the Amazon Order ID which matches the pattern "NNN-NNNNNNN-NNNNNNN" entered by itself into one of these fields:
User Portal | API |
Order # | unique_id |
Order Ref # | order_ref |
Other Shipping Options:
|
|
Amazon ASIN or Seller SKU
The Amazon line items must have their Amazon ASIN or Seller SKU match one of these ShipStream fields:
User Portal | API |
Product SKU |
|
Product Vendor SKU |
|
Product External ID |
|
(submitted to order.create) |
Shipping Method
The ShipStream Order will need to use one of ShipStream's "Amazon Merchant Fulfillment" shipping methods.
Description | Code |
Amazon Merchant Fulfillment | amazon_ANY |
Amazon Standard Delivery | amazon_Standard |
Amazon Free Economy | amazon_FreeEconomy |
Amazon Two-Day Delivery | amazon_SecondDay |
Amazon One-Day Delivery | amazon_NextDay |
Amazon Expedited Delivery | amazon_Expedited |