# Shipment Notification

### Send tracking number (Third party->Spectrum)

Once an entire order has been shipped to the customer, the third-party should send Spectrum the tracking number as a shipment notification for each order. This is done over HTTP as a REST API call.

```http
POST https://{SpectrumEnvironment}/api/order/ship-notification HTTP/1.1
SPECTRUM_API_TOKEN: {SpectrumApiToken}
Content-Type: application/json
```

The available `{SpectrumEnvironment}` base URLs are listed in the [Environments](/integration/api/environments.md) page.

#### **LineItem Format - Required**

* `purchaseOrderNumber` (string)
* `lineItems` (array)
* `lineItems[n]` (object)
  * `recipeSetReadableId` (string)
  * `shipmentTracking` (string)

#### **LineItem Format - Optional**

* `lineItems[n]` (object)
  * `serialNumbers` (array of strings)

#### **LineItem Format:** Example request body

```javascript
{
  "purchaseOrderNumber": "HA-US-DEV00011101",
  "lineItems": [{
      "recipeSetReadableId": "ABCD1234",
      "shipmentTracking": "234324234324",
      "serialNumbers": ["BR7MWPKFZP76NK8U"]
    }
  ]
}
```

### Status Codes + ShipNotificationStatus response payload

&#x20;**200 (Accepted)** : indicates that the request has been accepted and all line-items have been updated.&#x20;

```json
{
    "purchaseOrderNumber": "HA-US-DEV00011101",
    "status": "OK",
    "details": "Updated tracking number for recipeSetReadableId(s): MUEMVK2U."
}
```

**409 (Conflict)**: indicates that the REST API can’t find one or more of the line-items.&#x20;

```json
{
    "purchaseOrderNumber": "HA-US-DEV00011102",
    "status": "Error",
    "details": "Unable to find recipeSetReadableId(s): MUEMVK2U."
}
```

For a multiple line-item order, if any of the line-items are missing within Spectrum, no line-items in the order are updated.&#x20;

**500 (Internal Server Error)**: indicates the error encountered with the request or an internal operation.

```json
{
    "purchaseOrderNumber": "HA-US-DEV00011103", 
    "status": "Error",
    "details": "Ship Notification processing for HA-US-DEV00011103 encountered an error."
}
```


---

# Agent Instructions: 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.spectrumcustomizer.com/integration/ecommerce/shipment-notification.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.
