UPS
Purpose
This connection buys UPS labels from inside the shipping process. It covers the widest range of services of all connections and carries the highest single weight — which usually makes it the choice for international and heavy shipments.
Scope
- Five services:
standard,express,expedited,saverandground. - Maximum weight 70 kg per package.
- Tracking with status mapping.
- Return labels from the same operation.
- Customs handling in the same request as the label — unlike DPD and Hermes, where it takes a
different route.
- Real cancellation as long as the shipment has not been handed over.
Setup
Credentials live as an integration under Integrations — provider ups. The credential names start with the provider, which keeps them apart from the settings of other connections.
| Setting | Required | Meaning |
|---|---|---|
ups_client_id | yes | Application id (OAuth, client credentials). Stored encrypted and never shown again. |
ups_client_secret | yes | Application secret. Stored encrypted and never shown again. |
account_number | yes | Account number ("Shipper Number"). Without it UPS rejects every shipment. |
shipper | no | Sender address as a group of fields; passed to UPS unchanged, field names as in the UPS interface. |
label_format | no | gif (default) or zpl for the label printer. |
production | no | true switches to live operation. Without it everything runs against the test environment. |
Credentials still stored in clear text under the old name without the provider prefix are taken over encrypted — on the next save or read of the integration and by the update step "Store credentials encrypted" (bin/console app:secrets:migrate).
Interplay
The connection sits inside Shipping: that is where the shipment is created, where the label is bought and where tracking runs. Credentials live as an integration under Integrations in the encrypted store — never in a setting and never in clear text; the same place switches between test environment and production. Labels and delivery notes reach the right printer through Printing & workstations. When a label is produced, and in how many copies, is decided by automations — shipping brings no rule engine of its own.
Limits
- The real run is still outstanding. What is verified is that we ask correctly and read the
answer correctly — the tests drive the interface with prepared responses. That UPS actually accepts the request we build is not proven; access to the real test environment is missing.
- Prices and contract terms do not come from here. What a shipment costs is in the contract with
the carrier; this connection buys the label, it does not price it.