POST /oms/customer-pos¶
What it does¶
/oms/customer-pos accepts POST and is declared in app/systems/OMS/inbound-order/api_routes.php:290 as a path.
The route handler delegates to omsCustomerPoCreate(). That function is the owner of
this behaviour; the route entry is only dispatch.
Who calls it¶
Called from:
public/assets/js/modules/oms/customer-po-modal.jspublic/assets/js/modules/shared/customer-po-editor.js
A caller is the strongest available evidence of the intended use.
Input¶
| Where | Key |
|---|---|
body |
T_CUSTOMER_PO |
body |
T_CUSTOMER_PO_ITEM |
Request bodies must not use TYPE, ACTION or USERNAME as contract fields.
Output¶
| Key |
|---|
ID |
Success is { "data": …, "requestId": "…" }.
Failure is { "error": { "code", "message" }, "requestId": "…" }.
SQL executed¶
SELECT UUID FROM T_CUSTOMER_PO WHERE CLIENT_ID = ? AND ID = ? LIMIT 1
Data¶
Tables reached from the owner function:
T_CUSTOMER_PO
Access¶
- module-gated on
oms.inbound-order, so tenant module access applies
Validation and failure messages¶
- Customer PO payload is required.
- Customer PO identity readback failed.
These strings come from the owner function and are the messages a client can receive. They are also the cheapest way to tell a rejected request from a broken one.