Querying productvariants by metafields in GraphQL

Highlighted
Tourist
4 0 3

Hello,
I am trying to query productvariants based on a certain metafield value using GraphQL.
I have tried the following but it returns a "Field 'metafields' doesn't accept argument 'query'" error.

query {
  shop {
    name
    products(first: 100, query:"") {
      edges {
        cursor
        node {
          id
          title
          handle
          variants(first:100) {
            edges {
              node {
                id
                title
                 metafields(query: "key: ean") {
                  edges {
                     cursor
                      node {
                        id
                        namespace
                        key
                        value
                      }
                  }
              }
              }
             
            }
          }
        }
      }
    }
  }
}

Is there any way to accomplish this?

Thanks.

1 Like
Highlighted
Shopify Expert
667 170 226

Hi, @WouterBouwman,

 

This is Evita from On The Map.

 

Meta fields don't have query argument.

You can try to use metafield(namespace: "example", key: "ean") .

Read the Docs here: https://help.shopify.com/en/api/guides/metafields/admin-api-metafields#retrieving-metafields

 

Best,
Evita

On The Map Marketing | Developing custom Shopify Sites & Apps is our thing

- Install our latest app Accessibly - Makes your store accessible for everyone, helps to avoid fines
- Inc 5000 | Shopify Parners | 20+ stores launched | 300+ active clients
- Need help with your Shopify store? Reach out to us!
2 Likes
Highlighted
Tourist
4 0 3

Hi @OTM (Evita),

Thank you for your response.
Are you saying that there is no way to filter the results based on a metafield value?

Using 'metafield(namespace: "example", key: "ean") ' only returns a specific metafield.

Thanks.

2 Likes
Highlighted
Tourist
3 0 3

Hi - I'm also interested in this. I want to add custom values to products (e.g. mark a product as "needing review"), and am not sure where I can add that information other than in the metafields. However if I add the information to the metafields, I can't make queries to pull all products that need review. 

0 Likes
Highlighted
Tourist
5 1 0

Hi people, did you happen to find a solution or a workaround to this problem?? I also want to be able to fetch product variants by metafield value.

Why? I want to store my wholesalers internal product id as "wholesaler_product_id" in a metafield for each product. Then, I can use that number for forwarding dropshipping orders and syncing stock levels.

0 Likes