WhatsAppCloudClient constructor
WhatsAppCloudClient({
- required String phoneNumberId,
- required String accessToken,
- Environment environment = Environment.production,
- WhatsAppApiConfig? config,
Creates a new WhatsApp Cloud API client.
phoneNumberId
is the WhatsApp Business Account phone number ID.
accessToken
is the authentication token for the API.
environment
specifies the API environment (production/sandbox).
config
provides optional custom configuration settings.
Implementation
WhatsAppCloudClient({
required this.phoneNumberId,
required this.accessToken,
Environment environment = Environment.production,
WhatsAppApiConfig? config,
}) : config = config ?? WhatsAppApiConfig(environment: environment) {
_logger = Logger(level: this.config.logLevel);
_logger.info('Initializing WhatsAppCloudClient');
_authManager = AuthManager(
accessToken: accessToken,
logger: _logger,
);
_apiClient = ApiClient(
baseUrl: this.config.baseUrl,
authManager: _authManager,
logger: _logger,
connectTimeout: this.config.connectTimeout,
receiveTimeout: this.config.receiveTimeout,
retryPolicy: this.config.retryPolicy,
);
_messageService = MessageService(
apiClient: _apiClient,
phoneNumberId: phoneNumberId,
logger: _logger,
);
_templateService = TemplateService(
apiClient: _apiClient,
phoneNumberId: phoneNumberId,
logger: _logger,
);
_mediaService = MediaService(
apiClient: _apiClient,
phoneNumberId: phoneNumberId,
logger: _logger,
);
_contactService = ContactService(
apiClient: _apiClient,
phoneNumberId: phoneNumberId,
logger: _logger,
);
_webhookService = WebhookService(
logger: _logger,
);
_logger.info('WhatsAppCloudClient initialized successfully');
}