# API平台接口文档 v1.0 ## 规范说明 ### 通信协议 HTTP协议 ### 请求方法 接口支持POST方法发起请求。 ### 请求内容结构说明 采用JSON格式,其中包含Header(公有参数)、Body(私有参数)节点: 名称 |描述 |备注 :-- |:-- |:-- 公共参数 |每个接口都包含的通用参数,以JSON格式存放在Header属性 |详见以下公共参数说明 私有参数 |每个接口特有的参数,以JSON格式存放在Body属性 |详见每个接口定义 **公共参数说明:** 公共参数(Header)是用于标识产品及接口鉴权的参数,每次请求均需要携带这些参数: 参数名称 |类型 |参数要求 |描述 :---- |:--- |:------ |:--- appkey |string | 必填 |密钥管理中生成appkey ### 签名校验流程: 服务端接收到请求后首先对Body剔除sign参数,并添加signKey值,再对Bode的key值进行自然排序。然后对JSON字符串进行MD5加密,加密后的值与Body中的sign值进行对比,如对比通过,视为合法请求,否则视为非法请求。 ### 请求报文示例 请求内容明文: ``` { "orderNo": 2024010311062541, "orderType": 1, "orderDetails": [ { "orderNo": 2024010311062541, "matnr": "test001", "anfme": 10 } ], "sign": "8a7036cfe218e12f50f9107e9eb4a437" } ``` ### 等待签名报文示例 等待签名报文(已剔除sign值、已添加signKey值并对key进行自然排序): ``` {"orderDetails":[{"orderNo":"2024010311062541","matnr":"test001","anfme":10.0}],"orderType":1,"orderNo":"2024010311062541","signKey":"29823ebbfbc2f04a5fbb407ea926832f"} ``` 将上面的报文进行md5加密得出值为:```8a7036cfe218e12f50f9107e9eb4a437```