Supported Message Types
Text Messages
Plain text with URL previews and reply support
Image Messages
JPEG, PNG, WebP images with captions
Video Messages
MP4, 3GPP videos with captions
Audio Messages
Voice messages and audio files
Document Messages
PDFs, Word docs, spreadsheets, and more
Interactive Buttons
Up to 3 clickable buttons with custom IDs
Interactive Lists
Dropdown menus with multiple sections
Template Messages
Pre-approved message templates
Location Messages
GPS coordinates with optional names
Contact Cards
vCard contact information
Sticker Messages
WebP animated and static stickers
Contextual Replies
Reply to specific messages with context
Message Reactions
React to messages with emojis
Broadcast Messages
Send to multiple recipients with rate limiting
Message Type Categories
1. Basic Messages
Simple, straightforward communication:- Text: Plain text messages with optional URL previews
- Location: GPS coordinates with optional metadata
2. Media Messages
Rich media content:- Image: Photos, screenshots, graphics (JPEG, PNG, WebP)
- Video: Video files and recordings (MP4, 3GPP)
- Audio: Voice messages and audio files (AAC, MP3, OGG)
- Document: Files and documents (PDF, DOC, XLS, TXT)
- Sticker: Animated and static WebP stickers
3. Interactive Messages
User engagement and responses:- Buttons: Up to 3 action buttons with custom responses
- Lists: Dropdown menus with multiple options and sections
4. Structured Messages
Business communication:- Template: Pre-approved message templates for notifications
- Contact: vCard contact information sharing
5. Enhanced Communication
Advanced interaction features:- Contextual Replies: Reply to specific messages with threaded context
- Message Reactions: React to messages with emoji expressions
6. Bulk Messaging
Send to multiple recipients:- Broadcast Messages: Send messages to multiple recipients with intelligent rate limiting and progress tracking
Quick Reference
Message Size Limits
| Message Type | Size Limit | Caption Support |
|---|---|---|
| Text | 4,096 characters | N/A |
| Image | 5 MB | ✅ (1,024 chars) |
| Video | 16 MB | ✅ (1,024 chars) |
| Audio | 16 MB | ❌ |
| Document | 100 MB | ✅ (1,024 chars) |
| Sticker | 500 KB | ❌ |
| Interactive | N/A | Footer text supported |
| Template | Varies | Template-defined |
| Location | N/A | Name/address fields |
| Contact | N/A | Multiple contacts per message |
| Contextual Reply | Same as base type | Inherits from message type |
| Reaction | N/A | Single emoji only |
Common Properties
All messages share these common properties:Response Format
All message sending methods return a consistent response:Usage Patterns
1. Simple Message Sending
2. Interactive Messages
3. Media Messages
4. Template Messages
Message Selection Guide
Choose Text Messages When:
- Sending simple notifications
- Providing information or updates
- Responding to basic queries
- URL sharing (with preview)
Choose Media Messages When:
- Sharing visual content (images/videos)
- Sending documents or files
- Voice communications (audio)
- Creative expression (stickers)
Choose Interactive Messages When:
- Providing menu options
- Collecting user choices
- Creating conversational flows
- Reducing typing for users
Choose Template Messages When:
- Sending business notifications
- Order confirmations
- Appointment reminders
- Promotional content (with approval)
Choose Location Messages When:
- Sharing business addresses
- Meeting point coordination
- Delivery information
- Geographic references
Choose Contact Messages When:
- Sharing business contact info
- Referrals and introductions
- Support team information
- Professional networking
Choose Broadcast Messages When:
- Sending to multiple recipients
- Order confirmations for many customers
- Marketing campaigns (with approved templates)
- System notifications to user base
- Event announcements to subscriber list
Best Practices
1. Message Type Selection
2. Content Optimization
3. Error Handling
4. Message Chaining
Platform Limitations
WhatsApp Business API Limits
- Messages per second: Varies by tier (check Meta documentation)
- Message retention: 30 days for media files
- Template approval: Required for template messages
- Business verification: Required for higher rate limits
SDK-Specific Features
- Automatic retry: Built-in retry logic for failed messages
- Rate limit handling: Automatic backoff when limits are reached
- Validation: Pre-send validation to prevent API errors
- Type safety: Full TypeScript support for all message types
Next Steps
Text Messages
Learn about text messages with URL previews and replies
Media Messages
Explore image, video, audio, and document messages
Interactive Messages
Create engaging buttons and list menus
Contextual Replies
Reply to specific messages with threaded context
Message Reactions
Express emotions with emoji reactions
Webhook Handling
Handle incoming messages and user responses