Install

Show the status of the user's recent Zalando orders.

UNTESTED, needs login: shows the logged-in user's recent Zalando orders (order number, date, status, items, total, tracking link) from the server-rendered 'Meine Bestellungen' page. Field names are unverified until recorded.

No reports yetRead-only, your login
Site
Zalando, Germany
Version
v1
Runs, last 7 days
No reports yet
sha256
026296decb32…

Requests

sent from your browser, in order
  1. 1GET/myaccount/orders/

Parameters

from your agent

None.

Returns

to your agent
ordersobject[]
orders_urlstring

Where it can send

  • www.zalando.de

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • output.orders != `null`

Raw recipe

Served as canonical JSON from /api/v1/recipes/zalando.de/order-status, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/zalando.de/order-status | shasum -a 256
# 026296decb32c2e87dc350ffc1beae9fa9da7d769c2604747c4916407853500f
zalando.de/order-status.json, v1
{
  "description": "UNTESTED, needs login: shows the logged-in user's recent Zalando orders (order number, date, status, items, total, tracking link) from the server-rendered 'Meine Bestellungen' page. Field names are unverified until recorded.",
  "effect": "read",
  "id": "zalando.de/order-status",
  "keywords": [
    "zalando",
    "bestellung",
    "bestellstatus",
    "lieferung",
    "rücksendung",
    "order status",
    "my orders",
    "delivery",
    "tracking"
  ],
  "login_check": {
    "description": "Customer data sits behind the same GraphQL endpoint; logged out, customer fields return NOT_AUTHENTICATED (spikes/zalando.md). The orders page redirects to /login when logged out (assumed).",
    "expect": {
      "login_required_if": {
        "status": [
          301,
          302,
          303,
          307
        ]
      },
      "status": [
        200
      ]
    },
    "id": "login_check",
    "request": {
      "headers": {
        "Accept": "text/html"
      },
      "method": "GET",
      "url": "/myaccount/orders/"
    }
  },
  "output": {
    "schema": {
      "properties": {
        "orders": {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        "orders_url": {
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "orders"
      ],
      "type": "object"
    },
    "value": "{orders: steps.orders.items || `[]`, orders_url: 'https://www.zalando.de/myaccount/orders/'}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {},
    "type": "object"
  },
  "provenance": {
    "method": "manual",
    "notes": "UNTESTED, needs C1's embedded_json.strip_js. Hypothesis: the orders page hydrates like the catalogue (#re-concurrent-data-hydrate graphqlCache) with a customer.orders query. curl gets 403 (Akamai), so nothing was probed. Record 'Mein Konto → Bestellungen' with tools/har2recipe; the real recipe will likely be one persisted GraphQL query.",
    "recorded_at": "2026-11-07T12:41:00+01:00",
    "recorded_by": "C4"
  },
  "requires_login": true,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "DE",
    "id": "zalando.de",
    "language": "de",
    "login_url": "https://www.zalando.de/login",
    "name": "Zalando",
    "origin": "https://www.zalando.de",
    "origins": [
      "https://www.zalando.de"
    ]
  },
  "steps": [
    {
      "expect": {
        "content_type": "html",
        "login_required_if": {
          "status": [
            301,
            302,
            303,
            307
          ]
        },
        "status": [
          200
        ]
      },
      "extract": {
        "embedded_json": {
          "required": false,
          "selector": "script#re-concurrent-data-hydrate",
          "strip_js": true,
          "vars": {
            "items": "(values(graphqlCache || `{}`)[?data.customer.orders != null] | [0].data.customer.orders.edges[].node || `[]`)[].{number: number || orderNumber || id, placed: createdAt || orderDate || `null`, status: status || state || `null`, total_eur: total.amount && total.amount / `100` || `null`, items: (items || articles || `[]`)[].name, tracking_url: shipments[0].trackingUrl || trackingUrl || `null`}"
          }
        }
      },
      "id": "orders",
      "parse": "html",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "url": "/myaccount/orders/"
      }
    }
  ],
  "task": "Show the status of the user's recent Zalando orders",
  "tos": {
    "notes": "Reads the user's own orders from their own session, on request.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "output.orders != `null`"
    ],
    "example_params": {}
  },
  "version": 1
}