younifyd
Menu

draftOrderCalculate

Calculates the properties of a DraftOrder without creating it. Returns pricing information including CalculatedDraftOrderLineItem totals, shipping charges, applicable discounts, and tax calculations based on the…

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the draftOrderCalculate action (under Draft).
  3. Fill in the fields below, then reference the result from later steps as {{draftordercalculate.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.

graphql
mutation DraftOrderCalculate($input: DraftOrderInput!) {
  draftOrderCalculate(input: $input) {
    calculatedDraftOrder {
      acceptAutomaticDiscounts
      alerts {
        actions
        content
        dismissibleHandle
        icon
        severity
        title
      }
      allVariantPricesOverridden
      amountDueLaterSet {
        presentmentMoney
        shopMoney
      }
      amountDueNowSet {
        presentmentMoney
        shopMoney
      }
      anyVariantPricesOverridden
      appliedDiscount {
        amount
        amountSet
        amountV2
        description
        title
        value
        valueType
      }
      availableShippingRates {
        handle
        price
        title
      }
      billingAddressMatchesShippingAddress
      currencyCode
      customer {
        amountSpent
        canDelete
        companyContactProfiles
        createdAt
        dataSaleOptOut
        defaultAddress
        defaultEmailAddress
        defaultPhoneNumber
        displayName
        email
        emailMarketingConsent
        firstName
        hasTimelineComment
        id
        identityProviderSubjects
        lastName
        lastOrder
        legacyResourceId
        lifetimeDuration
        locale
        market
        mergeable
        multipassIdentifier
        note
        numberOfOrders
        phone
        productSubscriberStatus
        smsMarketingConsent
        state
        statistics
        tags
        taxExempt
        taxExemptions
        taxSettings
        unsubscribeUrl
        updatedAt
        validEmailAddress
        verifiedEmail
      }
      deposit
      discountCodes
      lineItems {
        appliedDiscount
        approximateDiscountedUnitPriceSet
        bundleComponents
        components
        custom
        customAttributes
        customAttributesV2
        discountedTotal
        discountedTotalSet
        discountedUnitPrice
        discountedUnitPriceSet
        fulfillmentService
        image
        isGiftCard
        name
        originalTotal
        originalTotalSet
        originalUnitPrice
        originalUnitPriceSet
        originalUnitPriceWithCurrency
        priceOverride
        product
        quantity
        requiresShipping
        sku
        taxable
        title
        totalDiscount
        totalDiscountSet
        uuid
        variant
        variantTitle
        vendor
        weight
      }
      lineItemsSubtotalPrice {
        presentmentMoney
        shopMoney
      }
      marketName
      marketRegionCountryCode
      phone
      platformDiscounts {
        allocations
        automaticDiscount
        bxgyDiscount
        code
        discountClass
        discountClasses
        discountNode
        id
        presentationLevel
        shortSummary
        summary
        title
        totalAmount
        totalAmountPriceSet
      }
      presentmentCurrencyCode
      purchasingEntity
      shippingLine {
        carrierIdentifier
        code
        currentDiscountedPriceSet
        custom
        deliveryCategory
        discountAllocations
        discountedPrice
        discountedPriceSet
        id
        isRemoved
        originalPrice
        originalPriceSet
        phone
        price
        requestedFulfillmentService
        shippingRateHandle
        source
        taxLines
        title
      }
      subtotalPrice
      subtotalPriceSet {
        presentmentMoney
        shopMoney
      }
      taxLines {
        channelLiable
        price
        priceSet
        rate
        ratePercentage
        source
        title
      }
      taxesIncluded
      totalDiscountsSet {
        presentmentMoney
        shopMoney
      }
      totalLineItemsPriceSet {
        presentmentMoney
        shopMoney
      }
      totalPrice
      totalPriceSet {
        presentmentMoney
        shopMoney
      }
      totalQuantityOfLineItems
      totalShippingPrice
      totalShippingPriceSet {
        presentmentMoney
        shopMoney
      }
      totalTax
      totalTaxSet {
        presentmentMoney
        shopMoney
      }
      transformerFingerprint
      warnings {
        errorCode
        field
        message
      }
    }
    userErrors {
      field
      message
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

inputobjectrequired

The fields for the draft order.

appliedDiscountobject6 fields
discountCodesarray<string>
acceptAutomaticDiscountsboolean
billingAddressobject13 fields
customerIdstring
customAttributesarray<object>2 fields
emailstring
lineItemsarray<object>17 fields
metafieldsarray<object>5 fields
localizationExtensionsarray<object>2 fields
localizedFieldsarray<object>2 fields
notestring
shippingAddressobject13 fields
shippingLineobject4 fields
tagsarray<string>
taxExemptboolean
useCustomerDefaultAddressboolean
visibleToCustomerboolean
reserveInventoryUntilstring
presentmentCurrencyCodestring

One ofUSDEURGBPCADAFNALLDZDAOAARSAMDAWGAUDBBDAZNBDTBSDBHDBIFBYNBZDBMDBTNBAMBRLBOBBWPBNDBGNMMKKHRCVEKYDXAFCLPCNYCOPKMFCDFCRCHRK

marketRegionCountryCodestring

One ofAFAXALDZADAOAIAGARAMAWACAUATAZBSBHBDBBBYBEBZBJBMBTBOBABWBVBRIOBNBGBFBIKHCACVBQKY

phonestring
paymentTermsobject2 fields
depositobject1 fields
purchasingEntityobject2 fields
sourceNamestring
allowDiscountCodesInCheckoutboolean
poNumberstring
sessionTokenstring
transformerFingerprintstring
json
{
  "input": {
    "appliedDiscount": {
      "value": 0,
      "valueType": "FIXED_AMOUNT",
      "amount": "string",
      "amountWithCurrency": {
        "amount": "string",
        "currencyCode": "string"
      },
      "description": "string",
      "title": "string"
    },
    "discountCodes": [
      "string"
    ],
    "acceptAutomaticDiscounts": false,
    "billingAddress": {
      "address1": "string",
      "address2": "string",
      "city": "string",
      "company": "string",
      "country": "string",
      "countryCode": "AF",
      "firstName": "string",
      "id": "string",
      "lastName": "string",
      "phone": "string",
      "province": "string",
      "provinceCode": "string"
    },
    "customerId": "string",
    "customAttributes": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "email": "string",
    "lineItems": [
      {
        "quantity": "string",
        "appliedDiscount": "string",
        "customAttributes": "string",
        "grams": "string",
        "originalUnitPrice": "string",
        "originalUnitPriceWithCurrency": "string",
        "requiresShipping": "string",
        "sku": "string",
        "taxable": "string",
        "title": "string",
        "variantId": "string",
        "weight": "string"
      }
    ],
    "metafields": [
      {
        "id": "string",
        "namespace": "string",
        "key": "string",
        "value": "string",
        "type": "string"
      }
    ],
    "localizationExtensions": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "localizedFields": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "note": "string"
  }
}

Response

Read the result with {{draftordercalculate.response.data.data.draftOrderCalculate}}. If the API returns errors, the step fails and they are at {{draftordercalculate.response.data.errors}}.

calculatedDraftOrderobject
acceptAutomaticDiscountsboolean
alertsarray<object>
allVariantPricesOverriddenboolean
amountDueLaterSetobject2 fields
amountDueNowSetobject2 fields
anyVariantPricesOverriddenboolean
appliedDiscountobject7 fields
availableShippingRatesarray<object>
billingAddressMatchesShippingAddressboolean
currencyCodestring

One ofUSDEURGBPCADAFNALLDZDAOAARSAMDAWGAUDBBDAZNBDTBSDBHDBIFBYNBZDBMDBTNBAMBRLBOBBWPBNDBGNMMKKHRCVEKYDXAFCLPCNYCOPKMFCDFCRCHRK

customerobject38 fields
depositobject1 fields

This field can return one of several different object shapes — properties from every possible shape are shown together.

discountCodesarray<object>
lineItemsarray<object>
lineItemsSubtotalPriceobject2 fields
marketNamestring
marketRegionCountryCodestring

One ofAFAXALDZADAOAIAGARAMAWACAUATAZBSBHBDBBBYBEBZBJBMBTBOBABWBVBRIOBNBGBFBIKHCACVBQKY

phonestring
platformDiscountsarray<object>
presentmentCurrencyCodestring

One ofUSDEURGBPCADAFNALLDZDAOAARSAMDAWGAUDBBDAZNBDTBSDBHDBIFBYNBZDBMDBTNBAMBRLBOBBWPBNDBGNMMKKHRCVEKYDXAFCLPCNYCOPKMFCDFCRCHRK

purchasingEntityobject40 fields

This field can return one of several different object shapes — properties from every possible shape are shown together.

shippingLineobject19 fields
subtotalPricestring
subtotalPriceSetobject2 fields
taxLinesarray<object>
taxesIncludedboolean
totalDiscountsSetobject2 fields
totalLineItemsPriceSetobject2 fields
totalPricestring
totalPriceSetobject2 fields
totalQuantityOfLineItemsnumber
totalShippingPricestring
totalShippingPriceSetobject2 fields
totalTaxstring
totalTaxSetobject2 fields
transformerFingerprintstring
warningsarray<object>
userErrorsarray<object>
fieldobject
messageobject

Need more? See the Shopify guide for connection setup and behaviour shared by every action.