Wash API Overview
Wash API
Default listen port is 4444. There is no application authentication — restrict access with firewall / VLAN.
Base URL
Endpoint Groups
Mode matrix (same URL ≠ same behavior)
Wash maps and ranges
MCWW
/sendWash body codes are whatever the POS sends. Define translation with exactly one of:
WASH_MAP— POS → controllerWASH_MAP_CONTROLLER_TO_POS— controller → POS (inverted at startup)
Omit both (or set {}) for direct writes. When a map is active: POS key hit → mapped value; else in-range controller codes that are not reserved map targets are accepted as raw fallback.
Verify live ranges with GET /get_controller_version (BaseWash_*, Upsell_*, Override_*). Series bands include C1000, C4, C5000, C6000, and C7000 (New in 2.4).
Washlink (New in 2.4 response parity)
Uses REVERSE_WASH_MAP (no raw fallback). Body ranges: BaseWash 1–20; UpsellList / OverrideList 1–10. Success JSON matches MCWW: WashPackage, UpsellList, OverrideList.
Wash counts (New in 2.4)
GET /GetWashCounts returns wash / upsell / override tallies:
Both modes use 2-digit zero-padded parsed keys so lexicographic order matches numeric order.
Authentication
Closed LAN only. No request authentication. CORS allows all origins for LAN browser clients — do not expose to the public internet.
Error Handling
Handled domain failures return JSON:
Common status codes:
- 200 — Success (endpoint-specific body)
- 400 — Client / domain error (
WashError, validation, unsupported) - 403 — Diagnostic mode disabled
- 404 — Endpoint not available in the active controller mode
- 500 — Internal error or deprecated conveyor stubs
- 501 — Wash counts not configured for this MCWW series
