如何添加到购物车通过Api Rest在woocommerce与javascript?



如何添加到购物车通过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');
}); 

最新更新