通用数据推送 API 方案
用于 Lenovo 向 合作伙伴 推送数据的统一 API 方案
TIP
- 使用HTTPS作为传输协议,默认POST请求
- API遵循REST风格,默认使用JSON作为报文传输协议
- 注意 UrlEncode 情况
- 接口限制:RequestBody 默认小于 500 条并且小于 1Mb
- 默认超时时间 60s
- 域名建议是标准443,其他安全可能会拒开防火墙
合作伙伴提供数据推送接收地址
举例
环境 | URL |
---|---|
测试 | https://api.******.com/uat/v1.0/scc/data/sync/{data_category}/{biz_key} |
正式 | https://api.******.com/v1.0/scc/data/sync/{data_category}/{biz_key} |
支持认证方式
选择您的认证方式,并针对性提供认证配置
Basic Auth
- username
- password
OAuth 2.0 - Client Credentials
- clientld
- clientSecret
- authPath
OAuth 2.0 - Password Credentials
- clientld
- clientSecret
- authPath
- username
- password
公共请求参数
调用前,请先获取 Token
参数位置 | 参数名称 | 描述 | 备注 |
---|---|---|---|
Http Method | 遵循 REST API 规范 | 新增:POST、修改:PUT、删除:DELETE、全量覆盖:PATCH(清除历史数据,然后写入当前数据) | |
- | - | - | - |
Header | Authorization | 根据认证方式决定 | Bearer aaf0d4d6-c541-34cd-a4e0-03da1cc4019d |
- | - | - | - |
Url Path | data_category | 数据分类 | 参考具体数据接口 URL |
Url Path | biz_key | 业务关键字 | 参考具体数据接口 URL |
公共请求参数
位置 | 名称 | 必填 | 类型 | 长度 | 描述 |
---|---|---|---|---|---|
Body | appName | String | 10 | 合作伙伴简称,非必须 | |
Body | batch_id | Y | String | 16 | 批次 ID,合作伙伴生成,保证批次唯一性 |
Body | batch_size | Y | Number | --- | 批次内,总数据量 |
Body | seq_id | Y | String | 批次内,每次序号 | |
Body | seq_size | Y | Number | --- | 每次,要推送的数据量 500 >= size >= 1 |
公共响应参数
位置 | 名称 | 必填 | 类型 | 格式 | 描述 | 示例 |
---|---|---|---|---|---|---|
Body | code | Y | String | --- | 状态码 | "0"代表成功,其他失败可参考返回码 |
Body | msg | N | String | --- | 提示消息 | 非"0"时,会提示错误消息 |
Body | result | N | object/array | --- | 数据体 |
请求示例
URL
:https://api.******.com/uat/v1.0/scc/data/sync/odm/master_data
Header
:Authorization = Bearer aaf0d4d6-c541-34cd-a4e0-03da1cc4019d
请求参数
json
{
"batch_id": "LCFC202206230001",
"batch_size": "250000",
"seq_id": "1",
"seq_size": "2",
"data": [
{
"LENOVO_PN": "SD10W87241",
"PLANT": "H121",
"QTY": "1000"
},
{
"LENOVO_PN": "SD10W87241",
"PLANT": "H121",
"QTY": "1000"
}
]
}
- 响应示例
json
{
"code": "0",
"msg": "request success"
}
- 异常示例
json
{
"code": "E00V00",
"msg": "data verification failed!",
"result": [{
"row": {
"odm": "LCFC",
...
},
"verify": [{
"type": "value length exceed",
"fields": "version"
}]
}]
}
通用错误码说明
参数位置 | Value | 描述 |
---|---|---|
httpcode | 200 | 正常返回结果 |
httpcode | 401 | Token 错误/签名错误 |
httpcode | 404 | 访问的路径不存在 |
httpcode | 500 | 服务器错误 |
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 |