Boni
Bow Chat
Browse documentation
Bow Chat API·api-guide·Version 1

Delivery states and safe fallback

Use terminal failure, consent, deduplication, and a one-fallback limit to recover delivery without sending duplicate or prohibited messages.

OpenAPI contract
queued -> accepted/sent -> delivered -> read
                    \-> failed -> classify -> optional one-time fallback

accepted or sent is not failure. Do not resend merely because delivered has not arrived within a short polling interval. Provider receipts can be delayed.

Classify the terminal failure

Failure classFallback?Action
Temporary transport or disconnected sessionSometimesApply a cooling period, then use one approved alternate channel if consent permits
Invalid recipient or addressNoCorrect the contact record before another attempt
Opt-out, block, complaint, or consent failureNoSuppress the recipient across the campaign or purpose
Template, category, quality, account, or policy rejectionNo automatic fallbackFix the policy or account condition; do not route around it
Duplicate or already delivered business eventNoMark complete and suppress every later attempt

Fallback invariants

  1. One stable business-event ID controls every channel attempt.
  2. One recipient, purpose, message, and doctor or clinic sender stay attached to that event.
  3. Only a terminal failed state can enter fallback evaluation.
  4. Allow at most one fallback attempt unless a human explicitly approves another.
  5. Re-check consent, suppression, and recipient identity immediately before fallback.
  6. Never fall back after an opt-out, block, complaint, or policy/quality failure.
  7. If a late delivered or read event arrives after fallback began, suppress any unsent duplicate and record both states.

A practical hybrid for healthcare notifications

  • Send approved appointment, recall, or operational templates through the WhatsApp Business Platform as the primary path.
  • If that specific attempt reaches a recoverable terminal transport failure, offer one consented recovery path: a low-volume message from the same clinic's linked WhatsApp number, an SMS, an email, or a Customer Room notification.
  • Keep clinical detail out of the fallback message unless the channel, purpose, legal basis, and security controls permit it. A neutral prompt to open the private Customer Room often carries less sensitive content.

Measure the journey

Track acceptance rate, terminal-failure rate, delivered rate, duplicate-prevention count, fallback rate, fallback delivery, opt-outs, complaints, and time to delivery. Separate transport recovery from recipient engagement; a read receipt is not a medical outcome.

For WhatsApp Web constraints, read Safe use of a WhatsApp Web connection.

Delivery states and safe fallback | Bow Chat Documentation