Tracking Restocks Without Refunds in ExchangeIt
In scenarios where a product is returned and restocked without a corresponding refund, ExchangeIt utilizes Shopify's GraphQL Admin API mutation reverseFulfillmentOrderDispose
. This mutation allows the app to update the inventory by marking the returned items as restocked.
The reverseFulfillmentOrderDispose
mutation requires the following parameters:
reverseFulfillmentOrderLineItemId
: The ID of the reverse fulfillment order line item.quantity
: The number of items to restock.dispositionType
: Set toRESTOCKED
to indicate that the item has been restocked.locationId
: The ID of the location where the item is restocked.
By executing this mutation, ExchangeIt updates the inventory levels accordingly.
To track restock events that occur without refunds, you can subscribe to Shopify's reverse_fulfillment_orders/dispose
webhook. This webhook is triggered whenever a disposition is made on a reverse fulfillment order, including restocks.
The webhook payload provides details about the disposition, such as the items involved and the type of disposition (RESTOCKED
, MISSING
, etc.). By monitoring this webhook, you can capture and log restock events that don't involve refunds.
If you need to retrieve details about restocked items programmatically, you can use the reverseFulfillmentOrder
query in Shopify's GraphQL Admin API. This query allows you to fetch information about reverse fulfillment orders, including line items and their dispositions.
query {
reverseFulfillmentOrder(id: "gid://shopify/ReverseFulfillmentOrder/1") {
id
lineItems(first: 10) {
nodes {
id
totalQuantity
}
}
status
}
}
This query returns the reverse fulfillment order's ID, the line items involved, and their quantities.
ExchangeIt effectively handles restocks without refunds by utilizing Shopify's reverseFulfillmentOrderDispose
mutation, ensuring accurate inventory updates. To monitor these events, subscribing to the reverse_fulfillment_orders/dispose
webhook provides real-time notifications of restock actions. Additionally, using the reverseFulfillmentOrder
query allows for detailed retrieval of restock information.