ruby - 通过 API 和 ruby​​ 创建优惠券返回错误 : woocommerce_api_missing_coupon_data

标签 ruby ruby-on-rails-4 woocommerce wordpress-rest-api woocommerce-rest-api

我正在尝试使用本页文档中的示例代码通过我的 Rails 4 应用程序的其余 API 创建优惠券:https://woocommerce.github.io/woocommerce-rest-api-docs/?ruby#create-a-coupon

这是我使用的代码:

 data = {
      code: "10off",
      discount_type: "percent",
      amount: "10",
      individual_use: true,
      exclude_sale_items: true,
      minimum_amount: "100.00"
    }
woocommerce.post("coupons", data).parsed_response

我希望它从 API 返回一个成功的响应,而不是我得到 {"errors"=>[{"code"=>"woocommerce_api_missing_coupon_data", "message"=>"No coupon data specified to create coupon "}]}

最佳答案

下面的段落展示了它是如何工作的,至少在 API V2 和 V3 中是这样。

params/data 哈希包含优惠券属性,请参阅 v3 documentation :

data = {
  coupon: {
    code: "new-coupon"
    ...
  }
}

经过一些研究,我仍然不确定API描述中的示例是否正确,如您所见here .

以下代码适用于 V2 和 V3,没有其他代码可用,V3 已于 13 天前更新。当“优惠券”在数据中不可用时会引发错误:

if ( ! isset( $data['coupon'] ) ) {
 throw new WC_API_Exception( 'woocommerce_api_missing_coupon_data', sprintf( __( 'No %1$s data specified to create %1$s', 'woocommerce' ), 'coupon' ), 400 );
}

我建议尝试使用这段代码:

data = {
  coupon: {
      code: "10off",
      discount_type: "percent",
      amount: "10",
      individual_use: true,
      exclude_sale_items: true,
      minimum_amount: "100.00"
  }
}
woocommerce.post("coupons", data).parsed_response

如果可行,我会坚持使用 V3 documentation暂时或提出问题,例如通过使用 Woocommerce 创建票证。也许他们的文档团队比开发团队工作得更快:)

关于ruby - 通过 API 和 ruby​​ 创建优惠券返回错误 : woocommerce_api_missing_coupon_data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57077492/

相关文章:

ruby-on-rails-4 - 没有模型和数据库的 Rails 4 表单

ruby-on-rails - rails 4 : get an image full url generated by Sprockets in production environment (inside rake task)

php - 处理 Woocommerce 验证结帐表单中的多个子字符串

ruby-on-rails - 使用 ActiveRecord 链接复杂查询

ruby - 在数组中找到最接近给定值的数字

ruby-on-rails - Rails 引擎路径助手不包含挂载命名空间

php - 如何在自定义短代码中获取 WooCommerce 产品对象以避免错误

javascript - 从父元素隐藏某些内容但在 CSS 中显示子元素

ruby - 如何让子类变量回到ruby中的父类

ruby - 我可以在散列定义中放置某种形式的 If..End block 吗?