product Createmutation
mutation
2024-07
Requires
write_products
access scope. Also: The user must have a permission to create products.
Creates a product.
Learn more about the product model and adding product data.
Arguments
The properties of the new product.
List of new media to be added to the product.
Was this section helpful?
ProductCreatePayload returns
The product object.
The shop associated with the product.
The list of errors that occurred from executing the mutation.
Was this section helpful?
Examples
Hide code
DescriptionCopy
mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } }
curl -X POST \ https://your-development-store.myshopify.com/admin/api/2024-07/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } }", "variables": { "input": { "metafields": [ { "namespace": "my_field", "key": "liner_material", "type": "single_line_text_field", "value": "Synthetic Leather" } ], "title": "Hiking Boots" } } }'
const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } }`, { variables: { "input": { "metafields": [ { "namespace": "my_field", "key": "liner_material", "type": "single_line_text_field", "value": "Synthetic Leather" } ], "title": "Hiking Boots" } }, }, ); const data = await response.json();
session = ShopifyAPI::Auth::Session.new( shop: "your-development-store.myshopify.com", access_token: access_token ) client = ShopifyAPI::Clients::Graphql::Admin.new( session: session ) query = <<~QUERY mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } } QUERY variables = { "input": { "metafields": [{"namespace"=>"my_field", "key"=>"liner_material", "type"=>"single_line_text_field", "value"=>"Synthetic Leather"}], "title": "Hiking Boots" } } response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } }`, "variables": { "input": { "metafields": [ { "namespace": "my_field", "key": "liner_material", "type": "single_line_text_field", "value": "Synthetic Leather" } ], "title": "Hiking Boots" } }, }, });
use Shopify\Clients\Graphql; $client = new Graphql("your-development-store.myshopify.com", $accessToken); $query = <<<QUERY mutation createProductMetafields($input: ProductInput!) { productCreate(input: $input) { product { id metafields(first: 3) { edges { node { id namespace key value } } } } userErrors { message field } } } QUERY; $variables = [ "input" => [ "metafields" => [{"namespace"=>"my_field", "key"=>"liner_material", "type"=>"single_line_text_field", "value"=>"Synthetic Leather"}], "title" => "Hiking Boots", ], ]; $response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{ "input": { "metafields": [ { "namespace": "my_field", "key": "liner_material", "type": "single_line_text_field", "value": "Synthetic Leather" } ], "title": "Hiking Boots" } }
Hide code
Response
JSON
{ "productCreate": { "product": { "id": "gid://shopify/Product/1072481076", "metafields": { "edges": [ { "node": { "id": "gid://shopify/Metafield/1069229090", "namespace": "my_field", "key": "liner_material", "value": "Synthetic Leather" } } ] } }, "userErrors": [] } }