首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WooCommerce -使用API创建客户

WooCommerce -使用API创建客户
EN

Stack Overflow用户
提问于 2017-07-02 10:19:52
回答 1查看 4.8K关注 0票数 1

我想为我的WooCommerce应用商店(在我的外部应用程序中)创建一个注册页面。不幸的是,每当我调用API来创建客户时,它都会说缺少password参数。

这是完全有意义的,但是WooCommerce API文档没有告诉我如何传递用户在注册页面上选择的密码:http://woocommerce.github.io/woocommerce-rest-api-docs/#create-a-customer

我该如何更改代码才能使其正常工作?

代码语言:javascript
运行
复制
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);

    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-02 11:34:41

您可以通过执行curl命令来获取REST模式:

代码语言:javascript
运行
复制
curl -X OPTIONS http://me.local.com/wp-json/wc/v2/customers

不幸的是,这会得到原始的JSON,所以最好先把它放在一个文件中。

代码语言:javascript
运行
复制
curl -X OPTIONS http://me.local.com/wp-json/wc/v2/customers > curl.out

这可以使用PHP命令进行解码:

代码语言:javascript
运行
复制
php -r "print_r( json_decode( file_get_contents( 'curl.out' ) ) );" > php.out

您希望使用方法'POST‘查找create REST请求的终结点。

或者,您可以在以下位置阅读REST控制器源代码:

代码语言:javascript
运行
复制
...\wp-content\plugins\woocommerce\includes\api

在任何一种情况下,这都比任何文档更准确,因为它反映了当前的实现。

如果你这样做,你会发现一个‘=>’参数,它的属性是'required‘password 1,这就是你的请求失败的原因。因此,我会在'username‘和'billing’之间插入一个'password‘参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44866933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档