Official Java SDK for the SendLime Messaging API v2.
- Developer docs: developer.sendlime.com
- API reference: api.sendlime.com/api-docs
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.SendLime:sendlime-sdk-java:v2.0.0'
}<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.SendLime</groupId>
<artifactId>sendlime-sdk-java</artifactId>
<version>v2.0.0</version>
</dependency>SendLimeClient client = SendLimeClient.builder()
.apiKey("sl_live_your_key_here")
.build();SendMessageResponse response = client.getMessages().send("8801XXXXXXXXX", "Hello World!");
if (response.isSuccess()) {
System.out.println("Message ID: " + response.getData().getMessageId());
System.out.println("Status: " + response.getData().getStatus());
} else {
System.out.println("Error: " + response.getErrorMessage());
}With an approved sender / brand ID:
SendMessageResponse response = client.getMessages().send("brand_id", "8801XXXXXXXXX", "Hello World!");SendMessageResponse response = client.getMessages().sendWhatsApp("8801XXXXXXXXX", "Hello from WhatsApp!");With a WhatsApp profile brand ID:
SendMessageResponse response = client.getMessages().sendWhatsApp("brand_id", "8801XXXXXXXXX", "Hello!");ListMessagesResponse response = client.getMessages().list();
if (response.isSuccess()) {
for (MessageDetail msg : response.getData()) {
System.out.println(msg.getId() + " -> " + msg.getStatus());
}
System.out.println("Total: " + response.getPagination().getTotal());
}With pagination:
ListMessagesResponse response = client.getMessages().list(10, 2); // limit=10, page=2MessageDetailResponse response = client.getMessages().get("message_id");
if (response.isSuccess()) {
MessageDetail msg = response.getData();
System.out.println("Status: " + msg.getStatus());
DeliverySync sync = response.getDeliverySync();
if (sync != null && sync.isChecked()) {
System.out.println("Provider status: " + sync.getProviderStatus());
}
}BatchDetailResponse response = client.getBatches().get("batch_id");
if (response.isSuccess()) {
BatchDetail batch = response.getData();
System.out.println("Total: " + batch.getTotal() + ", Delivered: " + batch.getDelivered());
for (BatchMessage msg : batch.getMessages()) {
System.out.println(msg.getTo() + " -> " + msg.getStatus());
}
}BalanceResponse response = client.getBalance().get();
if (response.isSuccess()) {
System.out.println("Balance: " + response.getData().getBalance());
System.out.println("Currency: " + response.getData().getCurrency());
}SendersResponse response = client.getSenders().list();
if (response.isSuccess()) {
for (SenderData sender : response.getData()) {
System.out.println(sender.getSender() + " (" + sender.getChannel() + ") - " + sender.getStatus());
}
}PricingResponse response = client.getPricing().get();
// Or filter by country
PricingResponse bdPricing = client.getPricing().get("BD");
if (response.isSuccess()) {
for (PricingEntry entry : response.getData()) {
System.out.println(entry.getChannel() + ": " + entry.getPrice() + " " + entry.getCurrency());
}
}List webhook delivery logs:
WebhookLogsResponse response = client.getWebhooks().listLogs();
if (response.isSuccess()) {
for (WebhookLogData log : response.getData()) {
System.out.println(log.getEvent() + " -> " + log.getStatus());
}
}Retry a failed webhook:
WebhookRetryResponse response = client.getWebhooks().retryLog("log_id");
System.out.println("Retry success: " + response.isSuccess());Send a verification code:
SendCodeResponse response = client.getVerify().sendCode("MyApp", "8801XXXXXXXXX");
if (response.isSuccess()) {
String requestId = response.getData().getRequestId();
System.out.println("Request ID: " + requestId);
}With locale and code length:
SendCodeResponse response = client.getVerify().sendCode("MyApp", "8801XXXXXXXXX", "en-us", 6);Check the code:
VerifyCodeResponse response = client.getVerify().checkCode(requestId, "123456");
if (response.isSuccess()) {
System.out.println("Verified: " + response.getData().getStatus());
}| API | Methods |
|---|---|
| Messages | send, sendWhatsApp, list, get |
| Batches | get |
| Balance | get |
| Senders | list |
| Pricing | get |
| Webhook Logs | listLogs, retryLog |
| Verify (OTP) | sendCode, checkCode |
The v2.0 SDK restructures the client for full API coverage:
// v1.x
SendLimeClient client = SendLimeClient.build().apiKey("key").build();
client.getSmsClient().sendMessage(to, text);
client.getSmsClient().getBalance();
client.getCodeClient().sendCode(brand, phone);
client.getCodeClient().verifyCode(requestId, code);
// v2.0
SendLimeClient client = SendLimeClient.builder().apiKey("key").build();
client.getMessages().send(to, text);
client.getBalance().get();
client.getVerify().sendCode(brand, phone);
client.getVerify().checkCode(requestId, code);