A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Hello,
I am getting an INTERNAL_SERVER_ERROR for some stores when running the query below. It appears that I only get the error if the store has fulfillment orders without shipping address (destination) information, which is the case for some dev stores where the orders were programmatically generated. If I remove the "destination" field from the GraphQL request, the bulk operation completes successfully for these stores.
The x-request-id for an example request that is failing, if the Shopify team could investigate: 61596f5a-35f0-4da0-8b8e-bf1b861c8bc6
I can work around this by generating shipping addresses for all orders in dev stores, but I am wondering if this error could ever happen on production stores? It seems like the destination data should just come back empty if there is no shipping address associated with a fulfillment order instead of causing an internal server error.
Query I'm using:
mutation {
bulkOperationRunQuery(
query: """
{
orders(query: "updated_at:>'2023-04-09T21:19:21Z' status:'any'") {
edges {
node {
id
createdAt
note
name
fulfillmentOrders {
edges {
node {
id
createdAt
updatedAt
assignedLocation {
location {
id
}
}
deliveryMethod {
methodType
}
fulfillAt
fulfillBy
fulfillmentHolds {
reason
reasonNotes
}
status
destination {
address1
address2
city
company
countryCode
firstName
lastName
phone
province
zip
}
}
}
}
}
}
}
}
"""
) {
bulkOperation {
id
status
}
userErrors {
field
message
}
}
}
Solved! Go to the solution
This is an accepted solution.
Following up on my own post here as I was able to get help from Shopify developers. The issue was not that the orders were missing shipping addresses. It was actually caused by including protected customer fields (phone number and email) in the query that my app did not have permission to access. I guess at least at this time that requesting fields you don't have access to in the bulk API will trigger an INTERNAL_SERVER_ERROR. The solution is to remove those fields or request permission for them.
This is an accepted solution.
Following up on my own post here as I was able to get help from Shopify developers. The issue was not that the orders were missing shipping addresses. It was actually caused by including protected customer fields (phone number and email) in the query that my app did not have permission to access. I guess at least at this time that requesting fields you don't have access to in the bulk API will trigger an INTERNAL_SERVER_ERROR. The solution is to remove those fields or request permission for them.