How Road differs from OCPI
Road's roaming interface is standard OCPI, in versions 2.1.1, 2.2.1 and 2.3.0. Each reference shows the full specification for its version and marks the places where Road differs. A difference is an extra or changed field, a method or module that OCPI does not have, or a change in behaviour.
Reading the reference
- A ROAD badge marks a deviating field in the schema it belongs to, and a deviating operation on its card.
- A section that Road adds as a whole, such as a custom module, is described once at the top of the section, and every field in it is Road's.
- The Road deviations only switch in the sidebar hides everything that is standard OCPI. Your choice is remembered in your browser.
The reference describes what exists and how it is enabled. It does not show what is enabled on your own connection.
Always available and per connection
Methods and modules that Road adds are available on every connection. Changes to what a standard endpoint returns or accepts are enabled per connection, and so is anything Road pushes to you. These settings sit on the connection, so Road enables them for you. To have one enabled, contact the roaming team at [email protected].
Always available
| Addition | Roles | Versions |
|---|---|---|
| Data sharing: list the counterparties you may share sessions with, and create, scope and revoke permissions towards them | CPO, eMSP | 2.2.1, 2.3.0 |
| Payments module, ahead of its place in OCPI 2.3.0 | CPO, PTP | 2.2.1 |
| Road extensions to the OCPI 2.3.0 payments module: terminal provider listing, terminal provisioning and the bare activate endpoint | PTP | 2.3.0 |
| Retrieve a CDR by its originating party and external id, next to retrieval by id | eMSP | all |
| Retrieve a session by the authorization reference issued during token authorization | CPO | all |
| Vehicle tokens, and the list of CDR additional charges | CPO, eMSP | 2.1.1 |
Enabled per connection
| Setting | What changes | Versions |
|---|---|---|
| Additional fields | Extra fields on objects: the owning party on every 2.1.1 object, extra location data, VAT-inclusive totals, and charging_accessibility on locations | all, differing by version |
| OCPP connector status | Each connector carries ocpp_status, the status as the charge point reports it | all |
| Remapped party identity | country_code, party_id and EVSE ids can differ from those of the party that created the object | all |
| Locations without EVSEs left out | Location lists omit locations that have no EVSEs | all |
| Base64-encoded tokens | Road base64 encodes the credentials tokens it sends | 2.1.1, 2.2.1 |
eMI3 contract id as auth_id | Token auth_id carries the eMI3 contract identifier | 2.1.1 |
| Next-link pagination | Road follows the Link header in your list responses | all |
Pushed by Road
Road can push two notifications to a CPO, to a sub-path of the CPO's CDRs endpoint. Each is enabled per connection, and the CPO confirms the base URL of its CDRs endpoint when asking.
- CDR funding, sent to
{your_cdrs_endpoint}/{country_code}/{party_id}/{cdr_id}/funding, says whether Road reimburses the CDR or the funds are acquired outside Road. - CDR delivery receipt, sent to
{your_cdrs_endpoint}/{country_code}/{party_id}/{cdr_id}/delivery-receipt, says whether Road delivered the CDR to the eMSP.
Both expect a standard OCPI response. Road does not push to partners who have not enabled them.