Menu
cartCreate
Create a cart, optionally with line items, buyer identity, discount codes, gift cards and attributes; returns the cart and its `checkoutUrl`.
Use it in a workflow
- Add a step and choose the Shopify Storefront connector.
- Pick the cartCreate action (under Cart).
- Fill in the fields below, then reference the result from later steps as
{{cartcreate.response.data}}.
Query
This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.
mutation CartCreate($input: CartInput) {
cartCreate(input: $input) {
cart {
appliedGiftCards {
amountUsed
amountUsedV2
balance
balanceV2
id
lastCharacters
presentmentAmountUsed
}
attributes {
key
value
}
buyerIdentity {
countryCode
customer
deliveryAddressPreferences
email
phone
preferences
purchasingCompany
}
checkoutUrl
cost {
checkoutChargeAmount
subtotalAmount
subtotalAmountEstimated
totalAmount
totalAmountEstimated
totalDutyAmount
totalDutyAmountEstimated
totalTaxAmount
totalTaxAmountEstimated
}
createdAt
delivery
discountAllocations {
discountApplication
discountedAmount
sourceDiscountApplication
targetType
}
discountApplications {
allocationMethod
targetSelection
targetType
totalAllocatedAmount
value
}
discountCodes {
applicable
code
}
estimatedCost {
checkoutChargeAmount
subtotalAmount
totalAmount
totalDutyAmount
totalTaxAmount
}
id
note
totalQuantity
updatedAt
}
userErrors {
code
field
message
}
warnings {
code
message
target
}
}
}
Variables
Pass these as a JSON object in the step's Variables field.
{
"input": {
"attributes": [
{
"key": "string",
"value": "string"
}
],
"lines": [
{
"merchandiseId": "string",
"attributes": "string",
"quantity": "string",
"sellingPlanId": "string",
"parent": "string"
}
],
"discountCodes": [
"string"
],
"giftCardCodes": [
"string"
],
"note": "string",
"buyerIdentity": {
"email": "string",
"phone": "string",
"companyLocationId": "string",
"countryCode": "AF",
"customerAccessToken": "string",
"deliveryAddressPreferences": [
"string"
],
"preferences": {
"delivery": "string",
"wallet": "string"
}
},
"delivery": {
"addresses": [
"string"
]
},
"metafields": [
{
"key": "string",
"value": "string",
"type": "string"
}
],
"sourceName": "string"
}
}
Response
Read the result with {{cartcreate.response.data.data.cartCreate}}. If the API returns errors, the step fails and they are at {{cartcreate.response.data.errors}}.
Need more? See the Shopify Storefront guide for connection setup and behaviour shared by every action.
Was this page helpful?