Skip to content

Orders

Read a website's tracked orders: what was bought, when, for how much, and which Hello Retail solution led to each product being bought.

Tips & tricks

Pick the card that matches what you're doing. Each prompt is ready to paste into your assistant.

Attribution

See what drove the sale

Each product line names the solutions whose click led to it being bought, down to the search config, Recommendations box or campaign.

Which of yesterday's orders came through Search, and which search configs drove them?
Repeat buyers

Spot returning shoppers today

The email hash matches across orders pulled on the same day, so you can group a day's orders by shopper without seeing who they are.

Did anyone place more than one order this week? Pull the whole week in one go.
Paging

Work through a busy period

A call returns at most 200 orders. totalCount tells your assistant how many the range holds, so it can page through the rest with offset.

Go through every order from Black Friday and tell me which Recommendations boxes sold the most.

orders_list

List a website's tracked orders in a date range, newest first. Each order carries its order number, time, total and the products bought, with quantity, price and line total. Each product line carries attributedTo: the solutions whose click led to it being bought, each listing the configs clicked. An empty attributedTo means no Hello Retail solution drove that line.

The shopper's email is never returned. customerEmailHash is an HMAC-SHA256 of the lowercased email, keyed with a Hello Retail secret and salted with the current UTC date and the website. It matches across orders pulled on the same day and changes the next day, so it can't be reversed or joined with hashes pulled on another day.

Name Type Required Description
websiteUuid string Yes The website's UUID. Find it in my.helloretail.com under Settings → Website Settings → Website Unique Id.
from string Yes First day of the range, inclusive, as YYYY-MM-DD (UTC).
to string Yes Last day of the range, inclusive, as YYYY-MM-DD (UTC). Must not be before from.
offset integer No Number of orders to skip, for paging. Default 0.
limit integer No Maximum number of orders to return. Default 50, max 200.
Example request & response
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "orders_list",
    "arguments": {
      "websiteUuid": "<string>",
      "from": "2026-10-19",
      "to": "2026-10-19"
    }
  }
}
{
  "orders": [
    {
      "orderNumber": "<string>",
      "placedAt": "2026-10-19T14:32:10Z",
      "total": 499.0,
      "customerEmailHash": "<string>",
      "products": [
        {
          "productId": "<string>",
          "quantity": 1,
          "price": 499.0,
          "lineTotal": 499.0,
          "attributedTo": {
            "SEARCH": [
              { "key": "<search config key>", "name": "Main search" }
            ]
          }
        }
      ]
    }
  ],
  "totalCount": 1
}

The keys of attributedTo are SEARCH, INITIAL_CONTENT, ZERO_RESULT_CONTENT, RECOMMENDATIONS, UNMANAGED_RECOMMENDATIONS, PAGES, NEWSLETTER_CONTENT, TRIGGERED_EMAILS, PRODUCT_AGENTS and RETAIL_MEDIA. Each key is what the matching tools take: a search config key, Recommendations box key, Newsletter Content campaign id or Retail Media campaign id. Each name is what my.helloretail.com shows; a config that has since been deleted shows (no longer known to Hello Retail). customerEmailHash is null when the order carries no email.