Exchange charging session and CDR (Charge Detail Record) data between a CPO and eMSP via OCPI 2.2.1
domain: evroaming.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Complete the OCPI credentials/versions handshake to negotiate a mutually supported version and exchange tokens between parties
Have the CPO push Session objects with status (e.g. ACTIVE, COMPLETED) as a charging session progresses
Upon session completion, have the CPO POST a final, immutable CDR object containing total_energy and total_cost
Have the eMSP acknowledge the CDR and reconcile it against the applicable tariff
Use PATCH for incremental session updates and PUT for full object replacement, per the module's defined semantics
Known gotchas
CDRs are immutable once issued — correcting a billing error requires issuing a new CDR referencing the original, not editing the sent record
The negotiated OCPI version (e.g. 2.2.1 vs 2.1.1) must match exactly between parties or the receiving side rejects the handshake, even though the modules look similar across versions
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?