> 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/shipment.md).

# Shipment

<figure><img src="/spaces/ol7FqojHqm5it3effNc4/files/sEREnFJEWDoigZBsXc5i" alt=""><figcaption><p>Shipment options for physical cards.</p></figcaption></figure>

D1 supports selecting a shipment provider for physical card orders. D1 uses your D1 API request fields and shipment configuration set during D1 onboarding.

### Shipment types

Two shipment types are available through `shipment.type`:

* `INDIVIDUAL` (default): Ship each card to the end user.
* `BULK`: Group multiple cards and ship them together (for example, to a branch).

### Inputs used for personalization

Required D1 API inputs:

* `services.delivery`: Shipment method identifier configured during D1 onboarding.
* `shipment.type`: `INDIVIDUAL` or `BULK`.
* `shipment.deliveryAddress`: Delivery address used for the shipment.

Conditional D1 API inputs:

* `shipment.individualAddress`: Address of the card holder, usually printed onto the card carrier.
  * Required for `INDIVIDUAL`.

Optional D1 API inputs (BULK grouping):

* `shipment.groupId`: Groups cards into a first-level container.
* `shipment.orderId`: Groups multiple first-level containers into a second-level container.

#### Example (INDIVIDUAL)

```json
{
  "services": {
    "delivery": "usps-imb"
  },
  "shipment": {
    "type": "INDIVIDUAL",
    "deliveryAddress": {
      "line1": "10 Main St",
      "zipCode": "10001",
      "city": "New York",
      "countryCode": "US"
    }
  }
}
```

#### Example (BULK)

```json
{
  "services": {
    "delivery": "laposte-cip"
  },
  "shipment": {
    "type": "BULK",
    "groupId": "container-001",
    "orderId": "dispatch-2026-02-19",
    "deliveryAddress": {
      "line1": "Branch 12",
      "zipCode": "75001",
      "city": "Paris",
      "countryCode": "FR"
    }
  }
}
```

### Shipment flows

#### Ship to the end user (INDIVIDUAL)

Typical flow:

1. The end user address is printed onto a card carrier.
2. The card is affixed to the card carrier.
3. The card carrier is folded.
4. The card carrier is placed in an envelope.
5. The envelope is shipped to the end user.

#### Ship to a branch (BULK)

You can group multiple cards and send them to a branch or a designated delivery location.

Enable this mode with `shipment.type = "BULK"`.

Typical flow:

* The end user address is printed onto a card carrier.
* The card is affixed to the card carrier.
* The card carrier is folded.
* The card carrier is placed in an envelope.
* Several envelopes are grouped and packed in a box.
* The box is shipped to the branch.

In this mode, cards can be grouped into one to three levels.

**One level of grouping**

<figure><img src="/spaces/ol7FqojHqm5it3effNc4/files/idHw6kaHMV1Ayy0LeIa0" alt=""><figcaption><p>One‑level grouping: group by `deliveryAddress`.</p></figcaption></figure>

**Level 1:** All cards with the same `shipment.deliveryAddress` are grouped and shipped together to that address.

**Two levels of grouping**

<figure><img src="/spaces/ol7FqojHqm5it3effNc4/files/b89zidmkmrqnPODcNfcI" alt=""><figcaption><p>Two‑level grouping: `groupId` containers grouped by `deliveryAddress`.</p></figcaption></figure>

**Level 1:** All cards with the same `shipment.groupId` are grouped together and placed in a container.

**Level 2:** All containers with the same `shipment.deliveryAddress` are grouped and shipped together to that address.

**Three levels of grouping**

<figure><img src="/spaces/ol7FqojHqm5it3effNc4/files/crLlXFxzNtUcSLXjjeDP" alt=""><figcaption><p>Three‑level grouping: `groupId` → small containers, aggregated by `orderId`, then by `deliveryAddress`.</p></figcaption></figure>

**Level 1:** All cards with the same `shipment.groupId` are grouped together and placed in a small container.

**Level 2:** All small containers with the same `shipment.orderId` are grouped together in a larger container.

**Level 3:** All large containers with the same `shipment.deliveryAddress` are grouped and shipped together to that address.

### Shipment grouping reference

* `deliveryAddress`: Cards shipped together share the same delivery address (outermost grouping in one‑level mode).
* `groupId`: Groups cards into a first‑level container.
* `orderId`: Groups multiple first‑level containers into a second‑level container (used for three‑level grouping).

Typical patterns:

* One level: `deliveryAddress` only.
* Two levels: `groupId` + `deliveryAddress`.
* Three levels: `groupId` + `orderId` + `deliveryAddress`.

### Carrier-specific services

| Country     | Carrier        | Details                                                                                                                                                                                                                      |
| ----------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| France      | La Poste - CIP | <p>Courrier Industriel Premium (CIP)<br>Generates a unique smart data barcode to identify and track each envelope.</p><p><img src="/spaces/ol7FqojHqm5it3effNc4/files/wiQVtrc5ywMaeZZZ5KsO" alt="" data-size="original"></p> |
| Netherlands | PostNL - KIX   | <p>KlantIndeX (KIX)<br>Generates a unique barcode to identify and track each envelope.</p><p><img src="/spaces/ol7FqojHqm5it3effNc4/files/cdZAfq4zSl9jkiWdyHMM" alt="" data-size="original"></p>                             |
| US          | USPS - IMB     | <p>Intelligent Mail Barcode (IMB)<br>Generates a unique barcode to identify and track each envelope with IV-MTR.</p><p><img src="/spaces/ol7FqojHqm5it3effNc4/files/FG8MAVH0mFVmNfg6FAHZ" alt="" data-size="original"></p>   |

### Configuration in D1

During D1 onboarding, Thales configures:

* Allowed values for `services.delivery`.
* The mapping between shipment attributes and carrier options.
* Input validation rules (for example, phone number presence checks).


---

# 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/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.
