Magento 2.1使用REST API更新客户自定义EAV属性

时间:2016-10-10 07:24:40

标签: rest magento2

如何使用REST API更新/添加客户的EAV属性?

我尝试使用[PUT] /V1/customers/{id}使用此网址

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

这是身体数据:

$data = array(
    'customer' => array(
        'id' => 1,
        'email' => 'email@domain.com', 
        'firstname' => 'John', 
        'lastname' => 'Doe', 
        'website_id' => 1,
        'custom_attributes' => array(
            'attribute_code' => 'my_custom_attribute_code',
            'value' => 'my_custom_attribute_value'
        )
    )
);

我能够编辑客户的默认属性,例如firstnamelastname,但我无法编辑EAV属性。

是否可以使用默认的customerCustomerRepositoryV1界面执行此操作? 如果没有,您如何扩展以便可以编辑/添加客户的EAV属性?

谢谢。

Magento 2.1 Rest API接口: http://devdocs.magento.com/swagger

1 个答案:

答案 0 :(得分:0)

身体数据有误。我忘了把索引放在custom_attributes数组上。

应该是这样的:

$data = array(
    'customer' => array(
        'id' => 1,
        'email' => 'email@domain.com', 
        'firstname' => 'John', 
        'lastname' => 'Doe', 
        'website_id' => 1,
        'custom_attributes' => array(
            '0' => array(
                'attribute_code' => 'my_custom_attribute_code',
                'value' => 'my_custom_attribute_value'
            )
        )
    )
);