From e6d7586d1bf555676a4cfa660273564b0a012065 Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Tue, 17 Feb 2026 11:44:53 +0530 Subject: [PATCH 1/4] feat: add sample3-5 and policy links to campaign create/update --- .../api/models/campaign/CampaignCreator.java | 31 +++++++++++++++-- .../api/models/campaign/CampaignUpdater.java | 34 +++++++++++++++++-- 2 files changed, 60 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/plivo/api/models/campaign/CampaignCreator.java b/src/main/java/com/plivo/api/models/campaign/CampaignCreator.java index ba41c592c..56da3f620 100644 --- a/src/main/java/com/plivo/api/models/campaign/CampaignCreator.java +++ b/src/main/java/com/plivo/api/models/campaign/CampaignCreator.java @@ -21,6 +21,9 @@ public class CampaignCreator extends Creator { private Boolean affiliateMarketing; private String sample1; private String sample2; + private String sample3; + private String sample4; + private String sample5; private String url; private String method; private String messageFlow; @@ -30,8 +33,10 @@ public class CampaignCreator extends Creator { private String optinMessage; private String optoutKeywords; private String helpKeywords; - - CampaignCreator(String brandID,String campaignAlias,String vertical,String usecase,String[] subUsecases,String description,Boolean embeddedLink,Boolean embeddedPhone,Boolean ageGated,Boolean directLending,Boolean affiliateMarketing, Boolean subscriberOptin,Boolean subscriberOptout,Boolean subscriberHelp,String sample1,String sample2, String url, String method, String messageFlow, String helpMessage, String optoutMessage, String optinKeywords, String optinMessage, String optoutKeywords, String helpKeywords) { + private String termsAndConditionsLink; + private String privacyPolicyLink; + + CampaignCreator(String brandID,String campaignAlias,String vertical,String usecase,String[] subUsecases,String description,Boolean embeddedLink,Boolean embeddedPhone,Boolean ageGated,Boolean directLending,Boolean affiliateMarketing, Boolean subscriberOptin,Boolean subscriberOptout,Boolean subscriberHelp,String sample1,String sample2,String sample3,String sample4,String sample5, String url, String method, String messageFlow, String helpMessage, String optoutMessage, String optinKeywords, String optinMessage, String optoutKeywords, String helpKeywords, String termsAndConditionsLink, String privacyPolicyLink) { this.brandID = brandID; this.campaignAlias = campaignAlias; @@ -47,8 +52,11 @@ public class CampaignCreator extends Creator { this.subscriberOptout = subscriberOptout; this.subscriberHelp = subscriberHelp; this.affiliateMarketing = affiliateMarketing; - this.sample2 = sample2; this.sample1 = sample1; + this.sample2 = sample2; + this.sample3 = sample3; + this.sample4 = sample4; + this.sample5 = sample5; this.url = url; this.method = method; this.messageFlow = messageFlow; @@ -58,6 +66,8 @@ public class CampaignCreator extends Creator { this.optinMessage = optinMessage; this.optoutKeywords = optoutKeywords; this.helpKeywords = helpKeywords; + this.termsAndConditionsLink = termsAndConditionsLink; + this.privacyPolicyLink = privacyPolicyLink; } public String brandID(){ @@ -85,6 +95,21 @@ public String sample2(){ public String sample1(){ return this.sample1; } + public String sample3(){ + return this.sample3; + } + public String sample4(){ + return this.sample4; + } + public String sample5(){ + return this.sample5; + } + public String termsAndConditionsLink(){ + return this.termsAndConditionsLink; + } + public String privacyPolicyLink(){ + return this.privacyPolicyLink; + } public Boolean affiliateMarketing(){ return this.affiliateMarketing; } diff --git a/src/main/java/com/plivo/api/models/campaign/CampaignUpdater.java b/src/main/java/com/plivo/api/models/campaign/CampaignUpdater.java index 36f72ee29..3b4423189 100644 --- a/src/main/java/com/plivo/api/models/campaign/CampaignUpdater.java +++ b/src/main/java/com/plivo/api/models/campaign/CampaignUpdater.java @@ -9,6 +9,9 @@ public class CampaignUpdater extends Updater { private String description; private String sample1; private String sample2; + private String sample3; + private String sample4; + private String sample5; private String messageFlow; private String helpMessage; private String optinKeywords; @@ -16,10 +19,12 @@ public class CampaignUpdater extends Updater { private String optoutKeywords; private String optoutMessage; private String helpKeywords; + private String termsAndConditionsLink; + private String privacyPolicyLink; - CampaignUpdater(String campaignId, String resellerId, String description, String sample1, String sample2, + CampaignUpdater(String campaignId, String resellerId, String description, String sample1, String sample2, String sample3, String sample4, String sample5, String messageFlow, String helpMessage, String optinKeywords, String optinMessage, String optoutKeywords, - String optoutMessage, String helpKeywords) { + String optoutMessage, String helpKeywords, String termsAndConditionsLink, String privacyPolicyLink) { super(campaignId); @@ -27,6 +32,9 @@ public class CampaignUpdater extends Updater { this.description = description; this.sample1 = sample1; this.sample2 = sample2; + this.sample3 = sample3; + this.sample4 = sample4; + this.sample5 = sample5; this.messageFlow = messageFlow; this.helpMessage = helpMessage; this.optinKeywords = optinKeywords; @@ -34,6 +42,8 @@ public class CampaignUpdater extends Updater { this.optoutKeywords = optoutKeywords; this.optoutMessage = optoutMessage; this.helpKeywords = helpKeywords; + this.termsAndConditionsLink = termsAndConditionsLink; + this.privacyPolicyLink = privacyPolicyLink; } public String campaignId() { @@ -56,6 +66,26 @@ public String sample2() { return this.sample2; } + public String sample3() { + return this.sample3; + } + + public String sample4() { + return this.sample4; + } + + public String sample5() { + return this.sample5; + } + + public String termsAndConditionsLink() { + return this.termsAndConditionsLink; + } + + public String privacyPolicyLink() { + return this.privacyPolicyLink; + } + public String messageFlow() { return this.messageFlow; } From 26752489e7fe135d362b927eec4e27c6092a3df1 Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Wed, 18 Feb 2026 11:56:47 +0530 Subject: [PATCH 2/4] fix: add missing parameters to creator and updater methods --- src/main/java/com/plivo/api/models/campaign/Campaign.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/plivo/api/models/campaign/Campaign.java b/src/main/java/com/plivo/api/models/campaign/Campaign.java index 6b8f60605..7b8c45107 100644 --- a/src/main/java/com/plivo/api/models/campaign/Campaign.java +++ b/src/main/java/com/plivo/api/models/campaign/Campaign.java @@ -35,12 +35,12 @@ public class Campaign extends BaseResource { - public static CampaignCreator creator(String brandID,String campaignAlias,String vertical,String usecase,String[] subUsecases,String description,Boolean embeddedLink,Boolean embeddedPhone,Boolean ageGated,Boolean directLending,Boolean affiliateMarketing,Boolean subscriberOptin,Boolean subscriberOptout,Boolean subscriberHelp,String sample1,String sample2,String url, String method, String messageFlow, String helpMessage, String optoutMessage, String optinKeywords, String optinMessage, String optoutKeywords, String helpKeywords) { - return new CampaignCreator(brandID,campaignAlias,vertical,usecase,subUsecases,description,embeddedLink,embeddedPhone,ageGated,directLending,affiliateMarketing,subscriberOptin,subscriberOptout,subscriberHelp,sample1,sample2,url,method,messageFlow,helpMessage,optoutMessage,optinKeywords,optinMessage,optoutKeywords,helpKeywords); + public static CampaignCreator creator(String brandID,String campaignAlias,String vertical,String usecase,String[] subUsecases,String description,Boolean embeddedLink,Boolean embeddedPhone,Boolean ageGated,Boolean directLending,Boolean affiliateMarketing,Boolean subscriberOptin,Boolean subscriberOptout,Boolean subscriberHelp,String sample1,String sample2,String url, String method, String messageFlow, String helpMessage, String optoutMessage, String optinKeywords, String optinMessage, String optoutKeywords, String helpKeywords, String sample3, String sample4, String sample5, String termsAndConditionsLink, String privacyPolicyLink) { + return new CampaignCreator(brandID,campaignAlias,vertical,usecase,subUsecases,description,embeddedLink,embeddedPhone,ageGated,directLending,affiliateMarketing,subscriberOptin,subscriberOptout,subscriberHelp,sample1,sample2,url,method,messageFlow,helpMessage,optoutMessage,optinKeywords,optinMessage,optoutKeywords,helpKeywords,sample3,sample4,sample5,termsAndConditionsLink,privacyPolicyLink); } - public static CampaignUpdater updater(String campaign_id, String reseller_id, String description, String sample1, String sample2, String message_flow, String help_message, String optin_keywords, String optin_message, String optout_keywords, String optout_message, String help_keywords) { - return new CampaignUpdater(campaign_id,reseller_id,description,sample1,sample2,message_flow,help_message,optin_keywords,optin_message,optout_keywords,optout_message,help_keywords); + public static CampaignUpdater updater(String campaign_id, String reseller_id, String description, String sample1, String sample2, String message_flow, String help_message, String optin_keywords, String optin_message, String optout_keywords, String optout_message, String help_keywords, String sample3, String sample4, String sample5, String termsAndConditionsLink, String privacyPolicyLink) { + return new CampaignUpdater(campaign_id,reseller_id,description,sample1,sample2,message_flow,help_message,optin_keywords,optin_message,optout_keywords,optout_message,help_keywords,sample3,sample4,sample5,termsAndConditionsLink,privacyPolicyLink); } public static CampaignImporter importer(String campaign_id, String campaignAlias) { From c31a4c941f55ac692afcd5f3c82f1abbbd5beb25 Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Wed, 18 Feb 2026 12:08:06 +0530 Subject: [PATCH 3/4] chore: bump version to 5.46.6 and update changelog --- CHANGELOG.md | 5 +++++ src/main/resources/com/plivo/api/version.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 363ce0690..69b679c72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## [5.46.6](https://github.com/plivo/plivo-java/tree/v5.46.6) (2026-02-18) +**Feature - Campaign API optional fields support** +- Added `sample3`, `sample4`, `sample5` optional sample message fields to Campaign `creator` and `updater` methods +- Added `termsAndConditionsLink` and `privacyPolicyLink` optional fields to Campaign `creator` and `updater` methods + ## [5.46.5](https://github.com/plivo/plivo-java/tree/v5.46.5) (2026-01-20) **Feature - HA Number support** - Added `haEnable` optional parameter to `PhoneNumberCreator` for enabling HA functionality during phone number rent diff --git a/src/main/resources/com/plivo/api/version.txt b/src/main/resources/com/plivo/api/version.txt index 8e276a0c8..3892f9277 100644 --- a/src/main/resources/com/plivo/api/version.txt +++ b/src/main/resources/com/plivo/api/version.txt @@ -1 +1 @@ -5.46.4 \ No newline at end of file +5.46.6 From a60c5db07695c4f332df1c98542e3866932e4290 Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Wed, 18 Feb 2026 12:23:31 +0530 Subject: [PATCH 4/4] fix: correct parameter order in campaign creator/updater and update tests --- src/main/java/com/plivo/api/models/campaign/Campaign.java | 4 ++-- src/test/java/com/plivo/api/CampaignTest.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/plivo/api/models/campaign/Campaign.java b/src/main/java/com/plivo/api/models/campaign/Campaign.java index 7b8c45107..5eff50c21 100644 --- a/src/main/java/com/plivo/api/models/campaign/Campaign.java +++ b/src/main/java/com/plivo/api/models/campaign/Campaign.java @@ -36,11 +36,11 @@ public class Campaign extends BaseResource { public static CampaignCreator creator(String brandID,String campaignAlias,String vertical,String usecase,String[] subUsecases,String description,Boolean embeddedLink,Boolean embeddedPhone,Boolean ageGated,Boolean directLending,Boolean affiliateMarketing,Boolean subscriberOptin,Boolean subscriberOptout,Boolean subscriberHelp,String sample1,String sample2,String url, String method, String messageFlow, String helpMessage, String optoutMessage, String optinKeywords, String optinMessage, String optoutKeywords, String helpKeywords, String sample3, String sample4, String sample5, String termsAndConditionsLink, String privacyPolicyLink) { - return new CampaignCreator(brandID,campaignAlias,vertical,usecase,subUsecases,description,embeddedLink,embeddedPhone,ageGated,directLending,affiliateMarketing,subscriberOptin,subscriberOptout,subscriberHelp,sample1,sample2,url,method,messageFlow,helpMessage,optoutMessage,optinKeywords,optinMessage,optoutKeywords,helpKeywords,sample3,sample4,sample5,termsAndConditionsLink,privacyPolicyLink); + return new CampaignCreator(brandID,campaignAlias,vertical,usecase,subUsecases,description,embeddedLink,embeddedPhone,ageGated,directLending,affiliateMarketing,subscriberOptin,subscriberOptout,subscriberHelp,sample1,sample2,sample3,sample4,sample5,url,method,messageFlow,helpMessage,optoutMessage,optinKeywords,optinMessage,optoutKeywords,helpKeywords,termsAndConditionsLink,privacyPolicyLink); } public static CampaignUpdater updater(String campaign_id, String reseller_id, String description, String sample1, String sample2, String message_flow, String help_message, String optin_keywords, String optin_message, String optout_keywords, String optout_message, String help_keywords, String sample3, String sample4, String sample5, String termsAndConditionsLink, String privacyPolicyLink) { - return new CampaignUpdater(campaign_id,reseller_id,description,sample1,sample2,message_flow,help_message,optin_keywords,optin_message,optout_keywords,optout_message,help_keywords,sample3,sample4,sample5,termsAndConditionsLink,privacyPolicyLink); + return new CampaignUpdater(campaign_id,reseller_id,description,sample1,sample2,sample3,sample4,sample5,message_flow,help_message,optin_keywords,optin_message,optout_keywords,optout_message,help_keywords,termsAndConditionsLink,privacyPolicyLink); } public static CampaignImporter importer(String campaign_id, String campaignAlias) { diff --git a/src/test/java/com/plivo/api/CampaignTest.java b/src/test/java/com/plivo/api/CampaignTest.java index 6ef9ee314..b41a44d0d 100644 --- a/src/test/java/com/plivo/api/CampaignTest.java +++ b/src/test/java/com/plivo/api/CampaignTest.java @@ -26,7 +26,7 @@ public void campaignCreateShouldSucceed() throws Exception { expectResponse(fixtureName, 202); String[] sub_usecase = new String[]{"2FA", "MARKETING"}; - Campaign.creator("BCKWPKX", "java sdk camp create", "ENTERTAINMENT", "2FA", sub_usecase, "description", false,false, false, false, true, true,true, true, "sample1", "sample2", null, null, "messageFlow should be minimum 40 char", "helpMessage is mandatory field","optoutMessage should be 40 char", "optinKeywords", " optinMessage", "optoutKeywords", "helpKeywords").create(); + Campaign.creator("BCKWPKX", "java sdk camp create", "ENTERTAINMENT", "2FA", sub_usecase, "description", false,false, false, false, true, true,true, true, "sample1", "sample2", null, null, "messageFlow should be minimum 40 char", "helpMessage is mandatory field","optoutMessage should be 40 char", "optinKeywords", " optinMessage", "optoutKeywords", "helpKeywords", null, null, null, null, null).create(); assertRequest("POST", "10dlc/Campaign/"); } @@ -46,8 +46,8 @@ public void campaignUpdateShouldSucceed() throws Exception { String fixtureName = "campaignUpdateResponse.json"; expectResponse(fixtureName, 202); - - CampaignUpdateResponse response = Campaign.updater("CY5NVUA","","","sample1 updated","","","","","","","","").client(client).update(); + + CampaignUpdateResponse response = Campaign.updater("CY5NVUA","","","sample1 updated","","","","","","","","", null, null, null, null, null).client(client).update(); assertEquals("CY5NVUA", response.getCampaign().getCampaignID()); assertRequest("POST", "10dlc/Campaign/%s/", "CY5NVUA");