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.

Querying cancelled orders using GraphiQL

Querying cancelled orders using GraphiQL

MaximRIT
Shopify Partner
16 2 3

Hello,

 

Trying to query cancelled orders only. They should have non-null values:

"cancel_reason" and "cancelled_at" - REST syntax

"cancelReason" and "cancelledAt" - GraphiQL syntax

 

First query I tried should return all orders after specified date with non-null cancel reason (according to syntax guide "*" should do that):

 

 

 

{
  orders(query:"created_at:>'2023-04-02T00:00:00' AND cancel_reason:*", first: 100) {
    edges {
      node {
        id
        createdAt
        cancelReason
        cancelledAt
      }
    }
    pageInfo {
      hasNextPage
    }
  }
}

 

 

 

But actually this query returns all orders after the date specified (2023-04-02) both with null "cancelReason" values and containing text.

 

My second attempt was to search by cancelled date:

 

 

{
  orders(query:"cancelled_at:>'2023-04-02T00:00:00'", first: 100) {
    edges {
      node {
        id
        cancelReason
        cancelledAt
      }
    }
    pageInfo {
      hasNextPage
    }
  }
}

 

 

 

But this query just returns all orders - both with null "cancelledAt" values and any with date populated.

 

I also tried to put "cancelReason" and "cancelledAt" variables (GraphiQL syntax instead of REST one) for those queries but this doesn't change the query result.

Reply 1 (1)

garyrgilbert
Shopify Partner
432 41 189

Hi Maxim,

 

You can't query by cancelled_at with either the graphql or rest api's.

 

GraphQL supports the following filter parameters only:

  • cart_token
  • channel
  • channel_id
  • chargeback_status
  • checkout_token
  • created_at
  • credit_card_last4
  • customer_id
  • delivery_method
  • discount_code
  • earliest_fulfill_by
  • email
  • financial_status
  • fraud_protection_level
  • fulfillment_location_id
  • fulfillment_status
  • gateway
  • location_id
  • name
  • payment_id
  • payment_provider_id
  • po_number
  • processed_at
  • reference_location_id
  • return_status
  • risk_level
  • sales_channel
  • sku
  • source_identifier
  • source_name
  • status
  • tag
  • tag_not
  • test
  • updated_at

 

Cheers,

 

Gary

- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution