Appearance
Carrier integration
Without a carrier integration, the warehouse creates shipping labels outside Boxture and types or scans the tracking number into the shipment. With a carrier integration, Boxture sends the shipment to the carrier platform itself, receives the label and the tracking number back, and attaches the label to the shipment ready for printing. This page explains how that works, how to configure it, and how to investigate a label that could not be created.
Carriers, service types and shipping methods themselves are described in Carriers and shipping methods.
How it works
A shipment is linked to a carrier through its shipping method. When that carrier has an integration method configured for the shipment's account and location, Boxture creates the label automatically:
- Boxture collects the shipment's details: sender (the warehouse), recipient, importer and exporter if present, the parcels with their weight, dimensions and contents, the delivery terms and the order reference.
- It sends these to the carrier platform at the configured API endpoint, authenticated with the authentication key.
- The platform books the shipment with the actual carrier and answers with a tracking number (and, if applicable, a return tracking number) and the label.
- Boxture stores the tracking number on the shipment and all its parcels, attaches the label to the shipment as a waybill (ZPL for label printers, or PDF), and marks the shipment labelled.
- The label is then printed and e-mails are sent like any other paperwork, through the shipment's papers and messaging templates for the "paperwork generated" event.
The request runs in the background. You receive a notification when it succeeds ("Processed shipment ... for the carrier.") or fails.
Integration methods
The setting Carrier › Integration method offers two choices:
| Method | Status |
|---|---|
| Skepr | Supported. Boxture creates labels through the Skepr shipping platform, which books the shipment with the actual carrier. |
| Porto | Listed, but Boxture's label creation does not support it. A shipment for a carrier with this method fails with "Integration method porto is not supported." |
The carrier's code in Boxture tells Skepr which carrier to use. A few codes are translated: dhl_express, dhl_parcel, post_nl, dpd_nl, fcb and nfo; any other code is passed on unchanged. For UPS, the shipment's service type name (for example "Standard", "Ground" or "Worldwide Express") is translated into the UPS service code.
Configuring a carrier
Go to Admin › Carriers & Services › Carriers and click the carrier.
The carrier page shows its settings. Set them for the account (and location) that ships with this carrier:
Setting What to enter Integration method Skepr. Leave empty to create labels outside Boxture. API endpoint The address of the platform's shipment API. Required. Authentication key The API token for the platform. Required. Authentication password A password, if the platform requires one. Account number Your account number with the carrier. Pickup time When the carrier collects parcels (local time of the location, default 17:00). Used to calculate an order's ship date, not for label creation. See Cutoff and SLA.
These settings are looked up from the shipment's account upwards through its parent accounts. Configure a carrier once on a parent account to use it for all customers below it, and override it on a customer account that has its own contract with the carrier. Most settings can also be made specific to a location and a service type, for example to use a different account number per warehouse.
When labels are created
The moment depends on the setting Packing › Create label on pack complete, which can be set per carrier.
| Setting | When the label is created | Shipment states |
|---|---|---|
| On | As soon as the order is completely packed | pending → labelling → labelled → shipping → shipped |
| Off (default) | When the shipment is shipped | shipped → labelling → labelled |
With the setting on, the label is ready while the parcel is still at the packing station, which is the usual choice when packers print and attach labels themselves. If the order is not yet fully packed, no label is requested and you see "Order ... is not fully packed."
Creating a label manually
Open the shipment and choose Label in its menu. This sends the request again, for example after correcting an address or a parcel weight. The Label action is available to admins, warehouse associates and shippers while the shipment is pending or shipped.
Return orders
When a return order has a shipping method whose carrier has an integration method for the return's destination location, Boxture creates the return shipment and requests the return label straight away, so it can be sent to the customer. If that fails, you see "Error during waybill create with the carrier, verify and/or update the shipment details before trying again."
When a label fails
If the platform rejects the shipment or cannot be reached:
- you receive the notification "Failed to process shipment ... for the carrier." with the reason, usually the carrier's own error message (for example an invalid postal code or a missing phone number);
- the shipment goes back to pending (or stays shipped if everything on it had already been shipped), so it can be corrected and labelled again.
| Message | Cause |
|---|---|
| Integration method ... is not supported. | The carrier's integration method is not Skepr. |
| Missing authorization_key / no API endpoint | The authentication key or API endpoint is not set for this account, location and service type. |
| Order ... is not fully packed. | Create label on pack complete is on and the order still has items to pack. |
| Carrier faced an internal server error. | The platform answered with an internal error; the details follow. Try again later. |
| Error during waybill create with the carrier, verify and/or update the shipment details before trying again ... | The carrier rejected the data. Check the addresses, weights, dimensions and customs values on the shipment. |
To fix a rejected shipment: correct the shipment (or the order's delivery contact), then choose Label on the shipment.
Logged requests
Every request Boxture sends to the carrier platform is recorded with its response, so you can see exactly what was sent and what came back.
Open the shipment and go to the Other card. The Carrier waybill requests tab lists each attempt with:
| Column | Meaning |
|---|---|
| Shipment | The shipment the request was for |
| Carrier name | The carrier |
| Response status | The HTTP status of the answer (for example 201 for success, 422 for rejected data) |
| Errors | The error messages returned by the platform |
| Created at | When the request was sent |
Click a row to open the request. The page shows the Response Info (status), the Request Body and Response Body, and the Response Headers and Request Headers. This is the information the carrier platform's support team needs when a label keeps failing.
TIP
When a label fails, check the Errors column first. In most cases it names the field the carrier did not accept, such as the recipient's phone number or a parcel weight of zero.
Tracking
The tracking number from the carrier is shown on the shipment and its parcels, used in shipping confirmation e-mails, and passed on to sales channels by the integrations (for example to Shopify and WooCommerce). The tracking link is built from the carrier's tracking URL, configured on the carrier. See Shipments and Labels and documents.