请先查看接入指引了解具体接入方式,再参考此文档完成接入。
请求header
以下请求参数列表仅列出了接口请求参数和必要公共参数,完整公共参数列表见 公共参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
X-Date | String | 是 | 使用UTC时间,精确到秒。请使用格式:YYYYMMDD'T'HHMMSS'Z' ,例如:20201103T104027Z |
Authorization | String | 是 | HMAC-SHA256:签名方法 |
X-Security-Token | String | 否 | 指安全令牌服务(Security Token Service,STS) 颁发的临时安全凭证中的SessionToken,使用长期密钥时无需填写该参数。 |
向图库中添加一张图片。
名称 | 内容 |
---|---|
请求方式 | POST |
Content-Type | application/json |
是否需要鉴权 | 是 |
(1)Query参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
Action | 必选 | String | 接口名,取值:ProductSearchAddImage |
Version | 必选 | String | 版本号,取值:2022-06-16 |
(2)Body参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
product_id | 必选 | [String] | 商品ID,用来区分产品 |
image_id | 必选 | [String] | 图片ID,在同一个产品下区分图片 |
category_id | 必选 | [Int] | 图片类目ID,见类目说明 |
url | 必选 | [String] | 图片url |
custom_content | 可选 | [String] | 用户自定义的内容,最多4KB |
int_attr | 可选 | [Int] | 整数类型属性,可用于查询时过滤,查询时会返回该字段 |
str_attr | 可选 | [String] | 字符串类型属性,最多支持128个字符。可用于查询时过滤,查询时会返回该字段 |
crop | 可选 | [bool] | 是否进行主体识别(裁剪),默认false
|
region | 可选 | [Object] | 裁剪边框 x1 < x2, y1 < y2 示例: {"x1": 10, "x2": 230, "y1": 50, "y2": 400} |
PS:
${product_id}_${image_id}
即为图片唯一pid
{ "product_id": "test", "image_id": "test1", "category_id": 1, "url": "https://img.tvc-mall.com/uploads/IPHONE-610.jpg", "custom_content": "custom", "int_attr": 1, "str_attr": "str", "crop": true, "region": { "x1": 1, "x2": 2, "y1": 3, "y2": 4, } } }
data
字段字段 | 类型 | 说明 |
---|---|---|
+ image_info | [Object] | 图片信息,字段如下: |
- regions | [List] | 从图片中检测出的物体边框列表,每个元素包含 x1, x2, y1, y2 四个边框数据 |
- category_id | [Int] | 图片类目ID,见类目说明,目前就是请求中的类目 |
注:data
字段包含在通用返回字段中,具体见通用返回字段及错误码
msg可能出现以下几种情况:
msg内容 | 含义 |
---|---|
Success | 添加成功 |
image num exceeds limit | 用户已添加的图片数量超出限制 |
limit not found for ... | 无法查询到该用户的添加图片限额,可能是后台未更新。请等待一分钟后重试,若出现同样的情况请联系对接人设置图片限额 |
其他 | 服务内部错误 |
HttpCode | 错误码 | 错误消息 | 描述 |
---|---|---|---|
200 | 10000 | 无 | 请求成功 |
400 | 50200 | 参数无效 | 可能是参数类型不对 |
400 | 50201 | 参数缺失 | 可能是缺少必填参数 |
400 | 50429 | 图库已满/qps超限 | 用户已添加的图片数量超出限制 或 qps 超限 |
400 | 50500 | 内部其他错误 | 内部其他错误 |
注:其余请参考通用返回字段及错误码
{ "status": 10000, "code": 10000, "time_elapsed": "3.193254432s", "request_id": "20220830200429010212140137023A7EF2", "message": "Success", "data": { "image_info": { "regions": [ { "x2": 300, "y1": 0, "x1": 0, "y2": 300 } ], "category_id": 1 } } }
从图库删除一张图片
名称 | 内容 |
---|---|
请求方式 | POST |
Content-Type | application/json |
是否需要鉴权 | 是 |
Query参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
Action | 必选 | String | 接口名,取值:ProductSearchDeleteImage |
Version | 必选 | String | 版本号,取值:2022-06-16 |
Body参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
product_id | 必选 | String | 要删除的商品ID |
image_id | 必选 | String | 要删除的图片ID |
data
字段说明无
注:data
字段包含在通用返回字段中,具体见通用返回字段及错误码
HttpCode | 错误码 | 错误消息 | 描述 |
---|---|---|---|
200 | 10000 | 无 | 请求成功 |
注:其余请参考通用返回字段及错误码
{ 'code': 10000, 'data': null, 'message': 'Success', 'request_id': '69554530352795504791619442607', 'status': 10000, 'time_elapsed': '9.825631ms' }
名称 | 内容 |
---|---|
请求方式 | POST |
Content-Type | application/json |
是否需要鉴权 | 是 |
Query参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
Action | 必选 | String | 接口名,取值:ProductSearchSearchImage |
Version | 必选 | String | 版本号,取值:2022-06-16 |
Body参数:
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
category_id | 必选 | [int] | 图片类目ID,见类目说明 |
url | 必选 | [String] | 图片url |
crop | 可选 | [bool] | 是否进行主体识别(裁剪),默认false
|
region | 可选 | [Object] | 裁剪边框 x1 < x2, y1 < y2 示例: {"x1": 10, "x2": 230, "y1": 50, "y2": 400} |
filter | 可选 | [String] | 查询过滤表达式,json序列化后的字符串 |
查询语句遵循基本的 JSON 格式,包含下列基本查询算子及其组合:
must, must_not, range, range_out, and, or
must
算子,针对指定字段名生效,语义为必须在 [...] 之中,即 "must in"。{ "op": "must", // 算子名,表示 region 必须为 cn 或 sg "field": "region", // v,必须填写 "conds": \["cn", "sg"\] // 检索条件列表,一个或多个匹配项,元素类型为字符串或数字 }
must_not
算子,针对指定字段名生效,语义为必须不在 [...] 之中,即 "must not in"。{ "op": "must_not", // type 不能是 1,2,3 中的任意一个 "field": "type", "conds": [1,2,3] }
range
/range_out
算子,针对指定字段名生效,语义为连续区间范围筛选,其中 range_out 用于筛选指定范围外扩的场景,形式化描述如下。算子支持能力如下算子和表达范围 | ~A | B~ | A~B | ~B, A~ | 二维圆内范围 |
---|---|---|---|---|---|
range | 支持 | 支持 | 支持 | 支持 | |
range_out | 支持 | 支持 | 支持 |
gte
(大于等于), gt
(大于), lte
(小于等于), lt
(小于) 表示一维范围{ "op": "range", // 筛选价格在 [100, 500) 左闭右开区间内的商品 "field": "price", "gte": 100.0, // 浮点存在误差,更安全的方式是 "gt":99.9999 "lt": 500.0 } { "op": "range", // 筛选价格高于或等于 100 的商品 "field": "price", "gte": 100.0 // 浮点存在误差,更安全的方式是 "gt":99.9999 } { "op": "range_out", // 筛选价格低于 100 或高于 500 的商品 "field": "price", "gt": 500.0, "lt": 100.0 } { "op": "range", // 支持两个维度用于距离筛选 "field": ["pos_x", "pos_y"], // 两个维度组成的直角坐标系 "center": [100.0, 123.4], // 中心点 "radius": 50.0 // 半径,注意自己对齐坐标单位 }
and
逻辑算子,针对逻辑查询需求,对多个条件取交集{ "op": "and", // 算子名 "conds": [ // 条件列表,支持嵌套逻辑算子和 must/must_not 算子 { "op": "must", "field": "type", "conds": [1] }, { ... // 支持>=1的任意数量的条件进行组合 } ] }
or
逻辑算子,针对逻辑查询需求,对多个条件取并集类似 and 算子,不再冗述,
"op": "or"
data
字段字段 | 类型 | 说明 |
---|---|---|
+ image_info | [Object] | 图片本身信息,字段如下: |
- regions | [List] | 从图片中检测出的物体边框列表,每个元素包含 x1, x2, y1, y2 四个边框数据 |
- category_id | [Int] | 图片类目ID,见类目说明,目前就是请求中的类目 |
+ auctions | [List] | 相似图片信息的列表,单个元素的字段如下: |
- product_id | [String] | 相似图片的商品ID |
- image_id | [String] | 相似图片的图片ID |
- score | [Double] | 图片相似打分。取值范围:0~1 |
- + meta | [Object] | 相似图片的meta信息,字段如下: |
- category_id | [Int] | 图片类目ID |
- custom_content | [String] | 用户自定义的内容,最多4KB |
- int_attr | [Int] | 整数类型属性 |
- str_attr | [String] | 字符串类型属性 |
注:data
字段包含在通用返回字段中,具体见通用返回字段及错误码
HttpCode | 错误码 | 错误消息 | 描述 |
---|---|---|---|
200 | 10000 | 无 | 请求成功 |
400 | 50204 | 参数缺失 | 如url 都没传入 |
400 | 50500 | 内部其他错误 | 内部其他错误 |
注:其余请参考通用返回字段及错误码
{ "status": 10000, "code": 10000, "time_elapsed": "3.862298319s", "request_id": "202208302027000102040531390242DC45", "message": "Success", "data": { "image_info": { "regions": [ { "x2": 287, "y1": 69, "x1": 9, "y2": 236 } ], "category_id": 1 }, "auctions": [ { "image_id": "test1", "meta": { "int_attr": 1, "str_attr": "str", "category_id": 1, "custom_content": "custom" }, "product_id": "test1", "score": 0.9970066547393799 } ] } }