Connect your charge points to the CPMS over OCPP (1.6J or 2.0.1); the CPMS receives StartTransaction, MeterValues, and StopTransaction messages from each charger to build a live session record.
Via the CPMS REST API, subscribe to session webhooks or poll GET /sessions to retrieve active and completed session records including charger ID, connector, start time, energy delivered (kWh), and current state.
Configure tariff rules in the CPMS for your pricing model (per kWh, per minute, session fee, or a combination); the CPMS applies the tariff to the session's accumulated meter values to produce a billable amount.
On session end, retrieve the completed CDR (Charge Detail Record) via GET /sessions/{sessionId}/cdr; the CDR contains signed meter start/stop values, duration, energy consumed, applied tariff, and the calculated cost.
Integrate payment processing by sending the CDR cost to your payment gateway or invoicing system; map the CPMS user ID or RFID token to your billing account.
For monitoring, poll GET /chargers and GET /sessions/active periodically or consume real-time webhooks to detect offline chargers, failed sessions, or abnormal meter readings that indicate hardware faults.
Known gotchas
MeterValues from chargers arrive at varying frequencies and formats depending on OCPP configuration and charger firmware; normalize and validate meter readings before applying tariffs, as some chargers report cumulative kWh while others report incremental deltas.
Session data in the CPMS is only as accurate as the OCPP meter values reported by the charger; chargers with metering hardware faults may report incorrect energy values, leading to billing errors — implement sanity-check bounds per session.
Different CPMS platforms have different API surface areas; there is no single CPMS REST API standard, so the endpoint paths, authentication method, and CDR schema described here represent the general pattern — consult your specific CPMS vendor documentation for exact details.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp