Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

query sellingPlanGroup from sellingPlan

query sellingPlanGroup from sellingPlan

appdev2023
Shopify Partner
21 2 3

GraphQL API can query Order.LineItems.SellingPlan.SellingPlanId

 

I can use query node(id:"sellingPlanIdHere") and obtain the selling plan from the sellingPlanId.

 

However, I also need to get the group for the selling plan. The selling plan does not have a `sellingPlanGroupId` property and neither does the line item . Is there a way to obtain the selling plan group from the selling plan without hunting through all the product's selling plans? (would be too inefficient and likely exceed throttle)

Replies 3 (3)

JoshArnold
Shopify Staff
30 7 6

Hello @appdev2023!

We currently do not return the `sellingPlanGroupId` as part of the `sellingPlan`, but I will pass along this feedback to the team!

 

One other option, is that we can expose the `sellingPlanGroups` that are linked to the `Product`:
https://shopify.dev/docs/api/storefront/unstable/connections/SellingPlanGroupConnection

 

However, I realize that is also not the best solution as a single product can have multiple selling plan groups, each with multiple selling plans.

Josh (aka Master Chief) | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

appdev2023
Shopify Partner
21 2 3

This actually will be immediately rejected by shopify throttle. hunt through unknown # products * unknown # groups * unknown # plans... it is just too much (ex: first10products*first10groups*first10plans is already 1000)

 

Any one of the following would resolve this:

  1. add a LineItemSellingPlanGroup as a property of LineItem
  2. add sellingPlanGroupId as a property of LineItemSellingPlan 
  3. add sellingPlan & sellingPlanGroup as connections on LineItem. (this is better than the one-off LineItemSellingPlan type) 
  4. add sellingPlanGroup as a connection on SellingPlan

Of course, #4 is preferable because the benefit isn't limited to line items.