quantity Rules Addmutation
mutation
2024-01
Requires write
access scope. Also: The user must have a permission to add quantity rules to a price list.
Creates or updates existing quantity rules on a price list.
You can use the quantity
mutation to set order level minimums, maximumums and increments for specific product variants.
Arguments
The ID of the price list to which the quantity rules will be added or updated.
The list of quantity rules to add or update in the price list.
Was this section helpful?
QuantityRulesAddPayload returns
The list of quantity rules that were added to or updated in the price list.
The list of errors that occurred from executing the mutation.
Was this section helpful?
Examples
Hide code
DescriptionCopy
mutation quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } }
curl -X POST \ https://your-development-store.myshopify.com/admin/api/2024-01/graphql.json \ -H 'Content-Type: application/json' \ -H 'X-Shopify-Access-Token: {access_token}' \ -d '{ "query": "mutation quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } }", "variables": { "priceListId": "gid://shopify/PriceList/155157792", "quantityRules": [ { "variantId": "gid://shopify/ProductVariant/138327650", "minimum": 1, "maximum": null, "increment": 1 }, { "variantId": "gid://shopify/ProductVariant/113711323", "minimum": 5, "maximum": 25, "increment": 5 } ] } }'
const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } }`, { variables: { "priceListId": "gid://shopify/PriceList/155157792", "quantityRules": [ { "variantId": "gid://shopify/ProductVariant/138327650", "minimum": 1, "maximum": null, "increment": 1 }, { "variantId": "gid://shopify/ProductVariant/113711323", "minimum": 5, "maximum": 25, "increment": 5 } ] }, }, ); 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 quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } } QUERY variables = { "priceListId": "gid://shopify/PriceList/155157792", "quantityRules": [{"variantId"=>"gid://shopify/ProductVariant/138327650", "minimum"=>1, "maximum"=>nil, "increment"=>1}, {"variantId"=>"gid://shopify/ProductVariant/113711323", "minimum"=>5, "maximum"=>25, "increment"=>5}] } response = client.query(query: query, variables: variables)
const client = new shopify.clients.Graphql({session}); const data = await client.query({ data: { "query": `mutation quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } }`, "variables": { "priceListId": "gid://shopify/PriceList/155157792", "quantityRules": [ { "variantId": "gid://shopify/ProductVariant/138327650", "minimum": 1, "maximum": null, "increment": 1 }, { "variantId": "gid://shopify/ProductVariant/113711323", "minimum": 5, "maximum": 25, "increment": 5 } ] }, }, });
use Shopify\Clients\Graphql; $client = new Graphql("your-development-store.myshopify.com", $accessToken); $query = <<<QUERY mutation quantityRulesAdd($priceListId: ID!, $quantityRules: [QuantityRuleInput!]!) { quantityRulesAdd(priceListId: $priceListId, quantityRules: $quantityRules) { userErrors { field code message } quantityRules { minimum maximum increment isDefault originType productVariant { id } } } } QUERY; $variables = [ "priceListId" => "gid://shopify/PriceList/155157792", "quantityRules" => [{"variantId"=>"gid://shopify/ProductVariant/138327650", "minimum"=>1, "maximum"=>nil, "increment"=>1}, {"variantId"=>"gid://shopify/ProductVariant/113711323", "minimum"=>5, "maximum"=>25, "increment"=>5}], ]; $response = $client->query(["query" => $query, "variables" => $variables]);
Hide code
Input variables
Copy
{ "priceListId": "gid://shopify/PriceList/155157792", "quantityRules": [ { "variantId": "gid://shopify/ProductVariant/138327650", "minimum": 1, "maximum": null, "increment": 1 }, { "variantId": "gid://shopify/ProductVariant/113711323", "minimum": 5, "maximum": 25, "increment": 5 } ] }
Hide code
Response
JSON
{ "quantityRulesAdd": { "userErrors": [], "quantityRules": [ { "minimum": 1, "maximum": null, "increment": 1, "isDefault": true, "originType": "FIXED", "productVariant": { "id": "gid://shopify/ProductVariant/138327650" } }, { "minimum": 5, "maximum": 25, "increment": 5, "isDefault": false, "originType": "FIXED", "productVariant": { "id": "gid://shopify/ProductVariant/113711323" } } ] } }