Topic: Everything you need to know about integrating your custom-built webshop with Sendcloud via our (RESTful) APIs.
- Sendcloud API Reference
- Sendcloud Developer's Portal
- Service points for API integrations
- Sendcloud APIs FAQ's
- Integration guidelines for Marketplaces
At Sendcloud, we provide features and tools that help e-commerce businesses automate their shipping process. Our fully-scaleable features make the lives of online retailers easier, whether you're a sole trader or start-up company, or a large scale operation shipping thousands of parcels a month across the globe.
Integrating with Sendcloud
There are two ways to connect your online store to Sendcloud:
Plug and play integrations
If you use an e-commerce system such as Shopify, WooCommerce, Lightspeed and Magento, you don't need any development skills to connect your store. We provide plug-and-play apps and plugins for 80+ of the most popular e-commerce platforms, available to download from the marketplace or app-store of your particular system.
If you have a custom-built web store which isn't hosted and created through an e-commerce platform, that's where our APIs come into play. An API allows developers to connect with and extract key components of our internal system and integrate them with your webshop or system. Sendcloud APIs are designed to cover every stage of the shipping journey.
Our features can be used in conjunction with one another, or standalone, which gives you the flexibility to design and build your own workflow from start to finish. Our APIs give you access to a huge range of national and international shipping methods from the most popular European commercial and postal carriers.
Documentation and API Reference
If you're new to APIs and want to view an in-depth explanation of how your order processing workflow might look, check out our API Documentation. We provide quick start guides and tutorials to guide you through the fundamentals, from Creating your first parcel with the API to creating Multicollo parcels and comparing Shipping rates.
What can you do with our APIs?
- Shipping API
The Shipping API gives you access to the core features of our platform. Create labels, compare rates, generate customs documents for your international shipments and automate your shipping decisions with shipping rules.
- Service Points API
Integrate a service point picker in your checkout, access a database of all available service point locations for carriers across the globe, and let your customers choose a convenient place to have their parcel delivered.
- Shipping Products API
Compare rates, service levels and extra value services across 50+ carriers on both a national and international scale.
- Return Portal API
Let your customers manage their own returns by building your own custom version of the Sendcloud Return portal. Use it in conjunction with our paid returns feature to proactively charge your customers for a return fee.
- Tracking API
Retrieve the entire tracking history of a parcel, from the moment the parcel is announced to the exact time it arrives at your customer's doorstep.
- Pickups API
Schedule a one-off pickup with a carrier via the Pickups API and have your parcels collected from your warehouse or store location within a specified time window.
- Dynamic Checkout API
Boost your conversion rates by offering next-day, same-day and nominated day deliveries directly from your checkout page. Configure shipping methods per delivery zone using the Sendcloud panel, then retrieve applicable shipping methods and present them to your customer on your checkout page with our API.
- Returns API V3
Create standalone returns for parcels via the Returns API within minutes, even if the parcel was not originally shipped through your Sendcloud account. Access a database of return methods and validate your return request before creating the label, so you can avoid unwanted charges if a return isn't possible with your selected return method. This feature is currently in closed beta.
What is an API?
API stands for Application Programming Interface. An API allows applications to communicate with each other over the web. To retrieve data from an API, you make a “request” in a formatting language such as JSON or XML, or a programming language such as Python, to a server, and the server returns the requested data in a “response”. APIs are not merely a database—alongside requesting data, you can update, create and delete data by making API requests to specific endpoints.
For example, the Sendcloud shipping API gives you access to the “Create a parcel” endpoint. You can make a call to this endpoint to create a parcel in the Sendcloud system by providing the endpoint with the information it requires (address information, shipping method information, etc). To make a request, you need to know which information our server needs in order to create the parcel.
We provide example requests and responses, plus a list of required and optional fields which you can provide, in our API reference.
Why use an API over a plug-and-play integration?
Developers use APIs to build specific features into the existing custom-built webshop or system. Connecting to Sendcloud via the API allows you to customize our features to meet your business needs, plus you can integrate our features alongside third-party applications related to billing and warehouse management.
When you integrate with Sendcloud through an API, you have full flexibility to decide how you want to build your order processing and logistics workflow. You can choose to process your orders directly via the API, or import orders into the Sendcloud panel and process them from there. Because our API gives you access to our key features individually, you can decide which features you want to take advantage of and incorporate them directly into your system and workflow.
Ready to get started integrating with Sendcloud APIs? Before you begin, make sure you've created a Sendcloud account and followed the steps in our Getting Started with Sendcloud guide.
You'll need to complete the following steps before our API will accept your requests:
- Configured your sender and return (optional) addresses
- Activated some carriers in your account
- Set up a payment method (required before you can create shipping labels). Learn more about how Sendcloud invoices you for shipping labels you create here.
Sendcloud uses Basic Authentication to authenticate requests for our APIs. You'll need to include a `Public` and `Private` API key in the header of any calls you make to a Sendcloud endpoint.
curl “https://app.sendcloud.sc/api/v2/parcels” --user “YOUR_API_KEY:YOUR_API_SECRET”
Refer to the Authentication section of our Developer's portal for more examples regarding authenticating with our APIs.
How to obtain your API keys
- Login to your Sendcloud account and go to Settings > Integrations
- Find Sendcloud API in the list of integrations and click Connect
- Give the API integration a name (e.g. “My Webshop”) and click Save
- Your API Public and Secret keys will be automatically generated. Copy them down somewhere safe, and include them in your request headers. The Public key is your “username” when authenticating with the API, and the Secret (Private) key acts as your “password”.
Enabling Service Points
In the Integration settings page, as described above in Authentication, you can choose to enable or disable service points. To make API requests to the Service Point API, to ship parcels to a service point location, or to display the service point picker in your checkout, be sure to enable service points.
Once you've ticked the box to enable service points, you can select the carriers you want to include as service point delivery methods and slick Save.
Creating test labels
You can test our API's without worrying about surprise charges by using the Sendcloud shipping method “Unstamped Letter”. For more help on creating test labels via the API, see our documentation.
Frequently Asked Questions
If you have any questions about using our APIs, you can check our FAQ Guide to API Integrations.
IP addresses to whitelist
If you're limiting access to your systems by IP addresses (with a firewall, for example), please take care that appropriate changes are made in time to ensure uninterrupted service.