diff --git a/CHANGELOG.md b/CHANGELOG.md index 5be50f17..7d6087eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Change Log +## [5.49.0](https://github.com/plivo/plivo-java/tree/v5.49.0) (2026-06-11) +**Feature - complianceApplicationId on phone number buy** +- Added an optional `complianceApplicationId` builder param to `PhoneNumberCreator`, serialized to the `compliance_application_id` wire param on phone number buy +- Lets regulated numbers (e.g. India) be purchased with an approved regulatory compliance application linked at purchase time +- Backward-compatible additive builder method + ## [5.48.1](https://github.com/plivo/plivo-java/tree/v5.48.1) (2026-05-26) **Feature - Profile API DBA field support** - Added Doing Business As (DBA) field support to Profile API diff --git a/pom.xml b/pom.xml index f2351839..a28af048 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.plivo plivo-java - 5.48.1 + 5.49.0 plivo-java A Java SDK to make voice calls & send SMS using Plivo and to generate Plivo XML diff --git a/src/main/java/com/plivo/api/models/number/PhoneNumberCreator.java b/src/main/java/com/plivo/api/models/number/PhoneNumberCreator.java index 36f548ec..83e47ace 100644 --- a/src/main/java/com/plivo/api/models/number/PhoneNumberCreator.java +++ b/src/main/java/com/plivo/api/models/number/PhoneNumberCreator.java @@ -9,6 +9,7 @@ public class PhoneNumberCreator extends Creator { private String appId; private String cnamLookup; private Boolean haEnable; + private String complianceApplicationId; public PhoneNumberCreator(String number) { if (number == null) { @@ -45,6 +46,15 @@ public PhoneNumberCreator haEnable(final Boolean haEnable) { return this; } + public String complianceApplicationId() { + return this.complianceApplicationId; + } + + public PhoneNumberCreator complianceApplicationId(final String complianceApplicationId) { + this.complianceApplicationId = complianceApplicationId; + return this; + } + @Override protected Call obtainCall() { return client().getApiService().phoneNumberCreate(client().getAuthId(), number, this); diff --git a/src/main/resources/com/plivo/api/version.txt b/src/main/resources/com/plivo/api/version.txt index 297c7a9e..357e1c72 100644 --- a/src/main/resources/com/plivo/api/version.txt +++ b/src/main/resources/com/plivo/api/version.txt @@ -1 +1 @@ -5.48.1 +5.49.0 diff --git a/src/test/java/com/plivo/api/NumberTest.java b/src/test/java/com/plivo/api/NumberTest.java index 81c4a1fb..93c54e28 100644 --- a/src/test/java/com/plivo/api/NumberTest.java +++ b/src/test/java/com/plivo/api/NumberTest.java @@ -2,6 +2,7 @@ import static junit.framework.TestCase.assertEquals; +import com.fasterxml.jackson.databind.JsonNode; import com.plivo.api.models.base.ListResponse; import com.plivo.api.models.number.Number; import com.plivo.api.models.number.PhoneNumber; @@ -173,4 +174,20 @@ public void phoneNumberCreateWithClientShouldSucceed() throws Exception { assertRequest("POST", "PhoneNumber/%s/", number); } + @Test + public void phoneNumberBuyWithComplianceApplicationIdShouldSucceed() throws Exception { + expectResponse("phoneNumberCreateResponse.json", 201); + + final String number = "1231231231"; + final String complianceApplicationId = "1234567890123456"; + + PhoneNumber.buyer(number) + .complianceApplicationId(complianceApplicationId) + .create(); + + JsonNode payload = actualRequestPayload(); + assertEquals(complianceApplicationId, + payload.get("compliance_application_id").asText()); + } + }