1

我一直在尝试使用此链接格式通过 REST API 更新客户信息上的字段:

http://<magentohost>/api/rest/customers

但是对于我收到的客户电子邮件已经存在

如何通过 REST API 更新信息..

示例代码:

        $productData = json_encode(array(
            'id'        => 1,
            'firstname' => 'Ted',
            'lastname'  => 'Mosbius',
            'website_id'=> 1,
            'group_id'     => 1,
            'email'         => 'ted@mosbis.com'
        ));
        $headers = array('Content-Type' => 'application/json');
        $oauthClient->fetch($resourceUrl, $productData, OAUTH_HTTP_METHOD_POST, $headers);
        // $oauthClient->fetch($resourceUrl);
        $productsList = json_decode($oauthClient->getLastResponse());
        print_r($productsList);

在这段代码中,电子邮件存在,id 存在,website_id 存在并且 group_id 存在......我只是想更新 firstName 和 lastName

提前致谢

4

2 回答 2

1

刚刚发现问题,基于此链接(http://ajaxpatterns.org/RESTful_Service)进行更新时,我需要使用PUT而不是POST ...

$productData = json_encode(array(
    'id'        => 1,
    'firstname' => 'Ted',
    'lastname'  => 'Mosbius',
));
$headers = array('Content-Type' => 'application/json');
$oauthClient->fetch($resourceUrl, $productData, OAUTH_HTTP_METHOD_PUT, $headers);
$productsList = json_decode($oauthClient->getLastResponse());
print_r($productsList);

希望这将有助于将来的某人...... :)

于 2012-11-19T09:44:37.507 回答
0

错误确实出现了更少的标题,如下所示:

$headers = array('Content-Type' => 'application/json', 'Accept' => '*/*');
于 2013-01-03T13:31:49.957 回答