OCPI

物联网· 网络 · 通信 · 解决方案

定义

OCPI(Open Charge Point Interface,开放充电点接口)是由 EV Roaming Foundation 维护的电动汽车充电行业标准协议,用于充电点运营商(CPO)与电动出行服务商(eMSP)之间的数据交换与互联互通。OCPI 定义了充电站、充电桩、会话、CDR(充电详情记录)、授权、定价等模块的 RESTful API 规范,使不同运营商的用户可在对方网络中充电并实现统一结算。与 互操作性 理念一致,OCPI 是构建跨境充电网络的基础协议。

技术特点与架构

OCPI 技术特点包括:模块化设计——2.2 版本涵盖 CDRs、Locations、Sessions、Tokens、Commands 等模块;角色分离——CPO 管理充电点与实时状态,eMSP 管理用户与授权;双向通信——支持实时状态推送与命令下发;版本演进——持续迭代以支持新支付方式、计量 与 充电管理 需求。典型架构中,充电平台 作为 CPO 端实现 OCPI Server,与 eMSP 的 OCPI Client 对接;充电桩通过 数据回传 将会话与 CDR 上报至平台。

跨境场景下,OCPI 需配合多货币、多语言、多时区及各地 充电运营平台 的合规要求。

在物联网与跨境场景中的应用

OCPI 在物联网与跨境场景中的应用包括:跨境充电漫游——用户持一国充电卡或 App 在另一国 充电站 充电,通过 OCPI 实现授权、计费与结算;聚合平台——充电聚合商对接多家 CPO,通过 OCPI 统一展示可用桩与价格;车队与物流——电动物流车、客车跨境运营时,通过 OCPI 接入各地充电网络;能源与电网——与 需求侧 管理、有序充电结合,实现负荷调节。达希物联为充电桩等物联网设备提供 一卡多国 连接,保障 OCPI 数据在跨境场景下的稳定传输。

OCPI 漫游里会话与账单的分工

开放充电点接口把跨境充电拆成几件可以单独核对的事。位置与资费告诉出行服务商哪里能充、按什么价格充;令牌回答这名用户此刻是否被授权;命令负责远程启动或停止;会话描述进行中的过程;充电详情记录才是事后结算所依据的闭合凭证。桩侧物联网连接负责把电量、状态和结束原因送到运营商平台,接口本身并不替代桩与平台之间的本地协议。漫游是否成功,要看令牌在被访网络被接受、会话能开能关、详情记录能被双方按同一标识对上。

一条可结算的漫游记录至少要能串起令牌标识、会话标识和详情记录标识。开始时间、结束时间、电量、总费用和货币应来自同一次闭合会话。实时授权失败时,不应先生成一条没有会话的详情记录来“补账”。被访网络的桩若短暂离线,会话可以暂存在本地,但上送时应保留桩侧时钟生成的起止时刻,而不是改写成平台收到报文的时刻。双方对同一会话的状态词汇也要按所约定的版本解释,避免一边仍停留在进行中、另一边已经写成已完成。

开通漫游前要锁定的版本与角色

适合开通的前提是:双方写明协议版本、各自扮演的运营商或出行服务商角色、端点地址、凭证轮换方式和业务主体。版本不同,模块字段和枚举会变,不能用低版本客户端去读高版本才有的对象。角色填反时,位置数据会从错误的一方拉取,命令也会发到没有桩控制权的一侧。货币、税率和电价组成要在资费模块里写全,不能把单价留在线下表格、只在接口里传一个总价。拜访地若对发票或数据留存有单独要求,应在业务协议里约定由哪一方生成当地票据,接口只保证记录可追溯。

时区、货币与令牌过期

容易出错的是把时间当成无时区的字符串,跨境对账时起止时刻相差数小时,电量区间就对不齐。另一类差错是令牌缓存过期仍继续放行,或缓存刷新失败后把所有令牌都拒绝,造成整站无法启动。详情记录在会话尚未结束时就推送,后续电量追加无法被接收方识别为同一笔。命令超时后重复下发启动,桩可能打开第二次会话,费用却记在第一笔令牌上。货币代码与最小货币单位不一致时,整数金额会被放大或缩小。处理这些问题时,应以会话闭合后的详情记录为结算依据,授权缓存要有明确失效时刻,重复命令要用同一命令标识去重。

接口日志里还应留下版本号、请求所属模块和对方返回的状态码。只有调用成功而没有这些字段时,跨境对账无法判断失败发生在令牌、命令还是详情记录。桩侧连接中断与接口拒绝要分开记录:前者等待设备补报会话,后者按状态码修正报文后再送,不能把两类失败合成一次重试。

同一会话的补发要携带原会话标识,接收方按该标识更新尚未闭合的记录。已经进入结算的详情记录只接受更正报文,不接受第二条独立账单。


相关术语

返回国际物联网卡专业术语