Skip to content

通用数据同步 API 方案

用于 合作伙伴 向 Lenovo 同步数据的统一 API 方案,对接前请了解 API 接入流程

请求地址

环境URL
测试https://api-cn-t.lenovo.com/uat/v1.0/supply_chain/scc/open_platform/data/sync/{data_category}/{biz_key}
正式https://api-cn.lenovo.com/v1.0/supply_chain/scc/open_platform/data/sync/{data_category}/{biz_key}

公共请求参数

调用前,请先获取 Token

参数位置参数名称描述备注
Http Method遵循 REST API 规范新增:POST、修改:PUT、删除:DELETE、全量覆盖:PATCH(清除历史数据,然后写入当前数据)
----
HeaderAuthorizationBearer + 空格 + TokenBearer aa****************
HeaderContent-Type数据的格式 json/xmlapplication/json (default) application/xml
HeaderAccept接受的格式 json/xmlapplication/json (default) application/xml
----
Url Pathdata_category数据分类参考具体数据接口 URL
Url Pathbiz_key业务关键字参考具体数据接口 URL

公共请求参数

位置名称必填类型长度描述
BodyappNameString10合作伙伴简称,非必须
Bodybatch_idYString16批次 ID,合作伙伴生成,保证批次唯一性
Bodybatch_sizeYNumber---批次内,总数据量
Bodyseq_idYString批次内,每次序号
Bodyseq_sizeYNumber---每次,要推送的数据量 500 >= size >= 1
  • 举例说明 batch_id是本次发送数据的一个标识。batch_size是总共要发送的数据量。 为了提升单个请求性能,所以要求每个请求发送的数据量为500,超过500就需要拆分为多个请求。 如果本次发送数据总量1400,则拆分为三个请求,如下:
请求batch_idbatch_sizeseq_idseq_size
请求1202408220114001500
请求2202408220114002500
请求3202408220114003400

公共响应参数

位置名称必填类型格式描述示例
BodycodeYString---状态码"0"代表成功,其他失败可参考返回码
BodymsgNString---提示消息非"0"时,会提示错误消息
BodyresultNobject/array---数据体

json

json
{
  "batch_id": "202206230001",
  "batch_size": "2",
  "seq_id": "1",
  "seq_size": "2",
  "data": [
    {
      "LENOVO_PN": "pn_1",
      "PLANT": "1111",
      "QTY": "22"
    },
    {
      "LENOVO_PN": "pn_2",
      "PLANT": "1111",
      "QTY": "33"
    }
  ]
}

xml

xml
<?xml version="1.0" encoding="UTF-8" ?>
<Req>
  <batch_id>202206230001</batch_id>
  <batch_size>2</batch_size>
  <seq_id>1</seq_id>
  <seq_size>2</seq_size>
  <data>
    <LENOVO_PN>pn_1</LENOVO_PN>
    <PLANT>xxxx</PLANT>
    <QTY>1</QTY>
  </data>
  <data>
    <LENOVO_PN>pn_2</LENOVO_PN>
    <PLANT>xxxx</PLANT>
    <QTY>1</QTY>
  </data>
</Req>
  • 响应示例

json

json
{
  "code": "0",
  "msg": "request success"
}

xml

xml
<Resp>
  <code>0</code>
  <msg>request success!</msg>
  <result>request success!</result>
</Resp>
  • 异常示例

json

json
{
  "code": "E00V00",
  "msg": "data verification failed!",
  "result": [{
    "row": {
      "odm": "ABCD",
      ...
    },
    "verify": [{
      "type": "value length exceed",
      "fields": "version"
    }]
  }]
}

xml

xml
<Resp>
  <code>E00V00</code>
  <msg>data verification failed!</msg>
  <result>
    <verify>
      <type>value length exceed</type>
      <fields>version</fields>
    </verify>
    <row>
      <odm>ABCD</odm>
      ...
    </row>
  </result>
  <result>
    <verify>
      <type>value length exceed</type>
      <fields>version</fields>
    </verify>
    <row>
      <odm>ABCD</odm>
      ...
    </row>
  </result>
</Resp>

通用错误码说明

参数位置Value描述
httpcode200正常返回结果
httpcode401Token 错误/签名错误
httpcode404访问的路径不存在
httpcode500服务器错误
body.code"0"成功
body.code"-1"系统错误
body.code"E00A00"该序列数据已经成功消费
body.code"E00P00"重试到达上限
body.code"E00V00"数据包验证失败,result 中会体现详细内容
body.code"E00W00"写入异常,违反唯一约束
body.code"E00M00"多个异常情况,result 中包含多个code和message