webhook order create/update/cancel

Shopify Partner
21 2 2

It seems to me that when I "Create" or "Cancel" an order, the update is also triggered.  So, in my case, when I create, as mentioned in other posts on this board (example here), I get 2 payloads that are the same.  The same thing happens with "cancel", although in this case "cancel-at" date is set.  If I want to get order changes for creation, update, and cancellation, do I really need all 3 web hooks?  My application knows if it is a new order because we don't have it yet on our end.  Also, my application knows it is a current order needing update because we do have it on our end.  Finally, we know the order needs to be cancelled on our end because of the "cancel-at" date being filled in.  All web hooks go to the exact same URL, largely because we had to make our end smart enough to know if we need to add, update, or cancel anyway, so no need to have different URLs for each web hook.


I just don't understand why "update" is triggered after "create" with the exact same payload.  Same with "cancel" - why is update triggered with the exact same payload.  If someone could help me understand that, it would be much appreciated.  The other post mentioned a subtle difference, but in all my cases the two payloads are precisely the same.  Thanks.