[{"data":1,"prerenderedAt":434},["ShallowReactive",2],{"insight-16":3},{"id":4,"title":5,"body":6,"category":422,"cover":423,"date":424,"description":397,"extension":425,"meta":426,"navigation":427,"path":428,"seo":429,"slug":430,"stem":431,"summary":432,"__hash__":433},"insight\u002Finsights\u002F16.md","奥升充电｜互联互通协议解析（4）——常见问题",{"type":7,"value":8,"toc":396},"minimark",[9,14,27,37,41,44,60,64,78,87,90,99,102,106,110,124,128,139,143,150,156,162,168,174,179,183,203,207,227,231,237,243,249,255,261,267,273,279,285,291,297,303,309,315,318,332,335,379,382,389],[10,11,13],"h2",{"id":12},"一名词解释","一、名词解释",[15,16,18,19,26],"h3",{"id":17},"_11-运营商id组织机构代码","1.1 ",[20,21,25],"a",{"href":22,"rel":23},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E8%BF%90%E8%90%A5%E5%95%86ID&zhida_source=entity",[24],"nofollow","运营商ID","（组织机构代码）",[28,29,30,31,36],"p",{},"运营商ID是9位组织机构代码，是三证合一后18位的",[20,32,35],{"href":33,"rel":34},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E7%BB%9F%E4%B8%80%E7%A4%BE%E4%BC%9A%E4%BF%A1%E7%94%A8%E4%BB%A3%E7%A0%81&zhida_source=entity",[24],"统一社会信用代码","的第9~17位。",[15,38,40],{"id":39},"_12-密钥","1.2 密钥",[28,42,43],{},"联调需要用到四个密钥，分别是：",[45,46,47,51,54,57],"ul",{},[48,49,50],"li",{},"运营商密钥（OperatorSecret）；",[48,52,53],{},"消息密钥（DataSecret）；",[48,55,56],{},"消息密钥初始化向量（DataSecretIV）；",[48,58,59],{},"签名密钥（SigSecret）。",[15,61,63],{"id":62},"_13-推送地址","1.3 推送地址",[28,65,66,71,72,77],{},[20,67,70],{"href":68,"rel":69},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=Token%E6%8E%A5%E5%8F%A3&zhida_source=entity",[24],"Token接口","、",[20,73,76],{"href":74,"rel":75},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81&zhida_source=entity",[24],"数据推送","及业务交换的服务器地址（建议使用HTTPS）",[15,79,81,82],{"id":80},"_14-错误码","1.4 ",[20,83,86],{"href":84,"rel":85},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E9%94%99%E8%AF%AF%E7%A0%81&zhida_source=entity",[24],"错误码",[28,88,89],{},"涉及充电业务时，会有错误原因对应的错误代码，如启动失败原因。",[15,91,93,94],{"id":92},"_15-桩编码","1.5 ",[20,95,98],{"href":96,"rel":97},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E6%A1%A9%E7%BC%96%E7%A0%81&zhida_source=entity",[24],"桩编码",[28,100,101],{},"一个或多个接口（枪）对应一个桩，编号以接口为维度。",[10,103,105],{"id":104},"二常见联调问题","二、常见联调问题",[15,107,109],{"id":108},"_21-token问题","2.1 Token问题",[45,111,112,115,118,121],{},[48,113,114],{},"请求token接口是所有商户都需要对接的第一个接口，Token作为全局唯一凭证，调用各接口和H5页面时均需要使用。作为双方获取身份认证的接口，双方均需要实现；",[48,116,117],{},"Token有效时间一般为2小时，可以设置\u003C2小时的缓存机制，或者在token错误时重新再获取；",[48,119,120],{},"Token有效期内若调接口重新获取了新的token，原来未过期的token也应该是有效的，直至过期失效；",[48,122,123],{},"入参说明：data里面的运营商ID, 谁请求填谁的",[15,125,127],{"id":126},"_22-签名问题","2.2 签名问题",[45,129,130,133,136],{},[48,131,132],{},"签名必须大写",[48,134,135],{},"用加密后的data值拼接",[48,137,138],{},"生成机制：OperatorID、Data、TimeStamp、Seq四部分的值按顺序拼接，结合签名密钥生成。详细说明见中电联第四部分。",[15,140,142],{"id":141},"_23-ret值报错问题","2.3 Ret值报错问题",[28,144,145,149],{},[146,147,148],"strong",{},"(1) 4001-签名错误","\na. 将加密密钥误当成签名密钥。\nb. 加密算法不一致或者错误。",[28,151,152,155],{},[146,153,154],{},"(2) 4002-token错误","\na. 双方密钥配置不统一。\nb. token接口不通导致token获取不到。\nc. data加密前请求入参的商户密钥填写错误。\nd. 运营商ID填错，谁请求填谁的。\ne. 若Token有效期内重新获取了新的token，那么原来未过期的token也应该是有效的，直至过期失效。",[28,157,158,161],{},[146,159,160],{},"(3) 4003-POST参数不合法","\na. 缺少必须的示例OperatorID,sig,TimeStamp,Data，Seq五个参数。",[28,163,164,167],{},[146,165,166],{},"(4) 4004-请求的业务参数不合法","\na. 缺少各接口定义的必要参数\nb. Data加密前的参数不合法，例如调启动充电接口时订单号不能超过27位。",[28,169,170,173],{},[146,171,172],{},"(5) 500-系统错误","\na. 环境问题",[28,175,176],{},[146,177,178],{},"(6) Ret只能整形",[15,180,182],{"id":181},"_24-格式问题","2.4 格式问题",[45,184,185,194,197,200],{},[48,186,187,188,193],{},"入参和返回值，都要加密后放入data中，详细说明请参照",[20,189,192],{"href":190,"rel":191},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=%E4%B8%AD%E7%94%B5%E8%81%94%E6%A0%87%E5%87%86&zhida_source=entity",[24],"中电联标准","第四部分AES128位加密和MD5签名。",[48,195,196],{},"消息体中必须包括OperatorID、Data、TimeStamp、Seq、Sig，缺一不可。",[48,198,199],{},"各个接口的入参和出参见中电联标准文档。《标准》中的所有Data段原文仅为实例，实际上传输时都是密文。",[48,201,202],{},"先加密后签名，先验证签名后解密，",[15,204,206],{"id":205},"_25-加密方式","2.5 加密方式",[45,208,209,218],{},[48,210,211,212,217],{},"数据传输的加密使用对称加密算法",[20,213,216],{"href":214,"rel":215},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=AES+128%E4%BD%8D%E5%8A%A0%E5%AF%86&zhida_source=entity",[24],"AES 128位加密","，加密模式采用CBC，填充模式采用PKCS5Padding方式。",[48,219,220,221,226],{},"签名算法使用",[20,222,225],{"href":223,"rel":224},"https:\u002F\u002Fzhida.zhihu.com\u002Fsearch?content_id=246720141&content_type=Article&match_order=1&q=HMAC-MD5&zhida_source=entity",[24],"HMAC-MD5","。详见中电联标准第四部分。",[10,228,230],{"id":229},"三接口常见问题","三、接口常见问题",[28,232,233,236],{},[146,234,235],{},"1) 请求token接口","\na. 联调第一步，平台之间认证Token的申请，Token作为全局唯一凭证，调用各接口和H5页面时均需要使用。\nb. 该接口作为双方获取身份认证的接口，双方均需要实现。\nc. Token一般有效时间为2小时，可以设置\u003C2小时的缓存机制，或者在token错误时重新再获取。\nd. 若Token有效期内重新获取了新的token，那么原来未过期的token也应该是有效的，直至过期失效。\ne. 入参说明：运营商ID 谁请求填谁的。",[28,238,239,242],{},[146,240,241],{},"2) 查询电站信息接口","\na. 入参：如有400个电站，PageSize填1的话 ，就是400页， 如果填10的话，就是40页， 如果填100的话，就是4页。\nb. 电站信息不建议一条一条的轮询接口，建议一页100条，并将静态信息做缓存。\nc. 建议每天定时同步静态数据，电站数据的更新时间为每日凌晨5点，请在5点之后同步数据。\nd. 输入参数中PageSize，PageNo缺一不可，并且PageSize最大值为100。\ne. LastQueryTime建议为空，即全量查询。如果时间距现在较短，由于最近没有电站信息更新，可能会查不到数据。\nf. 电站信息中的电费服务费描述，是结算价。",[28,244,245,248],{},[146,246,247],{},"3) 查询设备实时状态接口","\na. 注意StationIDs是字符串数组类型，数组长度不超过50，请严格按照类型传输。\nb. 该接口仅作为终端状态初始化时使用，每天可全量拉取1次，终端状态请采用设备状态变化推送的方式更新。（建议每天查一次，推送为主）。",[28,250,251,254],{},[146,252,253],{},"4) 推送设备实时状态接口","\na. 终端状态发生变化时，立即推送。\nb. 状态变化推送接口响应时间最大为3s，超时不重试。\nc. 如果推送过去的终端在系统中不存在，请不要做业务校验，直接扔掉即可，不要在外层报错，即ret=0，data中的值可以按实际返回，比如：检测不到该终端等。\nd. 如需此接口必须提供接受推送接口，接口在中电联标准文档第二部分",[28,256,257,260],{},[146,258,259],{},"5) 查询统计信息接口","\na. 查询时间间隔最长一个月。",[28,262,263,266],{},[146,264,265],{},"6) 查询业务策略接口","\na. 请求接口返回值为空，则可能没有该终端权限。\nb. 请求时报参数格式错误，校验不通过：查询业务策略流水号，前九位为请求方的组织机构代码。\nc. 业务策略中的电费服务费描述，是原价。",[28,268,269,272],{},[146,270,271],{},"7) 请求设备认证接口","\na. 只有已插枪状态的设备才能认证通过，其他状态均会失败，失败原因见错误码。\nb. 请求报参数格式错误，校验不通过：设备认证流水号，前九位为请求方的组织机构代码。\nc. 调用时机：启动充电之前，首先要进行设备认证，确保插枪状态。",[28,274,275,278],{},[146,276,277],{},"8) 请求启动充电接口","\na. 订单号前九位必须是请求方组织机构代码。\nb. 同步返回结果并不是实际启动结果，只代表这个接口指令请求是否成功。具体是否成功以异步结果（推送启动充电结果）为准。\nc. 启动失败原因，根据提示查看错误码对应原因。\nd. 启动充电超时时间为直流终端95秒，交流终端50秒。\ne. 只有状态为2：已插枪的设备才可以启动充电。\nf. 请求报参数格式错误，校验不通过：订单号不能超过27位。\ng. 请求启动充电中二维码其他信息为空即可。",[28,280,281,284],{},[146,282,283],{},"9) 推送启动充电结果接口","\na. 推送失败后不会重试，如果长时间收不到，可以通过查询充电中订单接口作为补偿，订单状态为2代表充电成功，5代表失败。\nb. 如需此接口必须提供接受推送接口，接口在中电联标准文档第三部分。\nc. Identcode为启动失败原因，根据提示查看错误码对应原因。",[28,286,287,290],{},[146,288,289],{},"10) 查询充电中状态接口","\na. 不显示soc：直流有，交流没有。\nb. 查询订单返回状态5：未知，订单号为NULL，其他参数为0.启动失败，没有这笔订单。\nc. 启动充电后不要立即查询，建议间隔十几秒后查询。\nd. 此接口作为推送充电状态的补偿接口，不建议频繁调用。",[28,292,293,296],{},[146,294,295],{},"11) 推送充电中状态接口","\na. 充电过程中，默认每五分钟推送一次，推送失败，不会重试。\nb. 启动充电后默认五分钟后推送第一次充电中数据。\nc. 由于推送是队列机制，有可能在订单结束时还收到充电中推送的情况，忽略即可。\nd. 如需此接口必须提供接受推送接口，接口在中电联标准文档第三部分。",[28,298,299,302],{},[146,300,301],{},"12) 请求结束充电接口","\na. 停止同步返回失败，根据提示查看错误码进行解决。\nb. 同步返回结果并不是实际启动结果，只代表这个接口指令请求是否成功，具体是否成功以异步结果（推送结束充电结果）为准。\nc. 请求一次即可，不要重复结束，若没有收到异步通知，可以通过查询充电状态确定是否执行停止成功。",[28,304,305,308],{},[146,306,307],{},"13) 推送结束充电结果接口","\na. 订单实际结束是否成功以该接口为准，失败原因见错误码。\nb. 推送失败后不会重试，如果长时间收不到，可以通过查询充电中订单接口作为补偿，订单状态为4代表已结束，2代表仍在充电中。\nc. 任何形式的结束充电，均会导致订单结束，并推送结束充电结果。\nd. 如需此接口必须提供接受推送接口，接口在中电联标准文档第三部分。",[28,310,311,314],{},[146,312,313],{},"14) 推送结束订单接口","\na. 订单的结束原因可以参见错误码。\nb. 任何形式的结束充电，均会导致订单结束，并推送结束充电结果和充电订单，一旦收到充电订单推送，即标志充电已结束。\nc. 如需此接口必须提供接受推送接口，接口在中电联标准文档第三部分",[10,316,317],{"id":317},"参考标准",[45,319,320,323,326,329],{},[48,321,322],{},"T\u002FCEC 102.1-2016 电动汽车充换电服务信息交换 第1部分:总则",[48,324,325],{},"T\u002FCEC 102.2-2016 电动汽车充换电服务信息交换 第2部分: 公共信息交换规范",[48,327,328],{},"T\u002FCEC 102.3-2016 电动汽车充换电服务信息交换 第3部分: 业务信息交换规范",[48,330,331],{},"T\u002FCEC 102.4-2016 电动汽车充换电服务信息交换 第4部分: 数据传输及安全",[10,333,334],{"id":334},"相关链接",[45,336,337,344,351,358,365,372],{},[48,338,339],{},[20,340,343],{"href":341,"rel":342},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fblog.csdn.net\u002Fflainsky\u002Farticle\u002Fdetails\u002F140960007",[24],"奥升充电｜互联互通协议解析（1）——平台认证-CSDN博客",[48,345,346],{},[20,347,350],{"href":348,"rel":349},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fblog.csdn.net\u002Fflainsky\u002Farticle\u002Fdetails\u002F140960409",[24],"奥升充电｜互联互通协议解析（2）——公共信息交换规范-CSDN博客",[48,352,353],{},[20,354,357],{"href":355,"rel":356},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fblog.csdn.net\u002Fflainsky\u002Farticle\u002Fdetails\u002F140961394",[24],"奥升充电｜互联互通协议解析（3）——业务信息交换规范-CSDN博客",[48,359,360],{},[20,361,364],{"href":362,"rel":363},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fblog.csdn.net\u002Fflainsky\u002Farticle\u002Fdetails\u002F141026567",[24],"奥升充电｜互联互通协议解析（4）——常见问题-CSDN博客",[48,366,367],{},[20,368,371],{"href":369,"rel":370},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Forise.trytowish.cn\u002F",[24],"奥升新能源技术服务平台",[48,373,374],{},[20,375,378],{"href":376,"rel":377},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fcharge.trytowish.com\u002F",[24],"奥升充电运营平台演示站点",[10,380,381],{"id":381},"奥升充电运营平台开源版",[28,383,384],{},[20,385,388],{"href":386,"rel":387},"https:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fgithub.com\u002FNaTieJun\u002Forise-charge-cloud",[24],"https:\u002F\u002Fgithub.com\u002FNaTieJun\u002Forise-charge-cloud",[28,390,391],{},[392,393],"img",{"alt":394,"src":395},"image","https:\u002F\u002Fpic2.zhimg.com\u002Fv2-ade88a544df34a550aefea0793491d89_r.jpg",{"title":397,"searchDepth":398,"depth":398,"links":399},"",2,[400,411,418,419,420,421],{"id":12,"depth":398,"text":13,"children":401},[402,405,406,407,409],{"id":17,"depth":403,"text":404},3,"1.1 运营商ID（组织机构代码）",{"id":39,"depth":403,"text":40},{"id":62,"depth":403,"text":63},{"id":80,"depth":403,"text":408},"1.4 错误码",{"id":92,"depth":403,"text":410},"1.5 桩编码",{"id":104,"depth":398,"text":105,"children":412},[413,414,415,416,417],{"id":108,"depth":403,"text":109},{"id":126,"depth":403,"text":127},{"id":141,"depth":403,"text":142},{"id":181,"depth":403,"text":182},{"id":205,"depth":403,"text":206},{"id":229,"depth":398,"text":230},{"id":317,"depth":398,"text":317},{"id":334,"depth":398,"text":334},{"id":381,"depth":398,"text":381},"技术解析","https:\u002F\u002Fucode-orise.oss-cn-beijing.aliyuncs.com\u002Fwebsite\u002Farticle\u002F16\u002F1.jpg","2024-08-09","md",{},true,"\u002Finsights\u002F16",{"title":5,"description":397},"16","insights\u002F16","互联互通协议联调常见问题解答，涵盖名词解释、签名问题、Token问题及各接口联调注意事项。","Vb96_igUXhtMFvUZKNj8EG8vepFGIBJ0QXZZ2P3tIHg",1789965847348]