OCPI Basics

Beginner

Build a shared baseline before simulator drills or conformance suites. Covers the core workflow, common pitfalls, and how teams use OCPI in practice. Key Terminologies · Message Flows · ChargerDojo

0 / 6 completed

What is OCPI?

Why OCPI Matters

Key Players in OCPI

How OCPI Works

Knowledge Check

Let's Practice!

What defines OCPI 2.2.1

Modules in this version
Locations
Sessions
CDRs
Tariffs
Tokens
Commands
Credentials
Hub Client Info
Charging Profiles
Payments
Bookings
A sending side and a receiving side

Each module now has two sides: the one that pushes data out and the one that takes it in.

The trust token is encoded

The shared secret is Base64-encoded before it is sent, rather than sent in plain form.

Billing records name the party

A charge record now says which country and company the driver token belongs to.

OCPI is like a common language that helps different electric car charging companies talk to each other. Think of it like how all email providers can send messages to each other, even though they're different companies.

Instead of having to sign up with many different charging companies, OCPI lets you use one app or one card to charge your car at charging stations from many different networks.

Common language for charging companiesLets you use one app everywhereMakes charging electric cars easier

What the Open Charge Point Interface actually solves

A driver with a contract from one company plugs into a charge point owned by another. Neither party has met the other. Somebody still has to decide whether that driver is allowed to charge, meter what they use, agree what it costs, and settle the bill afterwards. OCPI is the protocol those two companies use to have that conversation, and it is what makes a charging network feel like one network rather than a hundred.

The two roles worth knowing are the charge point operator, who owns the hardware and runs the session, and the e-mobility service provider, who has the relationship with the driver and eventually bills them. Everything else in the protocol exists to move information between them: tokens to say who may charge, locations to say where the chargers are, sessions to describe a charge in progress, CDRs to describe one that finished, and tariffs to say what it cost.

It is worth learning properly because the failures are quiet. A session that never closes, a CDR the other side rejects, a tariff that disagrees with the one the driver was shown: none of these throw an error at the moment they happen. They surface weeks later as a complaint or a reconciliation gap, and by then the code that caused them has shipped.

Where to go next

Common questions

Is OCPI the same as OCPP?

No, and confusing them is the most common mistake. OCPP is the conversation between a charge point and the system that manages it: one company, its own hardware. OCPI is the conversation between two companies, so a driver of one can charge on the network of the other. They sit at different layers and you will usually need both.

Which OCPI version should I implement?

Most roaming today runs on 2.2.1. 2.3.0 adds the payment terminal module and the AFIR fields that European regulation asks for, and it is what new integrations are increasingly asked to support. 2.1.1 is still in the wild with older partners. This tool covers 2.1.1, 2.2.1 and 2.3.0 so you can check a partner on whichever they run.

Who maintains the specification?

The EVRoaming Foundation publishes and maintains OCPI, along with the formal conformance process. This tool is not that process: it is what you run while you are building, as often as you like.