Flutter Mautic
Flutter Mautic provides a convenient wrapper around the Mautic API for Flutter applications, enabling easy management of contacts, campaigns, and custom fields. With this package, you can integrate Mautic's powerful CRM capabilities into your Flutter app to enhance your customer engagement.
Features
- Contact Management: Retrieve and delete contacts within your app.
- Campaign Management: Add or remove contacts from Mautic campaigns.
- Field Management: Access and manage Mautic custom fields.
- Authorization: Secures API requests with Basic Authentication.
- Singleton Pattern: Access Mautic services through a singleton instance for easy initialization.
Installation
Add the package to your pubspec.yaml
file:
dependencies:
flutter_mautic: ^0.0.1
Run flutter pub get
to install the package.
Usage
Initialization
To begin, initialize MauticService
with your Mautic instance's credentials:
import 'package:flutter_mautic/mautic_service.dart';
void main() {
final mauticService = MauticService();
mauticService.initialize(
mauticBaseUrl: 'https://your-mautic-instance.com',
username: 'your-username',
password: 'your-password',
);
}
Contact Service
Manage Mautic contacts easily:
final contactService = mauticService.contactService;
// Get contact by ID
contactService.getContactById('123').then((contact) {
print('Contact Info: $contact');
});
// Delete a contact by ID
contactService.deleteContact('123').then((_) {
print('Contact deleted successfully.');
});
Campaign Service
Add or remove contacts from campaigns:
final campaignService = mauticService.campaignService;
// Add contact to campaign
campaignService.addToCampaign('campaignId', 'contactId');
// Remove contact from campaign
campaignService.removeFromCampaign('campaignId', 'contactId');
Fields Service
Retrieve and manage custom fields in Mautic:
final fieldsService = mauticService.fieldsService;
// Retrieve all contact fields
fieldsService.getCurrentFields().then((fields) {
print('Contact Fields: $fields');
});
// Check if a field exists
fieldsService.doesFieldExist('fieldAlias').then((exists) {
print('Field exists: $exists');
});
Contributing
Contributions are welcome! If you find a bug or want to add a feature, please create an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details.