The following Shopify API GraphQL Node.js code generates error.
Code
<code>import "@shopify/shopify-api/adapters/node";
import { shopifyApi, ApiVersion, Session } from "@shopify/shopify-api";
import { restResources } from "@shopify/shopify-api/rest/admin/2023-04";
const shopify = shopifyApi({
apiSecretKey: Shopify_App_API_secret_key, // Note: this is the API Secret Key, NOT the API access token
apiVersion: ApiVersion.April23,
isCustomStoreApp: true, // this MUST be set to true (default is false)
adminApiAccessToken: Shopify_Admin_API_Access_Token, // Note: this is the API access token, NOT the API Secret Key
isEmbeddedApp: false,
hostName: Shopify_Host_Name,
// Mount REST resources.
restResources,
});
const shopifySession = shopify.session.customAppSession(Shopify_Host_Name);
const shopifyClient = new shopify.clients.Graphql({session:shopifySession});
const data = await shopifyClient.query({
data: `mutation {
productCreate(input: {
handle: "test-product",
title: "Sweet new product",
descriptionHtml: "test",
vendor: "JadedPixel",
productCategory: {
productTaxonomyNodeId: "gid://shopify/TaxonomyCategory/fr"
},
productType: "Snowboard",
tags: "new",
status: DRAFT,
templateSuffix: "ltl-shipping"
}) {
product {
id
}
}
}`,
});
</code>
<code>import "@shopify/shopify-api/adapters/node";
import { shopifyApi, ApiVersion, Session } from "@shopify/shopify-api";
import { restResources } from "@shopify/shopify-api/rest/admin/2023-04";
const shopify = shopifyApi({
apiSecretKey: Shopify_App_API_secret_key, // Note: this is the API Secret Key, NOT the API access token
apiVersion: ApiVersion.April23,
isCustomStoreApp: true, // this MUST be set to true (default is false)
adminApiAccessToken: Shopify_Admin_API_Access_Token, // Note: this is the API access token, NOT the API Secret Key
isEmbeddedApp: false,
hostName: Shopify_Host_Name,
// Mount REST resources.
restResources,
});
const shopifySession = shopify.session.customAppSession(Shopify_Host_Name);
const shopifyClient = new shopify.clients.Graphql({session:shopifySession});
const data = await shopifyClient.query({
data: `mutation {
productCreate(input: {
handle: "test-product",
title: "Sweet new product",
descriptionHtml: "test",
vendor: "JadedPixel",
productCategory: {
productTaxonomyNodeId: "gid://shopify/TaxonomyCategory/fr"
},
productType: "Snowboard",
tags: "new",
status: DRAFT,
templateSuffix: "ltl-shipping"
}) {
product {
id
}
}
}`,
});
</code>
import "@shopify/shopify-api/adapters/node";
import { shopifyApi, ApiVersion, Session } from "@shopify/shopify-api";
import { restResources } from "@shopify/shopify-api/rest/admin/2023-04";
const shopify = shopifyApi({
apiSecretKey: Shopify_App_API_secret_key, // Note: this is the API Secret Key, NOT the API access token
apiVersion: ApiVersion.April23,
isCustomStoreApp: true, // this MUST be set to true (default is false)
adminApiAccessToken: Shopify_Admin_API_Access_Token, // Note: this is the API access token, NOT the API Secret Key
isEmbeddedApp: false,
hostName: Shopify_Host_Name,
// Mount REST resources.
restResources,
});
const shopifySession = shopify.session.customAppSession(Shopify_Host_Name);
const shopifyClient = new shopify.clients.Graphql({session:shopifySession});
const data = await shopifyClient.query({
data: `mutation {
productCreate(input: {
handle: "test-product",
title: "Sweet new product",
descriptionHtml: "test",
vendor: "JadedPixel",
productCategory: {
productTaxonomyNodeId: "gid://shopify/TaxonomyCategory/fr"
},
productType: "Snowboard",
tags: "new",
status: DRAFT,
templateSuffix: "ltl-shipping"
}) {
product {
id
}
}
}`,
});
Error
<code>Uncaught GraphqlQueryError Error: invalid id
at throwFailedRequest (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientscommon.mjs:55:15)
at request (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientsadmingraphqlclient.mjs:71:13)
at processTicksAndRejections (internal/process/task_queues:95:5)
</code>
<code>Uncaught GraphqlQueryError Error: invalid id
at throwFailedRequest (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientscommon.mjs:55:15)
at request (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientsadmingraphqlclient.mjs:71:13)
at processTicksAndRejections (internal/process/task_queues:95:5)
</code>
Uncaught GraphqlQueryError Error: invalid id
at throwFailedRequest (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientscommon.mjs:55:15)
at request (c:UsersBusinessOnlineDocumentssoftwarenode_modules@shopifyshopify-apidistesmlibclientsadmingraphqlclient.mjs:71:13)
at processTicksAndRejections (internal/process/task_queues:95:5)
When I remove productCategory: {productTaxonomyNodeId: “gid://shopify/TaxonomyCategory/fr”} in query, no error, and the product is created, which I can check in my Shopify Admin site.
I got the product category ID at https://shopify.github.io/product-taxonomy/releases/2024-07/.
I used the following as the main references.
- https://shopify.dev/docs/api/admin-graphql/2024-07/mutations/productCreate
- https://shopify.dev/docs/api/admin-graphql/2024-07/input-objects/ProductCategoryInput
- https://shopify.dev/docs/api/admin-graphql/2024-07/objects/ProductTaxonomyNode
How can I fix this problem?