Rule
Message templates must be registered, versioned, and approved before use in production sends.
Why
Using unapproved templates causes message rejection at the carrier level with no user-facing explanation.
Must
- Track each template with a version number and approval status.
- Never send using a template in pending or rejected status.
- Test templates in a sandbox environment before submitting for approval.
- Maintain a fallback SMS template for every RCS template.
Should
- Automate approval status polling and alert on rejection with reason.
- Lock approved template content and require re-approval on content changes.
Anti-patterns
- Editing an approved live template without re-approval.
- No SMS fallback when RCS template is unavailable.
Test Cases
- Send attempt with pending template is blocked and logged.
- Fallback SMS fires when RCS template is unavailable.
Telemetry
- template_submitted_for_approval
- template_approved
- template_rejected (with reason)
- send_blocked_template_not_approved