Skip to main content
Courier integrations book shipping labels, save tracking numbers on the order, and let you void or reprint a label without leaving Digital Florists.
This page covers features gated by Admin-tier permissions — typically Settings access. Admins have these by default; your administrator can adjust who has them in Settings > Team.
Connect one courier account and your shipped orders flow through it day-to-day. Shiptheory and ShipStation are aggregators: one connection gives you access to every carrier you’ve set up in their account. NovaPost is a direct, single-carrier connection. For booking labels day-to-day, see Courier Orders.

Capability matrix

The three couriers don’t all do the same thing. Use this table to pick the one that fits your operation.
CapabilityShiptheoryShipStationNovaPost
Label generationYes (PDF)Yes (PDF, PNG, or ZPL)Yes (PDF)
Tracking number captured at bookingYesYesYes
Void a booked shipmentYesYesYes
Refresh status from the carrierYes, on demandYes, on demandYes, on demand
Saturday delivery auto-swapYesNoNo
Multi-carrier (one connection, many carriers)YesYesNo (single carrier)
Live service picker on the booking formYesYesNo
Ship-from address per integrationNo (uses your account default)YesUses contract sender
Commercial invoice for international parcelsNoOptional, if supplied upstreamYes, automatic for EU-border parcels
Tracking refreshes when Digital Florists asks the carrier for an update. None of the three push real-time status into your dashboard, so if a parcel’s status looks stale, refresh the shipment on the order.

Shiptheory

Shiptheory is a UK-based carrier aggregator. One connection gives you access to every carrier you’ve set up inside your Shiptheory account (typically a mix of Royal Mail, DPD, ParcelForce, Evri, UPS, FedEx, and DHL), and the booking form pulls the live service list each time you book. Shiptheory is a good fit if you ship mostly UK and EU parcels and want a single account to manage rates and carrier rules. The Saturday delivery override is the one feature unique to Shiptheory here: configure a JSON rule and Digital Florists will swap a weekday service code for its Saturday equivalent when an order’s delivery date falls on a Saturday.

Required config

FieldRequiredWhat goes in it
API KeyYesThe API key generated in Shiptheory under Settings > API.
Default Service CodeNoA Shiptheory delivery service ID (for example 3300) that’s pre-selected on the booking form.
Preferred Service CodesNoComma-separated allowlist of service codes. Set this to narrow the courier dropdown to the services you use. Leave blank to show every service.
Saturday Delivery OverrideNoGuided form for mapping a weekday service to its Saturday counterpart. Applies when the delivery date is a Saturday.

Setup

1

Generate an API key in Shiptheory

Sign in to Shiptheory, go to Settings > API, and create a new key.
2

Paste the key into Digital Florists

In Settings > Integrations, open Shiptheory and paste the key into the API Key field.
3

Narrow the service list (optional)

If your Shiptheory account exposes more services than your team uses, add their codes to Preferred Service Codes. The booking dropdown will filter down to just those.
4

Configure Saturday handling (optional)

Open the Saturday Delivery Override form and map your usual weekday service to its Saturday-delivery equivalent.
5

Save and book a test shipment

Save the integration and book a test parcel from an order to confirm the label downloads and a tracking number appears on the shipment.

Notable caveats

  • Status updates are pull-only. Shiptheory doesn’t push status into Digital Florists. Refresh the shipment from the order to pull the latest tracking and label.
  • Ship-from address comes from Shiptheory. There’s no per-integration sender override; configure the sender inside your Shiptheory account.
  • 404 on refresh is normal early on. If you refresh a shipment that Shiptheory hasn’t finalised yet, Digital Florists treats it as “not yet available” rather than an error.

ShipStation

ShipStation (running on the ShipEngine API) is a global multi-carrier platform. Like Shiptheory, one connection gives you every carrier your ShipStation account has connected. The service picker fetches the live list on demand and caches it for an hour per shop, so newly added carriers show up within an hour of being connected on the ShipStation side. ShipStation is the right fit if your carrier mix is international or your ShipEngine account is already the source of truth for rates. Unlike Shiptheory, ShipStation lets you set the ship-from address on the integration itself, which helps if your courier-sender address is different from your shop address.

Required config

FieldRequiredWhat goes in it
API KeyYesYour ShipEngine / ShipStation API key. Sandbox keys begin with TEST_.
Default Service CodeNoA compound carrier_code::service_code value (for example stamps_com::usps_priority_mail) pre-selected on the booking form.
Default Package CodeNoThe carrier-specific package preset to default to.
Ship-from addressRecommendedSender name, line 1, line 2, city, state, postcode, country, email, and phone. Line 1, city, postcode, and country are needed before a label can be booked.

Setup

1

Generate an API key in ShipStation

Sign in to ShipStation, generate a new API key, and copy it. Sandbox keys begin with TEST_; switch to a production key when you’re ready to ship for real.
2

Paste the key into Digital Florists

In Settings > Integrations, open ShipStation and paste the key into the API Key field.
3

Fill in the Ship-from address

Enter the sender address. Line 1, city, postcode, and country are needed. Booking will be blocked with an on-screen error if any of those four are missing.
4

Set a default service (optional)

Add a default service code in the form carrier_code::service_code. Both halves are needed for a label to book.
5

Save and book a test shipment

Save the integration and book a test label from an order. The carrier service list is fetched live the first time you open the booking form.

Notable caveats

  • Service codes use a compound format. Both the carrier and the service halves are needed: stamps_com::usps_priority_mail, not just usps_priority_mail.
  • Service list refreshes once an hour. A carrier you’ve just connected inside ShipStation can take up to an hour to appear in the booking form.
  • Re-clicking Book is safe. If the same shipment is sent twice, Digital Florists reuses the existing label rather than creating a duplicate.
  • One parcel per shipment. Multi-package shipments aren’t supported; the first parcel on the request is the one that’s booked.
  • No Saturday auto-swap. Set Saturday handling inside ShipStation itself if you need it.
  • Insurance value is treated as GBP. If you insure non-GBP parcels, the declared value sent to ShipStation will be the number as if it were pounds sterling.

NovaPost

NovaPost is a direct, single-carrier integration. There’s no service picker on the booking form: every parcel goes through NovaPost on the contract you’ve set up with them. Cross-border parcels into or out of the EU automatically attach a commercial invoice with cut flowers (HS code 06030000) as the default classification. NovaPost is a good fit if you’re shipping mostly cross-border into Europe and your contract with them already covers your service mix. It’s the only one of the three couriers that builds the commercial invoice for you.

Required config

FieldRequiredWhat goes in it
Company TINYesYour company tax identification number. Sent as the sender’s company TIN on every shipment.
Company NameYesThe sender company name used when the ship-from address doesn’t supply one.
Contract NumberYesYour NovaPost contract number. Sent as the payer contract number on every booking.
API KeyYesThe API key from your NovaPost account. Exchanged for a session token on each call.

Setup

1

Collect your NovaPost details

From your NovaPost account, copy your Company TIN, Company Name, Contract Number, and API Key.
2

Enter them in Digital Florists

In Settings > Integrations, open NovaPost and paste all four values into their fields.
3

Check your sender and recipient phone numbers

NovaPost rejects bookings without a valid phone number on both the sender and recipient. Make sure each fulfilment location has a phone set in Settings > Locations, and that customer phones are captured on orders.
4

Save and book a test shipment

Save the integration and book a test parcel to confirm the label downloads and a tracking number appears on the order.

Notable caveats

  • No service picker. Every parcel uses your NovaPost contract, with no booking-time service choice.
  • A phone number is mandatory. Bookings without a valid sender or recipient phone are rejected with an on-screen error.
  • Cross-border parcels get an automatic commercial invoice. Defaults are DAP incoterm, GBP currency, and HS code 06030000 (cut flowers). Override these on the shipment if your parcels aren’t flowers.
  • Single-carrier only. If you also send via Royal Mail, DPD, or another carrier, pair NovaPost with Shiptheory or ShipStation.
  • Status is pull-only. As with the other couriers, refresh the shipment to pull the latest tracking.

Common questions

Yes. Courier integrations are independent. Connect Shiptheory for UK parcels and NovaPost for cross-border, for example, and pick the one you want when you book each shipment.
Tracking refreshes when Digital Florists asks the courier for an update; there’s no push from the carrier. Open the shipment on the order and refresh it to pull the latest status.
The service list is cached for up to an hour per shop. Wait an hour and reopen the booking form, or contact support if it still isn’t there.
On Shiptheory only, it swaps a weekday service code for its Saturday equivalent when the order’s delivery date is a Saturday. Configure the mapping under the integration’s settings.
Yes. On ShipStation in particular, re-clicking Book on the same shipment is safe; Digital Florists reuses the existing booking rather than creating a duplicate. For Shiptheory and NovaPost, void the failed shipment first if it did create on the carrier’s side.
Shiptheory and ShipStation both aggregate dozens of carriers, so start by checking whether your carrier is available through one of them. If not, get in touch with support.

What’s next?

Integrations overview

Every integration available to your shop and how the categories fit together.

Courier orders

Book labels, print, and hand parcels over day-to-day.

Locations

Set the sender address and phone numbers your courier integrations rely on.

Getting help

Reach support when a carrier connection isn’t behaving.
Last modified on June 2, 2026