Understanding notifications¶
Each notification contains a “state” that specifies which type of event triggered the notification.
State¶
| State | Description |
|---|---|
| assigned | order has been assigned to the store |
| fulfilled | order items were picked and completed in the Connected Retail tool. The order is ready to be shipped to the customer |
| cancelled | all items of the order were cancelled by the store or by the technical support as requested by the store, and the order was cancelled for the customer who placed the order |
| returned | some of/or all of the store fulfilled order items were returned by the customer who placed the order |
| zalando_warehouse_fulfilled | order items were picked and completed by Zalando Fulfillment Solutions (ZFS). The order is ready to be shipped to the customer |
| zalando_warehouse_returned | some of/or all of the ZFS fulfilled order items were returned by the customer who placed the order |
State transitions¶
| From | To | When |
|---|---|---|
| assigned | store gets assigned the order by Connected Retail | |
| assigned | cancelled | this will result in cancellation of the order items for the customer who placed the order, or some of the cancelled order items will be still assigned to another new order which might be fulfilled by another store |
| assigned | fulfilled | store picks at least a few items of the order and fulfills the order by shipping it to the customer |
| fulfilled | returned | customer returns a few items of the store fulfilled order to the store or to zalando warehouse |
| returned | returned | customer returns a few items of the store fulfilled order to the store or to zalando warehouse |
| zalando_warehouse_fulfilled | zalando_warehouse_returned | customer returns a few items of the ZFS fulfilled order to zalando warehouse |
| zalando_warehouse_returned | zalando_warehouse_returned | customer returns a few items of the ZFS fulfilled order to zalando warehouse |
Notification Structure¶
Order event is a JSON object with the following schema
| Field | Mandatory | Type | Description | Example |
|---|---|---|---|---|
| event_id | required | string | unique id of the event | “782d1ec3-8441-44db-a081-76df6b2de18f” |
| order_id | required | string | id of the order in Connected Retail | “61e2d090-0d53-451f-9031-413559d34732” |
| order_number | required | string | the number of the order in Connected Retail. This number is displayed in the Connected Retail tool app. | 10105000000000 |
| state | required | string | one of “assigned”, “cancelled”, “fulfilled”, “returned“, “zalando_warehouse_fulfilled” or “zalando_warehouse_returned” | “assigned” |
| store_id | required for state “assigned”, “cancelled”, “fulfilled” and “returned“; optional for state “zalando_warehouse_fulfilled” and “zalando_warehouse_returned” | string | store id provided in the FCI feed in the “store” column; for state “returned” items might be returned to a store different from the one that fulfilled the order; for state “zalando_warehouse_fulfilled” and “zalando_warehouse_returned”, it is omitted | “11” |
| timestamp | required | string | ISO 8061 timestamp | “2020-01-28T07:41:23.384Z” or “2020-01-28T07:41:31Z” |
| delivery_details | optional | jsonObject | delivery and return tracking information | {delivery_tracking_number: "003404342888680268172", delivery_carrier_name: "DHL", return_tracking_number: "35141263178", return_carrier_name: "DHL} |
| customer_billing_address | optional | jsonObject | name and billing address of the customer | { "first_name": "Johann", "last_name": "Heinichen", "address_line_1": "Valeska-Gert-Straße 5", "zip_code": "10243", "city": "Berlin", "country_code": "DE" } |
| items | required | Array | items that were affected by the state transition
| { "item_id": "15c3aa83-3f73-4ad6-a326-e1a10a89dd52", "ean": "4059701022541", "price": 99.15, "currency": "EUR", "article_number": “31.832.34-6,5”, "zalando_article_number": “DU341A00M-1020375000”, "article_location": 213 } |
| cancelled_items | optional | Array | items that were cancelled in the partially fulfilled order
| { "item_id": "15c3aa83-3f73-4ad6-a326-e1a10a89dd52", "ean": "4059701022541", "price": 99.15, "currency": "EUR", "article_number": “31.832.34-6,5”, "zalando_article_number": “DU341A00M-1020375000”, "article_location": 213, "cancellation_reason": "OUT_OF_STOCK" } |
Item has the following schema:
| Field | Mandatory | Type | Description | Example |
|---|---|---|---|---|
| item_id | required | string | id of the item in Connected Retail | “15c3aa83-3f73-4ad6-a326-e1a10a89dd52” |
| ean | required | string | EAN of the article | “4059701022541” |
| price | required | number | the price of the article | 99.95 or 12 |
| currency | required | string | ISO-4217 currency code | “EUR” |
| article_number | required | string | article number (SKU) provided in the FCI feed in the “article_number” column | “31.832.34-6,5” |
| zalando_article_number | required | string | Zalando article identifier | “DU341A00M-1020375000” |
| article_location | optional | string | location of the article provided in the FCI feed (for example, the id of the “primary” department where article can be found in the store) | “213” |
| return_reason_code | optional | number | Reason number associated to return reason, description of code can be found in “Return Reason Code Description” section | 1 |
| return_location | optional | string | The location of the item's return when the order was fulfilled by a store. If the item was returned to a store, the value is "STORE," and if it was returned to a Zalando warehouse, the value is "ZALANDO" | STORE |
| cancellation_reason | optional | string | The "Cancellation Reason Description" section contains the item's cancellation reason and a description of the values | "OUT_OF_STOCK" |
delivery_details has the following schema:
| Field | Mandatory | Type | Description | Example |
|---|---|---|---|---|
| delivery_tracking_number | optional | string | delivery tracking number | “003404342888680268172” |
| delivery_carrier_name | optional | string | delivery carrier name | “DHL” |
| return_tracking_number | optional | string | return tracking number | "35141263178" |
| return_carrier_name | optional | string | return carrier name | “DHL” |
customer_billing_address has the following schema:
| Field | Mandatory | Type | Description | Example |
|---|---|---|---|---|
| first_name | required | string | first name of the customer | “Johann” |
| last_name | required | string | last name of the customer | “Heinichen” |
| address_line_1 | required | string | first line of the billing address | “Valeska-Gert-Straße 5“ |
| address_line_2 | optional | string | additional information about the billing address, e.g. NIP for Poland, More detailed description of address and addressee or additional instructions | “NIP 1234567890“, “PL0123456789“, “Hinterhaus, 1. OG“, “At the mailboxes through the sliding door“ |
| address_line_3 | optional | string | further additional information about the billing address | |
| zip_code | required | string | billing address zip code | “10243“ |
| city | required | string | billing address city | “Berlin“ |
| country_code | required | string | billing address country code | “DE“ |
Return Reason Code Description¶
| Return Reason Code | Reason |
|---|---|
| 1 | It doesn't suit me |
| 2 | Too big |
| 3 | Too small |
| 4 | Insufficient quality |
| 5 | Arrived too late |
| 6 | Not as expected |
| 7 | Incorrect article |
| 8 | Faulty |
| 9 | No reason available |
| 10 | Delivery failed |
| -1 | Unknown reason |
Cancellation Reason Description¶
| Cancellation reason | Description |
|---|---|
| "ITEM_BROKEN" | Item is broken |
| "ITEM_MISSING" | Item is in stock in the inventory system, but in fact it is missing in the store |
| "OUT_OF_STOCK" | Item is not in stock in the inventory system |
| "UNKNOWN_REASON" | Unknown reason |
Returned item location¶
| Locations | Description |
|---|---|
| "STORE" | Item was returned to store |
| "ZALANDO" | Item was returned to Zalando warehouse. In this case the store_id in the event refers to the store that fulfilled the order |