Blog

🛍️ L'integrazione WooCommerce è arrivata su Gato GraphQL!

Leonardo Losoviz
Di Leonardo Losoviz ·

L'estensione WooCommerce è ora disponibile per Gato GraphQL! 🎉

Estensione WooCommerce per Gato GraphQL
Estensione WooCommerce per Gato GraphQL

Questa nuovissima estensione ci permette di recuperare i dati da WooCommerce, inclusi i prodotti, gli ordini, i clienti, i coupon, ecc.


Ecco alcuni esempi di queries per recuperare i dati dal tuo negozio WooCommerce.

Prodotti (Tutti)

Questa query recupera tutti i prodotti con le loro informazioni di base:

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
}

Prodotti (per tipo)

Prodotti semplici

Questa query recupera tutti i prodotti semplici:

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
}

Prodotti esterni

Questa query recupera tutti i prodotti esterni:

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
}

Prodotti raggruppati

Questa query recupera tutti i prodotti raggruppati:

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
}

Prodotti variabili

Questa query recupera tutti i prodotti variabili:

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
}

Clienti

Questa query recupera tutti i clienti:

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
}

Ordini

Questa query recupera tutti gli ordini:

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
}

Rimborsi

Questa query recupera tutti i rimborsi:

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
}

Recensioni

Questa query recupera tutte le recensioni dei prodotti:

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

Coupon

Questa query recupera tutti i coupon:

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
}

E altro ancora

Puoi trovare altri esempi nelle seguenti risorse:


Iscriviti alla nostra newsletter

Resta aggiornato su tutte le novità di Gato GraphQL.