小红书无人机订单接口增加SN码校验,发货与售后需核对
1、履约发货相关 1.1 业务场景 为满足无人机商品实名登记及 SN 码绑定管理要求,商家或 ISV 在处理无人机订单发货时,必须向平台提供对应商品的 SN 码。 本次不新增 SN 字段,沿用已有的 skuIdentifyCodeInfo.sNCode。平台将通过订单标签 DRONE_ORDER 标识无人机订单,并对无人机订单增加 SN 条件必填、格式校验及发货限制。 1.2 业务流程 调用 order.getOrderList 或 order.getOrderDetail 获取订单信息。当 orderTagList 包含 DRONE_ORDER 时,表示该订单为无人机订单。 商家可以在发货前调用 order.batchBindSkuIdentifyInfo 预上传 SN 码,并通过 order.getOrderDetail 回查已保存的 SN。 调用 order.orderDeliver 发货时,无人机订单仍必须在本次请求的 skuIdentifyCodeInfo.sNCode 中显式传入 SN。已预上传 SN 不能替代本次发货入参。 平台校验 SN 格式及订单状态。校验通过后继续发货;缺失、格式错误、订单已发货或请求拆包发货时,操作失败。 1.3 本次 API 变动说明 顺序API变更类型变更说明 说明1order.getOrderList 订单列表已有出参枚举扩展orderTagList 增加 DRONE_ORDER,表示无人机订单。不新增响应字段。 说明2order.getOrderDetail 订单详情已有出参语义扩展orderTagList 增加 DRONE_ORDER;无人机订单上传 SN 后,可通过 skuIdentifyCodeInfo.sNCode 获取已保存的 SN。 说明3order.orderDeliver 订单发货已有入参条件必填无人机订单必须在每次发货请求中显式传入 skuIdentifyCodeInfo.sNCode。无人机订单不支持实际拆包发货。 说明4order.batchBindSkuIdentifyInfo 批量上传序列号已有接口支持场景扩展支持无人机订单在发货前预上传或修改 SN。单次最多提交 100 条;已发货订单不可修改。 1.4 接入注意事项 字段名称为 skuIdentifyCodeInfo.sNCode,请注意 N 为大写。 DJI(大疆)无人机 SN 必须为 14 位或 20 位字母数字组合。 其他品牌无人机 SN 必须为 6 至 30 位字母数字组合。 SN 不允许包含空格、中文、横线、下划线或其他特殊字符。 即使已经调用 order.batchBindSkuIdentifyInfo 预上传 SN,调用 order.orderDeliver 时仍必须再次显式传入。 无人机订单仅支持整单发货,不支持拆包发货。 order.batchBindSkuIdentifyInfo 为逐条处理。接口顶层 success=true 仅表示批次已完成处理,接入方必须继续检查 data.res;data.res 中返回的是失败记录。 同一批次内重复提交相同 SN 时,对应记录将处理失败。 接入方应根据 error_code 和 success 判断结果,不要依赖错误文案编写业务分支。 1.5 常见问题解答 Q1:如何判断订单是否为无人机订单? A1:调用 order.getOrderList 或 order.getOrderDetail。当 orderTagList 包含 DRONE_ORDER 时,表示该订单为无人机订单。 Q2:已经通过批量接口上传 SN,发货时还需要传吗? A2:需要。调用 order.orderDeliver 时,必须在本次请求中显式传入 skuIdentifyCodeInfo.sNCode。 Q3:无人机 SN 可以在发货后修改吗? A3:不可以。order.batchBindSkuIdentifyInfo 仅支持在订单发货前上传或修改 SN;订单发货后调用该接口将失败,并返回“订单已发货,无法修改SN”。请勿通过重复调用发货接口修改 SN。 Q4:SN 格式不正确时会怎样? A4:发货或上传失败。DJI 无人机要求 14 位或 20 位字母数字组合,其他品牌要求 6 至 30 位字母数字组合。 Q5:无人机订单支持拆包发货吗? A5:不支持。无人机订单必须整单发货。 Q6:批量接口返回 success=true 是否表示全部上传成功? A6:不一定。接入方必须继续检查 data.res;存在记录时,表示对应订单上传失败,需要根据 msg 修正后重试。
2、 售后确认相关 2.1 业务场景 为满足无人机商品实名登记及 SN 码绑定、解绑管理要求,商家或 ISV 在处理无人机售后时,需要向商家展示该售后单对应的 SN 码,并由商家人工核对。 平台将对无人机售后的查询及审核接口增加 droneSnCodes 字段。请接入方及时完成改造,避免影响无人机售后处理。 2.2 业务流程 调用 afterSale.listAfterSaleInfos 或 afterSale.getAfterSaleInfo 获取无人机售后的 SN 码。 在同意直接退款或确认收货前,ISV 应在页面中向商家展示 SN 码,并要求商家人工核对。 商家确认后,将查询接口返回的完整 droneSnCodes 数组原值传入对应操作接口。 平台校验 SN 码,校验通过后继续处理售后;未传、传入空数组或与售后单记录不一致时,操作失败。 2.3 本次 API 变动说明 顺序API变更类型变更说明 说明1afterSale.listAfterSaleInfos 获取售后列表(新)已有出参新增字段新增 droneSnCodes,类型为 array<string>。仅无人机售后返回;当前通常只有一个 SN 码,按数组返回以兼容多商品场景。 说明2afterSale.getAfterSaleInfo 获取售后详情(新)已有出参新增字段新增 droneSnCodes,类型为 array<string>。仅无人机售后返回。ISV 应向商家展示该字段并要求人工核对;后续调用 afterSale.auditReturns 或 afterSale.confirmReceive 时,需要将完整数组原值传回。 说明3afterSale.auditReturns 售后审核(新)已有入参新增字段新增 droneSnCodes,类型为 array<string>。无人机售后执行同意直接退款时条件必传。请从售后查询接口获取,在商家人工核对后完整原值传回。非无人机售后无需传入。 说明4afterSale.confirmReceive 售后确认收货(新)已有入参新增字段新增 droneSnCodes,类型为 array<string>。无人机售后执行确认收货时条件必传。请从售后查询接口获取,在商家人工核对后完整原值传回。非无人机售后无需传入。 2.4 接入注意事项 droneSnCodes 必须按照售后查询接口返回的完整数组原值传回,请勿自行拼接、拆分或修改。 当前无人机订单通常只有一个 SN 码,字段按数组设计,以兼容后续多商品场景。 无人机售后未传、传入空数组或传入值不一致时,平台将拒绝本次操作。 非无人机售后的调用方式保持不变,无需传入 droneSnCodes。 接入方不能仅透传该字段,应在操作页面向商家明确展示 SN 码并要求人工核对。 2.5 常见问题解答 Q1:如何获取无人机售后的 SN 码? A1:调用 afterSale.listAfterSaleInfos 或 afterSale.getAfterSaleInfo 获取 droneSnCodes。该字段仅在无人机售后且平台已记录 SN 码时返回,操作接口仍会根据平台记录校验当前售后是否需要核对 SN 码。 Q2:droneSnCodes 为什么使用数组? A2:当前通常只有一个 SN 码,使用数组是为了兼容后续可能出现的多商品、多 SN 场景。 Q3:调用操作接口时可以只传其中一个 SN 码吗? A3:不可以。必须将售后查询接口返回的完整 droneSnCodes 数组原值传回。 Q4:非无人机售后需要传入 droneSnCodes 吗? A4:不需要。该字段仅在无人机售后的指定操作场景下条件必传。 Q5:SN 码未传或校验不一致时会怎样? A5:操作失败,并返回对应错误信息: 未传或传入空数组:无人机售后需人工核对SN码,请传入droneSnCodes 与售后单记录不一致:无人机SN码校验不一致,请重新核对 平台未查询到该售后单的 SN 码:该售后单未查询到无人机SN码,暂无法处理,请联系平台客服 Q6:为什么要求将 SN 码展示给商家确认? A6:传入 droneSnCodes 表示商家已经人工核对退回商品的 SN 码。请勿在后台自动读取后直接回传,否则无法满足人工核对要求。