phpclassic / php-shopify

PHP SDK for Shopify API
Apache License 2.0
568 stars 211 forks source link

Metafield on Product post #323

Open Lollichkeit opened 2 months ago

Lollichkeit commented 2 months ago

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.

rossvor commented 2 months ago

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