Blog

🛍️ L'intégration WooCommerce est arrivée sur Gato GraphQL !

Leonardo Losoviz
Par Leonardo Losoviz ·

L'extension WooCommerce est maintenant disponible pour Gato GraphQL ! 🎉

Extension WooCommerce pour Gato GraphQL
Extension WooCommerce pour Gato GraphQL

Cette toute nouvelle extension nous permet de récupérer des données depuis WooCommerce, notamment les produits, les commandes, les clients, les coupons, etc.


Voici des exemples de requêtes pour récupérer des données depuis votre boutique WooCommerce.

Produits (Tous)

Cette requête récupère tous les produits avec leurs informations de 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
}

Produits (par type)

Produits simples

Cette requête récupère tous les produits simples :

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
}

Produits externes

Cette requête récupère tous les produits externes :

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
}

Produits groupés

Cette requête récupère tous les produits groupés :

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
}

Produits variables

Cette requête récupère tous les produits variables :

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
}

Clients

Cette requête récupère tous les clients :

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
}

Commandes

Cette requête récupère toutes les commandes :

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
}

Remboursements

Cette requête récupère tous les remboursements :

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
}

Avis

Cette requête récupère tous les avis sur les produits :

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

Coupons

Cette requête récupère tous les 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
}

Et plus encore

Vous pouvez trouver d'autres exemples dans les ressources suivantes :


Abonnez-vous Ă  notre newsletter

Restez au courant de toutes les nouveautés de Gato GraphQL.