Skip to content
ShopAssist Docs
APIAPI referenceCatalog Push API

Report Orders

Placed orders for attribution → outbox order.reported (attributed_orders.source = api_push); order

POST/v1/stores/{store_id}/orders:reportScope orders:report

Placed orders for attribution → outbox `order.reported` (`attributed_orders.source = api_push`); order status is never accepted (D-017).

Parameters

Parameters of Report Orders
NameInTypeDescription
store_idrequiredpathstring
Idempotency-KeyrequiredheaderstringReplays return the original

Request body (OrderReport)

Request body of Report Orders
FieldTypeDescription
ordersrequiredOrderReportInput[]OrderReportInput items (validated individually; invalid items are reported in rejected[])≥ 1 items · ≤ 100 items
orders[].cart_tokenstring1–255 characters
orders[].conversation_idstringpattern `^conv_[0-9a-hjkmnp-tv-z]{26}$`
orders[].itemsrequiredOrderReportItemInput[]≤ 500 items
orders[].items[].amountrequiredMoneyAn amount with its currency (`03` §2.4 `Money`).
orders[].items[].amount.amountrequiredstringpattern `^-?\d+(\.\d{1,6})?$`
orders[].items[].amount.currencyrequiredstringpattern `^[A-Z]{3}$`
orders[].items[].external_variant_idrequiredstring1–255 characters
orders[].items[].is_assistedbooleandefault false
orders[].items[].quantityrequiredinteger> 0
orders[].order_numberstring1–64 characters
orders[].ordered_atrequiredstringformat date-time
orders[].platform_order_idrequiredstring1–128 characters
orders[].totalrequiredMoneyAn amount with its currency (`03` §2.4 `Money`).
orders[].total.amountrequiredstringpattern `^-?\d+(\.\d{1,6})?$`
orders[].total.currencyrequiredstringpattern `^[A-Z]{3}$`

Example request

curl -X POST "https://api.shopassist.coec.dk/v1/stores/sto_01j8000000e008000000000000/orders:report" \
  -H "Authorization: Bearer $SHOPASSIST_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"orders":[{"cart_token":"string","conversation_id":"conv_01j8000000e008000000000000","items":[{"amount":{"amount":"499.95","currency":"DKK"},"external_variant_id":"string","is_assisted":false,"quantity":1}],"order_number":"string","ordered_at":"2026-09-28T10:15:30.123Z","platform_order_id":"string","total":{"amount":"499.95","currency":"DKK"}}]}'

Response 202 (OrderReportAccepted)

Response of Report Orders
FieldTypeDescription
acceptedrequiredinteger≥ 0
rejectedrequiredItemRejection[]
rejected[].errorrequiredItemError`{ code; message }` of a rejected item.
rejected[].error.coderequired"validation_error" | "currency_mismatch" | "duplicate_external_id" | "too_many_variants" | "url_not_allowed"
rejected[].error.messagerequiredstring
rejected[].indexrequiredinteger≥ 0
{
  "accepted": 0,
  "rejected": [
    {
      "error": {
        "code": "validation_error",
        "message": "string"
      },
      "index": 0
    }
  ]
}

Errors

Every error uses the error envelope; the code field is stable.

  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 409 Conflict
  • 413 Content Too Large
  • 422 Unprocessable Content
  • 429 Too Many Requests

Last updated on