我想为我的WooCommerce商店(在我的外部应用程序中)创建一个注册页面。不幸的是,每当我调用API来创建客户时,它都会说它缺少密码参数。
完全有道理,但WooCommerce API文档不会告诉我如何传递用户在注册页面上选择的密码:http://woocommerce.github.io/woocommerce-rest-api-docs/#create-a-customer
我如何更改代码才能使其正常工作?
this.WooCommerce = WC({
url: "https://.......mystagingwebsite.com/",
consumerKey: 'ck_....', // Production
consumerSecret: 'cs_....', // Production
wpAPI: true,
version: 'wc/v2'
});
var data = {
email: 'john.doe@example.com',
first_name: 'John',
last_name: 'Doe',
username: 'john.doe',
billing: {
first_name: 'John',
last_name: 'Doe',
company: '',
address_1: '969 Market',
address_2: '',
city: 'San Francisco',
state: 'CA',
postcode: '94103',
country: 'US',
email: 'john.doe@example.com',
phone: '(555) 555-5555'
},
shipping: {
first_name: 'John',
last_name: 'Doe',
company: '',
address_1: '969 Market',
address_2: '',
city: 'San Francisco',
state: 'CA',
postcode: '94103',
country: 'US'
}
};
this.WooCommerce.post('customers', data, function(err, data, res) {
console.log(res);
});
答案 0 :(得分:0)
您可以通过执行curl命令来获取REST架构:
curl -X OPTIONS http://me.local.com/wp-json/wc/v2/customers
不幸的是,这会提供原始JSON,因此最好先将其放入文件中。
curl -X OPTIONS http://me.local.com/wp-json/wc/v2/customers > curl.out
可以使用PHP命令解码:
php -r "print_r( json_decode( file_get_contents( 'curl.out' ) ) );" > php.out
您希望使用方法“POST”查找端点以创建REST请求。
或者,您只需在以下位置阅读REST控制器源代码:
...\wp-content\plugins\woocommerce\includes\api
在任何一种情况下,这都会比任何文档更准确,因为它反映了当前的实现。
如果你这样做,你会发现一个参数'password',它具有'required'=>属性。 1这就是你的请求失败的原因。因此,我会在“用户名”和“结算”之间插入“密码”参数。