WhatsAppCloudServerClient constructor
WhatsAppCloudServerClient({
- required String phoneNumberId,
- required String accessToken,
- WhatsAppApiConfig? config,
Creates a new WhatsApp Cloud API server client.
phoneNumberId
is the WhatsApp Business Account phone number ID.
accessToken
is the authentication token for the API.
config
provides optional custom configuration settings.
Implementation
WhatsAppCloudServerClient({
required this.phoneNumberId,
required this.accessToken,
WhatsAppApiConfig? config,
}) : config = config ?? const WhatsAppApiConfig() {
_logger = Logger(level: this.config.logLevel);
_logger.info('Initializing WhatsAppCloudServerClient');
// Use in-memory token storage for server environments
final tokenStorage = ServerInMemoryTokenStorage(logger: _logger);
_authManager = ServerAuthManager(
accessToken: accessToken,
tokenStorage: tokenStorage,
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('WhatsAppCloudServerClient initialized successfully');
}