店铺搬迁失败常见问题排查
店铺搬迁可以帮助您将原平台的业务数据迁移到 SHOPLINE,但当必填数据缺失、数据暂不支持、数据重复,或与 SHOPLINE 店铺设置不一致时,部分记录可能搬迁失败。
本文将说明如何查看原始搬迁报错、修正常见源数据问题、操作重试失败项目,以及判断何时联系 SHOPLINE 支持团队。
商品和商品分类搬迁报错
当商品、库存或商品分类数据搬迁失败时,请参考下表:
| 数据类型 | 搬迁结果中提供的信息 | 如何查看和使用 |
| 商品 | 商品Handle(Product handle) | 可使用商品 handle 在原平台找到对应的商品。店匠修改商品名称可能会导致Handle变更。 |
| 商品分类 | 商品分类Handle(Collection handle) | 可使用 collection handle 在原平台找到对应分类或智能分类 |
| 原始报错信息 | 代表含义 | 处理建议 |
| column:product_category_id unsupport / product_category_id_with_descendants unsupport | 智能分类使用了暂不支持的标准商品类型条件。 | 请先在原平台修改智能分类条件,然后操作重试。 |
| body.smart_collection: The required property 'rules' is missing from the object | 智能分类没有设置任何条件。 | 请在原平台检查该智能分类的条件是否为空。补充有效条件后再操作重试。 |
| SORTATION_CONDITION_INVALID | 商品分类的排序类型暂不支持。 | 此类排序规则暂不支持,可联系 SHOPLINE 支持团队。 |
| The product or category relocation failed, resulting in the inability to bind the category relationship. Please try again. | 部分商品或分类搬迁失败,导致分类关系无法绑定。 | 请重试该失败数据。如果仍然失败,请先确认相关商品是否已成功搬迁。 |
| Failed to add product[At least one of the image ID or src should be valued.]; | 商品没有可用图片。 | 请在原平台至少添加一张商品图片,然后操作重试。 |
| Failed to update product[You need to add option values for color_family]; | 商品规格项 color_family 缺少规格值。 | 请在原平台补充缺失的规格值,然后操作重试。 |
| activation inventory Error[System error, please try again.]; | 库存激活失败,通常与相关库存地点未成功搬迁有关。 | 请先检查库存地点是否已成功搬迁,然后操作重试。 |
弃单和订单搬迁报错
当弃单或订单搬迁失败时,请参考下表:
| 数据类型 | 搬迁结果中提供的信息 | 如何查看和使用 |
| 弃单 | 弃单ID(Checkout ID) | 可使用弃单ID在原平台找到对应弃单 |
| 订单 | 订单ID(Order ID) | 可使用订单 ID 在原平台找到对应订单 |
| 原始报错信息 | 代表含义 | 处理建议 |
| Item in abandoned order is invalid. | 弃单中的商品在 SHOPLINE 中不存在。该商品可能搬迁失败,或已在原平台被删除。 | 如果商品搬迁失败,请先完成商品搬迁。如果商品已在原平台删除,该弃单无法在本次批次中搬迁。 |
| buyerinfo must contain userId, email or phone | 弃单缺少足够的顾客联系方式。 | 请确认原平台中的弃单是否包含邮箱或手机号。如果两者都没有,该弃单无法召回,也不支持搬迁。 |
| presentmentCurrency does not match market currency | 弃单使用的交易币种不存在于当前 SHOPLINE 市场设置中。 | 请检查 SHOPLINE 的市场和货币设置,并确保与原平台一致。 |
| Creation failed: A-INVALID_ARGUMENT: Market CA not find | 弃单对应的市场在 SHOPLINE 中不存在。 | 请检查 SHOPLINE 的市场设置,并确保已创建所需市场。 |
| Creation failed: A-INVALID_ARGUMENT: invalid RelocateAbandonedOrderRequest.AbandonedOrder: embedded message failed validation | caused by: invalid AbandonedOrderRelocationDTO.SellerNote: value length must be at most 1000 runes | 卖家备注超过字符限制。 | 请在原平台缩短卖家备注,然后操作重试。 |
| Creation failed: A-INVALID_ARGUMENT: duplicate discount code: BOGOS-BPuyW55 | 同一笔订单重复使用了相同折扣码。 | 请在原平台修正该折扣数据。若未修正,此类异常数据不支持搬迁。 |
| create refund order: ["SYSTEM_ERROR","OFC_123686_B1002"] | 订单退款金额超过实际支付金额。 | 请在原平台核对订单。如果退款金额高于支付金额,该订单不支持搬迁。 |
客户搬迁报错
当客户资料搬迁失败时,请参考下表:
| 数据类型 | 搬迁结果中提供的信息 | 如何查看和使用 |
| 客户 | 客户邮箱Email、手机号Phone和客户 ID(Customer id) | 若客户创建失败,会提供客户邮箱或手机号,用于在原平台找到对应的客户;若客户已创建但数据异常,会提供客户ID |
| 原始报错信息 | 代表含义 | 处理建议 |
| email is illegal argument | 客户邮箱格式不正确。 | 请在原平台修正客户邮箱格式,然后操作重试。 |
| code=DATA_NOT_EXIST, alertMessage=data does not exist, debugMessage=data does not exist, suppressedErrors=[] | 服务请求失败,或所需数据不存在。 | 请稍后重试。如果多次重试仍失败,请联系您的 SHOPLINE 客户经理或 SHOPLINE 支持团队。 |
| code=0003, alertMessage=There are different accounts registered with email and mobile phone, debugMessage=There are different accounts registered with email and mobile phone, suppressedErrors=[] | 不同客户账号使用了相同邮箱或手机号。 | 请在原平台修正重复客户资料。若未修正,此类异常数据不支持搬迁。 |
| Email consent state is 'Subscribed' or 'Pending', email cannot be empty | 客户被标记为已订阅或待确认邮件营销,但邮箱为空。 | 请在原平台补充客户邮箱,或修改邮件营销状态,然后操作重试。 |
| Verified_email is yes, email cannot be empty | 客户被标记为邮箱已验证,但邮箱为空。 | 请在原平台修正客户邮箱数据。若未修正,此类异常数据不支持搬迁。 |
折扣、礼品卡、元字段和元对象搬迁报错
当促销数据或自定义数据搬迁失败时,请参考下表:
| 数据类型 | 搬迁结果中提供的信息 | 如何查看和使用 |
| 折扣 | 折扣活动 ID (discount rule id)和折扣码Code(Discount Code) | 若折扣活动创建失败,会提供活动 ID;若折扣码创建失败,会提供折扣码Code |
| 礼品卡 | 礼品卡 ID(gift card id) | 可使用礼品卡 ID 在原平台找到对应礼品卡 |
| 元字段 | 所属资源(ownerResource)、资源 ID(ownerId)、命名空间(namespace)、Key、元字段 ID 和元字段类型(type) | 若元字段定义创建失败,可通过所属资源、namespace、Key 或元字段 ID 定位具体元字段;
若某个数据的元字段创建失败,需额外关注资源 ID,用于定位所属资源,例如商品的元字段,资源ID就是商品ID |
| 元对象条目和定义 | 定义名称(Metaobject name)、定义ID、定义类型(type)
条目 handle(Entry handle)、条目 ID | 若元对象定义创建失败,可通过元对象名称或定义ID定位具体定义;
若元对象条目创建失败,可通过条目 handle 或条目 ID 找到具体条目; |
| 原始报错信息 | 代表含义 | 处理建议 |
| graphql: Service call fail. | 临时服务请求失败。 | 请稍后重试。如果多次重试仍失败,请联系您的 SHOPLINE 客户经理或 SHOPLINE 支持团队。 |
| Only one specified activity can be effective for a product in the same channel at the same time. | 同一渠道下,同一商品在同一时间内存在多个自动折扣活动。 | 请在原平台检查并修正冲突的折扣设置,然后操作重试。 |
| Items must be defined in 'customer get' when the 'customer get item all' is false | 折扣设置为指定商品可享受优惠,但未指定商品。若为买 X 送 Y,可能是赠品未设置。 | 请检查原平台折扣是否已指定商品。如果已指定商品,请确认相关商品已成功搬迁。 |
| customers and customerSegments can not be empty at the same time | 折扣指定了客户或客户细分,但目标列表为空,或目标客户/细分未成功搬迁。 | 请检查原平台中的指定客户或客户细分设置。如果已设置,请确认相关客户或细分已成功搬迁。 |
| Percentage must be between 0.00 - 1.00 | 折扣百分比超出支持范围。 | 请在原平台修改折扣百分比,然后操作重试。 |
| The discount amount value must be between 0.01 - 99999999999.00 | 优惠金额超出支持范围,或金额为 0。 | 请在原平台修改优惠金额,然后操作重试。 |
| The input value is already present. | 折扣活动规则已存在。 | 请确认该折扣是否已经成功搬迁。如果折扣规则正确,可以忽略此报错。 |
| Discount type is not supported. | 该折扣类型暂不支持搬迁。 | 目前支持的折扣类型包括订单折扣、商品折扣、买 X 送 Y 和免运费。 |
| Currently, it is not supported to set discount rules for both product and product variants | 折扣同时设置在商品层级和 SKU/变体层级。 | 此类设置目前暂不支持。如需协助重建折扣,请联系 SHOPLINE 支持团队。 |
| REQUEST_LIMIT_EXCEEDED | 搬迁数据量较大,触发请求限制。 | 请稍后重试,或联系您的 SHOPLINE 客户经理申请提高限制。 |
| discount code repeat | 该折扣码已存在。 | 请确认该折扣码是否已经成功搬迁。如果已正确搬迁,可以忽略此报错。 |
| invalid GiftCardCreateOpenRequest.Note: value length must be at most 500 runes | 礼品卡备注超过字符限制。 | 请在原平台缩短礼品卡备注,然后操作重试。 |
| Metafield type is not supported. / type invalid. | 该元字段类型暂不支持。 | 请在原平台修改元字段类型,或联系 SHOPLINE 支持团队。 |
| key not allow number | 元字段值或 Key 使用了不支持的数字格式。 | 请在原平台修改该元字段的值或 Key,然后操作重试。 |
| failed to get reference value | 元字段引用的资源不存在,例如图片、视频、商品或页面。 | 请确认被引用的资源已成功搬迁,然后操作重试。 |
| Key must be at least 3 characters in length | 元字段 Key 长度少于 3 个字符。 | 请在原平台修改元字段 Key 名称,然后操作重试。 |
| json: cannot unmarshal string into Go struct field ShoplineMetafieldDefinition.definition.id of type int64 | 元字段数据无法处理。 | 请联系 SHOPLINE 支持团队协助处理。 |
| `single_line_text_field` must be consistent with the definition's type: 'boolean' | 元字段值与字段类型不匹配。 | 请在原平台修改元字段类型或字段值,或联系 SHOPLINE 支持团队。 |
| VALIDATION_ERROR: "metaobject_definition_id" validation value "gid://shopify/MetaobjectDefinition/9186738408" is invalid | 元字段引用了无效的元对象。 | 请确认元对象数据已成功搬迁,然后操作重试。 |
| metafield definition already exists | 元字段定义已存在。 | 如果数据已正确搬迁,可以忽略此报错。 |
| Failed to get reference value. Please check if the related resources have been moved. | 元对象条目引用的资源不存在,例如图片、视频、商品或页面。 | 请确认被引用的资源已成功搬迁,然后操作重试。 |
| body.metaobject.fields.#n: The required property 'value' is missing from the object | 某个必填元对象字段缺少值。 | 请在原平台检查元对象条目并补充缺失值,然后操作重试。 |
| This field type is a meta-object but cannot match the definition. | 元对象字段无法匹配对应定义。 | 请确认作为字段值的元对象已成功搬迁。 |
| definition.type: value does not match regex pattern `^[A-Za-z][A-Za-z0-9_-]*$` | 元对象定义类型名称包含不支持的字符。 | 请在原平台修改元对象类型名称,仅使用字母、数字、连字符和下划线。 |
发货物流和库存地点相关报错
当物流方案、配送规则、库存地点或库存激活失败时,请参考下表:
| 数据类型 | 搬迁结果中提供的信息 | 如何查看和使用 |
| 发货物流 | 物流方案名称(Profile name) | 使用物流方案名称在原平台找到对应物流方案 |
| 原始报错信息 | 代表含义 | 处理建议 |
| Failed to set Profile[invalid ProductGroupSetReq.DeliveryLocationGroupList[0]: embedded message failed validation | caused by: invalid SetDeliveryLocationGroupReq.DeliveryPlans: value must contain at least 1 item(s)]; | 物流方案缺少配送规则,或配送规则关联的商品未成功搬迁。 | 请检查原平台物流数据是否完整。如果数据完整,请确认配送规则指定的商品已成功搬迁。 |
| activation inventory Error[System error, please try again.]; | 如果相关库存地点未成功搬迁,库存激活可能失败。 | 请检查库存地点是否已成功搬迁,然后操作重试。 |
搬迁后的客户统计数据说明
客户的总订单数和总消费金额取决于是否同步搬迁订单。如果只搬迁客户、不搬迁订单,客户详情页可能不会显示历史订单数量或历史消费金额。
| 注意:如需在搬迁后显示客户总订单数和总消费金额,请将订单与客户数据一起搬迁。 |
无法解决搬迁报错时请联系 SHOPLINE 客服
如果搬迁失败,且您无法根据本文的排查建议解决报错,请根据报错信息和表格中的处理建议,判断应该稍后重试还是联系 SHOPLINE 客服。
- 稍后重试:适用于临时服务失败或请求限制。
- 联系 SHOPLINE 客服:适用于多次重试后仍失败、报错显示设置暂不支持,或表格中建议联系支持团队的情况。