Magento2 REST Actualizar atributos personalizados

10

¿Cómo puedo actualizar los atributos personalizados, como la descripción? El siguiente código actualiza correctamente el precio y el nombre del producto, pero no los atributos personalizados (sin cambios). El nuevo producto se crea correctamente con atributos personalizados, el problema es durante la actualización.

REST de magento2 Actualizar atributos personalizados

REST de magento2 Actualizar atributos personalizados

usuario47734
fuente
Hola chicos, en su caso, creo que deben volver a hacerlo: actualización de php bin / magento
MrTo-Kane
Hola chicos, creo que nos dan el código o la configuración del atributo para atributos personalizados. Para comprobar de nuevo.
MrTo-Kane
¿Has verificado alguna respuesta? Necesito tus comentarios.
chirag

Respuestas:

9

Para crear un producto, podemos usar:

  • POST : / V1 / productos

Para actualizar:

  • PUT : / V1 / products / {sku}

En su caso, su código debe 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' ],
            ]
    ];

El cuerpo 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"
      }
    ]
  }
}

Hay una respuesta aquí: https://magento.stackexchange.com/a/135607/33057

Khoa TruongDinh
fuente
Hola, @Khoa necesitas formatear la matriz a una cadena json, porque usó REST y la herramienta REST.
MrTo-Kane
@ MagentoOdoo.com ¡Gracias! Actualicé mi respuesta.
Khoa TruongDinh
@Khoa TruongDinh Cómo agregar la etiqueta de atributos seleccionados en la API de reposo del producto. Al igual que ['attribute_code' => 'description', 'value' => 'Test Description', 'label' => 'Description'],
Kirti Nariya
@KhoaTruongDinh Cómo pasar la etiqueta en / V1 / products / {sku} 'attribute_code' => 'color', 'value' => '54', 'label' => 'Blue' Avíseme si tiene una idea. Tu ayuda será apreciada.
Kirti Nariya
2

Intente pasar sus atributos personalizados dentro de una matriz como:

'custom_attributes' => array(
     '0' => array(
          'attribute_code' => 'my_custom_attribute_code',
          'value' => 'my_custom_attribute_value'
      )
      ...
)
chirag
fuente
Cómo pasar la etiqueta en / V1 / products / {sku} 'attribute_code' => 'color', 'value' => '54', 'label' => 'Blue' Avíseme si tiene una idea. Tu ayuda será apreciada.
Kirti Nariya