php-shopify icon indicating copy to clipboard operation
php-shopify copied to clipboard

Metafield on Product post

Open Lollichkeit opened this issue 1 year ago • 3 comments

My Code:

...
$metafield = [
        'namespace' => "custom",
        'key' => "message",
        'value' => $message,
        'owner_resource' => "product",
        'owner_id' => $product_id,
        'value_type' => 'single_line_text_field',
];

$metafields = shopify->Product($product_id)->Metafield->post($metafield);
...

My Error: Fatal error: Uncaught PHPShopify\Exception\ApiException: Not Found in /.../phpclassic/php-shopify/lib/ShopifyResource.php:540 Stack trace: #0 /home/svsqauxl/vendor/phpclassic/php-shopify/lib/ShopifyResource.php(419): PHPShopify\ShopifyResource->processResponse(Array, 'metafield') #1 /... .php(213): PHPShopify\ShopifyResource->post(Array) #2 /... .php(126): PHPProduct->updateMetaProducte() #3 {main} thrown in /.../phpclassic/php-shopify/lib/ShopifyResource.php on line 540

Please help me to upload the metadata.

Lollichkeit avatar May 28 '24 09:05 Lollichkeit

The type of error you are getting (Not Found) suggests that likely $product_id does not match any product on the store, so double check that you using the correct value there.

Also, provided metafield fields don't look right. Should be something like this:

$metafield = [
        'namespace' => "custom",
        'key' => "message",
        'value' => $message,
        'type' => 'single_line_text_field',
];

Check the Shopify reference here

rossvor avatar Jun 14 '24 12:06 rossvor

@rossvor @Lollichkeit Did it helped ? I am getting error Request failed with HTTP Code 400

ankesh4040 avatar Sep 10 '24 12:09 ankesh4040

$metafieldv = 
     [     
    'namespace' => "custom",
    'key' => "features",
    'value' => "API updated",
    'type' => 'single_line_text_field'
     ]
;

$metafields = $shopify->Product('7713539269680')->Metafield->post($metafieldv);

ankesh4040 avatar Sep 10 '24 12:09 ankesh4040