You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Magento API仅提交special_price,无需指定价格生效日期?

Magento API仅更新商品special_price无需日期的解决方案

问题背景

通过HTTP POST请求更新商品special_price时,后台控制台的「高级定价→价格」操作无需设置生效日期,但调用V1/products/special-price专用端点时,API强制要求传入special_from_date(特价开始日期)和special_to_date(特价结束日期),而业务场景不需要设置有效期。

解决方法

方法1:使用通用商品更新端点(推荐)

放弃专用的特价端点,改用V1/products/{sku}通用商品更新接口,该接口支持单独更新special_price字段,无需附带日期参数:

  • 请求方式:PUT
  • 请求路径:/V1/products/{sku}(将{sku}替换为目标商品的SKU)
  • 请求体示例:
{
  "product": {
    "sku": "target-product-sku",
    "special_price": 89.99
  }
}

该请求仅更新商品的特价字段,不影响其他属性,和后台操作逻辑完全一致。

方法2:给专用端点设置极端日期(兼容方案)

如果必须使用V1/products/special-price端点,可以通过设置过去的开始日期和遥远的未来结束日期,模拟“无有效期”的效果:

  • 请求方式:POST
  • 请求路径:/V1/products/special-price
  • 请求体示例:
{
  "sku": "target-product-sku",
  "special_price": 89.99,
  "special_from_date": "2000-01-01 00:00:00",
  "special_to_date": "2099-12-31 23:59:59"
}

这种设置下,特价会长期生效,等同于后台不设置日期的效果。

补充说明

V1/products/special-price端点的设计初衷是用于设置带有效期的限时特价,因此强制要求传入日期参数;而后台控制台的操作实际调用的是通用商品更新接口,所以支持单独设置特价。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:15:35