如何添加到购物车通过Api Rest在woocommerce与javascript?
我正在添加这个问题,以便能够帮助任何正在寻找新版本的Woocommerce Api Rest的答案的人,7小时后我已经实现了它,如果我能帮助别人节省这段时间的乐趣。
重要的
我建议使用woocommerce rest api文档中的工具,如postman或insomnia,它们完全帮助我生成正确的代码并进行测试。
非常好这里的代码,我可以添加一个简单的产品通过api rest是这样的。
fetch("https://yourdomain.com/wp-json/wc/store/cart/add-item", {
"method": "POST",
"headers": {
"X-WC-Store-API-Nonce": "here-your-nonce-woo-not-wp-nonce", // see how to create the nonce for woo that is not the same as wordpress, it is another
"Content-Type": "application/json"
},
"body": "{"id":"3665","quantity":"1"}"
})
.then(response => {
console.log(response);
})
.catch(err => {
console.error(err);
});
要查看您可以对购物车做的所有事情,执行https://yourdomain.com/wp-json/wc/store/,您将看到所有可能的路由,最复杂的事情可能是正确地将所谓的post与正确的nonce和其他请求文档的标头组合在一起。
对于添加到购物车有很少的文档与rest api ajala这帮助某人,可以增加文档在woocommerce。
一个拥抱
首先非常重要的是创建一个nonce woocommerce
这是创建woocommerce nonce的信息
https://github.com/woocommerce/woocommerce-gutenberg-products-block/blob/trunk/src/StoreApi/docs/nonce-tokens.md generating-security-nonces-from-wordpress
这是非常重要的各种请求与购物车通过api rest在woocommerce。
// wp_create_nonce( 'wc_store_api' )
$woononce = wp_create_nonce( 'wc_store_api' ),
return $woononce
创建nonce woocommerce API rest
确保您有woocommerce nonce后,下一个要定位的数据是您想要添加的产品的id,并执行传统或异步等待的操作,因为您觉得更舒服。
fetch("https://yourxdomainx.com/wp-json/wc/store/cart/add-item", {
"method": "POST",
"headers": {
"X-WC-Store-API-Nonce": 'NONCEHERE'// woononce,
"Content-Type": "application/json"
},
"body": `{"id":"${id_item}","quantity":"-${negativenumber}"}`
})
.then(response => {
console.log(response);
})
.catch(err => {
console.error(err);
console.log('err');
});