> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dekhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Send your first order status request to DEKHQ, with the REST API or PromoStandards SOAP. One partner credential works for both.

This request looks up the orders under one purchase order (PO) number. DEKHQ offers the same lookup through the REST API and through PromoStandards SOAP, and your partner credential works for both, so pick the tab for the API you use. Not sure which? See [Choose REST or SOAP](https://docs.dekhq.com/api/overview.md#choose-rest-or-soap).

Replace `YOUR_ID` and `YOUR_PASSWORD` with your own credential, and `PO-12345` with one of your PO numbers. Don't have a credential yet? Ask the decorator you work with for Partner API access.

> [tab] REST
>
> Send a `GET` request with HTTP Basic authentication.
>
> ```bash theme={null}
> curl -u "YOUR_ID:YOUR_PASSWORD" \
>   "https://partners.dekhq.com/api/partners/v1/orders/status?queryType=1&referenceNumber=PO-12345"
> ```
>
> The response is an `orders` list:
>
> ```json theme={null}
> {
>   "orders": [
>     {
>       "purchaseOrderNumber": "PO-12345",
>       "details": [
>         {
>           "factoryOrderNumber": "00012345",
>           "statusID": 10,
>           "statusName": "Order Received",
>           "expectedShipDate": "2026-10-19",
>           "expectedDeliveryDate": "2026-10-23T12:00:00.000Z",
>           "responseRequired": false,
>           "validTimestamp": "2026-10-10T14:05:00.000Z"
>         }
>       ]
>     }
>   ]
> }
> ```
>
> The [Order status](https://docs.dekhq.com/api-reference/order-status.md) page in the REST API reference lists every parameter and field.

> [tab] SOAP
>
> `POST` a SOAP 1.1 envelope to the Order Status service. Your id and password go inside the request.
>
> ```bash theme={null}
> curl -X POST https://partners.dekhq.com/api/promostandards/order-status \
>   -H "Content-Type: text/xml; charset=utf-8" \
>   --data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>     xmlns:ns="http://www.promostandards.org/WSDL/OrderStatusService/1.0.0/">
>   <soapenv:Body>
>     <ns:GetOrderStatusDetailsRequest>
>       <ns:wsVersion>1.0.0</ns:wsVersion>
>       <ns:id>YOUR_ID</ns:id>
>       <ns:password>YOUR_PASSWORD</ns:password>
>       <ns:queryType>1</ns:queryType>
>       <ns:referenceNumber>PO-12345</ns:referenceNumber>
>       <ns:statusTimeStamp>2026-10-01T00:00:00Z</ns:statusTimeStamp>
>     </ns:GetOrderStatusDetailsRequest>
>   </soapenv:Body>
> </soapenv:Envelope>'
> ```
>
> The schema marks `statusTimeStamp` as required, so send a value even though only query type `3` reads it. The response is a `GetOrderStatusDetailsResponse` with an `OrderStatusArray`. See [getOrderStatusDetails](https://docs.dekhq.com/api/promostandards/order-status/get-order-status-details.md) for every field.

An empty list means nothing matched, not an error. [Choose what to look up](https://docs.dekhq.com/api/overview.md#choose-what-to-look-up) lists the other query types, and [Rate limits and errors](https://docs.dekhq.com/api/errors.md) explains failed requests.

## Check for updates

DEKHQ doesn't send notifications when an order changes yet. To stay up to date, check on a schedule that suits you, for example every hour, and ask only for what changed since your last check:

* **Order status** with query type `3` returns orders updated on or after the time you send in `statusTimeStamp`.
* **Order Shipment Notification** with query type `3` returns shipments that shipped on or after the time you send in `shipmentDateTimeStamp`.

Send the time in ISO 8601 format, in UTC, such as `2026-10-01T00:00:00Z`.

> [tab] REST
>
> Orders updated since a time:
>
> ```bash theme={null}
> curl -u "YOUR_ID:YOUR_PASSWORD" \
>   "https://partners.dekhq.com/api/partners/v1/orders/status?queryType=3&statusTimeStamp=2026-10-01T00:00:00Z"
> ```
>
> Shipments since a time:
>
> ```bash theme={null}
> curl -u "YOUR_ID:YOUR_PASSWORD" \
>   "https://partners.dekhq.com/api/partners/v1/orders/shipments?queryType=3&shipmentDateTimeStamp=2026-10-01T00:00:00Z"
> ```
>
> The first returns an `orders` list like the one above, and the second a `shipments` list. See [Order status](https://docs.dekhq.com/api-reference/order-status.md) and [Order shipments](https://docs.dekhq.com/api-reference/order-shipments.md) for every field.

> [tab] SOAP
>
> Orders updated since a time, from the Order Status service:
>
> ```bash theme={null}
> curl -X POST https://partners.dekhq.com/api/promostandards/order-status \
>   -H "Content-Type: text/xml; charset=utf-8" \
>   --data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>     xmlns:ns="http://www.promostandards.org/WSDL/OrderStatusService/1.0.0/">
>   <soapenv:Body>
>     <ns:GetOrderStatusDetailsRequest>
>       <ns:wsVersion>1.0.0</ns:wsVersion>
>       <ns:id>YOUR_ID</ns:id>
>       <ns:password>YOUR_PASSWORD</ns:password>
>       <ns:queryType>3</ns:queryType>
>       <ns:statusTimeStamp>2026-10-01T00:00:00Z</ns:statusTimeStamp>
>     </ns:GetOrderStatusDetailsRequest>
>   </soapenv:Body>
> </soapenv:Envelope>'
> ```
>
> Shipments since a time, from the Order Shipment Notification service:
>
> ```bash theme={null}
> curl -X POST https://partners.dekhq.com/api/promostandards/order-shipment-notification \
>   -H "Content-Type: text/xml; charset=utf-8" \
>   --data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>     xmlns:ns="http://www.promostandards.org/WSDL/OrderShipmentNotificationService/1.0.0/">
>   <soapenv:Body>
>     <ns:GetOrderShipmentNotificationRequest>
>       <ns:wsVersion>1.0.0</ns:wsVersion>
>       <ns:id>YOUR_ID</ns:id>
>       <ns:password>YOUR_PASSWORD</ns:password>
>       <ns:queryType>3</ns:queryType>
>       <ns:shipmentDateTimeStamp>2026-10-01T00:00:00Z</ns:shipmentDateTimeStamp>
>     </ns:GetOrderShipmentNotificationRequest>
>   </soapenv:Body>
> </soapenv:Envelope>'
> ```
>
> See [getOrderStatusDetails](https://docs.dekhq.com/api/promostandards/order-status/get-order-status-details.md) and [getOrderShipmentNotification](https://docs.dekhq.com/api/promostandards/order-shipment-notification/get-order-shipment-notification.md) for every field.

Each time you check:

1. Note the current time, just before you send the request.
2. Send the request with the time you noted at your previous check.
3. Once it succeeds, keep the time from step 1 for next time.

Because the lookup includes the exact time you send, an order can come back again in your next check. Match each order by its DEKHQ order number (`factoryOrderNumber` in order status, `salesOrderNumber` in shipments) so you don't count it twice. Nothing new since your last check gives an empty list.

> [!WARNING]
>
> If DEKHQ can't read the date and time, you get an `Internal error` instead of results: HTTP `500` on REST, or a `soap:Server` fault on SOAP. See [Rate limits and errors](https://docs.dekhq.com/api/errors.md).

To look up by PO number, by DEKHQ order number, or all your open orders, see [Choose what to look up](https://docs.dekhq.com/api/overview.md#choose-what-to-look-up).

## Next steps

> [card] [List your orders (REST)](https://docs.dekhq.com/api-reference/your-orders.md)
>
> Page through all your orders, then read one order and its shipments by order id.

> [card] [Track shipments](https://docs.dekhq.com/api/services/order-shipment-notification.md)
>
> Get carriers and tracking numbers with REST or SOAP.

> [card] [Scopes and failed sign-ins](https://docs.dekhq.com/api/authentication.md)
>
> What your credential can reach, and what a failed request looks like.

> [card] [Rate limits and errors](https://docs.dekhq.com/api/errors.md)
>
> Every error response, and how to stay under the rate limit.

***

<sub>Verified against DEKHQ a6b2203 on 2026-10-23</sub>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.