ShippyPro API is the easiest way to integrate your system with 155+ Carriers worldwide to ship your packages.
Get the best out of ShippyPro
Summary:
1. Before you start
1. Before you start
To start using ShippyPro API, you should first:
Create a ShippyPro Account by clicking here. If you'd like to know how to create an account step by step, click here.
Connect your Carriers Account from Carriers > Connection and complete the Carrier setup. For more details, please read this article here.
After setting up your ShippyPro profile, read our API-Documentation carefully. You'll find all the information you need in order to use our API there.
You can decide to activate an API Orders Folder and easily manage your API Orders directly from the platform, discover how to do it here.
📌 Don't forget to take a look at our Marketplace API in order to to import all your order details into ShippyPro.
You can add more than one API Key directly from your ShippyPro profile. Follow these simple steps:
Click on Integration > API
Click on Add API and the API key will form automatically.
2. ShippyPro API
Using our API solution, you can get all your systems (like OMS, WMS, POS, ERP and many others) to communicate with your Carriers using a simple API integration.
Our API is written in 14 programming languages and in two different technologies, REST and SOAP.
Any API call has its own method: as per the latest updates, we currently only accept POST method.
You'll find your API Key by clicking on Integrations > API.
Once you copied your API Key, follow the steps explained here: API Documentation > Authentication.
In case you obtain the error "API Key cannot access PII methods", you should create a new API key from scratch and perform calls with the newly created one.
Please remember to set the API Call as follows:
API KEY as Username
Leave the Password blank
How many API calls can I make simultaneously?
With ShippyPro you can make up to a maximum of 20 API calls every 10 seconds.
This means that you can do 10 API calls in one second but then you will only have 10 remaining API calls for the next nine.
When request submissions exceed this limit, API will return the following error:
📌 Error: 429 Too Many Requests.
Alternatively, we suggest you use different IP addresses and apply a load balancer logic in order to overcome this limit.
If you have further concerns about this limit, kindly contact our Customer Success or Support Teams, so they can help you validate the API implementation and suggest how to optimize it!
From Integrations > API, click on View API logs to see live requests and responses in more detail.
3. ShippyPro API CALLS
Here's our API Calls:
Basic APIs:
GETRATES
ShippyPro GetRates API allows you to get the rates of all your carriers ordered by price with just one simple API Request. The response will also include estimated delivery days.
📌 Rates will depend from the ones included in the contract with the Carrier, here's how to add them.
SHIP
Ship allows you to generate labels according to your settings for any supported carriers.
Remember that Ship and Edit Calls will generate REAL shipping labels that will be counted as part of the 30 provided each month. We suggest you use the Generic Carrier to test these calls.
Please note that the values CarrierName, CarrierService and CarrierID have to be added from here.
Note: With the same Ship API call you can create just one shipment at a time.
If you put Async = true, you'll have to use a Webhook in order to generate a label.
EDIT
This method gives the possibility to modify a previously created shipment. The method structure is the same of the Ship API method, but the OrderID parameter must match with an existing ShippyPro order ID.
GETTRACKING
With the API GetTracking API you can track your shipments and get notified to a webhook whenever your shipment receives a new status.
You just have to add the Carrier's Tracking Code to the Call in order to get shipment updates.
PUTORDER
This Method gives you the ability to import orders to be shipped inside ShippyPro
PRINTORDER
This Method gives you the ability to print order labels with a ShippyPro connected printer.
PRINTORDERBYSKU
This Method gives you the ability to print orders labels with a ShippyPro connected printer saerching for an item SKU in your orders.
Premium APIs:
CheckAddress
IsResidentialAddress
BookPickup
GetPickups
CancelPickup
GetPickupAvailability
GetMarketplaces
GetCarriers
GetCarrierOptions
GetCarrierPackagesTypes
CreateManifest
GetManifest
DeleteManifest
CloseShipments
UploadPaperlessDocumentation
GetOrder
ArchiveOrders
UpdateOrders
VoidShipments
GetLabelUrl
GetPendingOrders
GetShippedOrders
DeletePendingOrder
IsPendingOrder
EditPendingOrders
PutShippedOrder
GetPOD
GetDetailedPricing
CreateInvoice
MarkOrdersAsPrinted
GetShipmentsReport
GetReturnsReport
CreateMasterShipment
CloseMasterShipment
GetPrinters
GetDropOffPoints
Contact our Sales Team if you are interested in our Premium API!
📌 API (Request + Response) are in Json format.
4. How can I test the ShippyPro API?
You can test our API using API Console or an External Software that supports API calls.
How does API Console work?
You can test our API Calls from Integrations & API > API. Click on the right top button Use the API Console.
You'll get access to ShippyPro API Console, where you can test all our API Calls:
Note: Remember that Shipping and Edit Calls will generate REAL shipping labels that will be counted as part of the shipments provided each month with your current Plan. We suggest you to use Generic Carrier to test these calls.
Generic is not a real carrier, it won't generate any real tracking number, but it allows you to test our main functions. Learn how to use it here: How to use a Generic Carrier.
💡Note: Remember also that Shipping Call will count as a shipment, by subscribing to ShippyPro you'll have 30 real shipments for free.
📌If you'd like to use an API call that is not included among the ones listed in the API Console you should employ a different software like Postman or Insomnia.
So what is actually counted as a proper API Call?
In short, only Shipments generated through Ship call will be counted, and therefore only the ones correctly generated. Those which faced Error won't be included.
Get Rates call simply show Prices and Options for the shipment, for this reason it doesn't concern shipment count.
Moreover, orders with Error won't be counted as a proper shipment.
5. How API Fields Validation works
You can decide to apply the best API Fields validation option you prefer at every moment from ShippyPro account > Integrations > API.
You can choose between three different options available, let's take a look at them!
Enable the blocking validation control on all API requests fields: allows you to block the validation for each error encountered
DO NOT BLOCK but include fields validation suggestions in the API responses: allows you to display some suggestions without blocking the call
DO NOT BLOCK and DO NOT INCLUDE any validation suggestions in the API responses: allows you not to block the call and don't display any suggestion for the error
📌 Kindly note that if you use our API Console you won't be able to edit the scheme of each call and the predefined validation would be the hard one.
6. Errors & Troubleshooting
Go to this link to check the most common errors & resolutions about API:
How to solve API errors