ShopifyのGraphQL APIでバリアントごとの月次売り上げを集計する場合、どのようにするのが最適でしょうか。
NET売り上げを集計する場合、ordersを取得して、バリアントのSKUとrefundsが集計できれば良さそうだと思っているのですが、この集計方法だとordersの件数が増えたときにコストが足りなくなってしまいそうだと考えています。
query ($cursor: String) {
orders(first: 250, after: $cursor, query: "updated_at:>2024-11-01 updated_at:<2024-1-01") {
pageInfo {
hasNextPage
endCursor
}
nodes {
id
updatedAt
lineItems(first: 250) {
nodes {
variant {
sku
price
}
name
quantity
}
}
refunds {
refundLineItems(first: 250) {
nodes {
lineItem {
variant {
sku
}
}
quantity
}
}
}
}
}
}
Graph QLでは一括クエリが存在しているとのことで、以下のように一括クエリにすれば良いかと考えたのですが
mutation {
bulkOperationRunQuery(
query: """
{
orders(query: "updated_at:>2024-11-01 updated_at:<2024-1-01") {
edges {
node {
id
updatedAt
lineItems(first: 250) {
edges {
node {
variant {
sku
price
}
name
quantity
}
}
}
refunds {
refundLineItems(first: 250) {
edges {
node {
lineItem {
variant {
sku
}
}
quantity
}
}
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}
この場合、refundsのなかでさらにrefundsLineItemsを取ることができなくなってしまうようで、集計できなくなってしまいました。
"message": "リストフィールド内の接続フィールドを含むクエリは、現在サポートされていません。"
何か良い解決方法があればご教授いただければと思います。