Skip to content

POST /oms/customer-pos

OMS > oms.inbound-order

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.js
  • public/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.