【问题标题】:Php Magento Api Rest Create Customer Password Issue :Php Magento Api Rest 创建客户密码问题:
【发布时间】:2017-04-05 08:38:42
【问题描述】:

我正在使用 Magento 版本。 2.1.2 Rest Api 创建用户,如下: http://devdocs.magento.com/guides/m1x/api/rest/Resources/resource_customers.html#RESTAPI-Resource-Customers-HTTPMethod-POST-customers

$data = [
        "customer" => [
            "firstname" => 'Earl',
            "lastname" => 'Hickey',
            "email" => 'earl-2@example.com',
            "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);

如果我发送密码(如上例所示),则会出现以下错误:

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

我注意到如果我从 $data 数组中删除 "password" => 'password',则会创建一个没有密码的用户(对我来说似乎很奇怪)。

我找不到有关此错误的任何帮助。 有人知道吗?

【问题讨论】:

标签: php rest api magento magento2


【解决方案1】:

Magento 2.x 版本请参考以下链接。 http://devdocs.magento.com/swagger/index_20.html#/

我已经使用下面的主体通过 Rest Api 创建客户并且它工作正常。

{ “客户”:{

“电子邮件”:“xyz@abc.com”, “名字”:“x”, “姓氏”:“y”, "website_id":1, "group_id":1, “自定义属性”:[ { "attribute_code": "mobile_no", “价值”:“1234567890” } ]

},

“密码”:“123456”

}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
相关资源
最近更新 更多