2017-07-02 11 views
0

私の外部アプリケーションのWooCommerceストアのサインアップページを作成します。残念ながら、APIを呼び出して顧客を作成するときはいつでも、パスワードパラメータが不足しています。 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: '[email protected]', 
     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: '[email protected]', 
     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

私はソースコードを見ていました - ... \ wp-content \ plugins \ woocommerce \ includes \ api \ class-wc-rest-customers-controller.php。パラメータ 'password'が表示されます。 –

答えて

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 

あなたはRESTリクエストを作成する方法「POST」でエンドポイントを探したいです。それは現在の実装を反映していると、これはその後、任意のドキュメントより正確になりますどちらの場合も

...\wp-content\plugins\woocommerce\includes\api 

代わりに、あなただけでRESTコントローラのソースコードを読むことができます。

これを実行すると、 'required' => 1というパラメータを持つ 'password'パラメータが見つかるため、リクエストが失敗しています。ですから、私は 'username'と 'billing'の間に 'password'パラメータを挿入します。

+0

こんにちはマゼンタクーダ、フィードバックありがとう。私は、イオンフレームワーク(Angular、Javascript/Typescript、html)を使ってネイティブアプリを書いているので、カールは私の場合には当てはまりませんか? –

+0

curlはHTTPリクエストを送信するための非常に便利なコマンドラインツールです。あなたがWOOCommerceのドキュメントが現時点では正確ではないが、スキーマは自動的には実装されていないので、私はそれを使ってファイルをダウンロードする。 SQLデータベースのスキーマと同様に、RESTサーバーを駆動するスキーマであることcurlはコードを書く前にRESTリクエストをテストするためにも使用できますhttps://curl.haxx.se/とhttp: /woocommerce.github.io/woocommerce-rest-api-docs/ –

関連する問題