Child object update doesn't change the updatedAt of the parent object

Hi,
I’m working with the graphql api to query data from Shopify about the customers, products, order etc…
I use the bulk operation API to query, each night, the data from the previous day based on the updatedAt field to incrementally update the data.
However, I saw some case where the updatedAt of the child objects are more recent than the updatedAt of the parents (which I query), so I don’t catch the updates done to the child objects.

EG for a product and his variants :

{
   "updatedAt":"2023-06-20T13:59:52Z",
   "variants":{
      "nodes":[
         {
            "updatedAt":"2023-10-28T00:47:34Z"
         },
         {
            "updatedAt":"2023-10-28T00:47:34Z"
         }
      ]
   }
}

and for a fulfillmentOrder and his childs :

{
   "fulfillmentOrder":{
      "updatedAt":"2024-09-27T11:53:57Z",
      "fulfillments":{
         "nodes":[
            {
               "updatedAt":"2024-10-01T07:16:47Z"
            }
         ]
      }
   }
}

Since I can’t query directly the childs (there is no way to query all the product variants for example), is there a way to catch these updates at the parent level?
Thank you,
Noé

Unfortunately there is no way to do that. The parent and child are separate objects with separate updatedAt timestamps

Thanks for your answer but then what workaround is there? How can I get my data updated?
Bulk Operations are very slow so I can’t collect the full data every day and I can’t query child objects directly

Hi !
Does anyone has an info on this? Surely getting the data up to date from Shopify without reloading everything every day is a pretty common use case and there must be some work around I didn’t think of.
For some object like product variants we have queries for child objects but for other like fulfillments on fulfillmentOrders I can’t find a solution
Thanks in advance !

I made pretty much the same thread but deleted it thinking it was an error in my code and I’d reused a variable that stored the updatedAt.

Agree this seems to be a bit crazy the variant being updated doesn’t flow up to the product.

Seems like there needs to be a filter added to product for example that considers the updatedAt of any object in the query, having to pull each piece separately by their updatedAt and cobble them back together seems to negate any benefit of using GraphQL.

(not to mention for some objects there isn’t a seperate query)

1 Like

Hi,
Any informations about that? Is there any plan to support root child object queries such as fulfillments to tackle this problem in the future?
Thanks,
Noé