Skip to main content

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
  • JacksonObjectMapper with the JavaTimeModule registered is used internally for (de)serialization; FAIL_ON_UNKNOWN_PROPERTIES is 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: