Programmable Messaging API · View 04 of 22 · People and journeys
What the trough teaches
- The resend is a design input, not user error: a person who cannot see progress will press the button again, and the platform must make that free.
- Client-reference idempotency exists for this phase specifically — the second request returns the first message, so one human gets one code.
- Phase four is where the platform's honesty is tested: a carrier receipt saying "delivered" to a handset that was off is still only a claim.
Assumptions
- A login page typically allows 30–60 seconds before the user gives up; the interactive budget is set under that.
- Interactive submit-to-carrier-acceptance p95 ≤ 2 s; receipt visible p95 ≤ 2 s from carrier receipt.
Risks
- A duplicate code on one handset is worse than a late one: it trains people to distrust the channel and can lock an account.
- If the dedup window is shorter than the user's patience, the resend creates a genuine second message.