Sendcloud
Purpose
This connection buys labels through the Sendcloud shipping platform from inside the shipping process. Sendcloud is an aggregator: one account books with DHL, DPD, UPS, GLS and other carriers — which one is decided by the shipping method of the account.
Scope
- Sendcloud interface version 3 — version 2 has been in maintenance mode since April 2026.
- Create labels as PDF — A6 for the label printer, A4 on request.
- Choose the account's shipping option: its code (e.g.
dhl:standard) on the shipment (shipping
method field) or as the default of the integration. Without either, no label is created — postage is never guessed; a number from the old interface is refused. If such a number is still stored as the default of the integration, Integrations shows a notice about it, and the update log names it in the step "Check plugin setup".
- Age verification: articles from 16 or 18 years ship through Sendcloud when the chosen shipping
option includes the age check at that level (code with age_check=18 or according to the product selection). Otherwise shipping refuses before booking with a clear message — the goods stay in stock.
- Delivery locations: Packstation, post office, parcel shop and access point via the service point
ID (Sendcloud number or the carrier's own ID); the DHL post number is passed as the address addition.
- Return labels through Sendcloud's returns interface — the destination is the configured sender
address — and customs data for third-country shipments.
- Cancellation with an honest answer: done, queued (the label expires unused) or refused with
Sendcloud's reason.
- Tracking with status mapping.
Setup
Credentials live as an integration under Integrations — provider sendcloud. The keys are found in the Sendcloud account under Settings → Integrations.
| Setting | Required | Meaning |
|---|---|---|
sendcloud_public_key | yes | Public API key. Stored encrypted and never shown again. |
sendcloud_secret_key | yes | Secret API key. Stored encrypted and never shown again. |
default_shipping_method | no | Code of the shipping option (e.g. dhl:standard, from the product selection) when the shipment names none. A number from the old interface is refused. |
sender_address | yes | Number of the sender address in the account. Version 3 requires a sender; returns go to this address. |
label_size | no | a6 (default, label printer) or a4 (office printer). |
Sendcloud has no separate test environment: testing happens in the same account, for example with the "Unstamped letter" method, which costs no postage. The module is switched off by default and is switched on under the feature flags.
Product selection
The connection itself tells which shipping options the account may book: GET /v1/carrier-sendcloud/products returns the code (code), name, carrier, weight band, whether a service point is required and the age level (ageCheck: 16, 18 or empty) of each option, optionally narrowed to one destination country (toCountry), which then appears as the destination country. The code is exactly the value that goes onto the shipment as shipping method.
Settings & permissions
- Creating the integration and entering the keys requires
platform.integration.manage. - The product selection is visible to whoever ships (
shipping.shipment.manage) or sets up shipping
(shipping.config.manage).
- The setup notice (
GET /v1/carrier-sendcloud/setup-check) is visible to whoever sets up integrations
(platform.integration.manage) or shipping (shipping.config.manage).
- Shipping uses the permissions of Shipping; the connection brings no
permissions of its own.
Interplay
The connection sits inside Shipping: that is where the shipment is created, where the label is bought and where tracking runs. In the integration hub, the "Create label" step registers the shipment through our own interface; raw access to Sendcloud goes only through the one generic step. When a label is produced is decided by automations.
Limits
- The real run is still outstanding. What is verified is that we ask correctly and read the answer
correctly — with prepared responses. That Sendcloud accepts the request is not proven.
- One parcel per shipment. Several parcels are refused, not silently dropped.
- Additional services such as signature or age check are chosen through the shipping option in
Sendcloud (for example one with ageCheck 18), not as a separate switch. For an article with an age limit, shipping checks before booking whether the chosen shipping option carries that level; a check from 18 also covers goods from 16, never the other way round. If this cannot be verified (Sendcloud unreachable), nothing is booked.
- Return labels cannot be cancelled here — cancellation looks the shipment up by tracking number,
and Sendcloud keeps returns separately.
- Prices do not come from here — they are in the contract with Sendcloud.