如何解决ProductProjectionByKeyGet 不按键检索通道引用
从 commercetools 通过产品密钥获取产品详细信息时,我得到的响应没有将 Channel Key 作为 channelId
而是我得到一个随机 UUID (我相信参考 ID)。
final ProductProjectionByKeyGet productProjectionByKeyGet =
ProductProjectionByKeyGet.of(productKey,ProductProjectionType.CURRENT)
.withExpansionPaths(product -> product.allVariants()
.attributes().valueSet());
return clientManager.getClientForProjectKey(ctAdapterProperties,projectKey)
.execute(productProjectionByKeyGet).toCompletableFuture().get();
在获取产品详细信息后的响应中,如果我们查看属性 prices[].channel.id
,它的值是一个 UUID 但在 commercetools 中,我将通道键作为字符串,如:{{1} }
<store>-<online>
当我尝试使用上述价格进行 ProductSync 时,出现以下错误异常。
prices={PriceDraftDsl[
channel=Reference{
typeId='channel',id='b5c57a89-4f18-41eb-b5c3-e0de1c09cf81',obj=null},country=<null>,custom=<null>,customerGroup=<null>,tiers=<null>,validFrom=<null>,validUntil=<null>,value=USD 12]}
有什么方法可以获得频道的密钥而不是随机的 UUID 作为 channelId?如果没有,我可以使用此 ID 获取频道详细信息吗?
我目前为 ReferenceResolutionException: Failed to resolve 'channel'
reference on PriceDraft with country:'null' and value: 'USD 12'.
Reason: Channel with key 'b5c57a89-4f18-41eb-b5c3-e0de1c09cf81'
does not exist.
软件包使用 1.7.0
版本。
我对此很陌生。对此的任何帮助深表感谢。
提前致谢!
解决方法
不幸的是,产品价格不包含渠道密钥,只有渠道 ID。 同步 Java 库确实提供渠道密钥解析,因此它希望您的价格草稿将包含该密钥。
这有帮助吗?
最好的问候 布莱恩
您也可以考虑使用导入 API
https://docs.commercetools.com/tutorials/import-and-export#import-api
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。