younifyd
Menu

productVariantRelationshipBulkUpdate

Creates new bundles, updates component quantities in existing bundles, and removes bundle components for one or multiple ProductVariant objects.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the productVariantRelationshipBulkUpdate action (under Product).
  3. Fill in the fields below, then reference the result from later steps as {{productvariantrelationshipbulkupdate.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 ProductVariantRelationshipBulkUpdate($input: [ProductVariantRelationshipUpdateInput!]!) {
  productVariantRelationshipBulkUpdate(input: $input) {
    parentProductVariants {
      availableForSale
      availablePublicationsCount {
        count
        precision
      }
      barcode
      compareAtPrice
      createdAt
      defaultCursor
      deliveryProfile {
        activeMethodDefinitionsCount
        coversAllItems
        default
        id
        locationsWithoutRatesCount
        name
        originLocationCount
        productVariantsCount
        productVariantsCountV2
        unassignedLocations
        version
        zoneCountryCount
      }
      displayName
      id
      inventoryItem {
        countryCodeOfOrigin
        createdAt
        duplicateSkuCount
        harmonizedSystemCode
        id
        inventoryHistoryUrl
        legacyResourceId
        locationsCount
        measurement
        provinceCodeOfOrigin
        requiresShipping
        sku
        tracked
        trackedEditable
        unitCost
        updatedAt
        variant
      }
      inventoryPolicy
      inventoryQuantity
      legacyResourceId
      position
      price
      product {
        availablePublicationsCount
        bodyHtml
        bundleConsolidatedOptions
        category
        combinedListing
        combinedListingRole
        compareAtPriceRange
        createdAt
        customProductType
        defaultCursor
        descriptionHtml
        descriptionPlainSummary
        featuredImage
        featuredMedia
        feedback
        giftCardSettings
        giftCardTemplateSuffix
        handle
        hasOnlyDefaultVariant
        hasOutOfStockVariants
        hasVariantsThatRequiresComponents
        id
        isGiftCard
        legacyResourceId
        mediaCount
        onlineStorePreviewUrl
        onlineStoreUrl
        priceRange
        priceRangeV2
        productCategory
        productComponentsCount
        productType
        publishedAt
        publishedOnCurrentChannel
        publishedOnCurrentPublication
        requiresSellingPlan
        resourcePublicationOnCurrentPublication
        sellingPlanGroupCount
        sellingPlanGroupsCount
        seo
        standardizedProductType
        status
        storefrontId
        tags
        templateSuffix
        title
        totalInventory
        totalVariants
        tracksInventory
        updatedAt
        variantsCount
        vendor
      }
      publishedOnCurrentChannel
      publishedOnCurrentPublication
      requiresComponents
      selectedOptions {
        name
        optionValue
        value
      }
      sellableOnlineQuantity
      sellingPlanGroupCount
      sellingPlanGroupsCount {
        count
        precision
      }
      showUnitPrice
      sku
      storefrontId
      taxCode
      taxable
      title
      unitPrice {
        amount
        currencyCode
      }
      unitPriceMeasurement {
        measuredType
        quantityUnit
        quantityValue
        referenceUnit
        referenceValue
      }
      updatedAt
    }
    userErrors {
      code
      field
      message
    }
  }
}

Variables

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

inputarray<object>required

The input options for the product variant being updated.

parentProductVariantIdstring
parentProductIdstring
productVariantRelationshipsToCreatearray<string>
productVariantRelationshipsToUpdatearray<string>
productVariantRelationshipsToRemovearray<string>
removeAllProductVariantRelationshipsboolean
priceInputobject2 fields
json
{
  "input": [
    {
      "parentProductVariantId": "string",
      "parentProductId": "string",
      "productVariantRelationshipsToCreate": [
        "string"
      ],
      "productVariantRelationshipsToUpdate": [
        "string"
      ],
      "productVariantRelationshipsToRemove": [
        "string"
      ],
      "removeAllProductVariantRelationships": false,
      "priceInput": {
        "calculation": "string",
        "price": "string"
      }
    }
  ]
}

Response

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

parentProductVariantsarray<object>
availableForSaleobject
availablePublicationsCountobject
barcodeobject
compareAtPriceobject
createdAtobject
defaultCursorobject
deliveryProfileobject
displayNameobject
idobject
inventoryItemobject
inventoryPolicyobject
inventoryQuantityobject
legacyResourceIdobject
positionobject
priceobject
productobject
publishedOnCurrentChannelobject
publishedOnCurrentPublicationobject
requiresComponentsobject
selectedOptionsobject
sellableOnlineQuantityobject
sellingPlanGroupCountobject
sellingPlanGroupsCountobject
showUnitPriceobject
skuobject
storefrontIdobject
taxCodeobject
taxableobject
titleobject
unitPriceobject
unitPriceMeasurementobject
updatedAtobject
userErrorsarray<object>
codeobject
fieldobject
messageobject

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