All things Shopify and commerce
My goal is to send a Storefront API request that allows be to grab X first products based on collection handle that are filtered by min/max price and title search. However, this doesn't seem to be possible right now.
Currently, I am able to achieve this partially requiring client-side filtering outside of the request.
Method: Use the collection query with the handle filter, but the ProductsConnection it returns does not allow for the query parameter to be used in the subsequent products query.
{
"query": "query getProducts($handle: String!, $first: Int, $sortKey: ProductCollectionSortKeys, $reverse: Boolean, $query: String) { collection(handle: $handle) { products(first: $first, sortKey: $sortKey, reverse: $reverse, query: $query) { edges { node { id title description handle availableForSale onlineStoreUrl variants(first: 10) { edges { node { id title sku availableForSale priceV2 { amount currencyCode } compareAtPriceV2 { amount currencyCode } } } } featuredImage { altText url height width } } } } } }",
"variables": {
"handle": "shirts",
"first": 1,
"query": "title: *t*"
}
}
This query returns the error:
{
"errors": [
{
"message": "Field 'products' doesn't accept argument 'query'",
"locations": [
{
"line": 1,
"column": 216
}
],
"path": [
"query getProducts",
"collection",
"products",
"query"
],
"extensions": {
"code": "argumentNotAccepted",
"name": "products",
"typeName": "Field",
"argumentName": "query"
}
},
{
"message": "Variable $query is declared by getProducts but not used",
"locations": [
{
"line": 1,
"column": 1
}
],
"path": [
"query getProducts"
],
"extensions": {
"code": "variableNotUsed",
"variableName": "query"
}
}
]
}
This makes sense because in the docs the ProductConnection doesn't allow for query, but I don't understand why. Is there any way this can be added so I don't have to make multiple requests and then have to filter client-side?
Learn how to expand your operations internationally with Shopify Academy’s learning path...
By Shopify Feb 4, 2025Hey Community, happy February! Looking back to January, we kicked off the year with 8....
By JasonH Feb 3, 2025Expand into selling wholesale with Shopify Academy’s learning path, B2B on Shopify: Lau...
By Shopify Jan 28, 2025