Query Plugin Data
Query Plugin DataWooCommerce

WooCommerce

Examples of queries to fetch data from the WooCommerce plugin.

Products (All)

This query fetches all products with their basic information:

query FetchAllProducts {
  woocommerceProducts {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    ...on WooCommercePriceableProductOrProductVariation {
      price
      priceFormatted
      regularPrice
      regularPriceFormatted
      salePrice
      salePriceFormatted
      onSale
    }
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
  }
  woocommerceProductsCount
}

This query fetches a single product by ID:

query FetchProduct($productId: ID!) {
  woocommerceProduct(by: { id: $productId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    ...on WooCommercePriceableProductOrProductVariation {
      price
      priceFormatted
      regularPrice
      regularPriceFormatted
      salePrice
      salePriceFormatted
      onSale
    }
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    galleryImages {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    attributes {
      name
      options
      position
      isVisible
      isVariation
    }
  }
}

This query fetches a product by slug:

query FetchProductBySlug($slug: String!) {
  productBySlug: woocommerceProduct(by: { slug: $slug }) {
    __typename
    id
    name
    slug
    url
    sku
  }
}

This query fetches a product by SKU:

query FetchProductBySku($sku: String!) {
  productBySku: woocommerceProduct(by: { sku: $sku }) {
    __typename
    id
    name
    slug
    url
    sku
  }
}

Product Categories, Tags and Brands

This query fetches all product categories:

query FetchProductCategories {
  woocommerceProductCategories {
    __typename
    id
    url
    urlPath
    slug
    name
    description
    count
    slugPath
    parentID
    parent {
      id
      name
      slug
    }
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    displayType
    menuOrder
    ancestors {
      id
      name
      slug
    }
    children {
      id
      name
      slug
      parent {
        id
        name
        slug
      }
    }
    childrenCount
    descendants {
      id
      name
      slug
      ancestors {
        id
        name
        slug
      }
    }
    descendantsCount
  }
  woocommerceProductCategoriesCount
}

This query fetches a single product category by ID:

query FetchProductCategory($categoryId: ID!) {
  woocommerceProductCategory(by: { id: $categoryId }) {
    __typename
    id
    url
    urlPath
    slug
    name
    description
    count
    slugPath
    parentID
    parent {
      id
      name
      slug
    }
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    displayType
    menuOrder
    ancestors {
      id
      name
      slug
    }
    children {
      id
      name
      slug
      parent {
        id
        name
        slug
      }
    }
    childrenCount
    descendants {
      id
      name
      slug
      ancestors {
        id
        name
        slug
      }
    }
    descendantsCount
  }
}

This query fetches all product tags:

query FetchProductTags {
  woocommerceProductTags {
    __typename
    id
    name
    slug
    url
    urlPath
    description
    count
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    menuOrder
  }
  woocommerceProductTagsCount
}

This query fetches a single product tag by ID:

query FetchProductTag($tagId: ID!) {
  woocommerceProductTag(by: { id: $tagId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    description
    count
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    menuOrder
  }
}

This query fetches all product brands:

query FetchProductBrands {
  woocommerceProductBrands {
    __typename
    id
    url
    urlPath
    slug
    slugPath
    name
    description
    count
    parentID
    parent {
      id
      name
      slug
    }
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    menuOrder
    ancestors {
      id
      name
      slug
    }
    children {
      id
      name
      slug
      parent {
        id
        name
        slug
      }
    }
    childrenCount
    descendants {
      id
      name
      slug
      ancestors {
        id
        name
        slug
      }
    }
    descendantsCount
  }
  woocommerceProductBrandsCount
}

This query fetches a single product brand by ID:

query FetchProductBrand($brandId: ID!) {
  woocommerceProductBrand(by: { id: $brandId }) {
    __typename
    id
    url
    urlPath
    slug
    slugPath
    name
    description
    count
    parentID
    parent {
      id
      name
      slug
    }
    thumbnail {
      id
      src
      altText
      title
      caption
    }
    menuOrder
    ancestors {
      id
      name
      slug
    }
    children {
      id
      name
      slug
      parent {
        id
        name
        slug
      }
    }
    childrenCount
    descendants {
      id
      name
      slug
      ancestors {
        id
        name
        slug
      }
    }
    descendantsCount
  }
}

Attributes and Attribute Taxonomies

This query fetches all attribute taxonomies:

query FetchAttributeTaxonomies {
  woocommerceAttributeTaxonomies {
    __typename
    id
    name
    slug
    type
    orderBy
    taxonomy
    hasArchives
    public
  }
}

This query fetches a single attribute taxonomy by ID:

query FetchAttributeTaxonomy($taxonomyId: ID!) {
  woocommerceAttributeTaxonomy(by: { id: $taxonomyId }) {
    __typename
    id
    name
    slug
    type
    orderBy
    taxonomy
    hasArchives
    public
  }
}

This query fetches an attribute taxonomy by name:

query FetchAttributeTaxonomyByName($taxonomyName: String!) {
  attributeTaxonomyByName: woocommerceAttributeTaxonomy(by: { taxonomyName: $taxonomyName }) {
    __typename
    id
    name
    slug
    type
    orderBy
    taxonomy
    hasArchives
    public
  }
}

This query fetches all product attributes:

query FetchProductAttributes {
  woocommerceAttributes {
    __typename
    id
    url
    urlPath
    slug
    name
    description
    count
    menuOrder
    termGroup
    termTaxonomyID
    taxonomy
    taxonomyObject {
      id
      name
      slug
      type
      orderBy
      taxonomy
      hasArchives
      public
    }
  }
  woocommerceAttributesCount
}

This query fetches a single product attribute by ID:

query FetchProductAttribute($attributeId: ID!) {
  woocommerceAttribute(by: { id: $attributeId }) {
    __typename
    id
    url
    urlPath
    slug
    name
    description
    count
    menuOrder
    termGroup
    termTaxonomyID
    taxonomy
    taxonomyObject {
      id
      name
      slug
      type
      orderBy
      taxonomy
      hasArchives
      public
    }
  }
}

This query fetches a product attribute by slug and taxonomy:

query FetchProductAttributeBySlug($slug: String!, $taxonomy: String!) {
  attributeBySlug: woocommerceAttribute(by: { slug: $slug }, taxonomy: $taxonomy) {
    __typename
    id
    url
    urlPath
    slug
    name
    description
    count
    menuOrder
    termGroup
    termTaxonomyID
    taxonomy
    taxonomyObject {
      id
      name
      slug
      type
      orderBy
      taxonomy
      hasArchives
      public
    }
  }
}

Products by Type

Simple Products

This query fetches all simple products:

query FetchSimpleProducts {
  woocommerceSimpleProducts {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Stock management fields
    manageStock
    stockQuantity
    stockStatus
    backorders
    backordersAllowed
    backordered
    soldIndividually
    lowStockThreshold
    # Shipping fields
    isVirtual
    weight
    length
    width
    height
    dimensions
    shippingClassID
    shippingClass {
      id
      name
      slug
      description
      count
    }
    # Downloadable fields
    isDownloadable
    downloadLimit
    downloadExpiry
    downloads
    downloadsCount
    # Tax fields
    taxStatus
    taxClass
    # Cross-sell fields
    crossSellIDs
    crossSells {
      id
      name
      slug
      sku
    }
  }
  woocommerceSimpleProductsCount
}

This query fetches a single simple product by ID:

query FetchSimpleProduct($productId: ID!) {
  woocommerceSimpleProduct(by: { id: $productId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    galleryImages {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Stock management fields
    manageStock
    stockQuantity
    stockStatus
    backorders
    backordersAllowed
    backordered
    soldIndividually
    lowStockThreshold
    # Shipping fields
    isVirtual
    weight
    length
    width
    height
    dimensions
    shippingClassID
    shippingClass {
      id
      name
      slug
      description
      count
    }
    # Downloadable fields
    isDownloadable
    downloadLimit
    downloadExpiry
    downloads
    downloadsCount
    # Tax fields
    taxStatus
    taxClass
    # Cross-sell fields
    crossSellIDs
    crossSells {
      id
      name
      slug
      sku
    }
  }
}

External Products

This query fetches all external products:

query FetchExternalProducts {
  woocommerceExternalProducts {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # External product specific fields
    externalURL
    buttonText
    # Tax fields
    taxStatus
    taxClass
  }
  woocommerceExternalProductsCount
}

This query fetches a single external product by ID:

query FetchExternalProduct($productId: ID!) {
  woocommerceExternalProduct(by: { id: $productId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    galleryImages {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # External product specific fields
    externalURL
    buttonText
    # Tax fields
    taxStatus
    taxClass
  }
}

Group Products

This query fetches all group products:

query FetchGroupProducts {
  woocommerceGroupProducts {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Group product specific fields
    hasChildren
    childrenCount
    minPrice
    maxPrice
    minPriceFormatted
    maxPriceFormatted
    children {
      id
      name
      slug
      sku
    }
  }
  woocommerceGroupProductsCount
}

This query fetches a single group product by ID:

query FetchGroupProduct($productId: ID!) {
  woocommerceGroupProduct(by: { id: $productId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    galleryImages {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Group product specific fields
    hasChildren
    childrenCount
    minPrice
    maxPrice
    minPriceFormatted
    maxPriceFormatted
    children {
      id
      name
      slug
      sku
    }
  }
}

Variable Products

This query fetches all variable products:

query FetchVariableProducts {
  woocommerceVariableProducts {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Variable product specific fields
    hasVariations
    variationsCount
    minPrice
    maxPrice
    minRegularPrice
    maxRegularPrice
    minSalePrice
    maxSalePrice
    priceRange
    variations {
      id
      name
      slug
      sku
    }
    defaultAttributes {
      taxonomy
      termSlug
      termObject {
        id
        name
        slug
      }
    }
    # Cross-sell fields
    crossSellIDs
    crossSells {
      id
      name
      slug
      sku
    }
    # Tax fields
    taxStatus
    taxClass
  }
  woocommerceVariableProductsCount
}

This query fetches a single variable product by ID:

query FetchVariableProduct($productId: ID!) {
  woocommerceVariableProduct(by: { id: $productId }) {
    __typename
    id
    name
    slug
    url
    urlPath
    sku
    description
    shortDescription
    status
    type
    featured
    totalSales
    averageRating
    ratingCount
    image {
      id
      src
      altText
      title
      caption
    }
    galleryImages {
      id
      src
      altText
      title
      caption
    }
    categories {
      id
      name
      slug
    }
    tags {
      id
      name
      slug
    }
    brands {
      id
      name
      slug
    }
    # Variable product specific fields
    hasVariations
    variationsCount
    minPrice
    maxPrice
    minRegularPrice
    maxRegularPrice
    minSalePrice
    maxSalePrice
    priceRange
    variations {
      id
      name
      slug
      sku
    }
    defaultAttributes {
      taxonomy
      termSlug
      termObject {
        id
        name
        slug
      }
    }
    # Cross-sell fields
    crossSellIDs
    crossSells {
      id
      name
      slug
      sku
    }
    # Tax fields
    taxStatus
    taxClass
  }
}

Product Variations

This query fetches all product variations:

query FetchProductVariations {
  woocommerceProductVariations {
    __typename
    id
    name
    slug
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    image {
      id
      src
      altText
      title
      caption
    }
    # Product variation specific fields
    parentID
    parent {
      id
      name
      slug
      sku
    }
    taxClass
    attributes {
      taxonomy
      termSlug
      termObject {
        id
        name
        slug
      }
    }
    # Stock management fields
    manageStock
    stockQuantity
    stockStatus
    backorders
    backordersAllowed
    backordered
    soldIndividually
    lowStockThreshold
    # Shipping fields
    isVirtual
    weight
    length
    width
    height
    dimensions
    shippingClassID
    shippingClass {
      id
      name
      slug
      description
      count
    }
    # Downloadable fields
    isDownloadable
    downloadLimit
    downloadExpiry
    downloads
    downloadsCount
  }
  woocommerceProductVariationsCount
}

This query fetches a single product variation by ID:

query FetchProductVariation($variationId: ID!) {
  woocommerceProductVariation(by: { id: $variationId }) {
    __typename
    id
    name
    slug
    sku
    description
    shortDescription
    price
    priceFormatted
    regularPrice
    regularPriceFormatted
    salePrice
    salePriceFormatted
    onSale
    status
    image {
      id
      src
      altText
      title
      caption
    }
    # Product variation specific fields
    parentID
    parent {
      id
      name
      slug
      sku
    }
    taxClass
    attributes {
      taxonomy
      termSlug
      termObject {
        id
        name
        slug
      }
    }
    # Stock management fields
    manageStock
    stockQuantity
    stockStatus
    backorders
    backordersAllowed
    backordered
    soldIndividually
    lowStockThreshold
    # Shipping fields
    isVirtual
    weight
    length
    width
    height
    dimensions
    shippingClassID
    shippingClass {
      id
      name
      slug
      description
      count
    }
    # Downloadable fields
    isDownloadable
    downloadLimit
    downloadExpiry
    downloads
    downloadsCount
  }
}

Customers

This query fetches all customers:

query FetchCustomers {
  woocommerceCustomers {
    __typename
    id
    username
    email
    firstName
    lastName
    displayName
    description
    createdDate
    createdDateStr
    formattedCreatedDateStr: createdDateStr(format: "d/m/Y H:i:s")
    modifiedDate
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    role
    billing
    shipping
    isPayingCustomer
    avatarURL
    totalSpent
    totalSpentFormatted
    orderCount
    lastOrderID
    lastOrder {
      id
      orderNumber
      status
      total
      date
    }
    orders {
      id
      orderNumber
      status
      total
      date
    }
    ordersCount
  }
  woocommerceCustomersCount
}

This query fetches a single customer by ID:

query FetchCustomer($customerId: ID!) {
  woocommerceCustomer(by: { id: $customerId }) {
    __typename
    id
    username
    email
    firstName
    lastName
    displayName
    description
    createdDate
    createdDateStr
    formattedCreatedDateStr: createdDateStr(format: "d/m/Y H:i:s")
    modifiedDate
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    role
    billing
    shipping
    isPayingCustomer
    avatarURL
    totalSpent
    totalSpentFormatted
    orderCount
    lastOrderID
    lastOrder {
      id
      orderNumber
      status
      total
      date
    }
    orders {
      id
      orderNumber
      status
      total
      date
    }
    ordersCount
  }
}

Orders

This query fetches all orders:

query FetchOrders {
  woocommerceOrders {
    __typename
    id
    orderNumber
    orderKey
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedStr: modifiedDateStr(format: "d/m/Y H:i:s")
    status
    isPaid
    currency
    total
    totalFormatted
    subtotal
    subtotalFormatted
    totalTax
    totalTaxFormatted
    totalShipping
    totalShippingFormatted
    totalDiscount
    totalDiscountFormatted
    totalDiscountTax
    totalDiscountTaxFormatted
    shippingTotal
    shippingTotalFormatted
    shippingTax
    shippingTaxFormatted
    cartTax
    cartTaxFormatted
    totalFee
    totalFeeFormatted
    customerID
    customer {
      id
      username
      email
      firstName
      lastName
      displayName
    }
    customerNote
    billingAddress
    shippingAddress
    hasCompletedStatus: hasStatus(status: "completed")
    hasPendingStatus: hasStatus(status: "pending")
    hasProcessingStatus: hasStatus(status: "processing")
    hasOnHoldStatus: hasStatus(status: "on-hold")
    hasCancelledStatus: hasStatus(status: "cancelled")
    hasRefundedStatus: hasStatus(status: "refunded")
    hasFailedStatus: hasStatus(status: "failed")
    hasAnyCompletedOrProcessingStatus: hasAnyStatus(statuses: ["completed", "processing"])
    hasAnyPendingOrOnHoldStatus: hasAnyStatus(statuses: ["pending", "on-hold"])
    paymentMethod
    paymentMethodTitle
    transactionID
    datePaid
    datePaidStr
    formattedDatePaidStr: datePaidStr(format: "d/m/Y H:i:s")
    dateCompleted
    dateCompletedStr
    formattedDateCompletedStr: dateCompletedStr(format: "d/m/Y H:i:s")
    cartHash
    newOrderEmailSent
    orderCurrency
    orderVersion
    pricesIncludeTax
    discountTotal
    discountTax
    refunded
    remainingRefundAmount
    itemCount
    items {
      id
      name
      quantity
      subtotal
      subtotalFormatted
      total
      totalFormatted
      totalTax
      totalTaxFormatted
      productID
      variationID
      reducedStockNumber
      product {
        id
        name
        slug
        sku
      }
      variation {
        id
        name
        slug
        sku
      }
    }
    refunds {
      id
      amount
      amountFormatted
      reason
      status
    }
    downloadPermissionsGranted
    needsPayment
    needsProcessing
    isDownloadPermitted
    hasDownloadableItem
  }
  woocommerceOrdersCount
}

This query fetches a single order by ID:

query FetchOrder($orderId: ID!) {
  woocommerceOrder(by: { id: $orderId }) {
    __typename
    id
    orderNumber
    orderKey
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedStr: modifiedDateStr(format: "d/m/Y H:i:s")
    status
    isPaid
    currency
    total
    totalFormatted
    subtotal
    subtotalFormatted
    totalTax
    totalTaxFormatted
    totalShipping
    totalShippingFormatted
    totalDiscount
    totalDiscountFormatted
    totalDiscountTax
    totalDiscountTaxFormatted
    shippingTotal
    shippingTotalFormatted
    shippingTax
    shippingTaxFormatted
    cartTax
    cartTaxFormatted
    totalFee
    totalFeeFormatted
    customerID
    customer {
      id
      username
      email
      firstName
      lastName
      displayName
    }
    customerNote
    billingAddress
    shippingAddress
    hasCompletedStatus: hasStatus(status: "completed")
    hasPendingStatus: hasStatus(status: "pending")
    hasProcessingStatus: hasStatus(status: "processing")
    hasOnHoldStatus: hasStatus(status: "on-hold")
    hasCancelledStatus: hasStatus(status: "cancelled")
    hasRefundedStatus: hasStatus(status: "refunded")
    hasFailedStatus: hasStatus(status: "failed")
    hasAnyCompletedOrProcessingStatus: hasAnyStatus(statuses: ["completed", "processing"])
    hasAnyPendingOrOnHoldStatus: hasAnyStatus(statuses: ["pending", "on-hold"])
    paymentMethod
    paymentMethodTitle
    transactionID
    datePaid
    datePaidStr
    formattedDatePaidStr: datePaidStr(format: "d/m/Y H:i:s")
    dateCompleted
    dateCompletedStr
    formattedDateCompletedStr: dateCompletedStr(format: "d/m/Y H:i:s")
    cartHash
    newOrderEmailSent
    orderCurrency
    orderVersion
    pricesIncludeTax
    discountTotal
    discountTax
    refunded
    remainingRefundAmount
    itemCount
    items {
      id
      name
      quantity
      subtotal
      subtotalFormatted
      total
      totalFormatted
      totalTax
      totalTaxFormatted
      productID
      variationID
      reducedStockNumber
      product {
        id
        name
        slug
        sku
      }
      variation {
        id
        name
        slug
        sku
      }
    }
    refunds {
      id
      amount
      amountFormatted
      reason
      status
    }
    downloadPermissionsGranted
    needsPayment
    needsProcessing
    isDownloadPermitted
    hasDownloadableItem
  }
}

This query fetches an order by order key:

query FetchOrderByKey($orderKey: String!) {
  orderByKey: woocommerceOrder(by: { orderKey: $orderKey }) {
    id
    orderKey
    orderNumber
    total
    totalFormatted
    status
    date
    customer {
      id
      username
      email
      firstName
      lastName
    }
  }
}

Refunds

This query fetches all refunds:

query FetchRefunds {
  woocommerceRefunds {
    __typename
    id
    orderID
    order {
      id
      orderNumber
      status
    }
    amount
    amountFormatted
    reason
    refundedBy {
      id
      name
      email
    }
    isPaymentRefundedViaAPI
    refundType
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    status
  }
  woocommerceRefundsCount
}

This query fetches a single refund by ID:

query FetchRefund($refundId: ID!) {
  woocommerceRefund(by: { id: $refundId }) {
    __typename
    id
    orderID
    order {
      id
      orderNumber
      status
    }
    amount
    amountFormatted
    reason
    refundedBy {
      id
      name
      email
    }
    isPaymentRefundedViaAPI
    refundType
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    status
  }
}

Reviews

This query fetches all product reviews:

query FetchProductReviews {
  woocommerceReviews {
    __typename
    id
    content
    author
    authorEmail
    rating
    verified
    approved
    date
    dateStr
    productID
    product {
      id
      name
    }
  }
  woocommerceReviewsCount
}

This query fetches a single product review by ID:

query FetchProductReview($reviewId: ID!) {
  woocommerceReview(by: { id: $reviewId }) {
    __typename
    id
    content
    author
    authorEmail
    rating
    verified
    approved
    date
    dateStr
    productID
    product {
      id
      name
    }
  }
}

Coupons

This query fetches all coupons:

query FetchCoupons {
  woocommerceCoupons {
    __typename
    id
    code
    amount
    amountFormatted
    dateExpires
    dateExpiresStr
    formattedDateExpiresStr: dateExpiresStr(format: "d/m/Y H:i:s")
    discountType
    description
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    usageCount
    individualUse
    productIDs
    products {
      id
      name
      slug
    }
    productsCount
    excludedProductIDs
    excludedProducts {
      id
      name
      slug
    }
    excludedProductsCount
    usageLimit
    usageLimitPerUser
    limitUsageToXItems
    freeShipping
    productCategoryIDs
    productCategories {
      id
      name
      slug
    }
    productCategoriesCount
    excludedProductCategoryIDs
    excludedProductCategories {
      id
      name
      slug
    }
    excludedProductCategoriesCount
    productBrandIDs
    productBrands {
      id
      name
      slug
    }
    productBrandsCount
    excludedProductBrandIDs
    excludedProductBrands {
      id
      name
      slug
    }
    excludedProductBrandsCount
    excludeSaleItems
    minimumAmount
    minimumAmountFormatted
    maximumAmount
    maximumAmountFormatted
    emailRestrictions
    usedByCustomerIDs
    usedByCustomers {
      id
      username
      email
      firstName
      lastName
      displayName
    }
    usedByCustomersCount
  }
  woocommerceCouponsCount
}

This query fetches a coupon by code:

query FetchCouponByCode($code: String!) {
  couponByCode: woocommerceCoupon(by: { code: $code }) {
    __typename
    id
    code
    amount
    amountFormatted
    dateExpires
    dateExpiresStr
    formattedDateExpiresStr: dateExpiresStr(format: "d/m/Y H:i:s")
    discountType
    description
    date
    modifiedDate
    dateStr
    formattedDateStr: dateStr(format: "d/m/Y H:i:s")
    modifiedDateStr
    formattedModifiedDateStr: modifiedDateStr(format: "d/m/Y H:i:s")
    usageCount
    individualUse
    productIDs
    products {
      id
      name
      slug
    }
    productsCount
    excludedProductIDs
    excludedProducts {
      id
      name
      slug
    }
    excludedProductsCount
    usageLimit
    usageLimitPerUser
    limitUsageToXItems
    freeShipping
    productCategoryIDs
    productCategories {
      id
      name
      slug
    }
    productCategoriesCount
    excludedProductCategoryIDs
    excludedProductCategories {
      id
      name
      slug
    }
    excludedProductCategoriesCount
    productBrandIDs
    productBrands {
      id
      name
      slug
    }
    productBrandsCount
    excludedProductBrandIDs
    excludedProductBrands {
      id
      name
      slug
    }
    excludedProductBrandsCount
    excludeSaleItems
    minimumAmount
    minimumAmountFormatted
    maximumAmount
    maximumAmountFormatted
    emailRestrictions
    usedByCustomerIDs
    usedByCustomers {
      id
      username
      email
      firstName
      lastName
      displayName
    }
    usedByCustomersCount
  }
}

This query fetches a coupon by ID:

query FetchCouponById($couponId: ID!) {
  couponByID: woocommerceCoupon(by: { id: $couponId }) {
    id
    code
    amount
    amountFormatted
    discountType
    description
    usageCount
    individualUse
    usageLimit
    usageLimitPerUser
    freeShipping
    excludeSaleItems
    minimumAmount
    minimumAmountFormatted
    maximumAmount
    maximumAmountFormatted
  }
}

Shipping Classes

This query fetches all shipping classes:

query FetchShippingClasses {
  woocommerceShippingClasses {
    __typename
    id
    name
    slug
    description
    count
  }
  woocommerceShippingClassesCount
}

This query fetches a single shipping class by ID:

query FetchShippingClassById($shippingClassId: ID!) {
  woocommerceShippingClassByID: woocommerceShippingClass(by: { id: $shippingClassId }) {
    __typename
    id
    name
    slug
    description
    count
  }
}

This query fetches a single shipping class by slug:

query FetchShippingClassBySlug($slug: String!) {
  woocommerceShippingClassBySlug: woocommerceShippingClass(by: { slug: $slug }) {
    __typename
    id
    name
    slug
    description
    count
  }
}

Tax Rates

This query fetches all tax rates:

query FetchTaxRates {
  woocommerceTaxRates {
    __typename
    id
    country
    state
    postcode
    city
    rate
    name
    priority
    compound
    shipping
    order
    class
  }
}

This query fetches a single tax rate by ID:

query FetchTaxRate($taxRateId: ID!) {
  woocommerceTaxRate(by: { id: $taxRateId }) {
    __typename
    id
    country
    state
    postcode
    city
    rate
    name
    priority
    compound
    shipping
    order
    class
  }
}

Payment Gateways

This query fetches all payment gateways:

query FetchPaymentGateways {
  woocommercePaymentGateways {
    __typename
    id
    title
    description
    enabled
    methodID
    methodTitle
    methodDescription
    icon
    isAvailable
    isActive
  }
}