2012-11-19 86 views
1

我一直在试图使用该链接的格式通过REST API客户信息更新的领域:Magento的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'   => '[email protected]' 
     )); 
     $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存在......我只是想更新提前名字和姓氏

感谢

+0

我问,因为不幸的是,我还没有发现任何文件或指导这样做... –

回答

1

就发现了这个问题,我需要使用PUT,而不是POST从这个链接(http://ajaxpatterns.org/RESTful_Service)更新是根据当...

$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); 

希望这将帮助别人的未来... :)

+0

得到$产品列表后如何获得产品的其他细节,如类别,名称,制造等。 –

0

错误就拿出少形成的头是这样的:

$headers = array('Content-Type' => 'application/json', 'Accept' => '*/*');