> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/central-issuance/implement-central-issuance/card-order-tracking/track-shipment.md).

# Track shipment

D1 can provide shipment tracking after a physical card ships.

You receive shipment updates:

* In notifications sent to your issuer backend.
* In on-demand status responses, when available.

### When shipment tracking is available

Shipment tracking is usually available after `details.status = CARD_SHIPPED`.

See [Card order tracking](/central-issuance/implement-central-issuance/card-order-tracking.md) for the end-to-end flow.

{% hint style="info" %}
Carrier tracking fields are optional. Availability depends on the carrier integration.
{% endhint %}

### Carriers supported

| Carrier code       | Carrier name             |
| ------------------ | ------------------------ |
| chronopost-france  | Chronopost France        |
| dhl                | DHL Express              |
| dhl-global-mail    | DHL eCommerce            |
| deutsch-post       | Deutsche Post Mail       |
| estafeta           | Etafeta                  |
| fedex              | FedEx®                   |
| la-poste-colissimo | La Poste                 |
| nacex              | NACEX                    |
| spanish-seur       | Spanish Seur             |
| singapore-post     | Singapore Post           |
| spain-correos-es   | Correos de España        |
| ups                | UPS                      |
| usps-iv-api        | USPS Informed Visibility |

### Shipment object

When present, `details.shipment` can include:

* `carrier`: Carrier code (for example, `fedex`).
* `trackingNumber`: Carrier tracking reference.
* `status`: Carrier shipment status.
* `message`: Normalized carrier message for display.
* `trackingUrl`: Direct URL to carrier tracking.
* `redirectUrl`: Carrier landing page URL for delivery actions.
* `pickupDate`: ISO 8601 timestamp when the carrier collected the parcel.
* `estimatedDeliveryDate`: ISO 8601 estimated delivery timestamp.
* `lastUpdatedAt`: ISO 8601 timestamp of the last event.
* `deliveryDate`: ISO 8601 timestamp of delivery, when provided.
* `signedBy`: Signature recipient, when provided.
* `failedDeliveryAttempts`: Number of failed delivery attempts, when provided.
* `lastCheckpoint`:
  * `checkpointTime`: The date and time of the checkpoint event, provided by the carrier. It uses the timezone of the checkpoint. The format may differ depending on how the carrier provides it.
  * `city`: City info provided by carrier.
  * `countryName`: Country name of the checkpoint, may also contain other location info.
  * `message`: Checkpoint message.

#### Example

```json
{
  "operations": [
    {
      "operationId": "01c5a05e-e197-11ec-8fea-0242ac120002",
      "operation": "PRODUCE",
      "status": "SUCCESSFUL",
      "startTime": "2025-01-17T06:28:02.492Z",
      "endTime": "2025-01-21T09:28:12.492Z",
      "cardId": "271b-6e47-8ec3-7f3f",
      "details": {
        "status": "CARD_SHIPPED",
        "dueDate": "2025-01-21",
        "productionSite": "Gemenos",
        "shipment": {
          "pickupDate": "2025-01-21T17:32:28Z",
          "carrier": "fedex",
          "trackingNumber": "61293150000079650811",
          "status": "IN_TRANSIT",
          "message": "In transit",
          "trackingUrl": "https://www.fedex.com/apps/fedextrack/?tracknumbers=61293150000079650811&cntry_code=US",
          "redirectUrl": "https://www.fedex.com/apps/fedextrack/?action=track&tracknumbers=61293150000079650811&cntry_code=US",
          "estimatedDeliveryDate": "2025-01-21T17:32:28Z",
          "lastUpdatedAt": "2025-01-21T17:32:28Z",
          "lastCheckpoint": {
            "checkpointTime": "2025-01-21T17:32:28Z",
            "city": "New York",
            "countryName": "United States",
            "message": "Arrived at facility"
          }
        }
      }
    }
  ]
}
```

#### Shipment statuses

<table><thead><tr><th width="206.4000244140625">Status code</th><th>Description</th></tr></thead><tbody><tr><td><code>INFO_RECEIVED</code></td><td>Carrier received the shipping request and will collect the parcel.</td></tr><tr><td><code>IN_TRANSIT</code></td><td>Parcel is moving through the carrier network.</td></tr><tr><td><code>OUT_FOR_DELIVERY</code></td><td>Parcel is out for delivery or ready for pickup.</td></tr><tr><td><code>FAILED_ATTEMPT</code></td><td>Carrier attempted delivery and will typically retry.</td></tr><tr><td><code>DELIVERED</code></td><td>Parcel was delivered.</td></tr><tr><td><code>AVAILABLE_FOR_PICKUP</code></td><td>Parcel is available at a pickup point.</td></tr><tr><td><code>EXCEPTION</code></td><td>Parcel is on hold, undelivered, or returned.</td></tr><tr><td><code>EXPIRED</code></td><td>No tracking information for 30 days since added.</td></tr><tr><td><code>PENDING</code></td><td>Tracking information is not available yet.</td></tr></tbody></table>

#### Shipment messages (sub-status)

`message` is a normalized display string. Values can vary over time. It provides additional details about the shipment status.

<details>

<summary>Example <code>message</code> values</summary>

<table><thead><tr><th width="192.79998779296875">Shipment status</th><th width="269.60003662109375">Message (sub-status)</th><th>Description</th></tr></thead><tbody><tr><td><code>DELIVERED</code></td><td><code>Delivered</code></td><td>Confirm delivery.</td></tr><tr><td><code>DELIVERED</code></td><td><code>Picked up by the customer</code></td><td>Confirm pickup.</td></tr><tr><td><code>DELIVERED</code></td><td><code>Sign by customer</code></td><td>Confirm signature delivery.</td></tr><tr><td><code>DELIVERED</code></td><td><code>Delivered and received cash on delivery</code></td><td>Confirm COD delivery.</td></tr><tr><td><code>AVAILABLE_FOR_PICKUP</code></td><td><code>Available for pickup</code></td><td>Indicate pickup availability.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Exception</code></td><td>Indicate a delivery exception.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Customer moved</code></td><td>Indicate recipient relocation.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Customer refused delivery</code></td><td>Indicate a refusal.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Delayed (Customs clearance)</code></td><td>Indicate customs delay.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Delayed (External factors)</code></td><td>Indicate external delay.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Held for payment</code></td><td>Indicate payment hold.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Incorrect Address</code></td><td>Indicate address issue.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Pick up missed</code></td><td>Indicate pickup missed.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Rejected by carrier</code></td><td>Indicate carrier rejection.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Returning to sender</code></td><td>Indicate return in progress.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Returned to sender</code></td><td>Confirm return completed.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Shipment damage</code></td><td>Indicate damaged parcel.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Shipment lost</code></td><td>Indicate lost parcel.</td></tr><tr><td><code>EXCEPTION</code></td><td><code>Carrier pickup failed</code></td><td>Indicate carrier pickup failed.</td></tr><tr><td><code>FAILED_ATTEMPT</code></td><td><code>Failed Attempt</code></td><td>Indicate failed delivery attempt.</td></tr><tr><td><code>FAILED_ATTEMPT</code></td><td><code>Addressee not available</code></td><td>Indicate recipient unavailable.</td></tr><tr><td><code>FAILED_ATTEMPT</code></td><td><code>Business Closed</code></td><td>Indicate business closed.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>In Transit</code></td><td>Indicate in-transit movement.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Acceptance scan</code></td><td>Confirm carrier acceptance.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Arrival scan</code></td><td>Confirm hub arrival.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Arrived at the destination country/region</code></td><td>Confirm destination arrival.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Customs clearance completed</code></td><td>Confirm customs completed.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Customs clearance started</code></td><td>Confirm customs started.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Departure Scan</code></td><td>Confirm facility departure.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Problem resolved</code></td><td>Confirm issue resolution.</td></tr><tr><td><code>IN_TRANSIT</code></td><td><code>Forwarded to a different delivery address</code></td><td>Indicate forwarding.</td></tr><tr><td><code>INFO_RECEIVED</code></td><td><code>Info Received</code></td><td>Confirm shipping information received.</td></tr><tr><td><code>OUT_FOR_DELIVERY</code></td><td><code>Out for Delivery</code></td><td>Indicate out for delivery.</td></tr><tr><td><code>OUT_FOR_DELIVERY</code></td><td><code>Customer contacted</code></td><td>Indicate carrier contact attempt.</td></tr><tr><td><code>OUT_FOR_DELIVERY</code></td><td><code>Delivery appointment scheduled</code></td><td>Indicate appointment scheduled.</td></tr><tr><td><code>PENDING</code></td><td><code>Pending</code></td><td>Indicate no tracking available.</td></tr><tr><td><code>PENDING</code></td><td><code>Carrier account not connected</code></td><td>Indicate missing carrier connection.</td></tr><tr><td><code>PENDING</code></td><td><code>Label created, no updates yet</code></td><td>Indicate label created.</td></tr><tr><td><code>PENDING</code></td><td><code>Wrong carrier</code></td><td>Indicate carrier mismatch.</td></tr><tr><td><code>PENDING</code></td><td><code>No recent updates</code></td><td>Indicate stale tracking.</td></tr><tr><td><code>PENDING</code></td><td><code>Unrecognized carrier</code></td><td>Indicate unsupported carrier.</td></tr><tr><td><code>EXPIRED</code></td><td><code>Expired</code></td><td>Indicate tracking expired.</td></tr></tbody></table>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/central-issuance/implement-central-issuance/card-order-tracking/track-shipment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
