def get_orders(self, days_ago: int) -> dict:
"""
Get a list of shopify order resource objects.
"""
start_at = datetime.date.today() - datetime.timedelta(days=days_ago)
since = start_at.strftime("%Y-%m-%d")
graphql_query = (
"""{
orders(first: 100, query: "fulfillment_status:shipped updated_at:>"""
+ since
+ """") {
edges {
node {
id
displayFulfillmentStatus
updatedAt
}
}
}
}
"""
)
_response = shopify.GraphQL().execute(graphql_query)
_remote_orders = json.loads(_response)["data"]["orders"]["edges"]
return [item["node"] for item in _remote_orders]
Not sure why the API seems to ignore the filter parameter when I filter by a filter status that doesn’t exist, though. (fulfillment_status:fulfilled). This post was key.