You need to enable JavaScript to run this app.
导航

接口文档

最近更新时间2022.09.15 15:54:51

首次发布时间2022.07.22 14:44:18

接入指引

请先查看接入指引了解具体接入方式,再参考此文档完成接入。

请求公共参数

请求header

以下请求参数列表仅列出了接口请求参数和必要公共参数,完整公共参数列表见 公共参数

名称类型是否必填描述
X-DateString使用UTC时间,精确到秒。请使用格式:YYYYMMDD'T'HHMMSS'Z' ,例如:20201103T104027Z

Authorization

String

HMAC-SHA256:签名方法
-Credential为签名凭证,其中:
-AccessKeyId为访问密钥ID,可在 访问密钥(Access Key) 获取;
-ShortDate为请求的短时间,使用UTC时间,精确到日。请使用格式:YYYYMMDD,例如:20180201
-Region为请求地区,国内一般为为cn-north-1
-Service为请求的服务,一般为cv
-SignedHeaders为参与签名计算的头部信息,content-typehost 为必选头部;
-Signature为签名,可在 签名方法 获取。
注:我们提供了SDK及签名示例供您实现服务快速接入,具体可参考 快速接入
例如:HMAC-SHA256 Credential={AccessKeyId}/{ShortDate}/{Region}/{Service}/request, SignedHeaders={SignedHeaders}, Signature={Signature}

X-Security-TokenString指安全令牌服务(Security Token Service,STS) 颁发的临时安全凭证中的SessionToken,使用长期密钥时无需填写该参数。
添加图片

向图库中添加一张图片。

名称内容
请求方式POST
Content-Typeapplication/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
  • true,提供region则直接裁剪,不提供region自动识别出region,再提取特征
  • 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,
        }
    }
}

API返回

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错误码错误消息描述
20010000请求成功
40050200参数无效可能是参数类型不对
40050201参数缺失可能是缺少必填参数
40050429图库已满/qps超限用户已添加的图片数量超出限制 或 qps 超限
40050500内部其他错误内部其他错误

注:其余请参考通用返回字段及错误码

返回值示例

{
    "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-Typeapplication/json
是否需要鉴权

输入参数

Query参数:

参数可选/必选类型说明
Action必选String接口名,取值:ProductSearchDeleteImage
Version必选String版本号,取值:2022-06-16

Body参数:

参数可选/必选类型说明
product_id必选String要删除的商品ID
image_id必选String要删除的图片ID

API返回

data字段说明

注:data字段包含在通用返回字段中,具体见通用返回字段及错误码

错误码

HttpCode错误码错误消息描述
20010000请求成功

注:其余请参考通用返回字段及错误码

返回值示例

{
    'code': 10000, 
    'data': null, 
    'message': 'Success', 
    'request_id': '69554530352795504791619442607', 
    'status': 10000, 
    'time_elapsed': '9.825631ms'
}
搜索图片
名称内容
请求方式POST
Content-Typeapplication/json
是否需要鉴权

输入参数

Query参数:

参数可选/必选类型说明
Action必选String接口名,取值:ProductSearchSearchImage
Version必选String版本号,取值:2022-06-16

Body参数:

参数可选/必选类型说明
category_id必选[int]图片类目ID,见类目说明
url必选[String]图片url
crop可选[bool]是否进行主体识别(裁剪),默认false
  • true,提供region则直接裁剪,不提供region自动识别出region,再提取特征
  • 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 用于筛选指定范围外扩的场景,形式化描述如下。算子支持能力如下
算子和表达范围~AB~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"

API返回

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错误码错误消息描述
20010000请求成功
40050204参数缺失url都没传入
40050500内部其他错误内部其他错误

注:其余请参考通用返回字段及错误码

返回值示例

{
    "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
            }
        ]
    }
}