CDR API
What is a CDR
A CDR is the description of a concluded charging session. The CDR is the only billing-relevant object.
A CDR is the cumulative Session object combined with the relevant tariff information.
Link to Cdrs
Use case:
- Get complete charging session & cost information of all transaction at CPO's location. Real-time and historic

Flow
Push
GreenFlux can Push CDRs to Partners by calling POST on the Partners CDRs endpoint.
NOTE: CDRs can not yet be updated or removed. This might be added in a future version of OCPI.
Pull
Partners can use the GET on the CDR endpoint to receive a list of CDRs.
Example CDR
{
"id":"NLGFX63759518932331194001",
"start_date_time":"2021-06-17T08:35:34Z",
"stop_date_time":"2021-06-17T09:29:27Z",
"auth_id":"NL*GFX*0dd6AE*6",
"auth_method":"AUTH_REQUEST",
"location":{
"id":"2738009c-0aa9-4197-8c16-7cc93fa1fa69",
"type":"OTHER",
"publish": true,
"name":"U0015",
"address":"Streename 441",
"city":"Amsterdam",
"postal_code":"1097JM",
"country":"NLD",
"coordinates":{
"latitude":"52.1205740",
"longitude":"5.391620"
},
"related_locations":null,
"evses":[
{
"uid":"NL-GFX-EEU171220-2",
"evse_id":"NL*GFX*EEU171220*2",
"status":"CHARGING",
"status_schedule":[
],
"capabilities":[
],
"connectors":[
{
"id":"2",
"standard":"IEC_62196_T2",
"format":"SOCKET",
"power_type":"AC_3_PHASE",
"voltage":230,
"amperage":32,
"tariff_id":"A5",
"terms_and_conditions":null,
"last_updated":"2021-01-18T06:58:56Z"
}
],
"floor_level":null,
"coordinates":null,
"physical_reference":null,
"directions":[
],
"parking_restrictions":[
],
"images":null,
"last_updated":"2021-06-17T08:35:38Z"
}
],
"directions":[
],
"operator":{
"name":"CPO",
"website":"https://www.energie.nl/",
"logo":{
"url":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"thumbnail":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"category":"OPERATOR",
"type":"png",
"width":0,
"height":0
}
},
"suboperator":{
"name":"CPO",
"website":"https://www.energie.nl/",
"logo":{
"url":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"thumbnail":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"category":"OPERATOR",
"type":"png",
"width":0,
"height":0
}
},
"owner":{
"name":"CPO",
"website":"https://www.energie.nl/",
"logo":{
"url":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"thumbnail":"https://gfxappp.blob.core.windows.net/logos/94a6e8ba-c24e-4a5f-8dac-14ab495f9ad4.png",
"category":"OPERATOR",
"type":"png",
"width":0,
"height":0
}
},
"facilities":[
],
"time_zone":null,
"opening_times":{
"regular_hours":null,
"twentyfourseven":true,
"exceptional_openings":null,
"exceptional_closings":null
},
"charging_when_closed":null,
"images":null,
"energy_mix":null,
"last_updated":"2021-06-17T08:35:38Z"
},
"meter_id":null,
"currency":"EUR",
"tariffs":null,
"charging_periods":[
{
"start_date_time":"2021-06-17T08:35:34Z",
"dimensions":[
{
"type":"ENERGY",
"volume":9.17
},
{
"type":"TIME",
"volume":0.480981,
},
{
"type":"Parking",
"volume":0.4090
}
]
}
],
"total_cost":2.57,
"total_energy":9.17,
"total_time":0.8981,
"total_parking_time": 0.4090,
"remark":null,
"last_updated":"2021-06-17T09:29:30Z",
}
Addendums to OCPI 2.1.1 format
As OCPI has developed, extra fields were needed. These are included in CDRs as 'Addendum'.
For Platform subscription they are enabled if the information is available in our system.
CDR standard without addendum
"total_cost": 0,
"total_energy": 0,
"total_time": 0,
"total_parking_time": 0,
"remark":null,
"last_updated": "2015-06-29T22:01:13Z"
CDR incl addendum
"total_cost": 0,
"total_energy": 0,
"total_time": 0,
"total_parking_time": 0,
"remark":null,
"last_updated": "2015-06-29T22:01:13Z"
"total_cost_incl_vat": 0,
"total_vat": 0,
"total_retail_cost": 0,
"total_retail_cost_incl_vat": 0,
"total_retail_vat": 0,
"total_reimbursement_cost": 0,
"retail_package_id": "string",
"authorization_id": "string",
"auth_host_reference": "string",
"customer_external_id": "string",
"driver_external_id": "string",
"emsp_party_id": "string",
"emsp_country_code": "string",
"vat": 0,
"retail_vat": 0
Property | Type | Description |
---|---|---|
authorization_id | string (36) | Reference to the authorization given by the eMSP. When the eMSP provided an authorization_reference in either: real-time authorization or StartSession, this field SHALL contain the same value. |
total_cost_incl_vat | number | Total cost including vat |
total_vat | number | Total vat |
total_retail_cost_incl_vat | number | Total retail cost including vat |
total_retail_vat | number | Total retail vat |
vat | number | Vat rate whole sale costs |
retail_vat | number | Vat rate retail costs |
retail_package_id | number | Retailpackage connected to driver |
auth_host_reference | string | Authorization host reference (e.g. payment terminals) |
customer_external_id | string | Customer external id (only when known within GreenFlux platform) |
driver_external_id | string | Driver external id (only when known within GreenFlux platform) |
Property | Type | Description |
---|---|---|
emsp_party_id | string | eMSP ID of this party. (following the 15118 ISO standard). |
emsp_country_code | string | Country code of the country this party is operating in |
total_reimbursement_cost | string | Total reimbursement cost |
FAQ
CDR ID
The CDR ID is generated by the GreenFlux backend and will include the country code, party ID and a random GUID. NLGFX63759518932331194001
The syntax is the same as the session ID, but they are not identical and therefore a session can't be linked to a CDR and vice versa via the IDs.
Updated 2 months ago