我正在尝试通过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功能,我找到了一个已修改的P ap函数的{api rodolfojnn/WooCommerce-REST-API-Client-Library客户端库:
/**
* 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);
}
但现在抛出 Parse错误:语法错误,意外'['错误,因为 ['product'=> $ data] 位 - 我尝试将其转换为数组,但也有错误,任何人都知道为什么(我在codeigniter btw中运行这个)
答案 0 :(得分:5)
尝试修改
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
)
)
);