POST /tms/transloads/reopen-for-retransload/dip-recovery/preview¶
What it does¶
/tms/transloads/reopen-for-retransload/dip-recovery/preview accepts POST and is declared in app/systems/TMS/transload/api_routes.php:131 as a path.
The route handler delegates to tmsTransloadReopenDipRecoveryPreview(). That function is the owner of
this behaviour; the route entry is only dispatch.
Call chain:
- →
tmsTransloadReopenDipRecoveryPreview()—app/systems/TMS/transload/reopen_retransload_helper.php:309 - ↳
tmsTransloadReopenAssertOffice()—app/systems/TMS/transload/reopen_retransload_helper.php:6 - ↳
getEffectiveRoleIds()—config/config.php:1066
Who calls it¶
No literal caller path was found in frontend/, public/ or new-system/.
The endpoint may be called through a constructed path, a helper wrapper, or only by
an external client. Treat the route table and owner function as the authority.
Input¶
| Where | Key |
|---|---|
body |
TRANSLOAD_ID |
Request bodies must not use TYPE, ACTION or USERNAME as contract fields.
Output¶
| Key |
|---|
BLOCKERS |
READ_ONLY |
REOPEN_EVIDENCE |
TRANSLOAD |
Success is { "data": …, "requestId": "…" }.
Failure is { "error": { "code", "message" }, "requestId": "…" }.
SQL executed¶
SELECT ROLE_ID FROM T_USER WHERE ID = ? AND CLIENT_ID = ? AND DELETED_AT IS NULL LIMIT 1
Data¶
No table reference is visible in the owner function body.
Access¶
- module-gated on
tms.transload, so tenant module access applies
Validation and failure messages¶
- Reopen for Re-transload is restricted to office users.
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.