Shipping
Shipping setup
Each workspace ships with one provider at a time, chosen in Settings, Shipping providers. The fulfillment flow is the same for every provider: enter the parcel, compare the returned options, buy the label, and let webhooks keep tracking up to date. Manual fulfillment remains available for every order, whatever the choice.
Pick the provider by region
Shippo setup
1. Create a Shippo account
Create a Shippo account, then generate a test or live API token in the Shippo API portal. Test tokens can retrieve rates for most carriers, but they can only purchase labels on the test carrier accounts Shippo provides, such as USPS. Carriers that route purchases through their own systems, including most EU carriers, reject test purchases until the carrier account is fully activated. Poste Italiane, for example, answers with errors such as “Dati non conformi: orgunits assenti” when the Poste business account behind the rate has no organizational units configured yet.
To validate the full WireGum flow with a test token, use a US ship-from address and buy a USPS test label. To buy real labels, use a live token after activating the carrier in Shippo.
2. Connect Shippo in WireGum
- Open Settings, then Shipping providers.
- Paste the Shippo API token.
- Add the ship-from address. Shippo needs this before it can return rates.
- Optionally create webhook registrations for tracking and transaction events.
- Open a paid order, enter parcel dimensions and use Get Shippo rates.
3. Activate carriers in Shippo
Some Shippo carrier accounts are available immediately, while others require accepting terms, connecting a merchant-owned carrier account, or completing a carrier-specific registration flow. Use Shippo as the source of truth before promising a carrier to a merchant.
| Carrier | Area | Shippo automation | Setup notes |
|---|---|---|---|
| Poste Italiane | Italy outbound, domestic only | Labels and tracking | Shippo offers discounted rates. Label purchase needs an activated Poste account with organizational units configured; test tokens can quote but not buy. |
| DHL Express | Global | Rates, labels and tracking | US outbound can use Shippo discounted rates. Own DHL accounts and non-US origins may need DHL account approval or whitelisting. |
| UPS | Global | Rates, labels and tracking | UPS terms must be accepted in Shippo. Own UPS accounts are used for negotiated rates. |
| FedEx | Global | Rates, labels and tracking | A FedEx account or registration flow can be required before labels are available. |
| Deutsche Post | Germany outbound, domestic and international | Rates, labels and tracking | Shippo lists a default carrier account on signup. |
| DHL Germany | Germany and Austria outbound, domestic and international | Rates, labels and tracking | Requires DHL Germany business customer portal credentials for own-account use. |
| Chronopost | France outbound, domestic only | Rates, labels and tracking | Use when the merchant ships domestically from France. |
| Colissimo | France outbound, domestic | Rates, labels and tracking | Use when the merchant ships domestically from France. |
| Mondial Relay | France outbound, domestic only | Labels, tracking and location finder | Shippo lists discounted rates without requiring a separate carrier account. |
| Correos | Spain outbound, domestic only | Rates, labels and tracking | Use when the merchant ships domestically from Spain. |
| Royal Mail Tracked | Great Britain and Northern Ireland domestic | Labels, tracking, refunds and QR codes | Shippo lists Royal Mail Tracked as usable through Shippo's account. |
| DPD UK | UK outbound, domestic only | Rates, labels and tracking | Carrier restrictions apply for some islands, Ireland and parcel dimensions. |
| Evri | UK outbound to the UK and selected EU countries | Rates, labels and tracking | Weight and remote-area restrictions apply. |
This table is a WireGum shortlist for MVP planning. For the current full list, use the official Shippo carrier capabilities and carrier accounts documentation.
Sendcloud setup (EU-first)
- Select Sendcloud in Settings, Shipping providers, then paste the Sendcloud public and secret API keys.
- Keep at least one sender address in the Sendcloud panel: quotes ship from the default one.
- Enable carriers and contracts in the Sendcloud panel; WireGum lists exactly those options.
- Optionally create the webhook subscription so parcel events update tracking automatically.
Options billed through a merchant-owned carrier contract come back without an amount and are marked as contract-priced: the carrier invoices the merchant directly. The sendcloud:letter option remains the free way to test the label flow end to end.
EasyPost setup (US-first)
- Select EasyPost in Settings, Shipping providers, then paste an EasyPost API key (test keys start with EZTK, production with EZAK).
- Add the ship-from address in WireGum.
- Optionally create the webhook registration: EasyPost signs every event with HMAC and WireGum verifies the signature.
- Get rates on a paid order and buy: with a test key, USPS test labels work immediately without carrier setup.
International shipments
Shippo can support international shipments, but customs data is not just a label toggle. International labels can require customs declarations, item descriptions, country of origin, weights, values, phone numbers, incoterms and carrier-specific tax identifiers. Until those fields are modeled in WireGum, use manual fulfillment or verify each international label flow before going live.
Manual fulfillment fallback
When Shippo does not support the merchant carrier or route, create the label outside WireGum and record the carrier, tracking number, tracking URL and shipment status in the fulfillment queue. The order timeline and customer shipment email still use the same WireGum shipment record.