I was running the following query to get Orders with agreements and sales
mutation {
bulkOperationRunQuery(
query:"""
{
orders(query: "(created_at:>=2023-08-23 AND created_at:<2023-08-24) OR (updated_at:>=2023-08-23 AND updated_at:<2023-08-24)", reverse: true) {
edges {
node {
id
agreements {
edges {
node {
id
happenedAt
sales {
edges {
node {
actionType
lineType
totalAmount {
shopMoney {
amount
}
}
}
}
}
}
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}
this query was working fine two days ago but now it throw the following error message :
"userErrors": [
{
"field": [
"query"
],
"message": "The parent 'node' field for a nested connection must return a type that implements the 'Node' interface. Invalid connections: agreements."
}
]
and i have no idea what changed in agreements to could have caused such an issue
We are also facing the same issue from yesterday. It seems the problem is with the “sales” connection. If we remove the sales from the query and make the request, it works.
Yes, it seems that the “sales” connection is causing the problem , but like you we also need the sales data , please if you find any solution post it , and i will do the same if i found a work around
Thank you for bringing this to our attention. To elaborate on that error message, the Order.agreements connection resolves to a SalesAgreement interface, which does not implement Node on any of the types.
There were recent updates with how bulk queries are validated, and our developers are reviewing these reports to determine the best path forward. In the meantime, if anyone can share more details about their specific use cases that relied on these connections, please share that context here to help us better understand the impact and assist in finding potential solutions.
I opened a ticket with id 41124253 on Shopify Partner Support, containing more details on the issue and it`s use case , also can you provide us with an alternative query to retrieve the same data , while you are fixing the issue
Ticket 41172794 has our query attached. We need to retrieve sales amounts and associated tax data to provide our service. As of August 25th our integration is completely broken
I suppose it means that it does not implement Node since August 25th, before it should’ve implemented it since not only it didn’t produce any errors but it also allowed to retrieve the data. I believe this to be a breaking change and it should be released with the new API version only
Can confirm it was originally working fine and did implement a Node interface because our queries pulled the nodes just fine and we rely on those nodes for data. Shopify does not provide accurate order details without those sales. They are necessary for accurate reporting and have broken our app with this failing on the API.
I am in the same boat as others. We use this in order to get detailed information like taxes, shipping, refunds, etc., on the date those things actually occurred (which is not just the creation date of the order, so it does not work to just get the totals from the order or its line items) – otherwise, it does not match Shopify’s UI reports, which causes issues because then our customers do not see the same total numbers as they see in Shopify.
The same query works with non bulk api, the change which broke this query causes inconsistency between the regular api where it works and is documented inside the gql api documentation. Please revert the change or change the documentation and move it to the unstable version only.
We are experiencing the same issue; we have submitted ticket 41190322. If it helps, we need sales data at the agreements level in order to report how our promotional campaigns for specific items have performed.