Anchor to discountCodeFreeShippingCreatediscount
discountCodeFreeShippingCreate
mutation
Requires Apps must have access scope.
Creates an free shipping discount that's applied on a cart and at checkout when a customer enters a code.
Anchor to Arguments
Arguments
- Anchor to freeShippingCodeDiscountfree•
Shipping Code Discount DiscountCode requiredFree Shipping Input! The input data used to create the discount code.
Was this section helpful?
Anchor to DiscountCodeFreeShippingCreatePayload returnsDiscountCodeFreeShippingCreatePayload returns
- Anchor to codeDiscountNodecode•
Discount Node The discount code that was created.
- Anchor to userErrorsuser•
Errors [DiscountUser non-nullError!]! The list of errors that occurred from executing the mutation.
Was this section helpful?
- Create a discount code for free shipping
- discountCodeFreeShippingCreate reference
Examples
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}
curl -X POST \
https://your-development-store.myshopify.com/admin/api/2024-04/graphql.json \
-H 'Content-Type: application/json' \
-H 'X-Shopify-Access-Token: {access_token}' \
-d '{
"query": "mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) { discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) { codeDiscountNode { id codeDiscount { ... on DiscountCodeFreeShipping { title startsAt endsAt maximumShippingPrice { amount } customerSelection { ... on DiscountCustomerAll { allCustomers } } destinationSelection { ... on DiscountCountryAll { allCountries } } minimumRequirement { ... on DiscountMinimumSubtotal { greaterThanOrEqualToSubtotal { amount } } } codes(first: 2) { nodes { code } } } } } userErrors { field code message } } }",
"variables": {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
}'
const { admin } = await authenticate.admin(request);
const response = await admin.graphql(
`#graphql
mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}`,
{
variables: {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
},
},
);
const data = await response.json();
const client = new shopify.clients.Graphql({session});
const data = await client.query({
data: {
"query": `mutation discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}`,
"variables": {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
},
},
});
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 discountCodeFreeShippingCreate($freeShippingCodeDiscount: DiscountCodeFreeShippingInput!) {
discountCodeFreeShippingCreate(freeShippingCodeDiscount: $freeShippingCodeDiscount) {
codeDiscountNode {
id
codeDiscount {
... on DiscountCodeFreeShipping {
title
startsAt
endsAt
maximumShippingPrice {
amount
}
customerSelection {
... on DiscountCustomerAll {
allCustomers
}
}
destinationSelection {
... on DiscountCountryAll {
allCountries
}
}
minimumRequirement {
... on DiscountMinimumSubtotal {
greaterThanOrEqualToSubtotal {
amount
}
}
}
codes(first: 2) {
nodes {
code
}
}
}
}
}
userErrors {
field
code
message
}
}
}
QUERY
variables = {
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20.0
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
response = client.query(query: query, variables: variables)
Input variables
JSON{
"freeShippingCodeDiscount": {
"startsAt": "2022-06-22T21:12:07.000Z",
"appliesOncePerCustomer": false,
"title": "FreeShipping",
"code": "FreeShipping",
"minimumRequirement": {
"subtotal": {
"greaterThanOrEqualToSubtotal": 20
}
},
"customerSelection": {
"all": true
},
"destination": {
"all": true
}
}
}
Response
JSON{
"discountCodeFreeShippingCreate": {
"codeDiscountNode": {
"id": "gid://shopify/DiscountCodeNode/1057371199",
"codeDiscount": {
"title": "FreeShipping",
"startsAt": "2022-06-22T21:12:07Z",
"endsAt": null,
"maximumShippingPrice": null,
"customerSelection": {
"allCustomers": true
},
"destinationSelection": {
"allCountries": true
},
"minimumRequirement": {
"greaterThanOrEqualToSubtotal": {
"amount": "20.0"
}
},
"codes": {
"nodes": [
{
"code": "FreeShipping"