Hopefully, this can provide some clarification around the use cases of these different webhook events.
track_updated
- This event will be triggered whenever there is a new tracking event detected for any tracking numbers you are tracking through Shippo. This would include Shippo created label and any tracking numbers that you have added to be tracked via the Tracks
endpoint. These responses will provide the full tracking information in the response, but would only include the transaction object_id
in the event there is an associated transaction in your account for this tracking object.
transaction_updated
- This event will be triggered whenever an update has occurred on a transaction in your Shippo account. This can include updates to the tracking information on that transaction, but can also include any changes to the status of your transaction. The best example of this is if you had triggered a refund, this event would be useful for identifying when the transaction has been successfully refunded. The payload will include the whole transaction object in the response, which doesn't include a full tracking_history of the transaction (this is only available from tracks_updated
or the Tracks
endpoint).
So the simplest way to understand the event types, is transaction_updated
is used for tracking any changes to the labels that you've created in Shippo, while the tracks_updated
is used solely for seeing comprehensive tracking updates for all tracking related events associated with your Shippo account.