POST,PATCH /bms/ar-billing/setup/rates¶
What it does¶
/bms/ar-billing/setup/rates accepts POST,PATCH and is declared in app/systems/BMS/ar-billing/api_routes.php:282 as a path.
The route handler delegates to bmsArBillingRateEdit(). That function is the owner of
this behaviour; the route entry is only dispatch.
Call chain:
- →
bmsArBillingRateEdit()—app/systems/BMS/ar-billing/rate_edit_helper.php:150 - ↳
bmsArBillingNormalizeUuid()—app/systems/BMS/ar-billing/foundation_helper.php:53
Who calls it¶
Called from:
public/assets/js/modules/bms/billing-setup.js
A caller is the strongest available evidence of the intended use.
Input¶
No named input key is visible in the handler or its owner function. The endpoint
either takes no parameters or reads them through a shared helper in app/shared/api/.
Output¶
The response is produced by a shared helper, so the key set is not visible at the route. Read the owner function to confirm the shape before writing a client.
SQL executed¶
UPDATE {$table} SET {$set} WHERE CLIENT_ID = ? AND ID = ? AND DELETED_AT IS NULL
Data¶
No table reference is visible in the owner function body.
Access¶
- module-gated on
bms.transaction, so tenant module access applies
Validation and failure messages¶
- Only Trucking and Transload customer rates can be edited here.
- Billing customer is required.
- Rate row is required for editing.
- Confirm that this rate should be treated as No Charge.
- This rate changed since it was opened. Reload and try again.
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.