Tutorial · 10 parts
OCPI 2.2.1 Tutorial
Building EV roaming with OCPI 2.2.1: credentials, locations, tokens, sessions, CDRs, tariffs and commands, from both the CPO and eMSP side.
Start with part 1- 016 min read
OCPI 2.2.1 Tutorial: Roles, Modules and How EV Roaming Works
What OCPI is, the roles it defines (CPO, eMSP, Hub, NSP, SCSP), its modules, version history, and the push vs pull and hub vs peer-to-peer choices.
- 026 min read
OCPI Versions and Credentials: The Token A/B/C Handshake
How OCPI 2.2.1 version discovery and the credentials handshake work, which token is used when, and the Authorization header encoding trap.
- 035 min read
OCPI Transport: Response Format, Status Codes and Pagination
The OCPI 2.2.1 response envelope, status_code ranges, pagination headers, date_from filtering, routing headers and request IDs, with the usual pitfalls.
- 046 min read
OCPI Locations Module: Locations, EVSEs, Connectors and Status
Modelling Location, EVSE and Connector in OCPI 2.2.1, pushing status with PUT and PATCH, evse_id format, and how eMSPs should pull and sync.
- 055 min read
OCPI Tokens Module: Whitelists and Real-Time Authorization
How eMSP tokens reach the CPO in OCPI 2.2.1, what the WhitelistType values mean, and how real-time authorization with AuthorizationInfo works.
- 066 min read
OCPI Sessions and CDRs: From Live Session to Billing Record
Pushing OCPI 2.2.1 Sessions, building CDRs with charging periods and CdrDimensionType, totals, and correcting mistakes with credit CDRs.
- 076 min read
OCPI 2.2.1 Tariffs: Elements, Restrictions and Price Calculation
How OCPI 2.2.1 tariffs are structured, how TariffDimensionType, step_size and restrictions work, and a worked price calculation with VAT.
- 085 min read
OCPI Commands: START_SESSION, STOP_SESSION and Async Results
How OCPI 2.2.1 commands work: START_SESSION, STOP_SESSION, RESERVE_NOW, UNLOCK_CONNECTOR, CommandResponse vs CommandResult, and timeouts.
- 095 min read
OCPI Charging Profiles and Hub Client Info: Smart Charging and Hubs
The OCPI 2.2.1 ChargingProfiles module for SCSPs, its async result flow, and the HubClientInfo module plus practical notes on working with hubs.
- 107 min read
Mapping OCPP to OCPI: How a CSMS Bridges Chargers and Roaming
How a CSMS translates OCPP 1.6 and 2.0.1 events into OCPI 2.2.1: connector status to EVSE status, transactions to Sessions and CDRs, commands and auth.
More tutorial series
OCPP 1.6-J Tutorial
A hands-on walkthrough of OCPP 1.6-J, from the first WebSocket connection to smart charging and security profiles, with real message examples.
Start the seriesOCPP 2.0.1 Tutorial
How OCPP 2.0.1 works in practice: the device model, the transaction event model, ISO 15118, security, and migrating from 1.6.
Start the series
Let's Talk
Ready to build something that lasts?
Whether it's a charging network, an AI rollout, or a core enterprise system — let's talk about what you're building.
