OCPI roaming and interoperability testing
What is OCPI?
The Open Charge Point Interface (OCPI) is the protocol that enables EV roaming between Charge Point Operators (CPOs) and e-Mobility Service Providers (eMSPs). It handles everything from location data sharing to real-time authorization, charging session management, and billing reconciliation through Charge Detail Records (CDRs).
Testing OCPI is challenging because it requires two parties. You can’t test your CPO implementation without an eMSP to connect to, and vice versa. That gets even harder when you need to validate OCPI 2.1.1, OCPI 2.2.1, and OCPI 2.3.0 behavior across core roaming and hub-oriented modules.
OCPI 2.1.1 Coverage
Validate the widely deployed roaming baseline used by many CPO and eMSP integrations today: credentials, locations, sessions, CDRs, tariffs, tokens, and commands.
OCPI 2.2.1 Coverage
Extend that validation to newer hub and smart-charging workflows including HubClientInfo, ChargingProfiles, richer tariff semantics, and newer interoperability requirements.
OCPI 2.3.0 Coverage
Cover what 2.3.0 adds: the Bookings module for reserving charging slots and the Payment Terminal Provider (PTP) role.
OCPI Modules we test
- Credentials: Registration, version handshake, and token exchange
- Locations: Push and pull location, EVSE, and connector data
- Sessions: Real-time charging session monitoring and updates
- CDRs: Charge Detail Record generation and reconciliation
- Tariffs: Tariff data sync between CPO and eMSP
- Tokens: Authorization token validation (RFID, app, contract)
- Commands: Remote start/stop, reserve, and unlock connector
- ChargingProfiles: Smart-charging orchestration across the roaming chain (OCPI 2.2.1)
- HubClientInfo: Hub participant discovery and metadata exchange (OCPI 2.2.1)
OCPI hub connections
If you roam through an OCPI hub such as GIREVE, OCPPLab connects to it as a CPO or eMSP party (or as a PTP on OCPI 2.3.0), validates HubClientInfo and hub-routed objects, and runs the OCPI conformance cases. It does not emulate the hub, and it does not speak Hubject’s OICP.
- Connect to an OCPI hub as a CPO or eMSP party (PTP on OCPI 2.3.0)
- Run the credentials handshake, including hub_party_id on OCPI 2.3.0
- Validate HubClientInfo and the objects the hub routes from other parties
- Check session and CDR exchange over the hub connection
- Score GIREVE workbook cases from the OCPI conformance suite
Testing scenarios
CPO registration
Test the full OCPI credentials handshake between your platform and an OCPPLab eMSP counterparty.
Cross-platform authorization
Validate that tokens from partner eMSPs are correctly authorized at your charge points.
Real-time session sync
Verify that charging sessions are correctly reported to roaming partners in real time.
CDR reconciliation
Test CDR generation, transmission, and reconciliation across CPO-eMSP boundaries.
Location data updates
Validate that EVSE availability, pricing, and connector status propagate correctly.
Error handling
Test how your platform handles expired tokens, network timeouts, and malformed responses.
Related resources
Test roaming without roaming partners
Run CPO and eMSP counterparties and connect to hubs. Validate OCPI end-to-end.