PHP2Shell alert: critical PHP flaws CVE-2026-109618 / 109619 — check your servers and get patched fast
HashTech Systems

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
  1. 01

    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.

  2. 02

    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.

  3. 03

    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.

  4. 04

    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.

  5. 05

    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.

  6. 06

    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.

  7. 07

    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.

  8. 08

    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.

  9. 09

    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.

  10. 10

    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.

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.