whatsapp 4.0.0
whatsapp: ^4.0.0 copied to clipboard
A Flutter package for integrating with the WhatsApp Business API. Send messages, products, media, and locations directly from your Flutter app.
This Flutter package allows you to integrate the WhatsApp Business API into your Flutter applications. It enables sending messages
, media
, templates
, managing business information
, creating interactives
and flows
, sending catalog messages
, and more. The package is updated to support the latest WhatsApp Business API v23.0.
Documentation #
Full documentation for the WhatsApp Flutter package is available at whatsapp-flutter.github.io.
You can switch the documentation version using the version selector at the top of the page (version:
).
Other useful links:
- Official WhatsApp Flutter website
- Initialization Guide
- Return Methods – Learn how to handle API responses
- Method Usage – Detailed usage instructions
New Features in v4.0.0 #
- Performance Improvements – Optimized core methods, now up to 3x faster than previous versions.
- Web Platform Support – Now supports fully compatibility with Flutter Web for most features.
- Service-Specific Methods – Each service now provides dedicated getters for cleaner and more explicit usage.
- Flow Messages – Added support for interactive flow messages to improve user engagement.
- Catalog & Product Messages – Send product details and catalog messages for e-commerce use cases.
- Resumable Uploads – Support for creating and managing resumable upload sessions for large files.
- Error Handling Enhancements – Improved and added
WhatsAppException
handling with detailed error types. - Bug Fixes – Resolved multiple issues affecting stability and reliability.
- API Upgrade – Updated to support
WhatsApp Business API v23.0
(stable).
Basic Usage #
// Access token provided by Meta for WhatsApp Cloud API
const accessToken = 'YOUR_ACCESS_TOKEN';
// Your WhatsApp Business phone number ID
const fromNumberId = 'YOUR_PHONE_NUMBER_ID';
// Create WhatsApp client instance
final whatsapp = WhatsApp(accessToken, fromNumberId);
// Send a simple text message
var message = await whatsapp.sendMessage(
phoneNumber: 'RECEIPT_NUMBER', // Recipient's phone number in international format
text: 'Hi, how are you?', // Message content
);
if (message.isSuccess()) {
// Message sent successfully
// Get and print the unique ID of the sent message
print('Message ID: ${message.getMessageId()}');
// Get and print the recipient number
print('Message sent to: ${message.getContactId()}');
// Get and print the full API response body
print('API Response: ${message.getFullResponse()}');
} else {
// Message failed to send
// Print HTTP error code returned by the API
print('HTTP Code: ${message.getErrorCode()}');
// Print exact error details from WhatsApp Cloud API
print('API Error: ${message.getErrorMessage()}');
// Print type of request error (e.g., validation, authorization, etc.)
print('Request Error: ${message.getErrorType()}');
}
📌 Looking for a Better Example? #
👉 Check out this working example here:
🔗 pub.flutter-io.cn WhatsApp Example
Contributors #
Have you found a bug or have a suggestion of how to enhance WhatsApp Package? Open an issue or pull request and we will take a look at it as soon as possible.
Report bugs or issues #
You are welcome to open a ticket on github if any problems arise. New ideas are always welcome.
Copyright and License #
Copyright © 2022 Rohit Chouhan. Licensed under the MIT LICENSE.