通过 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
)
)
);
我正在尝试通过 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
)
)
);