我正在使用这个API "/v3/feeds?feedType=MP_MAINTENANCE"
更新一些Walmart商品。我提供的SKU和UPC代码沿着其他细节。它对某些产品来说很好。但有一个特定的产品,这是已经存在于沃尔玛与不同的sku,但现在我想更新sku。
我提供了一个新的SKU,它引发了这个错误:
- 产品ID已存在于您的卖家目录中,但SKU不同。从“SKU更新”列的下拉列表中选择“是”以更新SKU值。有关详细信息,请参阅此帮助文章:https://sellerhelp.walmart.com/s/guide?article=000007896
我读了这篇文章https://sellerhelp.walmart.com/s/guide?article=000007896,他们提供了一种手动更新SKU的方法,关于API,他们说**“有关如何通过API更新SKU的详细信息,请参阅API文档中维护项目下列出的步骤。”**
我查过这个文件
https://developer.walmart.com/doc/us/mp/us-mp-items/?_gl=1ewk6ta_gaOTA2OTE5MzY5LjE2ODM3NjYyNTc._ga_1LB22TM2MG*MTY4NjgzMTI2NS4xMS4xLjE2ODY4MzEyODguMC4wLjA.#1249
但未找到有关如何更新项目SKU的信息。
然后我尝试了以下操作我通过DELETE“/v3/items/DEL 5313221491”退出了该商品,现在已经过去了一天,该商品没有显示在沃尔玛卖家 Jmeter 板的商品列表中。在删除之前,它被列在那里。意味着它成功退役了。我再次尝试通过前面讨论的初始方法更新SKU,但我再次遇到了相同的问题,即该项目已经存在不同的SKU。
下面是我发送给feeds API的payload:
$object = new \stdClass();
$object->MPItemFeedHeader = new \stdClass();
$object->MPItemFeedHeader->sellingChannel = "mpmaintenance";
$object->MPItemFeedHeader->processMode = "REPLACE";
$object->MPItemFeedHeader->subset = "EXTERNAL";
$object->MPItemFeedHeader->locale = "en";
$object->MPItemFeedHeader->version = "1.5";
$object->MPItemFeedHeader->mart = "WALMART_US";
$object->MPItem = array();
foreach ($data as $key => $value) {
$mpItem = new \stdClass();
$mpItem->Orderable = new \stdClass();
$mpItem->Orderable->sku = $value['sku'];
$mpItem->Orderable->productIdentifiers = new \stdClass();
$mpItem->Orderable->productIdentifiers->productIdType = $value['productIdType'];
$mpItem->Orderable->productIdentifiers->productId = $value['productId'];
$mpItem->Orderable->productName = $value['productName'];
$mpItem->Orderable->brand = $value['brand'];
$mpItem->Orderable->price = $value['price'];
if(isset($value['endDate'])) {
$mpItem->Orderable->endDate = $value['endDate'];
}
$mpItem->Orderable->pricePerUnit = new \stdClass();
$mpItem->Visible = new \stdClass();
$mpItem->Visible->{$value['category']} = new \stdClass();
$mpItem->Visible->{$value['category']}->shortDescription = strip_tags($value['shortDescription']) . " " . strip_tags($value['addInfo']);
$mpItem->Visible->{$value['category']}->mainImageUrl = $value['mainImageUrl'];
if(isset($value['secondaryImagesUrls'])) {
$mpItem->Visible->{$value['category']}->productSecondaryImageURL = $value['secondaryImagesUrls'];
}
$object->MPItem[] = $mpItem;
任何人谁可以帮助我,我如何更新现有产品的SKU?
1条答案
按热度按时间2ekbmq321#
从“SKU更新”列的下拉列表中选择“是”以更新SKU值。
根据该错误消息,我猜您需要使用API发送等效的
Yes
值。不确定这是否是正确的API文档链接,但在this page上,我可以找到:
将
SkuUpdate
属性设置为Yes
。所以你应该试着像这样修改你的代码: