Skip to content

Commit 1169055

Browse files
6.4.0 release
1 parent f6889ab commit 1169055

422 files changed

Lines changed: 83740 additions & 1260 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,77 @@ All notable changes to the library will be documented in this file.
55
The format of the file is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this library adheres to [Semantic Versioning](http://semver.org/) as mentioned in [README.md][readme] file.
77

8+
## [ [6.4.0](https://github.com/infobip/infobip-api-java-client/releases/tag/6.4.0) ] - 2026-03-31
9+
10+
⚠️ **IMPORTANT NOTE:** This release contains compile time breaking changes.
11+
All changes, including breaking changes, are addressed and explained in the list bellow.
12+
If you find out that something was not addressed properly, please submit an issue.
13+
14+
### Added
15+
* Support for [Infobip Numbers API](https://www.infobip.com/docs/api/platform/numbers).
16+
* Support for [Infobip Resources API](https://www.infobip.com/docs/api/platform/resources).
17+
* Most recent feature set for:
18+
* [Infobip WhatsApp API](https://www.infobip.com/docs/api/channels/whatsapp).
19+
* [Infobip RCS API](https://www.infobip.com/docs/api/channels/rcs).
20+
* [Infobip Voice API](https://www.infobip.com/docs/api/channels/voice).
21+
* [Infobip Messages API](https://www.infobip.com/docs/api/platform/messages-api).
22+
* [Infobip WebRTC API](https://www.infobip.com/docs/api/channels/webrtc-calls).
23+
24+
### Changed
25+
26+
* **WhatsApp**:
27+
* Added Media Carousel message support with `WhatsAppInteractiveMediaCarouselMessage`, `WhatsAppMediaCarouselCard`, `WhatsAppImageMediaCarouselCardHeader`, `WhatsAppVideoMediaCarouselCardHeader` models
28+
* Added Voice button message support with `WhatsAppInteractiveVoiceButtonMessage` and `WhatsAppInteractiveVoiceButtonContent` models
29+
* Added calling permission support with `WhatsAppCallingPermissionAction`, `WhatsAppCallingPermissionActionLimit`, `WhatsAppCallingPermissionResponse` and `WhatsAppInteractiveCallPermissionRequestMessage` models
30+
* Added outbound event support (typing indicator) with `WhatsAppEvent`, `WhatsAppEventRequest`, `WhatsAppEventOptions`, `WhatsAppOutboundEventTypingIndicatorContent` models
31+
* Added Meta conversion tracking support with `WhatsAppMetaConversionModel`, `WhatsAppMetaConversionType`, `WhatsAppWABAConversionEventRequest`, `WhatsAppConversionDetails` models
32+
* Added marketing update notification support with `WhatsAppWebhookMarketingUpdateNotification` and `WhatsAppWebhookMarketingUpdateNotificationResponse` models
33+
* Added message scheduling support with `WhatsAppRequestSchedulingSettings` model
34+
* Added `WhatsAppTemplateVoiceCallButtonContent` model for voice call template button support
35+
* Added `WhatsAppMessageStatus`, `WhatsAppMessageGeneralStatus`, `WhatsAppSenderPublicKeyResponse`, `WhatsAppShareWabaRequest`, `WhatsAppToDestination` models
36+
* Extended `WhatsAppTemplateButtonContent` with voice call button type support
37+
* Extended `WhatsAppPayment` with additional fields
38+
* Extended `WhatsAppTemplateApiResponse` and `WhatsAppVoiceCallButtonApiData` with new fields
39+
* JavaDoc fixes
40+
* **RCS**:
41+
* Removed `RcsPlatformInfo` class (see [Removed](#removed) section)
42+
* Added conversation started event support with `RcsConversationStartedEvent`, `RcsConversationStartedEvents`, `RcsConversationStartedInfo`, `RcsConversationStartedEventContent`, `RcsConversationInfo` models
43+
* Added `RcsConversationType`, `RcsConversationStartedEventType`, `RcsTrafficType`, `RcsMessagePrice`, `RcsMessageInteractionType`, `RcsEventInteractionType` models
44+
* Updated `RcsWebhookDeliveryReport` model
45+
* JavaDoc fixes
46+
* **Voice**:
47+
* Renamed `CallsSipTrunkRegisteredResetPasswordResponse` to `CallsSipTrunkResetPasswordResponse` to better reflect the return type of the reset password endpoint
48+
* Added CNAM support with `CallsCnam`, `CallsCnamDelivery`, `CallsCnamDeliveryStatus`, `CallsCnamStorage`, `CallsCnamStorageStatus`, `CallsPublicCnamStatus` models
49+
* Added emergency address support with `CallsEmergencyAddress`, `CallsEmergencyAddressStatus`, `CallsValidateAddressResponse` models
50+
* Added TTY play content support with `CallsPlayTty`, `CallsPlayTtyOptions`, `CallsTtyPlayContent` models
51+
* Added `CallsAddress`, `CallsDirection` models
52+
* Extended `CallsLanguage` and `CallsSynthesisVoice` with new language and voice options
53+
* Extended `CallsDialogPlayRequest` with new fields
54+
* Extended `CallsUrlPlayContent` with new fields
55+
* JavaDoc fixes
56+
* **MessagesApi**:
57+
* Added outbound seen event support with `MessagesApiOutboundSeenEvent` and `MessagesApiOutboundSeenEventChannel` models
58+
* Added outbound typing event channel support with `MessagesApiOutboundTypingStartedEventChannel` and `MessagesApiOutboundTypingStoppedEventChannel` models
59+
* Added `MessagesApiInboundTypingStartedChannel` model
60+
* Extended `MessagesApiOutboundEventType` with new event type values
61+
* Updated `MessagesApiInboundDlrChannel`, `MessagesApiInboundTypingStartedEvent`, `MessagesApiInboundTypingStoppedEvent`, `MessagesApiOutboundTypingStartedEvent`, `MessagesApiOutboundTypingStoppedEvent` models
62+
* Extended `MessagesApiOutboundEvent` with new fields
63+
* JavaDoc fixes
64+
* **WebRtc**:
65+
* Added machine detection support with `WebRtcMachineDetection` and `WebRtcMachineDetectionResult` models
66+
* Extended `WebRtcPhoneCallDetails` and `WebRtcPhoneDestination` with new fields
67+
* Updated `WebRtcHangupSource` enum
68+
* JavaDoc fixes
69+
* **Viber**:
70+
* Extended `ViberOtpTemplateLanguage` with new language options
71+
* Extended `ViberOutboundOtpTemplateContent` with new fields
72+
* JavaDoc fixes
73+
* **General**:
74+
* Updated tests
75+
76+
### Removed
77+
- Removed `RcsPlatformInfo` class — its `applicationId` and `entityId` fields are now carried by the existing `Platform` class, which is used consistently across the SDK for platform context
78+
879
## [ [6.3.0](https://github.com/infobip/infobip-api-java-client/releases/tag/6.3.0) ] - 2026-02-17
980

1081
⚠️ **IMPORTANT NOTE:** This release contains compile time breaking changes.

README.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ The current version of this library includes this subset of Infobip products:
3434
* [Messages API](https://www.infobip.com/docs/api/platform/messages-api)
3535
* [Moments API](https://www.infobip.com/docs/api/customer-engagement/moments)
3636
* [RCS](https://www.infobip.com/docs/api/channels/rcs)
37+
* [Numbers](https://www.infobip.com/docs/api/platform/numbers)
38+
* [Resources](https://www.infobip.com/docs/api/platform/resources)
3739

3840
## General Info
3941
For `infobip-api-java-client` versioning we use [Semantic Versioning][semver] scheme.
@@ -50,7 +52,7 @@ Simply add the following in your project's POM file under `dependencies` tag:
5052
<dependency>
5153
<groupId>com.infobip</groupId>
5254
<artifactId>infobip-api-java-client</artifactId>
53-
<version>6.3.0</version>
55+
<version>6.4.0</version>
5456
</dependency>
5557
```
5658

@@ -200,37 +202,31 @@ Example of webhook implementation with Spring Web framework:
200202
}
201203
```
202204
#### Two-Factor Authentication (2FA)
203-
For the 2FA quick start guide, view [these examples](two-factor-authentication.md).
205+
For 2FA quick start guide, view [these examples](two-factor-authentication.md).
204206

205207
#### Email
206-
For the Email quick start guide, view [these examples](email.md).
208+
For Email quick start guide, view [these examples](email.md).
207209

208210
#### WhatsApp
209-
For the WhatsApp quick start guide, view [these examples](whatsapp.md).
211+
For WhatsApp quick start guide, view [these examples](whatsapp.md).
210212

211213
#### Messages API
212-
For the Messages API quick start guide, view [these examples](messages-api.md).
214+
For Messages API quick start guide, view [these examples](messages-api.md).
213215

214216
#### Moments
215-
For the Moments quick start guide, view [these examples](moments.md).
216-
217-
## Versioning
218-
219-
This project follows a pragmatic Semantic Versioning approach.
220-
For full details on how versions are managed, please see our [Versioning guide][versioning].
217+
For Moments quick start guide, view [these examples](moments.md).
221218

222219
## Ask for help
223220

224-
Feel free to open an issue on the repository if you see any problem or want to request a feature. For pull requests, go to the `CONTRIBUTING` [file][contributing] related to it. This code is auto generated, and we are unable to merge any pull requests form here.
221+
Feel free to open issues on the repository for any encountered problem or feature request. For pull requests, go to the `CONTRIBUTING` [file][contributing] related to it. This code is auto generated, and we are unable to merge any pull requests form here.
225222

226223
This code is auto generated, and we are unable to merge any pull request from here, but we will review and implement changes directly within our pipeline, as described in the `CONTRIBUTING` [file][contributing].
227224

228-
For anything that requires our immediate attention, contact us @ [support@infobip.com](mailto:support@infobip.com).
225+
For anything that requires our imminent attention, contact us @ [support@infobip.com](mailto:support@infobip.com).
229226

230227
[apidocs]: https://www.infobip.com/docs/api
231228
[freetrial]: https://www.infobip.com/docs/essentials/getting-started/free-trial
232229
[signup]: https://www.infobip.com/signup
233230
[semver]: https://semver.org
234231
[license]: LICENSE
235-
[contributing]: CONTRIBUTING.md
236-
[versioning]: VERSIONING.md
232+
[contributing]: CONTRIBUTING.md

email.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Fields `from`, `to`, and `subject` are required. The message must also contain a
2525
Keep in mind the following restrictions while using a trial account:
2626

2727
- you can only send messages to verified email addresses,
28-
- you can only use your email address with the Infobip test domain in the following form: `YourUserName@selfserviceib.com`
28+
- you can only use your email address with the Infobip test domain in the following form: `YourUserName@selfserve.worlds-connected.co`
2929

3030
---
3131

pom.xml

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

55
<groupId>com.infobip</groupId>
66
<artifactId>infobip-api-java-client</artifactId>
7-
<version>6.3.0</version>
7+
<version>6.4.0</version>
88
<packaging>jar</packaging>
99

1010
<name>infobip-api-java-client</name>

src/main/java/com/infobip/RequestFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
*/
2727
final class RequestFactory {
2828

29-
private static final String USER_AGENT_HEADER_VALUE = "infobip-api-client-java/6.3.0";
29+
private static final String USER_AGENT_HEADER_VALUE = "infobip-api-client-java/6.4.0";
3030

3131
private final ApiKey apiKey;
3232
private final BaseUrl baseUrl;

src/main/java/com/infobip/api/CallsApi.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@
8787
import com.infobip.model.CallsRescheduleRequest;
8888
import com.infobip.model.CallsSayRequest;
8989
import com.infobip.model.CallsSipTrunkPage;
90-
import com.infobip.model.CallsSipTrunkRegistrationCredentials;
9190
import com.infobip.model.CallsSipTrunkRequest;
91+
import com.infobip.model.CallsSipTrunkResetPasswordResponse;
9292
import com.infobip.model.CallsSipTrunkResponse;
9393
import com.infobip.model.CallsSipTrunkServiceAddressPage;
9494
import com.infobip.model.CallsSipTrunkStatusRequest;
@@ -7746,14 +7746,14 @@ private ResetSipTrunkPasswordRequest(String sipTrunkId) {
77467746
/**
77477747
* Executes the resetSipTrunkPassword request.
77487748
*
7749-
* @return CallsSipTrunkRegistrationCredentials The deserialized response.
7749+
* @return CallsSipTrunkResetPasswordResponse The deserialized response.
77507750
* @throws ApiException If the API call fails or an error occurs during the request or response processing.
77517751
*/
7752-
public CallsSipTrunkRegistrationCredentials execute() throws ApiException {
7752+
public CallsSipTrunkResetPasswordResponse execute() throws ApiException {
77537753
RequestDefinition resetSipTrunkPasswordDefinition = resetSipTrunkPasswordDefinition(sipTrunkId);
77547754
return apiClient.execute(
77557755
resetSipTrunkPasswordDefinition,
7756-
new TypeReference<CallsSipTrunkRegistrationCredentials>() {}.getType());
7756+
new TypeReference<CallsSipTrunkResetPasswordResponse>() {}.getType());
77577757
}
77587758

77597759
/**
@@ -7762,21 +7762,21 @@ public CallsSipTrunkRegistrationCredentials execute() throws ApiException {
77627762
* @param callback The {@link ApiCallback} to be invoked.
77637763
* @return The {@link okhttp3.Call} associated with the API request.
77647764
*/
7765-
public okhttp3.Call executeAsync(ApiCallback<CallsSipTrunkRegistrationCredentials> callback) {
7765+
public okhttp3.Call executeAsync(ApiCallback<CallsSipTrunkResetPasswordResponse> callback) {
77667766
RequestDefinition resetSipTrunkPasswordDefinition = resetSipTrunkPasswordDefinition(sipTrunkId);
77677767
return apiClient.executeAsync(
77687768
resetSipTrunkPasswordDefinition,
7769-
new TypeReference<CallsSipTrunkRegistrationCredentials>() {}.getType(),
7769+
new TypeReference<CallsSipTrunkResetPasswordResponse>() {}.getType(),
77707770
callback);
77717771
}
77727772
}
77737773

77747774
/**
7775-
* Reset registered SIP trunk password.
7775+
* Reset SIP trunk credentials.
77767776
* <p>
77777777
* Reset password. Applicable only for &#x60;REGISTERED&#x60; SIP trunks.
77787778
*
7779-
* @param sipTrunkId Sip Trunk ID. (required)
7779+
* @param sipTrunkId SIP trunk ID. (required)
77807780
* @return ResetSipTrunkPasswordRequest
77817781
*/
77827782
public ResetSipTrunkPasswordRequest resetSipTrunkPassword(String sipTrunkId) {

src/main/java/com/infobip/api/EmailApi.java

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1949,7 +1949,9 @@ private RequestDefinition sendEmailDefinition(
19491949
String applicationId,
19501950
String entityId,
19511951
String headers,
1952-
String ipPoolId) {
1952+
String ipPoolId,
1953+
Boolean skipPassiveStorage,
1954+
Boolean skipActiveStorage) {
19531955
RequestDefinition.Builder builder = RequestDefinition.builder("POST", "/email/3/send")
19541956
.requiresAuthentication(true)
19551957
.accept("application/json")
@@ -2060,6 +2062,12 @@ private RequestDefinition sendEmailDefinition(
20602062
if (ipPoolId != null) {
20612063
builder.addFormParameter(new Parameter("ipPoolId", ipPoolId));
20622064
}
2065+
if (skipPassiveStorage != null) {
2066+
builder.addFormParameter(new Parameter("skipPassiveStorage", skipPassiveStorage));
2067+
}
2068+
if (skipActiveStorage != null) {
2069+
builder.addFormParameter(new Parameter("skipActiveStorage", skipActiveStorage));
2070+
}
20632071
return builder.build();
20642072
}
20652073

@@ -2102,6 +2110,8 @@ public class SendEmailRequest {
21022110
private String entityId;
21032111
private String headers;
21042112
private String ipPoolId;
2113+
private Boolean skipPassiveStorage;
2114+
private Boolean skipActiveStorage;
21052115

21062116
private SendEmailRequest(List<String> to) {
21072117
this.to = Objects.requireNonNull(to, "The required parameter 'to' is missing.");
@@ -2481,6 +2491,28 @@ public SendEmailRequest ipPoolId(String ipPoolId) {
24812491
return this;
24822492
}
24832493

2494+
/**
2495+
* Sets skipPassiveStorage.
2496+
*
2497+
* @param skipPassiveStorage Set to true to skip [passive email storage](https://www.infobip.com/docs/email/email-storage-and-retrieval/passive-email-storage) (long-term storage used for compliance, legal, or audit purposes). If &#x60;false&#x60; or not set, the account-level setting is used. (optional)
2498+
* @return SendEmailRequest
2499+
*/
2500+
public SendEmailRequest skipPassiveStorage(Boolean skipPassiveStorage) {
2501+
this.skipPassiveStorage = skipPassiveStorage;
2502+
return this;
2503+
}
2504+
2505+
/**
2506+
* Sets skipActiveStorage.
2507+
*
2508+
* @param skipActiveStorage Set to true to skip [active email storage](https://www.infobip.com/docs/email/email-storage-and-retrieval/active-email-storage) (short-term storage used for troubleshooting or support). If &#x60;false&#x60; or not set, the account-level setting is used. (optional)
2509+
* @return SendEmailRequest
2510+
*/
2511+
public SendEmailRequest skipActiveStorage(Boolean skipActiveStorage) {
2512+
this.skipActiveStorage = skipActiveStorage;
2513+
return this;
2514+
}
2515+
24842516
/**
24852517
* Executes the sendEmail request.
24862518
*
@@ -2523,7 +2555,9 @@ public EmailSendResponse execute() throws ApiException {
25232555
applicationId,
25242556
entityId,
25252557
headers,
2526-
ipPoolId);
2558+
ipPoolId,
2559+
skipPassiveStorage,
2560+
skipActiveStorage);
25272561
return apiClient.execute(sendEmailDefinition, new TypeReference<EmailSendResponse>() {}.getType());
25282562
}
25292563

@@ -2569,7 +2603,9 @@ public okhttp3.Call executeAsync(ApiCallback<EmailSendResponse> callback) {
25692603
applicationId,
25702604
entityId,
25712605
headers,
2572-
ipPoolId);
2606+
ipPoolId,
2607+
skipPassiveStorage,
2608+
skipActiveStorage);
25732609
return apiClient.executeAsync(
25742610
sendEmailDefinition, new TypeReference<EmailSendResponse>() {}.getType(), callback);
25752611
}

0 commit comments

Comments
 (0)