2016-10-10 1 views
1

Как вы обновляете/добавляете атрибут EAV клиента с помощью REST API?Magento 2.1 Обновить пользовательский атрибут EAV с REST API

Я пытался сделать это с помощью [PUT] /V1/customers/{id} с этим URL

http://<website>/rest/V1/customers/1 

И это как данные тела:

$data = array(
    'customer' => array(
     'id' => 1, 
     'email' => '[email protected]', 
     'firstname' => 'John', 
     'lastname' => 'Doe', 
     'website_id' => 1, 
     'custom_attributes' => array(
      'attribute_code' => 'my_custom_attribute_code', 
      'value' => 'my_custom_attribute_value' 
     ) 
    ) 
); 

Я был в состоянии изменить атрибут по умолчанию клиента, такие как firstname и lastname, но я не смог отредактировать атрибут EAV.

Возможно ли это по умолчанию с интерфейсом customerCustomerRepositoryV1? Если нет, то как вы расширяетесь, чтобы можно было отредактировать/добавить атрибут EAV клиента?

спасибо.

Magento 2,1 Rest API Интерфейс: http://devdocs.magento.com/swagger

ответ

0

Существовал ошибка в данном теле. Я забыл поместить индекс в массив custom_attributes.

Это должно было быть так:

$data = array(
    'customer' => array(
     'id' => 1, 
     'email' => '[email protected]', 
     'firstname' => 'John', 
     'lastname' => 'Doe', 
     'website_id' => 1, 
     'custom_attributes' => array(
      '0' => array(
       'attribute_code' => 'my_custom_attribute_code', 
       'value' => 'my_custom_attribute_value' 
      ) 
     ) 
    ) 
);