Java SDK
Root package: com.notificationhub.sdk
Package structure
com.notificationhub.sdk
├── NotificationHubClient // Entry point — build with NotificationHubClient.Builder
├── auth
│ └── HmacSigner // Signs every request (see Authentication)
├── client
│ ├── NotificationApiClient
│ ├── TemplateApiClient
│ ├── ProjectApiClient
│ ├── ProviderApiClient
│ └── AnalyticsApiClient
├── model
│ ├── NotificationRequest // + NotificationRequest.Builder
│ ├── TemplateRequest // + TemplateRequest.Builder
│ ├── ChannelType // enum: EMAIL, SMS, PUSH, WEBHOOK, IN_APP
│ └── ProjectStatus // enum: ACTIVE, SUSPENDED, DISABLED
├── exception
│ └── NotificationHubException // + Auth/Validation/RateLimit/Server subclasses
└── config
└── NotificationHubAutoConfiguration // Spring Boot bean wiring
Requirements
- Java 11+ — the SDK is built on
java.net.http.HttpClient - Jackson —
ObjectMapperwith theJavaTimeModuleregistered is used internally for (de)serialization;FAIL_ON_UNKNOWN_PROPERTIESis disabled so extra fields (e.g. Spring pagination metadata) don't break deserialization
Entry point
Everything starts from NotificationHubClient, built via its nested Builder:
NotificationHubClient client = new NotificationHubClient.Builder()
.apiKey("your-api-key")
.apiSecret("your-api-secret")
.build();
client.notifications();
client.templates();
client.projects();
client.providers();
client.analytics();
Each accessor returns a sub-client scoped to one area of the API. Continue to: