Claim, apply, acknowledge
Delivery is at-least-once, so make your write idempotent. A task whose ack never arrives returns
to the queue and reaches you again. Setting the same price twice should be harmless. When you
acknowledge,
expired counts tasks whose lease had already run out; those went back to the queue, so
claim again and reapply. Each task carries both productSku and productExternalId, so you can match
it however your system keys products. The claim and
acknowledge endpoints document every field.