Retry without intentionally duplicating the order
Proton automation benefits from the same task contract as other providers while keeping its provider-specific price and results isolated from unrelated batches.
The automation layer submits a validated provider and quantity, saves the idempotency key with the returned task ID, and maps MailMaker states to an internal job. That makes retries and recovery explicit instead of relying on a browser session or elapsed time.
- Validate provider and quantity before submission
- Persist task and idempotency identifiers together
- Model queued, processing, partial, completed, and failed
- Retrieve the authoritative final result