Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Library providing a Java API for the Sinch HTTP REST Messaging API.
This is the Java SDK for the Sinch REST SMS API for sending and receiving single or batch SMS/MMS messages. It also supports scheduled sends, organizing your frequent recipients into groups, and customizing your message for each recipient using parameterization. It offers an asynchronous Java API that provides convenient access to all the features of the SMS REST API.
API reference: https://developers.sinch.com/docs/sms/api-reference
To use this SDK, add it as a dependency
Maven
<dependency>
<groupId>com.sinch</groupId>
<artifactId>sdk-sms</artifactId>
<version>2.2.0</version>
</dependency>
Gradle
implementation 'com.sinch:sdk-sms:2.2.0'
String servicePlanId = "SERVICE_PLAN_ID";
String token = "SERVICE_TOKEN";
ApiConnection conn =
ApiConnection.builder()
.servicePlanId(servicePlanId)
.token(token)
.start();
String sender = "SENDER"; // Optional, must be valid phone number, short code or alphanumeric.
String [] recipients = {"1232323131", "3213123"};
MtBatchTextSmsResult batch =
conn.createBatch(
SinchSMSApi.batchTextSms()
.sender(sender)
.addRecipient(recipients)
.body("Something good")
.build());
// Creating simple Group
GroupResult group = conn.createGroup(SinchSMSApi.groupCreate().name("Subscriber").build());
// Adding members (numbers) into the group
conn.updateGroup(
group.id(), SinchSMSApi.groupUpdate().addMemberInsertion("15418888", "323232").build());
// Sending a message to the group
MtBatchTextSmsResult batch = conn.createBatch(
SinchSMSApi.batchTextSms()
.addRecipient(group.id().toString())
.body("Something good")
.build());
System.out.println("Successfully sent batch " + batch.id());
String sender = "SENDER"; // Optional, must be valid phone number, short code or alphanumeric.
String [] recipients = {"1232323131", "3213123"};
MtBatchMmsResult batch =
conn.createBatch(
SinchSMSApi.batchMms()
.sender(sender)
.addRecipient(recipients)
.body(SinchSMSApi.mediaBody().url("https://en.wikipedia.org/wiki/Sinch_(company)#/media/File:Sinch_LockUp_RGB.png").message("Hello, world!").build())
.build());
Please visit https://developers.sinch.com/docs/sms/getting-started/java/send-sms-with-java/ for more detailed instructions.
This project uses the Maven build tool, and the typical Maven goals are supported. To install the package to your local Maven repository it therefore is sufficient to execute.
git clone https://github.com/sinch/sinch-java-sms.git
cd sinch-java-sms
mvn clean install
Build .jar file
mvn package
It will give you sdk-sms-2.2.0-jar-with-dependencies.jar
To skip local test
mvn package -Dmaven.test.skip=true
in your terminal. The project will then be compiled and tested before finally being installed in your local repository.
We recommend enabling annotation processing in your IDE https://immutables.github.io/apt.html.
In version 2.x MMS messages support was added into the library, which will require code changes if you want to upgrade.
Methods of ApiConnection for fetching or cancelling batches are returning MtBatchResult now, which you could cast to either MtBatchMmsResult or MtBatchSmsResult depending on message type;
RecipientDeliveryReport which is returned by ApiConnection.fetchDeliveryReport, you could cast to RecipientDeliveryReportSms or RecipientDeliveryReportMms depending on message type;
BatchDeliveryReport.Status is not inner class anymore and could be used as Status;
This project is licensed under the MIT License. See the LICENSE file for the license text.
FAQs
Library providing a Java API for the Sinch HTTP REST Messaging API.
We found that com.sinch:sdk-sms demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.