通过 Woocommerce API V2 更新库存

Updating stock via Woocommerce API V2

我正在尝试通过 API 界面更新我的 woocommerce 商店的库存水平。我正在使用 kloon/WooCommerce-REST-API-Client-Library,但不幸的是,它似乎只能读取产品信息,不允许我输入库存信息。

阅读 API 文档我可以看到我可以使用以下方法更新产品:

curl -X PUT https://example.com/wc-api/v2/products/546 \
    -u consumer_key:consumer_secret \
    -H "Content-Type: application/json" \
    -d '{
  "product": {
    "regular_price": "24.54"
  }
}'

但是 API 客户端库中的函数无法访问产品的 PUT 功能,我找到了一个修改过的 V2 api rodolfojnn/WooCommerce-REST-API-Client-Library 客户端库,它更新了 PUT函数:

/**
* Update a product by id
* @param int $product_id
* @param array $data
* @param string $method
* @return mixed|json string
*/
    public function update_product($product_id, $data, $method = "PUT") {

        return $this->_make_api_call('products/' . $product_id, ['product' => $data], $method);
}

但这现在抛出一个 解析错误:语法错误,由于 ['product' => $data] 而导致的意外 '[' 错误 位 - 我尝试将它转换为数组,但也有错误,任何人都知道为什么(我在 codeigniter btw 中是 运行 这个)

尝试修改

public function update_product($product_id, $data, $method = "PUT") {

    return $this->_make_api_call('products/' . $product_id, $data, $method);
}

仅将 $data 作为第二个参数传递给 update_product

$data=  json_encode(

    array( 'product' =>

       array( 
          'regular_price'        => "10.26",
          'managing_stock'   => true,
          'in_stock'         => true,
          'stock_quantity'   => 45
       )
    )
);