phpclassic/php-shopify

Metafield on Product post

Lollichkeit opened this issue · 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.

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