TikTok Shop 是一个电商插件,以插件能力的形式出现在指令树「扩展能力」中。安装或内置加载后,可把插件里的节点拖到工作流画布使用。
插件标识:rpa-plugin-tiktok-shop
插件分类:电商插件
节点数量:8 个
| 方式 | 怎么用 | 适合人群 |
|---|
| 可视化编排(推荐) | 在「扩展能力」中找到 TikTok Shop,拖入需要的节点并填写参数 | 大多数用户,适合按表单配置插件能力 |
| 代码编排(执行指令 XML) | 通过「执行指令(XML)」调用节点的 type 与参数 | 需要动态拼装、循环调用或批量处理的用户 |
- TikTok Shop Partner Platform 跨境电商插件:8 个原子节点覆盖 订单分页查询 / 订单详情 / 发货 / 商品分页查询 / 库存更新 / 价格更新 / 上下架。App Key + Secret + Refresh Token 鉴权,每请求自动 HMAC-SHA256 sign,access_token 进程级缓存 + 401 自动刷新重试。基于 v202309 API spec。
- 需要在自动化流程中复用该插件提供的读取、写入、同步或处理能力。
- 需要先配置连接:tiktok-shop。
- 涉及订单、商品、库存、价格或平台数据时,建议先用测试数据跑通,再用于正式数据。
- 建议先运行连通性、查询或只读节点,确认权限和参数正确后再执行写入类节点。
| 连接类型 | 名称 | 说明 |
|---|
tiktok-shop | tiktok-shop | TikTok Shop Partner Platform 凭据(OAuth2 refresh_token 流程;shop_cipher 可绑定单店铺或在 节点上动态指定) |
| 节点名称 | 节点标识 | 说明 |
|---|
| 连通性测试 | TikTokShopPing | 调一次「列出当前授权店铺」接口验证凭据:同时测 access_token / sign / shop 授权三件套 |
| 查询订单列表 | ListTikTokShopOrders | 按时间窗 + 状态分页查询订单。支持自动翻页 + maxRecords 上限保护 |
| 取订单详情(批量) | GetTikTokShopOrder | 按 orderIds 取详情。一次最多 50 个,超过自动分片。可以传单个 id 也可以传多个 |
| 订单发货 | ShipTikTokShopOrder | 标记订单已发货并上传物流单号。订单状态须为 AWAITING_SHIPMENT |
| 查询商品列表 | ListTikTokShopProducts | 按状态 / SKU / 时间窗分页查询商品 |
| 更新商品库存 | UpdateTikTokShopInventory | 按 SKU 更新库存。支持「简化形态」(quantity + 可选 warehouseId) 和「原生形态」(inventory 数组) 注意:会直接修改线上 SKU 库存;部分 SKU 失败时返回 ok:false 且 data.errors/data.updatedCount 可用于补偿。 |
| 更新商品价格 | UpdateTikTokShopPrice | 按 SKU 更新价格。支持「简化形态」(amount + currency [+ salePrice]) 和「原生形态」(price 对象) 注意:会直接修改线上 SKU 价格;部分 SKU 失败时返回 ok:false 且 data.errors/data.updatedCount 可用于补偿。 |
| 上架 / 下架商品 | DeactivateTikTokShopProduct | 批量上架(active=true)或下架(active=false,默认)商品。一次最多 20 个,超过自动分片 注意:默认 active=false 会下架商品,直接影响在售状态;批量失败时 data.succeeded/data.failed/total 可用于补偿。 |
- 节点标识:
TikTokShopPing
- 节点说明: 调一次「列出当前授权店铺」接口验证凭据:同时测 access_token / sign / shop 授权三件套
- XML 示例:
<TikTokShopPing connectionId="" outKey="pingResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| 输出变量名 | outKey | output | 否 | pingResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
pingResult | object | { ok:true, data:{ connected:true, shops:[{ id, name, region, sellerType, cipher }] } } |
- 节点标识:
ListTikTokShopOrders
- 节点说明: 按时间窗 + 状态分页查询订单。支持自动翻页 + maxRecords 上限保护
- XML 示例:
<ListTikTokShopOrders connectionId="" outKey="orders" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher(多店铺时指定) | shopCipher | string | 否 | - | 不传则用连接默认;多店铺场景在此动态指定 |
| 创建时间≥(unix 秒) | createTimeGe | number | 否 | - | |
| 创建时间<(unix 秒) | createTimeLt | number | 否 | - | |
| 更新时间≥(unix 秒) | updateTimeGe | number | 否 | - | |
| 更新时间<(unix 秒) | updateTimeLt | number | 否 | - | |
| 订单状态过滤 | orderStatus | string | 否 | - | 可以是单个 status(如 AWAITING_SHIPMENT)或逗号分隔多个 / JSON 数组 |
| 排序字段 | sortField | select | 否 | create_time | |
| 排序方向 | sortOrder | select | 否 | DESC | |
| 每页条数 | pageSize | number | 否 | 20 | 默认 20,上限 100 |
| 自动翻页 | autoPaginate | boolean | 否 | true | |
| 最多翻页数 | maxPages | number | 否 | 20 | 防御无限循环;默认 20,上限 200 |
| 记录数上限 | maxRecords | number | 否 | - | 命中即停;0 = 不限 |
| 输出变量名 | outKey | output | 否 | orders | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
orders | object | { ok:true, data:{ orders:[{…原始订单结构}], total, hasMore, nextPageToken? } } |
- 节点标识:
GetTikTokShopOrder
- 节点说明: 按 orderIds 取详情。一次最多 50 个,超过自动分片。可以传单个 id 也可以传多个
- XML 示例:
<GetTikTokShopOrder connectionId="" orderIds="" outKey="orderDetails" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 订单 ID | orderIds | string | 是 | - | 单个或多个;逗号分隔字符串 / JSON 数组均可 |
| 输出变量名 | outKey | output | 否 | orderDetails | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
orderDetails | object | { ok:true, data:{ orders:[…], total } } |
- 节点标识:
ShipTikTokShopOrder
- 节点说明: 标记订单已发货并上传物流单号。订单状态须为 AWAITING_SHIPMENT
- XML 示例:
<ShipTikTokShopOrder connectionId="" orderId="" trackingNumber="" shippingProviderId="" outKey="shipResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 订单 ID | orderId | string | 是 | - | |
| 物流单号 | trackingNumber | string | 否 | - | 自发货必填;本插件自动包装成 self_shipment 结构 |
| 物流商 ID | shippingProviderId | string | 否 | - | 通过 /logistics/202309/shipping_providers 接口查到的 provider id |
| self_shipment(高级,JSON 覆盖) | selfShipment | textarea | 否 | - | 传了会覆盖 trackingNumber + shippingProviderId 自动拼装 |
| handover(FBT/特殊履约场景,JSON) | handover | textarea | 否 | - | {…} |
| 输出变量名 | outKey | output | 否 | shipResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
shipResult | object | { ok:true, data:{ orderId, shipped:true, raw } } |
- 节点标识:
ListTikTokShopProducts
- 节点说明: 按状态 / SKU / 时间窗分页查询商品
- XML 示例:
<ListTikTokShopProducts connectionId="" outKey="products" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 商品状态过滤 | status | select | 否 | - | |
| Seller SKU 过滤(JSON 数组 / 逗号分隔) | sellerSkus | string | 否 | - | |
| 创建时间≥(unix 秒) | createTimeGe | number | 否 | - | |
| 创建时间<(unix 秒) | createTimeLt | number | 否 | - | |
| 更新时间≥(unix 秒) | updateTimeGe | number | 否 | - | |
| 更新时间<(unix 秒) | updateTimeLt | number | 否 | - | |
| 每页条数 | pageSize | number | 否 | 20 | 默认 20,上限 100 |
| 自动翻页 | autoPaginate | boolean | 否 | true | |
| 最多翻页数 | maxPages | number | 否 | 20 | |
| 记录数上限 | maxRecords | number | 否 | - | |
| 输出变量名 | outKey | output | 否 | products | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
products | object | { ok:true, data:{ products:[…], total, hasMore, nextPageToken? } } |
- 节点标识:
UpdateTikTokShopInventory
- 节点说明: 按 SKU 更新库存。支持「简化形态」(quantity + 可选 warehouseId) 和「原生形态」(inventory 数组) 注意:会直接修改线上 SKU 库存;部分 SKU 失败时返回 ok:false 且 data.errors/data.updatedCount 可用于补偿。
- XML 示例:
<UpdateTikTokShopInventory connectionId="" productId="" skus="[]" outKey="inventoryResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 商品 ID | productId | string | 是 | - | |
| SKU 库存(JSON 数组) | skus | textarea | 是 | [] | 简化形态 {skuId|id, quantity, warehouseId?};原生形态 {id, inventory:[{warehouse_id, quantity}]} |
| 输出变量名 | outKey | output | 否 | inventoryResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
inventoryResult | object | { ok:true, data:{ productId, updatedCount, errors:[{id,code,message}], raw } } |
- 节点标识:
UpdateTikTokShopPrice
- 节点说明: 按 SKU 更新价格。支持「简化形态」(amount + currency [+ salePrice]) 和「原生形态」(price 对象) 注意:会直接修改线上 SKU 价格;部分 SKU 失败时返回 ok:false 且 data.errors/data.updatedCount 可用于补偿。
- XML 示例:
<UpdateTikTokShopPrice connectionId="" productId="" skus="[]" outKey="priceResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 商品 ID | productId | string | 是 | - | |
| SKU 价格(JSON 数组) | skus | textarea | 是 | [] | 简化:{id|skuId, amount:number|string, currency:‘USD’|‘GBP’|‘IDR’…, salePrice?};原生:{id, price:{amount,currency,sale_price?}} |
| 输出变量名 | outKey | output | 否 | priceResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
priceResult | object | { ok:true, data:{ productId, updatedCount, errors:[{id,code,message}], raw } } |
- 节点标识:
DeactivateTikTokShopProduct
- 节点说明: 批量上架(active=true)或下架(active=false,默认)商品。一次最多 20 个,超过自动分片 注意:默认 active=false 会下架商品,直接影响在售状态;批量失败时 data.succeeded/data.failed/total 可用于补偿。
- XML 示例:
<DeactivateTikTokShopProduct connectionId="" productIds="" outKey="deactivateResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| TikTok Shop 连接 | connectionId | connection | 是 | - | |
| Shop Cipher | shopCipher | string | 否 | - | |
| 商品 ID 列表 | productIds | string | 是 | - | 逗号分隔 / JSON 数组 |
| 操作 | active | select | 否 | false | |
| 单条失败时继续 | continueOnError | boolean | 否 | - | false(默认):任一条失败立即停,hint 含已成功 ids;true:跳过失败项继续后续 |
| 输出变量名 | outKey | output | 否 | deactivateResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
deactivateResult | object | { ok:true, data:{ action:‘activate’|‘deactivate’, succeeded:[ids], failed:[{id,code,message}], total } } |
- 节点运行状态为成功。
- 输出变量中包含预期字段,且可被下游节点引用。
- 对外部系统有写入动作的节点,目标系统中的数据状态与配置一致。
| 现象 / 报错 | 可能原因 | 处理建议 |
|---|
| 找不到插件分组 | 插件未安装、未加载或当前端不是桌面客户端 | 在「扩展能力」中刷新/重新扫描插件,必要时重启客户端。 |
| 连接或鉴权失败 | 连接配置缺失、令牌过期或权限不足 | 重新配置连接,确认账号具备对应资源权限。 |
| 查询结果为空 | 筛选条件过窄、目标资源为空或页面状态不正确 | 放宽条件,检查资源 ID、日期范围和页面登录态。 |
| 写入类操作失败 | 参数格式不符合平台要求或目标资源不可写 | 先用少量测试数据验证,再检查必填字段、ID 和权限。 |
- 插件能力由桌面端扩展能力机制加载,和普通后端指令树不是同一数据源。
- 插件页按插件维度整理;每个节点的帮助入口会跳到所属插件页,页面内可查节点标识、参数和输出。