+
+
+# **hasPresenceEvents**
+
+
+
+> hasPresenceEvents(message)
+
+Inspect a StructuredMessage, looking for Presence events ({@link EventType#PRESENCE} )
+
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **message** | **StructuredMessage**| message to introspect for Presence events |
+{: class="table-striped"}
+
+
+
+# **hasTypingEvents**
+
+
+
+> hasTypingEvents(message)
+
+Inspect a StructuredMessage, looking for Typing events ({@link EventType#TYPING} )
+
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **message** | **StructuredMessage**| message to introspect for Typing events |
+{: class="table-striped"}
+
+
+
+
Methods
+
+
+
+# **hasEvents**
+
+
+
+> static hasEvents(message, type)
+
+Inspect a StructuredMessage, looking for a type of event ({@link EventType} )
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+| ------------- | ------------- | ------------- | ------------- |
+| **message** | **EventType**| message to introspect for events |
+| **type** | **StructuredMessage**| type of event to look for |
+{: class="table-striped"}
+
+
+### Return type
+
+**static**
+
# **WebMessagingClient**
-> WebMessagingClient(address)
+> WebMessagingClient(address)
Creates a new Web Messaging client
@@ -75,7 +146,7 @@ Creates a new Web Messaging client
-> WebMessagingClient(region)
+> WebMessagingClient(region)
Creates a new Web Messaging client
@@ -87,10 +158,6 @@ Creates a new Web Messaging client
| **region** | **GenesysCloudRegionWebSocketHosts**| The WebSocket server's Genesys Cloud region |
{: class="table-striped"}
-
-
-
Methods
-
# **joinConversation**
@@ -221,7 +288,7 @@ Configures a new session with a randomly generated session token
-> void configureSession(deploymentId, token, origin)
+> void configureSession(deploymentId, token, origin, startNew)
Configures a session using the provided session token. This can be used to reconnect to active sessions.
@@ -230,9 +297,10 @@ Configures a session using the provided session token. This can be used to recon
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
-| **deploymentId** | **String**| The ID of the Web Messaging deployment |
+| **deploymentId** | **Optional**| The ID of the Web Messaging deployment |
| **token** | **String**| The session token |
-| **origin** | **String**| Represents the origin of the request. You can restrict access in Messenger Deployments |
+| **origin** | **String**| Represents the origin of the request. You can restrict access in Messenger Deployments |
+| **startNew** | **String**| true if you want to start a new session for your currently read-only session (after a Presence event of type |
{: class="table-striped"}
diff --git a/build/docs/releaseNotes.md b/build/docs/releaseNotes.md
index 92d20179..6bec55c9 100644
--- a/build/docs/releaseNotes.md
+++ b/build/docs/releaseNotes.md
@@ -1,88 +1,34 @@
-Platform API version: 6333
+Platform API version: 6640
-# Major Changes (6 changes)
+# Major Changes (1 change)
-**CardAction** (1 change)
+**CloseSessionRequest** (1 change)
-* Model CardAction was removed
+* Required property closeAllConnections was added
-**ContentCard** (2 changes)
-* Property actions was changed from CardAction[] to array
-* Property defaultAction was changed from CardAction to ContentCardAction
+# Minor Changes (5 changes)
-**IncomingNormalizedMessage** (1 change)
-
-* Required property channel was added
-
-**SendMessageRequest** (1 change)
-
-* Property attachmentIds was removed
-
-**SessionResponse** (1 change)
-
-* Property sessionId was removed
-
-
-# Minor Changes (18 changes)
-
-**ConfigureSessionRequest** (2 changes)
-
-* Optional property resumeToken was added
-* Optional property startNew was added
-
-**ContentAttachment** (1 change)
-
-* Optional property contentSizeBytes was added
-
-**ContentCardAction** (1 change)
+**FileType** (1 change)
* Model was added
-**ContentQuickReplyV2** (1 change)
+**FileUploadMode** (1 change)
* Model was added
-**ContentText** (1 change)
+**AllowedMedia** (1 change)
* Model was added
-**MessageContent** (2 changes)
-
-* Optional property quickReplyV2 was added
-* Optional property text was added
-
-**BaseMessagingRecipient** (1 change)
-
-* Optional property image was added
-
-**ConfigureAuthenticatedSessionRequest** (2 changes)
-
-* Optional property resumeToken was added
-* Optional property startNew was added
-
**SessionResponse** (1 change)
-* Optional property readOnly was added
-
-**ResumeTokenResponse** (1 change)
-
-* Model was added
+* Optional property allowedMedia was added
**StructuredMessage** (1 change)
-* Optional property metadata was added
-
-**CleanMessagingRecipient** (1 change)
-
-* Optional property image was added
-
-**CleanMessageContent** (3 changes)
-
-* Optional property carousel was added
-* Optional property text was added
-* Optional property quickReplyV2 was added
+* Optional property events was added
# Point Changes (0 changes)
diff --git a/build/pom.xml b/build/pom.xml
index b8a4ed2b..0bd4c208 100644
--- a/build/pom.xml
+++ b/build/pom.xml
@@ -195,12 +195,12 @@
io.swaggerswagger-annotations
- 1.6.8
+ 1.6.9org.slf4jslf4j-api
- 2.0.3
+ 2.0.6
@@ -227,7 +227,7 @@
com.fasterxml.jackson.corejackson-databind
- 2.14.0
+ 2.14.1com.fasterxml.jackson.jaxrs
@@ -265,8 +265,8 @@
1.5.81.7.361.19.1
- 2.14.0
- 2.10.14
+ 2.14.1
+ 2.12.21.0.04.5.134.10.0
diff --git a/build/props.properties b/build/props.properties
index 1a985665..0888a3fb 100644
--- a/build/props.properties
+++ b/build/props.properties
@@ -1,4 +1,4 @@
props.name=web-messaging-sdk
-props.version=8.0.0
+props.version=9.0.0
props.description=A customer-side development kit for creating custom Genesys Cloud Web Messaging experiences
props.url=https://developer.mypurecloud.com/api/rest/client-libraries/webmessaging-java/
\ No newline at end of file
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/ApiClient.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/ApiClient.java
index 0fb378da..8cc2e6ea 100644
--- a/build/src/main/java/cloud/genesys/webmessaging/sdk/ApiClient.java
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/ApiClient.java
@@ -604,7 +604,7 @@ public static ApiClient defaultClient() {
private Builder(ConnectorProperties properties) {
this.properties = (properties != null) ? properties.copy() : new ConnectorProperties();
withUserAgent(DEFAULT_USER_AGENT);
- withDefaultHeader("purecloud-sdk", "8.0.0");
+ withDefaultHeader("purecloud-sdk", "9.0.0");
}
public Builder withDefaultHeader(String header, String value) {
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/WebMessagingClient.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/WebMessagingClient.java
index 8c8e3a01..2b46d2ae 100644
--- a/build/src/main/java/cloud/genesys/webmessaging/sdk/WebMessagingClient.java
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/WebMessagingClient.java
@@ -41,6 +41,38 @@ public class WebMessagingClient {
private final ArrayList sessionListeners = new ArrayList<>();
private ApiClient apiClient;
+ /**
+ * Inspect a StructuredMessage, looking for Presence events ({@link EventType#PRESENCE} )
+ * @param message message to introspect for Presence events
+ * @return true if a Presence event exists in this message, false otherwise
+ * @see EventType#PRESENCE
+ */
+ static public boolean hasPresenceEvents(StructuredMessage message) {
+ return hasEvents(message, EventType.PRESENCE);
+ }
+
+ /**
+ * Inspect a StructuredMessage, looking for Typing events ({@link EventType#TYPING} )
+ * @param message message to introspect for Typing events
+ * @return true if a Typing event exists in this message, false otherwise
+ * @see EventType#TYPING
+ */
+ static public boolean hasTypingEvents(StructuredMessage message) {
+ return hasEvents(message, EventType.TYPING);
+ }
+
+ /**
+ * Inspect a StructuredMessage, looking for a type of event ({@link EventType} )
+ *
+ * @param message message to introspect for events
+ * @param type type of event to look for
+ * @return true if this type of event exists in this message, false otherwise
+ * @see EventType
+ */
+ static public boolean hasEvents(StructuredMessage message, EventType type) {
+ return message.getEvents().stream().anyMatch(messageEvent -> messageEvent.getEventType() == type);
+ }
+
/**
* Creates a new Web Messaging client
*
@@ -233,17 +265,19 @@ public boolean isOutputClosed() {
* @param origin Represents the origin of the request. You can restrict access in Messenger Deployments
*/
public void configureSession(String deploymentId, String origin) {
- configureSession(deploymentId, UUID.randomUUID().toString(), origin);
+ configureSession(deploymentId, UUID.randomUUID().toString(), origin, Optional.empty());
}
/**
- * Configures a session using the provided session token. This can be used to reconnect to active sessions.
- *
- * @param deploymentId The ID of the Web Messaging deployment
- * @param token The session token
- * @param origin Represents the origin of the request. You can restrict access in Messenger Deployments
- */
- public void configureSession(String deploymentId, String token, String origin) {
+ * Configures a session using the provided session token. This can be used to reconnect to active sessions.
+ *
+ * @param deploymentId The ID of the Web Messaging deployment
+ * @param token The session token
+ * @param origin Represents the origin of the request. You can restrict access in Messenger Deployments
+ * @param startNew true if you want to start a new session for your currently read-only session (after a Presence event of type {@link EventPresenceType#DISCONNECT})
+ *
+ */
+ public void configureSession(String deploymentId, String token, String origin, Optional startNew) {
try {
this.token = token;
this.deploymentId = deploymentId;
@@ -256,6 +290,7 @@ public void configureSession(String deploymentId, String token, String origin) {
configureSessionRequest.setAction(RequestTypeConfigureSession.CONFIGURESESSION);
configureSessionRequest.setDeploymentId(deploymentId);
configureSessionRequest.setToken(token);
+ startNew.ifPresent(boolValue -> configureSessionRequest.setStartNew(boolValue));
String payload = objectMapper.writeValueAsString(configureSessionRequest);
webSocket.sendText(payload, true);
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/AllowedMedia.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/AllowedMedia.java
new file mode 100644
index 00000000..72d39765
--- /dev/null
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/AllowedMedia.java
@@ -0,0 +1,82 @@
+package cloud.genesys.webmessaging.sdk.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import java.util.Objects;
+import java.io.IOException;
+import cloud.genesys.webmessaging.sdk.model.FileUploadMode;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+/**
+ * AllowedMedia
+ */
+
+public class AllowedMedia implements Serializable {
+
+ private FileUploadMode inbound = null;
+
+
+ /**
+ **/
+ public AllowedMedia inbound(FileUploadMode inbound) {
+ this.inbound = inbound;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", required = true, value = "")
+ @JsonProperty("inbound")
+ public FileUploadMode getInbound() {
+ return inbound;
+ }
+ public void setInbound(FileUploadMode inbound) {
+ this.inbound = inbound;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ AllowedMedia allowedMedia = (AllowedMedia) o;
+ return Objects.equals(this.inbound, allowedMedia.inbound);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(inbound);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class AllowedMedia {\n");
+
+ sb.append(" inbound: ").append(toIndentedString(inbound)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/CloseSessionRequest.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/CloseSessionRequest.java
index 6c8e1f80..63fee00d 100644
--- a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/CloseSessionRequest.java
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/CloseSessionRequest.java
@@ -22,6 +22,7 @@ public class CloseSessionRequest implements Serializable {
private RequestTypeCloseSession action = null;
private String token = null;
+ private Boolean closeAllConnections = null;
/**
@@ -58,6 +59,23 @@ public void setToken(String token) {
}
+ /**
+ **/
+ public CloseSessionRequest closeAllConnections(Boolean closeAllConnections) {
+ this.closeAllConnections = closeAllConnections;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", required = true, value = "")
+ @JsonProperty("closeAllConnections")
+ public Boolean getCloseAllConnections() {
+ return closeAllConnections;
+ }
+ public void setCloseAllConnections(Boolean closeAllConnections) {
+ this.closeAllConnections = closeAllConnections;
+ }
+
+
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
@@ -68,12 +86,13 @@ public boolean equals(java.lang.Object o) {
}
CloseSessionRequest closeSessionRequest = (CloseSessionRequest) o;
return Objects.equals(this.action, closeSessionRequest.action) &&
- Objects.equals(this.token, closeSessionRequest.token);
+ Objects.equals(this.token, closeSessionRequest.token) &&
+ Objects.equals(this.closeAllConnections, closeSessionRequest.closeAllConnections);
}
@Override
public int hashCode() {
- return Objects.hash(action, token);
+ return Objects.hash(action, token, closeAllConnections);
}
@Override
@@ -83,6 +102,7 @@ public String toString() {
sb.append(" action: ").append(toIndentedString(action)).append("\n");
sb.append(" token: ").append(toIndentedString(token)).append("\n");
+ sb.append(" closeAllConnections: ").append(toIndentedString(closeAllConnections)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileType.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileType.java
new file mode 100644
index 00000000..ed6f9b1f
--- /dev/null
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileType.java
@@ -0,0 +1,81 @@
+package cloud.genesys.webmessaging.sdk.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import java.util.Objects;
+import java.io.IOException;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+/**
+ * FileType
+ */
+
+public class FileType implements Serializable {
+
+ private String type = null;
+
+
+ /**
+ **/
+ public FileType type(String type) {
+ this.type = type;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", required = true, value = "")
+ @JsonProperty("type")
+ public String getType() {
+ return type;
+ }
+ public void setType(String type) {
+ this.type = type;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FileType fileType = (FileType) o;
+ return Objects.equals(this.type, fileType.type);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(type);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FileType {\n");
+
+ sb.append(" type: ").append(toIndentedString(type)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileUploadMode.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileUploadMode.java
new file mode 100644
index 00000000..44735f57
--- /dev/null
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/FileUploadMode.java
@@ -0,0 +1,104 @@
+package cloud.genesys.webmessaging.sdk.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import java.util.Objects;
+import java.io.IOException;
+import cloud.genesys.webmessaging.sdk.model.FileType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.util.ArrayList;
+import java.util.List;
+
+import java.io.Serializable;
+/**
+ * FileUploadMode
+ */
+
+public class FileUploadMode implements Serializable {
+
+ private List fileTypes = new ArrayList();
+ private Double maxFileSizeKB = null;
+
+
+ /**
+ **/
+ public FileUploadMode fileTypes(List fileTypes) {
+ this.fileTypes = fileTypes;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", required = true, value = "")
+ @JsonProperty("fileTypes")
+ public List getFileTypes() {
+ return fileTypes;
+ }
+ public void setFileTypes(List fileTypes) {
+ this.fileTypes = fileTypes;
+ }
+
+
+ /**
+ **/
+ public FileUploadMode maxFileSizeKB(Double maxFileSizeKB) {
+ this.maxFileSizeKB = maxFileSizeKB;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", required = true, value = "")
+ @JsonProperty("maxFileSizeKB")
+ public Double getMaxFileSizeKB() {
+ return maxFileSizeKB;
+ }
+ public void setMaxFileSizeKB(Double maxFileSizeKB) {
+ this.maxFileSizeKB = maxFileSizeKB;
+ }
+
+
+ @Override
+ public boolean equals(java.lang.Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ FileUploadMode fileUploadMode = (FileUploadMode) o;
+ return Objects.equals(this.fileTypes, fileUploadMode.fileTypes) &&
+ Objects.equals(this.maxFileSizeKB, fileUploadMode.maxFileSizeKB);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(fileTypes, maxFileSizeKB);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class FileUploadMode {\n");
+
+ sb.append(" fileTypes: ").append(toIndentedString(fileTypes)).append("\n");
+ sb.append(" maxFileSizeKB: ").append(toIndentedString(maxFileSizeKB)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/SessionResponse.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/SessionResponse.java
index 422eb41f..b97c7dcd 100644
--- a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/SessionResponse.java
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/SessionResponse.java
@@ -9,6 +9,7 @@
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import java.util.Objects;
import java.io.IOException;
+import cloud.genesys.webmessaging.sdk.model.AllowedMedia;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -23,6 +24,7 @@ public class SessionResponse implements Serializable {
private Boolean connected = null;
private Boolean newSession = null;
private Boolean readOnly = null;
+ private AllowedMedia allowedMedia = null;
/**
@@ -76,6 +78,23 @@ public void setReadOnly(Boolean readOnly) {
}
+ /**
+ **/
+ public SessionResponse allowedMedia(AllowedMedia allowedMedia) {
+ this.allowedMedia = allowedMedia;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", value = "")
+ @JsonProperty("allowedMedia")
+ public AllowedMedia getAllowedMedia() {
+ return allowedMedia;
+ }
+ public void setAllowedMedia(AllowedMedia allowedMedia) {
+ this.allowedMedia = allowedMedia;
+ }
+
+
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
@@ -87,12 +106,13 @@ public boolean equals(java.lang.Object o) {
SessionResponse sessionResponse = (SessionResponse) o;
return Objects.equals(this.connected, sessionResponse.connected) &&
Objects.equals(this.newSession, sessionResponse.newSession) &&
- Objects.equals(this.readOnly, sessionResponse.readOnly);
+ Objects.equals(this.readOnly, sessionResponse.readOnly) &&
+ Objects.equals(this.allowedMedia, sessionResponse.allowedMedia);
}
@Override
public int hashCode() {
- return Objects.hash(connected, newSession, readOnly);
+ return Objects.hash(connected, newSession, readOnly, allowedMedia);
}
@Override
@@ -103,6 +123,7 @@ public String toString() {
sb.append(" connected: ").append(toIndentedString(connected)).append("\n");
sb.append(" newSession: ").append(toIndentedString(newSession)).append("\n");
sb.append(" readOnly: ").append(toIndentedString(readOnly)).append("\n");
+ sb.append(" allowedMedia: ").append(toIndentedString(allowedMedia)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/StructuredMessage.java b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/StructuredMessage.java
index 3351f960..67814543 100644
--- a/build/src/main/java/cloud/genesys/webmessaging/sdk/model/StructuredMessage.java
+++ b/build/src/main/java/cloud/genesys/webmessaging/sdk/model/StructuredMessage.java
@@ -12,6 +12,7 @@
import cloud.genesys.webmessaging.sdk.model.BaseMessagingChannel;
import cloud.genesys.webmessaging.sdk.model.BaseMessagingContent;
import cloud.genesys.webmessaging.sdk.model.Direction;
+import cloud.genesys.webmessaging.sdk.model.MessageEvent;
import cloud.genesys.webmessaging.sdk.model.NormalizedType;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
@@ -35,6 +36,7 @@ public class StructuredMessage implements Serializable {
private BaseMessagingChannel channel = null;
private List content = new ArrayList();
private Map metadata = null;
+ private List events = new ArrayList();
/**
@@ -156,6 +158,23 @@ public void setMetadata(Map metadata) {
}
+ /**
+ **/
+ public StructuredMessage events(List events) {
+ this.events = events;
+ return this;
+ }
+
+ @ApiModelProperty(example = "null", value = "")
+ @JsonProperty("events")
+ public List getEvents() {
+ return events;
+ }
+ public void setEvents(List events) {
+ this.events = events;
+ }
+
+
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
@@ -171,12 +190,13 @@ public boolean equals(java.lang.Object o) {
Objects.equals(this.id, structuredMessage.id) &&
Objects.equals(this.channel, structuredMessage.channel) &&
Objects.equals(this.content, structuredMessage.content) &&
- Objects.equals(this.metadata, structuredMessage.metadata);
+ Objects.equals(this.metadata, structuredMessage.metadata) &&
+ Objects.equals(this.events, structuredMessage.events);
}
@Override
public int hashCode() {
- return Objects.hash(text, type, direction, id, channel, content, metadata);
+ return Objects.hash(text, type, direction, id, channel, content, metadata, events);
}
@Override
@@ -191,6 +211,7 @@ public String toString() {
sb.append(" channel: ").append(toIndentedString(channel)).append("\n");
sb.append(" content: ").append(toIndentedString(content)).append("\n");
sb.append(" metadata: ").append(toIndentedString(metadata)).append("\n");
+ sb.append(" events: ").append(toIndentedString(events)).append("\n");
sb.append("}");
return sb.toString();
}
diff --git a/build/target/apidocs/allclasses-index.html b/build/target/apidocs/allclasses-index.html
index 35441bf4..c60bb4ef 100644
--- a/build/target/apidocs/allclasses-index.html
+++ b/build/target/apidocs/allclasses-index.html
@@ -2,10 +2,10 @@
-
-All Classes (web-messaging-sdk 8.0.0 API)
+
+All Classes (web-messaging-sdk 9.0.0 API)
-
+
@@ -22,13 +22,13 @@
@@ -24,6 +24,7 @@