Dheeraj Shukla OCPI Expert

Expert guide to OCPI 2.2.1 (Open Charge Point Interface) with module‑level detail, routing patterns, and version history based on the official OCPI 2.2.1‑d2 document.

← Back to profile

Executive Summary

OCPI 2.2.1 is the Open Charge Point Interface specification for EV roaming. The official document defines modules, message routing, credentials exchange, and data objects that enable interoperable charging ecosystems.

Source: OCPI 2.2.1-d2 (EVRoaming Foundation)

Documentation Revisions (d2)

OCPI documentation revisions (d2, d3, d4) do not change message content or add new fields. They clarify descriptions and fix documentation issues. OCPI 2.2.1-d2 is a documentation update to the OCPI 2.2.1 protocol version.

Version History Highlights

  • 2.2.1-d2 (2023-09-07): Documentation update.
  • 2.2.1 (2021-10-06): Final release with CDR and connector updates, additional types, and improved descriptions.
  • 2.2 (2019-09-30): Added roaming hubs, multiple roles, and smart charging support.

OCPI 2.2.1 Core Modules

Module Purpose
VersionsDiscover supported OCPI versions and endpoints.
CredentialsExchange credentials and register parties.
LocationsPublish charging locations, EVSEs, and connectors.
SessionsReal‑time charging session lifecycle (push/pull).
CDRsCharge Detail Records for billing and settlement.
TariffsPricing structures and restrictions.
TokensAuthorization tokens and real‑time auth.
CommandsRemote commands like start/stop/reserve/unlock.
ChargingProfilesSmart charging profiles and topologies.
HubClientInfoHub connectivity and client status scenarios.

Push & Pull Data Exchange

OCPI supports push and pull models across multiple modules, including Locations, Sessions, CDRs, Tariffs, and Tokens. This allows parties to choose between event-driven updates or on-demand retrieval based on integration needs.

Commands Module (Remote Actions)

  • StartSession
  • StopSession
  • UnlockConnector
  • ReserveNow
  • CancelReservation

ChargingProfiles Module (Smart Charging)

  • Smart charging topologies for eMSP, CPO, and SCSP scenarios.
  • Flows for setting, updating, and removing charging profiles.
  • Interfaces for active charging profile retrieval.

Routing and Message Headers

OCPI defines message routing guidance, routing headers, and scenarios such as broadcast push, open routing requests, and hub-based distribution.

Error Code Families

  • 2xxx: Client errors.
  • 3xxx: Server errors.
  • 4xxx: Hub errors.

Implementation Checklist

  • Start with Versions and Credentials modules to register and negotiate endpoints.
  • Implement Locations, Sessions, and CDRs to support discovery and billing.
  • Define Tariffs and Tokens for pricing and authorization flows.
  • Use Commands and ChargingProfiles for remote actions and smart charging.
  • Validate routing headers and error codes across hub and direct integrations.

Official Reference