# 查询商品识别结果
接口说明:当图片入库接口启用商品识别功能时,可调用该接口获取识别结果。
请求方式: POST(HTTPS)
请求地址: https://{region}/api/ai/v2/searchRecognitionRes/{clientid}/{timestamp}/{digest}/{msg_id}
在线调试
请求示例:
参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
bizId | VARCHAR(32) | 是 | 照片提交入库时的业务ID。 |
createTime | VARCHAR(19) | 否 | 业务创建时间,不传时仅查近30天内的数据;传值时会查创建时间前后三天内的数据。格式:yyyy-MM-dd HH:mm:ss |
响应示例:
{
"return_code": "0",
"return_msg": "响应信息",
"msg_id": "{ msg_id }",
"response_data": "<<DATA>>"
}
数据DATA示例:
{
"bizId": "7353688744959393539",
"state": "1",
"imageLength": 13,
"imageWidth": 12,
"imageArea": 156,
"dataScore": 11.0,
"maxScore": 12.0,
"groundProductNum": 26,
"aiExtengInfo": {},
"aiResults": [
{
"imageId": 6178387348536236660,
"thirdImageId":"5122096114208480001",
"state": "1",
"imageUrl": "https://image.third.com/7570161533259730386/user_defined/6296816947687725256/202203/20220302153031473_4513adc0_CAMERA_21002005284.jpg",
"imageType": "1",
"tiltScore": "37",
"blurScore": "57",
"brightnessScore": "67",
"imageLayout": "8",
"product_purity": "0.95",
"product_proportion": "0.66",
"fridge_fullness": "0.87",
"fridge_door_struc": "1",
"column_num": "5",
"height": "3",
"extengInfo": {},
"units": [
{
"isBottom": 0,
"layer": 1,
"waiqin365_product_id": "7864468815629682996",
"waiqin365_prd_code": "6928471323821",
"waiqin365_prd_name": "舒客红花清火牙膏180克-V01",
"repeat": 0,
"originalPrice": "19.5",
"discountPrice": "18.5",
"score": 0.997,
"waiqin365_serial_num": 18,
"skuId": "shuke_honghuaqinghuo_180g",
"x1": 689,
"x2": 945,
"y1": 971,
"y2": 1038,
"extengInfo": {}
}
],
"priceTags": [
{
"x1": 589,
"x2": 845,
"y1": 871,
"y2": 938,
"originalPrice": "13.1",
"discountPrice": "12.2",
"prd_code": "6928471323821",
"prd_x1": 689,
"prd_x2": 945,
"prd_y1": 971,
"prd_y2": 1038,
"extengInfo": ""
}
]
}]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
bizId | VARCHAR(32) | 业务ID,提交图片后可根据该id查询识别结果 |
state | CHAR(1) | 识别状态。1:已处理,0:处理中。一组照片全部识别完成就返回已处理,只要有一张照片没有识别完成就是处理中 |
imageLength | Long | 地堆的长,只有陈列场景为地堆时才会返回 |
imageWidth | Long | 地堆的宽,只有陈列场景为地堆时才会返回 |
imageArea | Long | 地堆的面积,只有陈列场景为地堆时才会返回 |
dataScore | Double | 陈列得分。匹配的计分项的识别结果得分 |
maxScore | Double | 陈列标准总分。计分项里配置的总分 |
groundProductNum | Long | 地堆的商品数量,只有陈列场景为地堆时才会返回。这个数量并不是识别的商品数量之和,而是AI推断的地堆摆放的商品数量 |
aiExtengInfo | Object | 扩展字段,为一组照片AI识别结果的扩展结果,没有则为空 |
aiResults | [] | 一组照片中每张照片的识别结果 |
aiResults.imageId | VARCHAR(100) | 图片ID。 |
aiResults.thirdImageId | VARCHAR(100) | 第三方图片唯一ID,若入参传了图片ID,为入参值;若入参无值,图片入库后,勤策系统自动分配图片ID |
aiResults.state | VARCHAR(100) | 图片识别状态。0:识别失败,1:识别成功,2:识别中 |
aiResults.imageUrl | VARCHAR(100) | 图片URL地址 |
aiResults.imageType | VARCHAR(100) | 陈列类型。1:低温拍照,2:货架,3:堆头,4:端架,5:收银台,6:形象化陈列,7:冷风柜,8:单开门冰箱,9:双开门冰箱,10:卧柜,21:暖柜,22:店招,23:地堆,24:割箱,25:挂架,26:侧柜,27:挂网,33:斜口笼,34:挂网(不含挂条),31:货架式包柱 |
aiResults.tiltScore | VARCHAR(20) | 该张照片的倾斜度,请求参数isQualityJudgment传1时才会判断。结果为0到90之间的数值,为照片识别的sku与水平线的夹角。客户可设置小于60度的照片为正常 |
aiResults.blurScore | VARCHAR(20) | 该张照片的模糊度,请求参数isQualityJudgment传1时才会判断。结果为0到100之间的数,数值越大照片越模糊。客户可设置小于80的照片为正常 |
aiResults.brightnessScore | VARCHAR(20) | 该张照片的明暗度,请求参数isQualityJudgment传1时才会判断。结果为0到100之间的数,数值越大照片越亮。客户可设置明暗度区间为[25,75]内为正常 |
aiResults.imageLayout | CHAR(1) | 总层数。陈列类型为卧柜、店招外的其他类型时,均返回该照片的层数 |
aiResults.product_purity | VARCHAR(20) | 本品纯净度=本品排面数/(本品排面数+竞品排面数+未识别排面数)。陈列类型为冰箱的时候才返回 |
aiResults.product_proportion | VARCHAR(20) | 本品冰箱占比=本品排面数/(本品排面数+竞品排面数+未识别排面数+空位数)。陈列类型为冰箱的时候才返回 |
aiResults.fridge_fullness | VARCHAR(20) | 冰箱饱满度=(本品排面数+竞品排面数+未识别排面数)/(本品排面数+竞品排面数+未识别排面数+空位数)。陈列类型为冰箱的时候才返回 |
aiResults.fridge_door_struc | CHAR(1) | 0:单开门,1:多开门,2:其他。陈列类型为冰箱的时候才返回 |
aiResults.column_num | INT | 列的数量。陈列类型为割箱的时候才返回 |
aiResults.height | INT | 所有列中最高列的高度;陈列类型为割箱的时候才返回 |
aiResults.extengInfo | Object | 扩展字段,为单张照片AI识别结果的扩展结果,没有则为空 |
aiResults.units | [] | 识别出的SKU集合 |
aiResults.units.waiqin365_product_id | VARCHAR(20) | 勤策商品ID |
aiResults.units.waiqin365_prd_code | VARCHAR(20) | 勤策商品编码 |
aiResults.units.waiqin365_prd_name | VARCHAR(20) | 勤策商品名称 |
aiResults.units.waiqin365_serial_num | INT | SKU的序号:一张照片从左到右从上到下进行排序;序号可以帮助还原SKU在图片中的相对位置;标注序号的范围包括本品、竞品、未识别、空位;陈列类型为货架、端架、冰箱时才有返回值 |
aiResults.units.layer | INT | SKU所在层数;陈列类型为卧柜、店招外的其他类型时,均返回该SKU的层数 |
aiResults.units.repeat | INT | 0:不和其他照片重复的SKU,1:和其他照片重复的SKU。对于货架的陈列场景,勤策把一组照片中两两去重,找出和其他照片重复的SKU,企业可以根据该返回值实现货架拼接去重 |
aiResults.units.skuId | VARCHAR(20) | SKU识别码。NULL_SKU:表示空位,ALL_SKU:表示未识别 |
aiResults.units.isBottom | INT | 0:在底部,1:不在底部,表示叠放在一个或者多个商品上面。说明:仅陈列场景为货架、端架、冰箱时才计算 |
aiResults.units.score | FLOAT | 识别SKU可信度。越接近1可信度越高 |
aiResults.units.originalPrice | VARCHAR(20) | 零售价格,仅入参isPriceCheck=1时返回 |
aiResults.units.discountPrice | VARCHAR(20) | 促销价格,仅入参isPriceCheck=1时返回 |
aiResults.units.x1 | INT | SKU的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.units.y1 | INT | SKU的左上角顶点纵坐标Y1 |
aiResults.units.x2 | INT | SKU的右下角顶点横坐标X2 |
aiResults.units.y2 | INT | SKU的右下角顶点纵坐标Y2 |
aiResults.units.extengInfo | Object | 扩展字段,为单个SKU识别结果的扩展结果,没有则为空 |
aiResults.priceTags.x1 | INT | 价签的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.priceTags.y1 | INT | 价签的左上角顶点纵坐标Y1 |
aiResults.priceTags.x2 | INT | 价签的右下角顶点横坐标X2 |
aiResults.priceTags.y2 | INT | 价签的右下角顶点纵坐标Y2 |
aiResults.priceTags.originalPrice | VARCHAR(100) | 原价 |
aiResults.priceTags.discountPrice | VARCHAR(100) | 折扣价 |
aiResults.priceTags.prd_code | VARCHAR(100) | 关联商品编码 |
aiResults.priceTags.prd_x1 | INT | 价签关联商品的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.priceTags.prd_y1 | INT | 价签关联商品的左上角顶点纵坐标Y1 |
aiResults.priceTags.prd_x2 | INT | 价签关联商品的右下角顶点横坐标X2 |
aiResults.priceTags.prd_y2 | INT | 价签关联商品的右下角顶点纵坐标Y2 |
错误码:
错误码 | 描述 | 排查方法 |
---|---|---|
1010501099 | 产品欠费 | 产品欠费 |
1010501033 | 参数非法,请按照文档传参 | 参数非法,请按照文档传参 |
1 | 其他原因失败,详细用return_msg描述 | - |
# 推送商品智能识别数据
接口说明:勤策平台在业务提交的所有图片识别完成后将结果推送第三方系统接口。
请求方式: POST(HTTPS)
请求头: Content-Type: application/x-www-form-urlencoded
请求地址: 第三方地址
** 请求参数: **
参数 | 类型 | 参数值 |
---|---|---|
msgId | VARCHAR(19) | 消息ID。 |
dataId | VARCHAR(19) | 数据ID。 |
dataVersion | VARCHAR(19) | 接口数据版本,如:001。 |
dataFormat | VARCHAR(19) | 数据格式:json。 |
dataSource | VARCHAR(19) | 数据来源。biz:业务功能产生,api:开放接口产生。 |
timestamp | VARCHAR(19) | 请求时间戳,如:1503276678552。 |
status | CHAR(1) | 数据同步状态。0:数据首次同步,2:数据失败同步。 |
statusTime | VARCHAR(19) | 上次同步失败时间。格式:yyyy-MM-dd HH:mm:ss。 |
tenantId | VARCHAR(19) | 企业ID,各注册企业在勤策中对应的唯一ID。 |
digest | VARCHAR(19) | 数据签名,md5(data\ |
dataType | VARCHAR(19) | ai_sku 商品智能识别。 |
data | VARCHAR(19) | <<请求数据体>> ,说明:格式为JSON格式数据。 |
请求数据体(数据data部分):
{
"bizId": "7353688744959393539",
"state": "1",
"imageLength": 13,
"imageWidth": 12,
"imageArea": 156,
"groundProductNum": 26,
"aiExtengInfo": {},
"aiResults": [
{
"imageId": 6178387348536236660,
"thirdImageId":"5122096114208480001",
"state": "1",
"imageUrl": "https://image.third.com/7570161533259730386/user_defined/6296816947687725256/202203/20220302153031473_4513adc0_CAMERA_21002005284.jpg",
"imageType": "1",
"tiltScore": "37",
"blurScore": "57",
"brightnessScore": "67",
"imageLayout": "8",
"product_purity": "0.95",
"product_proportion": "0.66",
"fridge_fullness": "0.87",
"fridge_door_struc": "1",
"column_num": "5",
"height": "3",
"extengInfo": {},
"units": [
{
"isBottom": 0,
"layer": 1,
"waiqin365_product_id": "7864468815629682996",
"waiqin365_prd_code": "6928471323821",
"waiqin365_prd_name": "舒客红花清火牙膏180克-V01",
"repeat": 0,
"originalPrice": "19.5",
"discountPrice": "18.5",
"score": 0.997,
"waiqin365_serial_num": 18,
"skuId": "shuke_honghuaqinghuo_180g",
"x1": 689,
"x2": 945,
"y1": 971,
"y2": 1038,
"extengInfo": {}
}
],
"priceTags": [
{
"x1": 589,
"x2": 845,
"y1": 871,
"y2": 938,
"originalPrice": "13.1",
"discountPrice": "12.2",
"prd_code": "6928471323821",
"prd_x1": 689,
"prd_x2": 945,
"prd_y1": 971,
"prd_y2": 1038,
"extengInfo": ""
}
]
}]
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
bizId | VARCHAR(32) | 业务ID,提交图片后可根据该id查询识别结果 |
state | CHAR(1) | 识别状态。1:已处理,0:处理中。一组照片全部识别完成就返回已处理,只要有一张照片没有识别完成就是处理中 |
imageLength | Long | 地堆的长,只有陈列场景为地堆时才会返回 |
imageWidth | Long | 地堆的宽,只有陈列场景为地堆时才会返回 |
imageArea | Long | 地堆的面积,只有陈列场景为地堆时才会返回 |
groundProductNum | Long | 地堆的商品数量,只有陈列场景为地堆时才会返回。这个数量并不是识别的商品数量之和,而是AI推断的地堆摆放的商品数量 |
aiExtengInfo | Object | 扩展字段,为一组照片AI识别结果的扩展结果,没有则为空 |
aiResults | [] | 一组照片中每张照片的识别结果 |
aiResults.imageId | VARCHAR(100) | 图片ID。 |
aiResults.thirdImageId | VARCHAR(100) | 第三方图片唯一ID,若入参传了图片ID,为入参值;若入参无值,图片入库后,勤策系统自动分配图片ID |
aiResults.state | VARCHAR(100) | 图片识别状态。0:识别失败,1:识别成功,2:识别中 |
aiResults.imageUrl | VARCHAR(100) | 图片URL地址 |
aiResults.imageType | VARCHAR(100) | 陈列类型。1:低温拍照,2:货架,3:堆头,4:端架,5:收银台,6:形象化陈列,7:冷风柜,8:单开门冰箱,9:双开门冰箱,10:卧柜,21:暖柜,22:店招,23:地堆,24:割箱,25:挂架,26:侧柜,27:挂网,33:斜口笼,34:挂网(不含挂条),31:货架式包柱 |
aiResults.tiltScore | VARCHAR(20) | 该张照片的倾斜度,请求参数isQualityJudgment传1时才会判断。结果为0到90之间的数值,为照片识别的sku与水平线的夹角。客户可设置小于60度的照片为正常 |
aiResults.blurScore | VARCHAR(20) | 该张照片的模糊度,请求参数isQualityJudgment传1时才会判断。结果为0到100之间的数,数值越大照片越模糊。客户可设置小于80的照片为正常 |
aiResults.brightnessScore | VARCHAR(20) | 该张照片的明暗度,请求参数isQualityJudgment传1时才会判断。结果为0到100之间的数,数值越大照片越亮。客户可设置明暗度区间为[25,75]内为正常 |
aiResults.imageLayout | CHAR(1) | 总层数。陈列类型为卧柜、店招外的其他类型时,均返回该照片的层数 |
aiResults.product_purity | VARCHAR(20) | 本品纯净度=本品排面数/(本品排面数+竞品排面数+未识别排面数)。陈列类型为冰箱的时候才返回 |
aiResults.product_proportion | VARCHAR(20) | 本品冰箱占比=本品排面数/(本品排面数+竞品排面数+未识别排面数+空位数)。陈列类型为冰箱的时候才返回 |
aiResults.fridge_fullness | VARCHAR(20) | 冰箱饱满度=(本品排面数+竞品排面数+未识别排面数)/(本品排面数+竞品排面数+未识别排面数+空位数)。陈列类型为冰箱的时候才返回 |
aiResults.fridge_door_struc | CHAR(1) | 0:单开门,1:多开门,2:其他。陈列类型为冰箱的时候才返回 |
aiResults.column_num | INT | 列的数量。陈列类型为割箱的时候才返回 |
aiResults.height | INT | 所有列中最高列的高度;陈列类型为割箱的时候才返回 |
aiResults.extengInfo | Object | 扩展字段,为单张照片AI识别结果的扩展结果,没有则为空 |
aiResults.units | [] | 识别出的SKU集合 |
aiResults.units.waiqin365_product_id | VARCHAR(20) | 勤策商品ID |
aiResults.units.waiqin365_prd_code | VARCHAR(20) | 勤策商品编码 |
aiResults.units.waiqin365_prd_name | VARCHAR(20) | 勤策商品名称 |
aiResults.units.waiqin365_serial_num | INT | SKU的序号:一张照片从左到右从上到下进行排序;序号可以帮助还原SKU在图片中的相对位置;标注序号的范围包括本品、竞品、未识别、空位;陈列类型为货架、端架、冰箱时才有返回值 |
aiResults.units.layer | INT | SKU所在层数;陈列类型为卧柜、店招外的其他类型时,均返回该SKU的层数 |
aiResults.units.repeat | INT | 0:不和其他照片重复的SKU,1:和其他照片重复的SKU。对于货架的陈列场景,勤策把一组照片中两两去重,找出和其他照片重复的SKU,企业可以根据该返回值实现货架拼接去重 |
aiResults.units.skuId | VARCHAR(20) | SKU识别码。NULL_SKU:表示空位,ALL_SKU:表示未识别 |
aiResults.units.isBottom | INT | 0:在底部,1:不在底部,表示叠放在一个或者多个商品上面。说明:仅陈列场景为货架、端架、冰箱时才计算 |
aiResults.units.score | FLOAT | 识别SKU可信度。越接近1可信度越高 |
aiResults.units.originalPrice | VARCHAR(20) | 零售价格,仅入参isPriceCheck=1时返回 |
aiResults.units.discountPrice | VARCHAR(20) | 促销价格,仅入参isPriceCheck=1时返回 |
aiResults.units.x1 | INT | SKU的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.units.y1 | INT | SKU的左上角顶点纵坐标Y1 |
aiResults.units.x2 | INT | SKU的右下角顶点横坐标X2 |
aiResults.units.y2 | INT | SKU的右下角顶点纵坐标Y2 |
aiResults.units.extengInfo | Object | 扩展字段,为单个SKU识别结果的扩展结果,没有则为空 |
aiResults.priceTags.x1 | INT | 价签的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.priceTags.y1 | INT | 价签的左上角顶点纵坐标Y1 |
aiResults.priceTags.x2 | INT | 价签的右下角顶点横坐标X2 |
aiResults.priceTags.y2 | INT | 价签的右下角顶点纵坐标Y2 |
aiResults.priceTags.originalPrice | VARCHAR(100) | 原价 |
aiResults.priceTags.discountPrice | VARCHAR(100) | 折扣价 |
aiResults.priceTags.prd_code | VARCHAR(100) | 关联商品编码 |
aiResults.priceTags.prd_x1 | INT | 价签关联商品的左上角顶点横坐标X1。对角线的两个顶点可以确定一个矩形 |
aiResults.priceTags.prd_y1 | INT | 价签关联商品的左上角顶点纵坐标Y1 |
aiResults.priceTags.prd_x2 | INT | 价签关联商品的右下角顶点横坐标X2 |
aiResults.priceTags.prd_y2 | INT | 价签关联商品的右下角顶点纵坐标Y2 |
第三方响应示例:
{
"return_code": 0,
"return_msg": "success"
}
参数说明:
参数 | 类型 | 说明 |
---|---|---|
return_code | INT | 响应编码。0:成功,1:失败 |
return_msg | TEXT | 响应说明 |
← 图片入库接口 查询虚假照片识别结果 →