Announced Item Sets

An announced item set includes the EANs and quantities of all items you plan to include in a shipment. Each shipping notice has only one active announced item set, which must include all items in the shipment.

If necessary, you may update the announced item set by POSTing a complete new set as many times as needed. Only the most recent announced item set is considered actual data.

When you are ready to lock your shipment, send an announcement confirmation. We will then set the shipping order state to ready_for_delivery_date, and you will no longer be able to update the announced item set. If you must make changes after this point, you will need to create a new shipping notice with a new shipping notice ID or contact zDirect Technical Support.

Authentication

The zDirect API requires OAuth 2.0 authentication for all API calls. Use the Authentication API to generate access tokens as described in the Authentication section.

Header Requirements

Once a shipping notice has been created, all PUT and POST calls to the Shipping Notices API require an If-Match header with a valid ETag value for the shipping notice, and a content-type header with the value application/json. For more information, see Shipping Notices API Headers in "Shipping Notices Overview."

Creating Announced Item Sets

Request Body

Include the EAN and quantity of all items you intend to ship with the shipment in the request body as shown:

{
  "items": [
    {
      "ean": "0191476239145",
      "quantity": 2
    }
  ]
}

Create Announced Item Set

To add a new announced item set to a shipping notice, use the following call to post a JSON request body like the one described above:

POST /zfs/shipping-notices/{shipping_notice_ID}/announced-item-sets

The following example httpie call uses the local file announce.json as input to create a new announced item set:

http POST \
https://api-sandbox.merchants.zalando.com\
/zfs/shipping-notices/{shipping_notice_ID}/announced-item-sets \
"Authorization:Bearer $YOUR_ACCESS_TOKEN" \
content-type:application/json \
if-match:$ETag_VALUE \
< announce.json

Response Codes

HTTP Code Meaning
201 Announced item set successfully created.
400 Error. Additional information included.

Updating Announced Item Sets

You may repeat the above operation and specify the same Shipping Notice ID to overwrite an existing announced item set with new data.

You must submit a complete new request body and cannot, for example, update only a single item.

Note that only the most recent announced item set will be considered active data. Old versions of the announced item set will be maintained as historical records only.

Response Codes

HTTP Code Meaning
201 Announced item set successfully updated.
400 Error. Additional information included.

Sending an Announcement Confirmation

When you are ready to finalize your announced item set and you would like us to begin calculating your delivery date, use the Shipping Notices API to send an announcement confirmation to ZFS Operations.

Once we receive an announcement confirmation, we will change the shipping notice state to ready_for_delivery_date. You will no longer be able to update the announced item set for this shipping notice.

To send an announcement confirmation, make the following call with no request body:

POST /zfs/shipping-notices/{shipping_notice_ID}/announcement-confirmations

Response Codes

HTTP Code Meaning
201 Announcement confirmation successfully created.
400 Error. Additional information included.

Getting Announced Item Sets

Getting All Announced Item Sets

To get all announced item sets for a shipping notice:

GET /shipping-notices/{shipping-notice-id}/announced-item-sets

The request returns a paginated query result containing a list of announced item sets for the specified shipping notice, sorted by creation time in descending order.

This example illustrates the format of the returned JSON:

{
  "announced_item_sets": [
    {
      "self": "string",
      "items": [
        {
          "ean": "0191476239145",
          "quantity": 0,
          "sku": "TH341G023-K1100XL000",
          "validation_state": "string"
        }
      ],
      "items_total": 0,
      "items_valid": 0,
      "validation_state": "string",
      "validation_description": "string"
    }
  ],
  "next": "string"
}

Getting a Specific Announced Item Set

To get a specific announced item set:

GET /zfs/shipping-notices/{shipping_notice_ID}/announced-item-sets/{announced_item_set_ID}

The returned JSON will resemble the example shown above.

Announced Item Set ID

To get an announced item set ID, get all announced item sets, and you will find the announced item set ID in the self URL of the announced item set you are interested in:

"self": "https://api-sandbox.merchants.zalando.com/zfs/shipping-notices/{shipping_notice_ID}/announced-item-sets/{announced_item_set_id}",

In this example, the announced item set ID is a0855da9-18c4-4c09-a99d-3f5af7099b0c:

{
  "announced_item_sets": [
    {
      "self": "https://api-sandbox.merchants.zalando.com/zfs/shipping-notices/60b65f3f-1937-430f-b338-07076cd72293/announced-item-sets/a0855da9-18c4-4c09-a99d-3f5af7099b0c",
      ...

Response Codes

HTTP Code Meaning
200 Announced item set or sets returned in reply body.
400 Error. Additional information included.
Contact Support