访店计划
创建访店计划
接口说明
创建一个访店计划,访店计划可以关联到识图任务,以便输出更多的数据。
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan |
| Method | POST |
| Content-Type | application/json |
Body参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| store_code | string | 店铺code | 是 |
| username | string | 访员用户账号(请参考:账户) | 否 |
| plan_start_time | int64 | 预计访店开始时间(毫秒时间戳) | 否 |
| plan_end_time | int64 | 预计访店结束时间(毫秒时间戳) | 否 |
| extra_info | string | 访店额外参数信息,最长不超过2000字符 | 否 |
| longitude | float64 | 访店经度,WGS84 | 否 |
| latitude | float64 | 访店纬度,WGS84 | 否 |
| front_photos | []string | 门头照图片地址 | 否 |
Body数据样例
json
{
"store_code":"TEST001",
"username":"visitor_01",
"plan_start_time": 1677808307000,
"plan_end_time": 1677808407000,
"extra_info": "{\"name\":\"james\"}",
"longitude": 121.48,
"latitude": 31.22,
"front_photos": ["https://xxx.jpg","https://xxx.jpg"]
}响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| plan_id | string | 创建后的访店计划id |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"plan_id": "P2207290611226274600"
}
}更新访店计划
接口说明
更新访店计划内容。
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan/<plan_id> |
| Method | PUT |
| Content-Type | application/json |
路径参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| plan_id | string | 创建的访店计划id | 是 |
Body参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| store_code | string | 店铺code | 否 |
| username | string | 访员用户账号(请参考:账户) | 否 |
| plan_start_time | int64 | 预计访店开始时间(毫秒时间戳) | 否 |
| plan_end_time | int64 | 预计访店结束时间(毫秒时间戳) | 否 |
| extra_info | string | 访店额外参数信息json字符串,最长不超过2000字符 | 否 |
| longitude | float64 | 访店经度,WGS84 | 否 |
| latitude | float64 | 访店纬度,WGS84 | 否 |
Body数据样例
json
{
"store_code":"TEST001",
"username":"visitor_01",
"plan_start_time": 1677808307000,
"plan_end_time": 1677808407000,
"extra_info": "{\"name\":\"james\"}"
}响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| plan_id | string | 创建的访店计划id |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"plan_id": "P2207290611226274600"
}
}分组提交访店计划
Description
分组提交访店计划。
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan/<plan_id>/group/finish |
| Method | PUT |
| Content-Type | application/json |
路径参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| plan_id | string | 创建的访店计划id | 是 |
Body参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| group_type | string | 分组规则 | 是 |
| group_values | []object | 分组具体的值 | 是 |
| + name | string | 分组值对应的名称 | 是 |
| + value | string | 分组值 | 是 |
| task_ids | []string | 该分组下创建的所有任务ID | 是 |
Body数据样例
json
{
"group_type": "scene_code",
"group_values": [
{
"name": "scene_code",
"value": "ST-qorDZ"
}
],
"task_ids":["f9a9b6c9-2b09-11f0-b69f-b8599fae14b3","03904e98-2b0a-11f0-b69f-b8599fae14b3"]
}响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| plan_id | string | 创建的访店计划id |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"plan_id": "P2207290611226274600"
}
}完成访店计划
Description
更新访店计划完成。
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan/<plan_id>/finish |
| Method | PUT |
| Content-Type | application/json |
路径参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| plan_id | string | 创建的访店计划id | 是 |
Body参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| task_ids | []string | 该计划下创建的所有任务ID | 是 |
| finish_visit_time | int64 | 完成拜访计划的时间(毫秒级时间戳) | 是 |
| longitude | float64 | 访店经度,WGS84 | 否 |
| latitude | float64 | 访店纬度,WGS84 | 否 |
| front_photos | []string | 门头照图片地址 | 否 |
| extra_info | string | 访店额外参数信息json字符串,最长不超过2000字符 | 否 |
Body数据样例
json
{
"task_ids":["f9a9b6c9-2b09-11f0-b69f-b8599fae14b3","03904e98-2b0a-11f0-b69f-b8599fae14b3"],
"finish_visit_time": 1746598310000,
"longitude": 102.7979,
"latitude": 17.4021,
"front_photos": ["https://xxx.jpg","https://xxx.jpg"],
"extra_info": "{\"name\":\"james\"}"
}响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| plan_id | string | 创建的访店计划id |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"plan_id": "P2207290611226274600"
}
}取消访店计划
Description
取消访店计划。
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan/<plan_id>/cancel |
| Method | PUT |
| Content-Type | application/json |
路径参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| plan_id | string | 创建的访店计划id | 是 |
Body参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| finish_visit_time | int64 | 完成拜访计划的时间(毫秒级时间戳) | 是 |
| longitude | float64 | 访店经度,WGS84 | 否 |
| latitude | float64 | 访店纬度,WGS84 | 否 |
| front_photos | []string | 门头照图片地址 | 否 |
| extra_info | string | 访店额外参数信息json字符串,最长不超过2000字符 | 否 |
Body数据样例
json
{
"finish_visit_time": 1746598310000,
"longitude": 102.7979,
"latitude": 17.4021,
"front_photos": ["https://xxx.jpg","https://xxx.jpg"],
"extra_info": "{\"name\":\"james\"}"
}响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| plan_id | string | 创建的访店计划id |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"plan_id": "P2207290611226274600"
}
}获取访店计划列表
接口说明
获取访店计划列表
请求信息
| 配置说明 | 参数值 |
|---|---|
| URL | /plan/list?page_index=1&page_size=100&plan_id=P2207290611226274600&store_code=TEST001&plan_start_time=1677808307000&plan_end_time=1677808407000&start_visit_time=1677808307000&end_visit_time=16778084070000 |
| Method | GET |
请求参数
| 参数名 | 类型 | 描述 | 是否必填 |
|---|---|---|---|
| page_index | int64 | 当前页码,默认:1 | 否 |
| page_size | int64 | 分页条数,默认 10,最大 100 | 否 |
| plan_id | string | 访店计划id | 否 |
| store_code | string | 店铺code | 否 |
| plan_start_time | int64 | 预计访店开始时间(毫秒时间戳) | 否 |
| plan_end_time | int64 | 预计访店结束时间(毫秒时间戳) | 否 |
| start_visit_time | int64 | 访店开始时间(毫秒时间戳) | 否 |
| end_visit_time | int64 | 访店完成时间(毫秒时间戳) | 否 |
响应数据
data数据格式
| 参数名 | 类型 | 描述 |
|---|---|---|
| total | long | 结果总数量 |
| page | object | 分页信息 |
| + index | int | 页码 |
| + size | int | 每页条数 |
| results | []object | 结果对象列表 |
| + plan_id | string | 访店计划id |
| + store | object | 店铺信息 |
| ++ code | string | 店铺code |
| ++ name | string | 店铺名称 |
| ++ address | string | 店铺地址 |
| + user | object | 访员信息 |
| ++ username | string | 访员账号 |
| ++ real_name | string | 访员姓名 |
| + status | int32 | 访店计划状态 0:待处理 1:处理中 2:已完成, 3:处理失败, 4:已取消, 7:已过期 |
| + longitude | float64 | 访店时定位经度,WGS84坐标系 |
| + latitude | float64 | 访店时定位纬度,WGS84坐标系 |
| + start_visit_time | int64 | 访店开始时间(毫秒时间戳) |
| + end_visit_time | int64 | 访店完成时间(毫秒时间戳) |
| + start_time | int64 | 预计访店开始时间(毫秒时间戳) |
| + end_time | int64 | 预计访店完成时间(毫秒时间戳) |
| + tasks | []object | 访店任务列表 |
| + + id | string | 任务id |
| + + task_name | string | 任务名称 |
| + + status | string | 任务状态:PENDING,FAIL,SUCCESS |
| + + timeout | boolean | 任务是否超时 |
| + qnns | []object | 访店问卷列表 |
| + + id | string | 问卷任务id |
| + + task_name | string | 问卷任务名称 |
| + + timeout | boolean | 问卷任务是否超时 |
| + qualities | []object | 访店计划质量列表,详细请参考访店计划质量说明 |
| + + id | string | 质量id |
| + + code | string | 质量code |
| + reason | string | 访店取消原因,仅在访店取消时有效 |
| + photos | []string | 访店取消的证据照, 仅在访店取消时有效 |
| + quality_solutions | []object | 质量问题处理方案, 例如:auto-rejected. |
| + + solution | string | 质量方案类型, 当前只支持 "auto-rejected", 未来会扩展更多 |
| + + quality_ids | []string | 导致该质量方案的质量id列表. 质量id的定义见访店计划质量说明 |
响应数据样例
json
{
"code": 0,
"message": "",
"data": {
"total": 1000,
"page": {
"index": 1,
"size": 10
},
"results": [
{
"plan_id": "P2207290611226274600",
"store": {
"code": "TEST001",
"name": "Store name",
"address": "Lujiazui, Shanghai"
},
"user":{
"username": "testname",
"real_name": "John"
},
"status": 2,
"start_time": 1668478888000,
"end_time": 1700014888000,
"longitude": 121.42275,
"latitude": 31.230621,
"start_visit_time": 1668478888000,
"end_visit_time": 1700014888000,
"tasks": [
{
"id": "0005e8c6-7ddc-4672-9224-5e8b40b1585d",
"task_name": "KO Cooler",
"status": "SUCCESS",
"timeout": true
}
],
"qnns" : [
{
"id": "f5e0e040-1203-11ec-9808-1548c6183e34",
"task_name": "KO Cooler",
"timeout": false
}
],
"qualities": [
{
"id": "19",
"name": "Location Offset"
},
{
"id": "21",
"name": "Reuse"
},
{
"id": "23",
"name": "Irrelevant photo"
}
],
"reason": "Wrong store",
"photos": ["https://f-reaapi.clobotics.cn/v/d9d2f6e2dc34ced34d2d081e959e1030.jpg"],
"quality_solutions": [
{
"solution": "auto-rejected",
"quality_ids": ["21","23"]
}
]
}
]
}
}