Ciao a tutti,
ho bisogno di inviare, tramite API Rest Magento2 e framework GuzzleHttp, un comando di modifica caratteristica per un prodotto.
utilizzo il comando
$res = $client->put(http://magentoPath:8080/rest/V1/products/CODICEPRODOTTO);
ma credo di sbagliare la sintassi per il passaggio parametri al body.
devo inserire nel body un JSON del tipo:
$updateParam = {"product":{"sku":"CODICEPRODOTTO","custom_attributes":{"attribute_code":"description","value":"prova"}},"saveOptions":true}
Ho provato utilizzando il comando
$client->setBody($updateParam);
ma viene restituito l'errore
{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"product"}}
Ho provato a passare il JSON direttamente nella chiamata:
$res = $client->put("products/CODICEPRODOTTO", ['body' => $updateParam]);
ma mi viene restituito un 500 Internal Server Error
Qualche suggerimento?
grazie
Solved! Go to Solution.
You need to pass below payload to your request,
{ "product": { "sku": "customsku", "custom_attributes": [ { "attribute_code": "description", "value": "test descriptoion" } ] } }
You missed [] in custom_Attributes value.
Hi,
I tryed this:
$updateParam = "{'product': {'sku': 'CODE','custom_attributes': [{'attribute_code': 'description'','value': 'test description'}]}}";
$res = $client->put("http://magentoPath:8080/rest/V1/products/CODE");
$client->setBody($updateParam);
but I got
{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"product"}}
risolto
You need to pass below payload to your request,
{ "product": { "sku": "customsku", "custom_attributes": [ { "attribute_code": "description", "value": "test descriptoion" } ] } }
You missed [] in custom_Attributes value.
Hi,
I tryed this:
$updateParam = "{'product': {'sku': 'CODE','custom_attributes': [{'attribute_code': 'description'','value': 'test description'}]}}";
$res = $client->put("http://magentoPath:8080/rest/V1/products/CODE");
$client->setBody($updateParam);
but I got
{"message":"\"%fieldName\" is required. Enter and try again.","parameters":{"fieldName":"product"}}