Shipping methods
Sendcloud partners with 80+ international carriers to offer a wide variety of flexible shipping methods. Some methods are only available when you connect a direct carrier contract, while others can be enabled in your Sendcloud account, so you can start shipping with them straight away.
This article serves as a guide on how to make an API call to retrieve a list of available shipping methods. This will allow you to find the id
for a method and use it to announce a parcel. This is the unique identifier which you need to obtain before you can perform the following activities via the API:
- Create a shipping label: before you can create a shipping label, you first need to specify a shipping method
id
in your request to the Create a parcel or Update a parcel endpoints. The parcel will then be announced with the relevant carrier, and the label can be downloaded. - Retrieve shipping rates: you can check the rates for a specific shipping method by providing the method
id
in your request to the Shipping prices endpoint. - Create a return: you need to specify the
id
for an appropriate return shipping method in order to announce a return parcel.
Retrieve shipping methods
To retrieve a list of shipping methods which can be used to ship a parcel, you need to make a GET request to the List of all shipping methods endpoint.
The shipping methods that will be retrieved appear based on the following factors:
- The carriers you have enabled in your Sendcloud account;
- (Optional) The direct carrier contracts you have connected; and,
- Your sender address: if you don’t specify a
sender_address
id
in the request body, then your default sender address will be used. This may affect which shipping methods you can see in the response, as some methods and carriers only operate in certain locations.
Example request
GET
https://panel.sendcloud.sc/api/v2/shipping_methods?sender_address=102964
Example response
1{
2 "id": 1490,
3 "name": "Chrono Classic 23-24kg",
4 "carrier": "chronopost",
5 "min_weight": "23.001",
6 "max_weight": "24.001",
7 "service_point_input": "none",
8 "price": 0,
9 "countries": [
10 {
11 "id": 16,
12 "name": "Austria",
13 "price": 45.0,
14 "iso_2": "AT",
15 "iso_3": "AUT",
16 "lead_time_hours": null,
17 "from_id": 8,
18 "from_name": "France",
19 "from_iso_2": "FR",
20 "from_iso_3": "FRA"
21 },
22 {
23 "id": 1,
24 "name": "Belgium",
25 "price": 40.0,
26 "iso_2": "BE",
27 "iso_3": "BEL",
28 "lead_time_hours": null,
29 "from_id": 8,
30 "from_name": "France",
31 "from_iso_2": "FR",
32 "from_iso_3": "FRA"
33 }
34 ]
35}
Some things to note about the response:
- The shipping method
id
is listed directly undershipping_method
e.g."id": 365
- In this example, we specified an
id
for a French sender addresses saved in our Sender account via thesender_address
parameter. As a result, the response includes shipping methods which are applicable for shipping from France to the rest of the world. You can find theid
for each of your sender addresses by making a GET request to the Get a single sender address endpoint. - Prices for each method are displayed under the
countries
object. Please note that the prices shown above are an example only, and rates will differ depending on your current subscription plan.
Advanced options
Retrieve service point delivery methods
If you want to ship a parcel to a service point, you need to use an applicable service point delivery method. You can filter the list of results to only display methods which can be used for service point delivery by including a service_point_id
value in your request.
Example request
GET
https://panel.sendcloud.sc/api/v2/shipping_methods?service_point_id=10652998
Example response
1{
2 "id": 1317,
3 "name": "DHL Parcel Connect 5-15kg to ParcelShop",
4 "carrier": "dhl",
5 "min_weight": "5.001",
6 "max_weight": "15.001",
7 "service_point_input": "required",
8 "price": 0
9}
service_point_id
via the Service Points API.
Filter on return shipping methods
Return methods are treated differently from methods for outgoing parcels. If you want to filter the results to show only the methods which apply to return parcels, include the argument is_return: "true"
in your request.
Example request
GET
https://panel.sendcloud.sc/api/v2/shipping_methods?is_return=false
Example response
1{
2 "shipping_methods": [
3 {
4 "id": 117,
5 "name": "DHLForYou Drop Off",
6 "carrier": "dhl",
7 "min_weight": "0.001",
8 "max_weight": "20.001",
9 "service_point_input": "none",
10 "price": 0
11 }
12 ]
13}
“Invalid shipment ID” Error message
If you try to Create a parcel but receive the error message “Invalid shipment id”, this could be because you’re trying to use a shipping method which isn’t applicable for the destination address.
For example, if you need to ship a parcel internationally, but the specified shipping method only supports national (domestic) delivery, then you would need to lookup a new id
for a supporting method and change the request.