The problem with this callback arises when using multiple Shipping Profiles.
When creating a checkout with items from two (or more) Shipping Profiles, the callback is triggered twice (or more times), each request with the Shipping Profile line items, but each independent request does not send information regarding the total order value or the checkout_id.
Hence it is not possible to calculate free shipping (based on order value) on our App.
Here is an example:
If I buy Product 1 (value 20 USD) in Shipping Profile 1 and Product 2 (value 30 USD) in Shipping Profile 2, two requests are sent to our App:
Lets say, the store has a free shipping order value on purchases over 40 USD. However, with the current structure of the payload it is not possible to determine if a checkout qualifies for free shipping, since in one request the items value is for 20 USD and for the second request the items value is 30 USD.
To be able to calculate free shipping, we would need to receive information regarding the total checkout value (i.e. 50 USD). And that information is not sent in the callback.