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

AdditionRolesVersions
Data sharing: list the counterparties you may share sessions with, and create, scope and revoke permissions towards themCPO, eMSP2.2.1, 2.3.0
Payments module, ahead of its place in OCPI 2.3.0CPO, PTP2.2.1
Road extensions to the OCPI 2.3.0 payments module: terminal provider listing, terminal provisioning and the bare activate endpointPTP2.3.0
Retrieve a CDR by its originating party and external id, next to retrieval by ideMSPall
Retrieve a session by the authorization reference issued during token authorizationCPOall
Vehicle tokens, and the list of CDR additional chargesCPO, eMSP2.1.1

Enabled per connection

SettingWhat changesVersions
Additional fieldsExtra fields on objects: the owning party on every 2.1.1 object, extra location data, VAT-inclusive totals, and charging_accessibility on locationsall, differing by version
OCPP connector statusEach connector carries ocpp_status, the status as the charge point reports itall
Remapped party identitycountry_code, party_id and EVSE ids can differ from those of the party that created the objectall
Locations without EVSEs left outLocation lists omit locations that have no EVSEsall
Base64-encoded tokensRoad base64 encodes the credentials tokens it sends2.1.1, 2.2.1
eMI3 contract id as auth_idToken auth_id carries the eMI3 contract identifier2.1.1
Next-link paginationRoad follows the Link header in your list responsesall

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.