Skip to main content
This guide walks you through the typical SimpleSell API workflow. You create a parcel, process it, and download its shipping label.

Prerequisites

The examples use curl. Store your token in an environment variable so you can copy the commands as they are:
1

Choose a shipping method

List the shipping methods configured in your SimpleSell account:
Copy the id of the shipping method you want to use:
2

Create a parcel

Create a parcel with the receiver, the weight, and the shipping method:
The API responds with 201 Created and returns the new parcel. Copy its id for the next steps:
The response above is shortened. See Create a parcel for all fields.This example only contains the data needed to ship the parcel. All other fields, such as order_number or items, are optional. Add items if the parcel is subject to customs, or if you want to work with the parcel in SimpleSell, for example to print packing slips and picking lists.
SimpleSell can add defaults from your settings and apply your product database and shipping rules to the parcel. See Defaults and overrides.
3

Process the parcel

Processing creates the shipment with the carrier and generates the shipping documents:
SimpleSell first checks the parcel’s data. See Checks before processing. If data is missing, the API responds with 422 Unprocessable Entity and lists the problems in errors:
Fix the parcel with Update a parcel and process it again.If the check passes, processing runs in the background. The API responds with 202 Accepted. The Location header contains the URL to check the processing status:
By default, SimpleSell marks the parcel as printed after processing. The shipping documents are only available once the parcel is printed. To skip this, add ?print=false and print the parcel later. Printing doesn’t send anything to a printer. It marks the parcel as printed in SimpleSell.
4

Wait for processing to complete

Request the URL from the Location header until status is completed:
Once processing is complete, the response contains the parcel. Check parcel.processing_errors:
processing_errors is empty. The parcel has tracking numbers in labels and links to its documents in documents:
Wait at least one second between status requests so you stay within your rate limit.
5

Download the shipping label

Download all labels of the parcel as one PDF from the URL in parcel.documents.labels:
For parcels subject to customs, parcel.documents.customs_declaration contains the URL of the customs declaration PDF. Download it the same way.

Next steps

How parcels work

Learn what SimpleSell checks before processing and when you can change a parcel.

Error handling

Handle validation errors, conflicts, and rate limits in your integration.

API basics

Learn about requests, data formats, and pagination.

API reference

See all parcel fields and endpoints.