2016-11-21 4 views
6

Ich benutze die Magento ver. 2.1.2 Ruhe Api Benutzer zu erstellen, das folgende: http://devdocs.magento.com/guides/m1x/api/rest/Resources/resource_customers.html#RESTAPI-Resource-Customers-HTTPMethod-POST-customersPhp Magento Api Rest Erstellen Kundenpasswort Problem:

$data = [ 
     "customer" => [ 
      "firstname" => 'Earl', 
      "lastname" => 'Hickey', 
      "email" => '[email protected]', 
      "password" => 'password', 
      "website_id" => 1, 
      'store_id' => 1, 
      "group_id" => 1 
     ] 
    ]; 

    $token = $this->get('lp_api')->getToken(); 
    $ch = curl_init($this->endpoint . 'customers'); 

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); 
    curl_setopt($ch, CURLOPT_VERBOSE, true);  
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
     "Content-Type: application/json", "Authorization: Bearer " . json_decode($token), 
     ) 
    ); 

     // var_dump(curl_getinfo($c)); 
    $result = curl_exec($ch); 

Wenn ich ein Passwort senden (wie im Beispiel oben), habe ich die folgende Fehlermeldung anzeigt:

Next Exception: Report ID: webapi-583357a3bf02f; Message: Property "Password" does not have corresponding setter in class "Magento\Customer\Api\Data\CustomerInterface". in /var/www/html/www.magento.dev/vendor/magento/framework/Webapi/ErrorProcessor.php:195 

I bemerkte, dass, wenn ich das "Passwort" => "Passwort" aus dem $ Daten-Array entfernen, ein Benutzer ohne Passwort erstellt wird (scheint mir seltsam).

Ich kann keine Hilfe zu diesem Fehler finden. Irgendeine Idee jemand?

+0

prüft Schritt für Schritt Anleitung: http://magento.stackexchange.com/questions/150581/magento-2-how-to-call-rest- api-zu-registrieren-ein-Neukunden/156818 # 156818 – Manish

Antwort

2

Siehe Link unten für Magento 2.x Version.

Ich habe unten Körper für die Schaffung von Kunden durch Rest Api verwendet und es hat richtig funktioniert.

{ "Kunde": {

"E-Mail": "[email protected]", "Vorname": "x", "Nachname": "y", "website_id": 1, "group_id": 1, "custom_attributes": [{ "attribute_code": "mobile_no" "Wert": "1234567890" } ]

},

"Passwort": "123456"

}

+0

Danke, wirkt wie ein Zauber. Aber wie kommt es, dass auf diesem Dokument das Passwort Teil des Kunden ist? http://devdocs.magento.com/guides/m1x/api/rest/Resources/resource_customers.html#RESTAPI-Resource-Customers-HTTPMethod-POST-customers. Letzte Frage, auf dem Swagger, wo genau haben Sie diese Informationen gefunden? Das einzige, was ich finden kann, ist "customerAccountManagementV1" und hier wird kein Passwort erwähnt. – user2227498

+0

Link: http://devdocs.magento.com/guides/m1x/api/rest/Resources/resource_customers.html#RESTAPI-Resource-Customers-HTTPMethod-POST-customers – qwerty

+0

Entschuldigung für den obigen Kommentar. Link: http://devdocs.magento.com/guides/m1x/api/rest/Resources/resource_customers.html#RESTAPI-Resource-Customers-HTTPMethod-POST-customers wird für Magento 1.x Version verwendet. In dem Dokument hatten sie nur Beispiel gegeben und ich habe die Art geteilt, wie ich es benutzt habe. In prahlerei können Sie auf CustomerCustomerRepositoryV1 Link klicken, wo Sie alle Kunden bezogen API mit seinem Beispiel erhalten. – qwerty

Verwandte Themen