Skip to content

Commit b120415

Browse files
Devx 10057 trusted number flag (#604)
feat: Added trusted-number for SMS
1 parent 44aa1b1 commit b120415

File tree

6 files changed

+74
-4
lines changed

6 files changed

+74
-4
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
# [9.5.0] - 2025-12-04
6+
- Added `trusted-number` to SMS
7+
58
# [9.4.2] - 2025-10-23
69
- Added missing supported languages (Lithuanian and Marathi) to `TextToSpeechLanguage` enum
710

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Add the following to your `build.gradle` or `build.gradle.kts` file:
7474

7575
```groovy
7676
dependencies {
77-
implementation("com.vonage:server-sdk:9.4.2")
77+
implementation("com.vonage:server-sdk:9.5.0")
7878
}
7979
```
8080

@@ -85,7 +85,7 @@ Add the following to the `<dependencies>` section of your `pom.xml` file:
8585
<dependency>
8686
<groupId>com.vonage</groupId>
8787
<artifactId>server-sdk</artifactId>
88-
<version>9.4.2</version>
88+
<version>9.5.0</version>
8989
</dependency>
9090
```
9191

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.vonage</groupId>
77
<artifactId>server-sdk</artifactId>
8-
<version>9.4.2</version>
8+
<version>9.5.0</version>
99

1010
<name>Vonage Java Server SDK</name>
1111
<description>Java client for Vonage APIs</description>

src/main/java/com/vonage/client/HttpWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
public class HttpWrapper {
3838
private static final String
3939
CLIENT_NAME = "vonage-java-sdk",
40-
CLIENT_VERSION = "9.4.2",
40+
CLIENT_VERSION = "9.5.0",
4141
JAVA_VERSION = System.getProperty("java.version"),
4242
USER_AGENT = String.format("%s/%s java/%s", CLIENT_NAME, CLIENT_VERSION, JAVA_VERSION);
4343

src/main/java/com/vonage/client/sms/messages/Message.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public abstract class Message extends AbstractQueryParamsRequest {
2828
private MessageClass messageClass;
2929
private Long timeToLive;
3030
private String clientReference, callbackUrl, entityId, contentId;
31+
private Boolean trustedNumber;
3132

3233
protected Message(final MessageType type,
3334
final String from,
@@ -227,6 +228,25 @@ public void setStatusReportRequired(boolean statusReportRequired) {
227228
this.statusReportRequired = statusReportRequired;
228229
}
229230

231+
/**
232+
* Indicates whether this message is being sent from a trusted number.
233+
*
234+
* @return {@code true} if from a trusted number, {@code false} if not, or {@code null} if unspecified.
235+
*/
236+
public Boolean getTrustedNumber() {
237+
return trustedNumber;
238+
}
239+
240+
/**
241+
* Sets whether this message is being sent from a trusted number.
242+
* This parameter is optional and will only be sent if explicitly set to {@code true} or {@code false}.
243+
*
244+
* @param trustedNumber {@code true} if from a trusted number, {@code false} if not, or {@code null} to omit.
245+
*/
246+
public void setTrustedNumber(Boolean trustedNumber) {
247+
this.trustedNumber = trustedNumber;
248+
}
249+
230250
@Override
231251
public Map<String, String> makeParams() {
232252
Map<String, String> params = super.makeParams();
@@ -244,6 +264,9 @@ public Map<String, String> makeParams() {
244264
}
245265
conditionalAdd("entity-id", entityId);
246266
conditionalAdd("content-id", contentId);
267+
if (trustedNumber != null) {
268+
conditionalAdd("trusted-number", trustedNumber ? "true" : "false");
269+
}
247270
return params;
248271
}
249272

src/test/java/com/vonage/client/sms/SmsClientTest.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ public void runTests() throws Exception {
9292
testConstructParamsValidityPeriodTTL();
9393
testConstructParamsContentId();
9494
testConstructParamsEntityId();
95+
testConstructParamsTrustedNumberTrue();
96+
testConstructParamsTrustedNumberFalse();
97+
testConstructParamsTrustedNumberNull();
9598
testParseResponse();
9699
testParseResponseInvalidStatus();
97100
testParseResponseError();
@@ -228,6 +231,47 @@ void testConstructParamsEntityId() {
228231
assertRequestContainsParams(params, message);
229232
}
230233

234+
void testConstructParamsTrustedNumberTrue() {
235+
Message message = new TextMessage("TestSender", "not-a-number", "Test");
236+
message.setTrustedNumber(true);
237+
assertEquals(true, message.getTrustedNumber());
238+
239+
Map<String, String> params = new LinkedHashMap<>();
240+
params.put("from", "TestSender");
241+
params.put("to", "not-a-number");
242+
params.put("type", "text");
243+
params.put("text", "Test");
244+
params.put("trusted-number", "true");
245+
assertRequestContainsParams(params, message);
246+
}
247+
248+
void testConstructParamsTrustedNumberFalse() {
249+
Message message = new TextMessage("TestSender", "not-a-number", "Test");
250+
message.setTrustedNumber(false);
251+
assertEquals(false, message.getTrustedNumber());
252+
253+
Map<String, String> params = new LinkedHashMap<>();
254+
params.put("from", "TestSender");
255+
params.put("to", "not-a-number");
256+
params.put("type", "text");
257+
params.put("text", "Test");
258+
params.put("trusted-number", "false");
259+
assertRequestContainsParams(params, message);
260+
}
261+
262+
void testConstructParamsTrustedNumberNull() {
263+
Message message = new TextMessage("TestSender", "not-a-number", "Test");
264+
assertNull(message.getTrustedNumber());
265+
266+
Map<String, String> params = new LinkedHashMap<>();
267+
params.put("from", "TestSender");
268+
params.put("to", "not-a-number");
269+
params.put("type", "text");
270+
params.put("text", "Test");
271+
// trusted-number should not be in params when null
272+
assertRequestParams(params, message);
273+
}
274+
231275
void testParseResponse() throws Exception {
232276
SmsSubmissionResponse rs = parseResponse(
233277
"""

0 commit comments

Comments
 (0)