以下变量由部署方提供,经 openclaw.json → skills.entries["product-data-collection"].env 或主机环境注入;禁止写进 skill 正文示例值、聊天、截图或日志。
| 变量 | 含义 |
|---|---|
| ------ | ------ |
PRODUCT_DATA_COLLECTION_BASE_URL | API 根,不含末尾 /。例如 https://你的主机 |
PRODUCT_TASK_AUTH | 请求头 Authorization 的完整值(是否含 Bearer 按服务端要求) |
Shell 中先组装前缀再调接口:
BASE="${PRODUCT_DATA_COLLECTION_BASE_URL}"
TASK="${BASE}/api/ebay_product/task"
未授权返回 403。代理、扩展、脚本均从环境变量读取,勿硬编码域名与密钥。
${TASK}(即 $BASE/api/ebay_product/task),以下路径均相对该前缀,方法均为 POST。| 路径 | 作用 |
|---|---|
| ------ | ------ |
/create | 批量创建/覆盖排队任务(upsert:itemId + taskVersionName) |
/pick | 领取下一条待采集任务(先本用户 queued,否则全局 queued) |
/update | 上报成功/失败等;status === success 时会写入商品库 |
/batch-update | 按筛选条件批量将非成功任务改为 queued 或 canceled |
完整 URL 形如:"$TASK/create"、"$TASK/pick" 等。
taskTypeall:需车型表 vehicle_information,且需 specifications 或 kit_parts_included 至少其一。ignore_vehicle_error:不强制车型表;需 specifications 或 kit_parts_included。ignore_attribute_error:需 vehicle_information;规格/套件约束较宽松。taskStatusqueued → collecting(pick 时)→ success / failed / canceledPOST …/task/createBody(JSON):
taskVersionName:非空字符串,用于批次/版本隔离。taskType:上表枚举之一。data:非空数组,元素含 itemId(数字)、可选 category。返回常为写入统计(如 matched/upserted 计数等,以实现为准)。
POST …/task/picknull(无队列时)。collecting。POST …/task/update常用字段:
itemId、taskVersionName、taskTypetitle、url、category(可选)status(如 success、failed);failed 时必须带 failReasontaskType 满足 DTO 校验后附带解析结果,例如:specifications(对象)vehicle_information(数组)kit_parts_included(字符串数组)success 时服务端会将商品数据 upsert 到商品集合(以 itemId 唯一)。
POST …/task/batch-updateBody:
status:queued 或 canceleduser:筛选用户(非空)createdAtStart / createdAtEnd:创建时间范围(字符串,按服务端日切解析)itemId、category、taskVersionName、taskStatus 等缩小范围仅更新非 success 任务。
specifications、vehicle_information、kit_parts_included;title、url 等与页面一致即可。pick → 抓取 → update;BASE 与 Authorization 来自构建时或运行时的私密配置,勿打印完整头。collect_tasks、export-data),与上述 $TASK/* 任务接口分工不同。create、batch-update;域名与密钥仍只来自环境变量。共 1 个版本