GoatLabelsGoatLabels
For developers on a composable B2B stack.

commercetools shipping integration for parcel labels


Order message in. Label out.

A commercetools shipping integration with GoatLabels is a small service you run: it consumes order messages from a queue, calls the GoatLabels REST API to rate-shop USPS, UPS, FedEx, and DHL, and writes the tracking number back to the Order. Free is $0 a month for 50 shipments and Pro is $40 flat. There is no packaged commercetools connector.

Four carriers behind one API call

USPS, UPS, FedEx, and DHL quoted together for each parcel your service sends, from one account with no carrier contracts to set up.

UPSFedExDHLUSPSall quoted
REST APIUnlimited calls.
OpenAPI 3.1Generate a client.
WebhooksSigned and replayable.

A ledger keyed to your order number

Every label debits the quoted amount from a prepaid wallet to a dated ledger entry that carries the reference your service sends.

VisaMastercardAmerican ExpressApple PayGoogle PayBitcoinEthereumTether (USDT)
Prepaid walletCard, ACH, and more.
Pro $40 flatUnlimited shipments.
Test keysBuild before you buy.
commercetools shipping routes, compared

What are the ways to add shipping labels to commercetools?

commercetools leaves shipping execution to you. You can pick one of four routes: a label API called from your own small service, direct integrations with each carrier, a shipping platform wired in through Connect, or an enterprise multi-carrier system. GoatLabels is the first route. The table sets out what each one asks of your team.

Updated

commercetools shipping routes, compared, sources checked 2026-10-06
 GoatLabelsBuild direct carrier integrationsA shipping platform via ConnectEnterprise multi-carrier system
How orders reach itYour consumer reads order messages from a queue and calls the REST API, or you import a Merchant Center order export as CSV.Your consumer calls each carrier's own API, one integration per carrier.A Connect Connector built from service, event, and job applications, per the commercetools guide.Integrated by the vendor or a partner as an implementation project.
What your team buildsOne small service: consume the message, buy the label, write the parcel and tracking number back to the Order.Rating, label, tracking, and error handling for every carrier, then upkeep as each API changes.Depends on the platform. The guide we read describes no Checkout shipping Connector contract, so the mapping is yours to confirm.Usually little code on your side, but a scoped project with the vendor.
Carrier accountsNone to set up. Labels are bought on GoatLabels' accounts; your own negotiated rates cannot be used.Your own account and contract with every carrier you integrate.Check the platform: often your own accounts, sometimes platform rates as well.Your own carrier contracts, often across many carriers and regions.
Rate shoppingUSPS, UPS, FedEx, and DHL quoted on every parcel, one all-in number per carrier.Only if you write the comparison logic across the carriers you have integrated.Typically yes, across the accounts you connect to the platform.Typically yes, rule-based across contracted carriers.
Tracking back on the OrderReturned by the API at purchase; your service adds the Parcel to a Delivery. No automatic write-back.Your service writes it from each carrier's response.An asynchronous write-back by the Connector, when the integration provides one.Written back by the vendor's integration.
Price and commitmentFree $0 a month with 50 shipments, or Pro $40 a month flat with unlimited shipments. No contract.No software fee; engineering time plus each carrier's contracted rates.Not stated here; see the platform's own pricing page.Quoted by sales, typically with implementation fees.

Third-party details checked on from each vendor's own pages: commercetools docs: shipping carrier integration guide (checked 2026-10-06); commercetools API: Subscriptions (checked 2026-10-06); commercetools API: Cart and Order messages (checked 2026-10-06); commercetools Merchant Center release notes (checked 2026-10-06). Plans and features change, so confirm on the vendor's current page before you decide.

What is a commercetools shipping integration?

A commercetools shipping integration is the code that connects your project to something that can rate and label parcels. The commercetools carrier integration guide describes it as connecting to a carrier, a multi-carrier rate-shopping engine, or a label and shipping-execution platform, with an asynchronous write-back that books a shipment and records its tracking number on the Order.

The same guide notes that Checkout defines no shipping Connector contract, so nothing arrives ready-made. You decide where rates come from at checkout, which service buys the label after the order is placed, and how the parcel and its tracking number land back on the Order. In a composable commerce shipping stack, GoatLabels covers the label and rate-shopping part behind one REST API.

How do commercetools orders reach a label API?

Through a Subscription and a consumer you run. A commercetools Subscription delivers a message to a queue destination when a resource changes, with SQS as the documented example. The pages we read do not describe calling an arbitrary HTTP endpoint, so plan for a small worker to read the queue, fetch or unpack the order, and call the label API.

With GoatLabels that worker makes a few calls: create the shipment with the ship-to address, cartons, and weights; read the USPS, UPS, FedEx, and DHL quotes; buy the one your rule picks. Send the message or order ID as the Idempotency-Key, so a redelivered queue message never buys a second label. Calls are unlimited on every plan.

How does tracking get back onto the commercetools Order?

Your service writes it. commercetools Orders model Delivery and Parcel objects, and the platform emits order messages such as Parcel Added To Delivery when one is recorded. After the label is bought, your worker adds a Parcel with the tracking number to the Order's Delivery using your commercetools API client.

GoatLabels returns the tracking number in the purchase response and sends later tracking events on signed webhooks that can be replayed if your endpoint was down. It does not write into commercetools itself. Anything already subscribed to parcel messages in your stack, such as a notification service, keeps working because the Order is updated the usual way.

Does this work for B2B orders and without writing code?

Yes to both, with limits. Merchant Center supports B2B order creation with Business Unit selection, and those orders are Orders like any other, so commercetools B2B shipping runs through the same queue consumer. Pass the order number, PO, or Business Unit key as the reference and it appears on the ledger line for that label.

For a pilot with no code, Merchant Center can export orders to CSV. Reshape the file to the GoatLabels column layout and import up to 500 rows at a time; errors name the row and field, and one bad row does not fail the batch. A multi-carton order produces several labels, each a ledger line with the same reference. Tracking then goes back by hand or by script.

When is GoatLabels the wrong commercetools shipping integration?

It is the wrong choice if you want a packaged Connector you install rather than a service you own, if you must ship on your own negotiated carrier contracts, or if you need LTL and freight, an SLA, or SSO. GoatLabels offers none of those. It is parcel only, with US and Singapore origins, and provides no SDK beyond the OpenAPI 3.1 spec.

Enterprises with carrier contracts in many regions, retailer compliance labels, or regulated goods are better served by an enterprise multi-carrier system or direct carrier integrations. GoatLabels suits a composable team that is comfortable running one more small service and would rather call one API than maintain four carrier integrations.

Comparing storefront platforms first? See B2B ecommerce shipping software. Ready to read the endpoints? Start with the shipping API for developers.

Public API v1

A queue consumer that buys the label.

Your worker already has the order from the subscription message. The GoatLabels REST API serves as the shipping API for commercetools without a Connector: your worker rate-shops and buys in a few calls, with unlimited calls on every plan, live and test keys, Idempotency-Key support, signed replayable webhooks, and rate-limit headers. There is no SDK; the OpenAPI 3.1 spec generates a typed client for your language.

Create, rate-shop, and buy in a few calls
Idempotency-Key for redelivered queue messages
Signed, replayable tracking webhooks
Test keys for a staging project
Read the API docs Get an API key$0 per API call
curl https://api.goatlabels.io/api/v1/shipments
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421

{
  "to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
  "parcel": { "weight": 2.6, "weight_unit": "lb" },
  "service": "fedex_intl_priority"
}
Pay for labels, not a tier

Two plans. No contract.

Free is $0 a month with 50 shipments a month. Pro is $40 a month flat with unlimited shipments and cheaper label rates. Bulk CSV, 13 connectors, and the REST API come with both, and labels are paid from a prepaid wallet.

Pro

Most popular
$40/ month
Unlimited shipments on one flat plan
Cheaper label rates
Four carriers rate-shopped on every parcel
The same API and wallet as Free

Volume pricing

illustrative
less volumemore volume

pay for labels, not for seats

Free

$0 / forever

Enough to wire up a staging project and ship real orders.

50 shipments a month at $0
USPS, UPS, FedEx, and DHL rate-shopped on every parcel
REST API with unlimited calls
Bulk CSV import, up to 500 rows per file
13 store connectors included

The assistant is included

The in-app assistant drafts a label from a pasted order or email for you to confirm. It is part of the product, not an add-on.

Web, every planTelegram, Pro

API on every plan

GET /api/v1/shipments

200 OK · plan: free

Unlimited calls. The same wallet as the dashboard.

Bring last month's shipments

Put real parcels through the side-by-side quotes and compare against what those labels cost you on

ShippoPirate ShipShipStation
No contractNo card for FreeFour carriers
USPSUPSFedExDHL

Label prices are quoted live from USPS, UPS, FedEx, and DHL and shown as one number, the same number that leaves your wallet. Other vendors' plans move, so compare against their current pricing page. Full pricing details

commercetools shipping integration: FAQ

Does GoatLabels have a commercetools connector?
No. GoatLabels has no packaged commercetools Connector or app. The route is a small service you run that consumes order messages and calls the REST API, or a CSV import of up to 500 rows per file from an order export. The 13 native store connectors do not include commercetools.
Which carriers can commercetools shipping labels use?
USPS, UPS, FedEx, and DHL, rate-shopped on every parcel from one account with one all-in number per carrier, plus an international network. Parcels ship from US and Singapore origins. You cannot add your own carrier accounts or negotiated rates.
How much does a commercetools shipping integration with GoatLabels cost?
The software is $0 a month on Free with 50 shipments a month, or $40 a month flat on Pro with unlimited shipments and cheaper label rates. The API is on both plans with unlimited calls. Labels are paid from a prepaid wallet, and there is no contract. Your own queue and worker hosting are separate.
Can GoatLabels supply shipping rates at checkout?
The API returns live quotes for a parcel, so your own checkout service can call it and show the result. GoatLabels provides no commercetools checkout component and no SLA, so add a timeout and a fallback rate in your service. You can start with labels after the order is placed.
What happens if the same order message is delivered twice?
Nothing is bought twice if you send an Idempotency-Key. Use the order or message ID as the key on the purchase call; a repeated call with the same key returns the original result instead of a second label. Queue redelivery and retries after a timeout are both covered this way.
Can I talk to someone about my commercetools setup first?
Yes. Email contact@goatlabels.io with your monthly parcel volume, your origins, and a sample order payload or CSV export. We check the fields against the API and the bulk importer, price the parcels across USPS, UPS, FedEx, and DHL, and show the ledger. There is nothing to sign.

Related reading: B2B ecommerce shipping software, Salesforce Commerce Cloud shipping software, the shipping API for developers, shipping API comparison, order management system shipping integration.

B2B commerce shipping guides: Adobe Commerce B2B shipping, Amazon Business shipping labels, B2B ecommerce shipping software, BigCommerce B2B shipping software, Salesforce Commerce Cloud shipping, Shopify B2B shipping software, Walmart Marketplace shipping software, WooCommerce wholesale shipping.

Try it with test keys first.

Order messages in, parcel labels out.
One small service.

Consume the order message, call the API, compare USPS, UPS, FedEx, and DHL on each parcel, then decide. Free is $0 a month; Pro is $40 flat with unlimited shipments.

No contract. No card for the Free plan.