webaz_buyer_orders
Grant-wired buyer order read (safe scope buyer_orders_read_minimal; OAuth grant). Reads YOUR OWN orders — minimal projection only (order_id/status/next_actor/deadline/amount/item_ref/payment_rail), NO address/recipient/contact/notes, no execution.
order_id → that order (+ tracking no. once shipped); omitted → your buyer order list (most recent first). payment_rail = funds semantics; amounts are read-only.
changed_since=ISO time → only orders changed since (shipped/delivered/returns/disputes); reply has as_of for next check.
Seller-side orders not here (use webaz_get_agent_order). No grant → GRANT_REQUIRED; missing scope → PERMISSION_REQUIRED (re-connect).
Cancel/return: webaz_buyer_action_request (owner approves); disputes & receipt: owner on webaz.xyz.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | With order_id: return the FULL view (timeline/terms/logistics/deadlines/refunds/available_actions; needs buyer_orders_read) | |
| limit | No | List page size, default 10 (max 50). The list returns a whole-account summary + active orders first. | |
| cursor | No | Pagination cursor from a previous next_cursor (older orders). | |
| order_id | No | Order ID. Omit to list your buyer orders (minimal projection). | |
| changed_since | No | Without order_id: orders changed since this ISO time. | |
| updated_since | No | With full: incremental read — unchanged order returns a tiny up_to_date response; otherwise timeline contains only entries newer than this ISO timestamp. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | BUG-06 v2 discriminator on the full timeline form: "order_timeline" (absent on the minimal order_status list) | |
| count | No | ||
| error | No | present ONLY on failure (with error_code + structured recovery fields) | |
| order | No | single-order form (order_id arg): same 7-key projection | |
| orders | No | minimal 7-key: order_id/status/next_actor/deadline/amount/item_ref/payment_rail | |
| refund | No | rail-honest refund state; ABSENT when no return requests | |
| status | No | timeline (v2) form: {code, label, label_en} object; up_to_date (order_status v1) form: raw status code string | |
| summary | No | account counts: total/active/awaiting_you/disputed/completed/cancelled/other_terminal | |
| quantity | No | positive integer, or null when invalid (see quantity_valid); display-only (amount=price.amount_minor) | |
| timeline | No | full form: {from,to_status,actor,at} events | |
| error_code | No | ||
| rail_badge | No | ||
| up_to_date | No | full+updated_since: true = nothing changed | |
| incremental | No | full+updated_since with changes: {since,timeline_new} (only newer) | |
| next_cursor | No | older orders exist — pass back as cursor | |
| total_count | No | ||
| quantity_error | No | invalid-quantity code: missing|empty|zero|negative|not_integer|overflow|non_numeric | |
| quantity_valid | No | false only when quantity is invalid data (card shows 数量数据异常, buttons disabled) | |
| schema_version | No |