Atributos personalizados da atualização REST do Magento2

10

Como posso atualizar os atributos personalizados, como descrição? O código a seguir atualiza corretamente o preço e o nome do produto, mas não os atributos personalizados (inalterados). O novo produto é criado corretamente com atributos personalizados, o problema está durante a atualização.

Atributos personalizados da atualização REST magento2

Atributos personalizados da atualização REST magento2

user47734
fonte
Oi pessoal, no seu caso, eu acho que você precisa fazer de novo: bin php / magento atualizar
MrTo-Kane
Oi pessoal, acho que você nos deu o código ou a configuração do atributo para custom_attributes. Para verificar novamente.
MrTo-Kane
Você checou alguma resposta? preciso de seus comentários.
chirag

Respostas:

9

Para criar um produto, podemos usar:

  • POST : / V1 / produtos

Para atualização:

  • PUT : / V1 / products / {sku}

No seu caso, seu código deve ser:

$productData = [
        'attribute_set_id'  => 4,
        "type_id": "simple",
        "sku": "test-SKU",
        "name": "Test",
        "price": 100,
        "status": 1,
        'custom_attributes' => [
                ['attribute_code' => 'description', 'value' => 'Test Description' ],
                ['attribute_code' => 'short_description', 'value' => 'Test Short Description' ],
            ]
    ];

O corpo JSON:

 {
  "product": {
    "sku": "test-SKU",
    "name": "Test",
    "attribute_set_id": 4,
    "price": 100,
    "status": 1,
    "custom_attributes": [
      {
        "attribute_code": "description",
        "value": "Test Description"
      },
      {
        "attribute_code": "short_description",
        "value": "Test Short Description"
      }
    ]
  }
}

Há uma resposta aqui: https://magento.stackexchange.com/a/135607/33057

Khoa TruongDinh
fonte
Olá, @Khoa, você precisa formatar a matriz para json string, porque ele usou a ferramenta REST e REST.
MrTo-Kane
@ MagentoOdoo.com Obrigado! Eu atualizei minha resposta.
Khoa TruongDinh
@Khoa TruongDinh Como adicionar um rótulo de atributos selecionados na API de descanso do produto. Como ['attribute_code' => 'descrição', 'valor' => 'Descrição do teste', 'label' => 'Descrição'],
Kirti Nariya
@KhoaTruongDinh Como passar o rótulo em / V1 / products / {sku} 'attribute_code' => 'cor', 'valor' => '54', 'label' => 'Azul' Deixe-me saber se você tem uma idéia. Sua ajuda seria apreciada.
Kirti Nariya
2

Tente passar seus atributos personalizados dentro da matriz, como:

'custom_attributes' => array(
     '0' => array(
          'attribute_code' => 'my_custom_attribute_code',
          'value' => 'my_custom_attribute_value'
      )
      ...
)
chirag
fonte
Como passar o rótulo em / V1 / products / {sku} 'attribute_code' => 'color', 'value' => '54', 'label' => 'Blue' Deixe-me saber se você tem uma idéia. Sua ajuda seria apreciada.
Kirti Nariya