Skip to main content

Query and manage your FluentCart store via GraphQL (new integration)

Hi everyone πŸ‘‹

I'm Leo, the developer of Gato GraphQL, a GraphQL server for WordPress. Our own store runs on FluentCart, and I've just released a FluentCart extension for Gato GraphQL, which I think (I hope) some of you will find useful.

It exposes your whole FluentCart store through GraphQL, and lets you write back to it too:

  • Products, their variations and downloads, plus categories, brands and attributes
  • Orders, with their items, addresses, transactions and applied coupons
  • Customers, subscriptions, carts and coupons
  • Shipping and tax configuration, and the activity log
  • With FluentCart Pro: licenses, their activations, and the inventory log

Announcement

https://gatographql.com/blog/fluentcart-has-arrived-to-gatographql

What you can do with it

  • Build a headless storefront (Next.js, Astro, a mobile app) on your FluentCart data
  • Pull custom reports that aren't in the dashboard, in a single request
  • Run bulk operations, such as disabling every expired coupon or updating a batch of products
  • Sync your store with other systems (CRM, ERP, spreadsheets)
  • Give AI agents a safe, structured tool for reading and managing the store

For example, this query goes from a customer to their orders, to the items in them, to the products behind those items:

query {
  fluentCartCustomer(by: { email: "customer@example.com" }) {
    fullName
    orders {
      uuid
      total
      items {
        quantity
        product { title }
        variation { sku price }
      }
    }
  }
}

And this mutation disables every expired coupon, without needing their IDs:

mutation {
  fluentCartCoupons(filter: { status: [ EXPIRED ] }) {
    code
    update(input: { status: DISABLED }) {
      status
    }
  }
}

A few details FluentCart users might care about:

  • Writes go through FluentCart's own models, so they fire the same hooks your other plugins already listen to.
  • Amounts come back in two forms: as a decimal (total) and in minor units (totalInCents), so currencies like JPY are handled correctly.
  • Subscriptions can be paused, resumed and cancelled. You can also query ahead of time which of those actions a given subscription allows.
  • Permissions follow FluentCart's own. Catalog data is public. Orders, customers and the rest require the matching FluentCart permission.

Links

Gato GraphQL itself is free (you can download it from gatographql.com/download). The FluentCart integration is a paid extension.

Happy to answer any questions here.