webaz_submit_order_request
SUBMIT drafts into the human's approval queue (scope order_submit_request; OAuth grant). Queues only — unless auto_approved:true (owner's small-order rule): order created, pay next.
draft_id → request_id + approval_url; or draft_ids (one per seller) → all or none, ONE approvals page. The human approves on webaz.xyz (usually a tap). Pending requests and unpaid agent orders are capped (ORDER_REQUEST_LIMIT).
Approval (server-side) re-validates price/stock/region/rail (drift hard-fails → re-quote), then creates the REAL order exactly as approved. No money moves then; paying needs the human (Passkey or wallet).
Idempotent: a retry returns the SAME request (duplicate_reason); the explicit 再买一份 action (new_purchase_intent) creates an independent purchase.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | No | The odr_/ogd_ draft to submit | |
| draft_ids | No | Instead of draft_id: ≤10 drafts | |
| idempotency_key | No | Optional [A-Za-z0-9_-]{1,64}: click+retries share it → same result; same key + different payload → IDEMPOTENCY_CONFLICT (no execute). | |
| new_purchase_intent | No | true only from the explicit 再买一份 card action → an independent purchase; not inferred from conversation. | |
| operation_attempt_id | No | Optional trace id (diagnostics only, never a dedup key). | |
| purchase_intent_instance | No | Optional nonce for one independent purchase (with new_purchase_intent); server mints one if omitted. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| error | No | present ONLY on failure (with error_code + structured recovery fields) | |
| status | No | v2 status {code,label,label_en}; code canonical (never from label) | |
| reorder | No | {product_id,quantity} for 再买一份 re-quote | |
| draft_id | No | ||
| duplicate | No | ||
| error_code | No | ||
| request_id | No | ||
| action_type | No | ||
| disclosures | No | ||
| on_approval | No | approval creates the single order; payment follows the disclosed rail (direct_p2p: no principal held) | |
| approval_url | No | ||
| duplicate_of | No | ||
| auto_approval | No | {applied:false,reason,explanation} | |
| schema_version | No | ||
| duplicate_reason | No | SAME_DRAFT_REPLAY|SAME_IDEMPOTENCY_KEY|ACTIVE_INTENT_REUSED|DATABASE_UNIQUE_RACE|RESPONSE_LOSS_RECONCILED — render the precise reason | |
| passkey_required | No | ||
| available_actions | No | ||
| duplicate_warning | No | legacy: existing request REUSED, no second approval/order | |
| existing_request_id | No | ||
| payment_requires_human | No | ||
| human_approval_required | No | ||
| purchase_intent_instance | No |