简要描述
- 通过输入计划参数,指定要运行的RPA、店铺、站点、任务运行周期等,创建对应的任务计划,计划提交后由系统自动创建对应的任务并执行。
请求URL
/rpa/company/plans
请求方式
- POST
支持格式
- JSON
请求参数
Headers
参数名 | 参数描述 | 必选 | 类型 | 说明 |
---|---|---|---|---|
Authorization | 身份令牌 | 是 | string | AppToken |
Body
参数名 | 参数描述 | 必选 | 类型 | 说明 |
---|---|---|---|---|
name | 计划名称 | 是 | string(128) | - |
platformId | 平台id | 是 | string(1) | 入亚马逊平台的Id为0,【平台站点对照关系】 |
actionType | 执行类型 | 是 | string(30) | 立即执行:AT_ONCE 指定时间执行:ASSIGN_TIME 按小时执行:REPEAT_BY_HOUR 按天执行:REPEAT_BY_DAY 按周执行:REPEAT_BY_WEEK 按月执行:REPEAT_BY_MONTH |
assignTime | 指定运行时间 | 否 | date | actionType为 ASSIGN_TIME:必填 ,指定的运行时间要和当前时间有一定的时间间隔,建议至少间隔3分钟,否则可能导致计划创建成功,但指定的执行时间已经过期,任务无法运行 |
repeatFrom | 循环开始时间 | 否 | number | actionType为REPEAT_BY_HOUR:选填 值为毫秒时间戳 不填时默认为从当前时间5分钟后开始循环 |
repeatRange | 按周期范围 | 否 | string(30) | actionType为REPEAT_BY_HOUR:必填 REPEAT_BY_WEEK:必填 REPEAT_BY_MONTH:必填 按小时执行:REPEAT_BY_HOUR 如:26 指每间隔26小时目前仅支持间隔26或48小时 按月执行:REPEAT_BY_MONTH 如:30 指每月30号取值范围1到31 |
repeatTimeAt | 按周期执行的时间点 | 否 | string(5) | actionType为REPEAT_BY_DAY:必填 REPEAT_BY_WEEK:必填 REPEAT_BY_MONTH:必填 格式 HH:mm 如:15:00 指对应日期的15点执行 |
scriptList | RPA列表 | 是 | object[] | - |
scriptId | RPA_ID | 否 | string(32) | 单个RPA的Id,在RPA市场中,点击查看RPA详情,可以看到RPA_ID字段【如何获取RPA ID】 |
-runWith | 参数列表 | 否 | object[] | 不同RPA可选的参数列表不一样,可通过获取RPA详情接口进行查看,对应接口返回中的runWith结果 【如何填写RPA运行 】 |
--name | 参数名称 | 否 | string(50) | 通过RPA详情查询接口,获取对应RPA的runWith参数,该字段用于指名参数名称,如:datarange,统计汇总类RPA会去各个电商平台自动下载对应报表,该字段指名了要汇总报表的时间范围。) |
--value | 参数值 | 否 | string(Max) | 通过RPA详情查询接口,获取对应RPA的runWith参数,该字段用于指明参数名称对应的取值,如:lastweekSunday,上周末至今 |
storeScopeType | 店铺范围 | 是 | string(30) | ALL全部、ASSIGNED指定 |
storeAndMarketPlaceList | 店铺和站点 | 否 | object[] | storeScopeType值为ASSIGNED时必须指明要运行的店铺和站点 |
-sellerIds | 卖家标识 | 否 | string(Max) | 多个id用逗号间隔,指定是电商平台提供的卖家Id |
-marketPlace | 站点 | 否 | string(1024) | 多个用逗号间隔,如:US、CA,【平台站点对照关系】 |
validFrom | 计划有效期从 | 否 | date | 时间戳(毫秒),计划有效期对周期性任务有效,如每天一点运行的任务,有效期为2022年1月1号到2022年1月31号,永久有效的计划,不需要填写有效期,不会自动停止,需要调用停用计划接口来停用 |
validTo | 计划有效期至 | 否 | date | 时间戳(毫秒),计划有效期对周期性任务有效,如每天一点运行的任务,有效期为2022年1月1号到2022年1月31号) |
提交数据样例
{
"name": "任务名称repeat",
"platformId": "0",
"actionType": "REPEAT_BY_WEEK",
"repeatRange": "2,3",
"repeatTimeAt":"00:01",
"validFrom": null,
"validTo": null,
"scriptList": [
{
"scriptId": "1002",
"runWith": [
{
"name": "downloadTimeType",
"value": "last60"
}
]
}
],
"storeScopeType": "ASSIGNED",
"storeAndMarketPlaceList": [
{
"sellerIds": "16310663243655",
"marketPlace": "US,ES"
}
]
}
返回数据
参数名 | 参数描述 | 必选 | 类型 | 说明 |
---|---|---|---|---|
code | 状态码 | 是 | number | - |
msg | 提示信息 | 否 | string(1024) | - |
data | 业务数据 | 是 | object | - |
planId | 任务id | 是 | string(32) | 用于唯一标识该任务 |
返回数据样例
{
"code": 0,
"msg": "SUCCESS",
"data": {
"planId":"0001"
}
}
回调消息
任务运行时,以店铺站点为最小单位,每运行完一个店铺下的一个站点,就会发送回调数据,单条回调数据中,如果输出多个文件,则results参数为多个结果,每个结果中包含一个可下载的文件。
需要注意的是,同一个店铺站点的数据,如果首次运行失败了,会将失败的数据同过回调发送,发送系统有可能会自动重试该运行结果,重试的结果也会通过回调发送,所以同一个店铺站点的数据,需要以店铺+站点+RPA作为唯一标识,以最后一次运行结果为最终结果,需要通过API,主动触发结果重试时,建议等到整个任务运行结束后,再发起重试。
1. 通过生态中心转发返回数据格式:
参数名 | 参数描述 | 必选 | 类型 | 说明 |
---|---|---|---|---|
appKey | 状态码 | 是 | string | 应用Id |
messageType | 消息类型 | 否 | string | 300 |
companyId | 公司ID | 是 | string | 暂时无实际值,恒为 0 |
extra | 业务数据 | 是 | string | 目前业务数据是字符串形式的JSON,解析时需要注意转义字符业务数据的格式参考下面2业务数据格式 |
返回数据样例
{
"appKey": "100",
"messageType": "0001",
"companyId":"0001",
"extra":"ABCD",
}
2. 业务数据格式:回调分两种模式,批量回调和非批量回调
参数名 | 参数描述 | 必选 | 类型 | 说明 |
---|---|---|---|---|
code | 状态码 | 是 | number | - |
msg | 提示信息 | 否 | string(1024) | - |
type | 消息类型 | 是 | string(10) | 3001 RPA报表上报 |
data | 业务数据 | 是 | string(Max) | 目前业务数据是字符串形式的JSON,解析时需要注意转义字符业务数据的格式参考下面业务数据格式 |
-planId | 计划id | 是 | string(32) | 用于唯一标识该任务 |
-reuslts | 任务执行结果 | 是 | array | 数组 |
--planId | 计划id | 是 | string(32) | 和外层planId一致 |
--taskRecordId | 结果记录id | 是 | string(32) | 任务运行结果Id,唯一标识一条运行结果 |
--taskId | 任务id | 是 | string(32) | 任务id |
--sellerId | 卖家标识 | 否 | string(50) | 该任务结果所属店铺的卖家标识 |
--storeName | 紫鸟店铺名称 | 是 | string(128) | |
--siteName | 站点名称 | 是 | string(50) | 如:美国 |
--siteCode | 站点代码 | 是 | string(50) | 如: US |
--rpaId | 机器人Id | 是 | string(32) | 该任务结果执行的机器人ID ,同一个计划中可包含多个RPA,但不能存在相同RPA |
--taskStartTime | 任务开始时间 | 否 | String(13) | 毫秒时间戳,如,创建一个每天1点运行的计划,则每天的一点会生成一个task,其开始运行为当天的1点 |
--taskEndTime | 任务结束时间 | 否 | String(13) | 毫秒时间戳,指的是,任务下所有店铺和对应站点的数据全部抓取或者要执行的动做全部执行完毕的时间 |
--taskResultType | 任务结果类型 | 是 | String(50) | NOT_UPLOAD:未上传文件 UPLOAD_SUCCESS:上传成功 UPLOAD_FAIL:上传失败 REPORT_NOT_EXISTS:报表不存在 TASK_ERROR:报表异常 CREAT_REPORT_ERROR:报表生成错误 REDOSING:重新获取中 NOT_ENOUGH_BALANCE:余额不足 |
--errorCode | 错误码 | 否 | String(10) | |
--errorMsg | 错误消息 | 否 | String(1024) | |
--downloadUrl | 下载地址 | 否 | String(2048) | 任务执行结果为文件时,有对应时会有下载地址,下载地址三天有效 |
--reportFromDate | 报表抓取开始时间 | 否 | String(13) | 毫秒时间戳,如下载最近7天的日期范围报告,则该时间表示,7天范围中的第一天 |
--reportEndData | 报表抓取结束时间 | 否 | String(13) | 毫秒时间戳,如下载最近7天的日期范围报告,则该时间表示,7天范围中的第最后一天 |
--platform | 平台代码 | 是 | String(1) |
非批量回调返回数据样例
{
"code": 0,
"data": {
"planId": "100",
"results": [
{
"downloadUrl": "",
"errorCode": "10002",
"errorMsg": "错误信息",
"planId": "100",
"platform": "0",
"rpaId": "0001",
"sellerId": "ABCD",
"siteCode": "US",
"siteName": "美国",
"storeName": "测试店铺",
"taskEndTime": "1641295485000",
"taskId": "0001",
"taskRecordId": "0001",
"taskRecordType": "SUCCESS",
"taskStartTime": "1641295485000",
"url": ""
}
]
},
"msg": "RPA报表上报",
"type": "3001"
}
批量回调返回数据样例
[
{
"code": 0,
"data": {
"planId": "100",
"results": [
{
"downloadUrl": "",
"errorCode": "10002",
"errorMsg": "错误信息",
"planId": "100",
"platform": "0",
"rpaId": "0001",
"sellerId": "ABCD",
"siteCode": "US",
"siteName": "美国",
"storeName": "测试店铺",
"taskEndTime": "1641295485000",
"taskId": "0001",
"taskRecordId": "0001",
"taskResultType": "SUCCESS",
"taskStartTime": "1641295485000",
"url": ""
}
]
},
"msg": "RPA报表上报",
"type": "3001"
}
]
请求参数scriptList的特殊说明
(1)创建计划时,如何获取scriptId参数
打开RPA市场,找到要运行的RPA,点击该RPA打开详情页面,可以看到
RPA_ID字段,该字段的值对应scriptId的值,如下图:
(2)创建计划时,如何填写runWith参数
可以在获取RPA参数后,调用详情查看接口来获取RPA执行所需要的参数,该参数根据RPA不同,需要的参数也不同。对应规则如下图: