- Shared number
- Standard email support
- 15 new contacts/day
- CRM integrations included
- Full API access
- Limited to 1 number
- No hidden fees
- Does not support custom area codes
iMessage Java & Kotlin SDK
Send and receive iMessages from the JVM with Blooio's official iMessage Java SDK. Published to Maven Central, works with Java 17+ and Kotlin, ships with a fluent builder API, Jackson-based typed models, and a Spring Boot–friendly webhook verifier you can drop into any controller.
Install
One command to add the iMessage Java SDK to your project.
// Gradle (Kotlin DSL)
dependencies {
implementation("com.blooio:blooio-sdk:latest.release")
}
// Maven
<dependency>
<groupId>com.blooio</groupId>
<artifactId>blooio-sdk</artifactId>
<version>LATEST</version>
</dependency>Send your first iMessage
This is the smallest working example — authenticate with your Blooio API key, then call the send-message method on the client.
import com.blooio.Blooio;
import com.blooio.model.SendMessageRequest;
public class Sender {
public static void main(String[] args) throws Exception {
Blooio blooio = Blooio.builder()
.apiKey(System.getenv("BLOOIO_API_KEY"))
.build();
blooio.chats().sendMessage(SendMessageRequest.builder()
.phone("+15551234567")
.body("Hey Alex — thanks for booking a demo. Reply with any questions.")
.build());
}
}Handle inbound iMessages and webhooks
Every inbound iMessage, delivery, read, and reaction event is POSTed to your webhook URL. Use the SDK's signature verifier to reject forged requests and deserialize the payload into typed objects.
@RestController
@RequestMapping("/webhooks")
public class BlooioWebhookController {
private final WebhookVerifier verifier =
new WebhookVerifier(System.getenv("BLOOIO_WEBHOOK_SECRET"));
@PostMapping(value = "/blooio", consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Void> handle(
@RequestHeader("X-Blooio-Signature") String signature,
@RequestBody byte[] body
) {
try {
BlooioEvent event = verifier.verify(body, signature);
if ("message.received".equals(event.type())) {
MessageReceived data = event.dataAs(MessageReceived.class);
log.info("inbound iMessage: {}", data.body());
}
} catch (InvalidSignatureException e) {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
}
return ResponseEntity.ok().build();
}
}What the SDK gives you on top of raw REST
- Published to Maven Central — pull with Gradle, Maven, or sbt
- Java 17+ and Kotlin 1.9+ supported, Android compatible
- Fluent builders for every request object
- Jackson-based models with typed deserialisation for webhook payloads
- Spring Boot–ready webhook controller example in the docs
- Automatic retries on 429/5xx with exponential backoff
Java iMessage SDK FAQ
How do I install the Blooio iMessage Java SDK?+
Does the iMessage Java SDK support Kotlin?+
How do I verify Blooio webhook signatures in Java / Spring Boot?+
Does the Java SDK work on Android?+
Is the Java SDK open source?+
6 lines → $195/line
Simple, transparent pricing
Choose the plan that fits your volume and scale as you grow.
- Dedicated number
- Unlimited Messages⁴
- Inquire about FaceTime support
- Custom area code ($75/number one-time fee)
- Full API access
- CRM integrations included
- Number porting included
- No activation fee
- No hidden fees
- Shared number
- Standard email support
- 15 new contacts/day
- CRM integrations included
- Full API access
- Limited to 1 number
- No hidden fees
- Does not support custom area codes
- Dedicated number
- Unlimited Messages⁴
- Inquire about FaceTime support
- Custom area code ($75/number one-time fee)
- Full API access
- CRM integrations included
- Number porting included
- No activation fee
- No hidden fees
Concierge
Need a hands-on implementation? Let our team build it for you.
Related Guides
Send iMessage Programmatically
Step-by-step guide to sending iMessages via API from your application.
Read guideiMessage for Business
How businesses use iMessage to engage customers with higher open rates than SMS or email.
Read guideBuild an iMessage Bot
Create automated iMessage bots for customer support, sales, and notifications.
Read guide