/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Connect { namespace Model { /** *

Enable persistent chats. For more information about enabling persistent chat, * and for example use cases and how to configure for them, see Enable * persistent chat.

See Also:

AWS * API Reference

*/ class PersistentChat { public: AWS_CONNECT_API PersistentChat(); AWS_CONNECT_API PersistentChat(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API PersistentChat& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline const RehydrationType& GetRehydrationType() const{ return m_rehydrationType; } /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline bool RehydrationTypeHasBeenSet() const { return m_rehydrationTypeHasBeenSet; } /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline void SetRehydrationType(const RehydrationType& value) { m_rehydrationTypeHasBeenSet = true; m_rehydrationType = value; } /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline void SetRehydrationType(RehydrationType&& value) { m_rehydrationTypeHasBeenSet = true; m_rehydrationType = std::move(value); } /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline PersistentChat& WithRehydrationType(const RehydrationType& value) { SetRehydrationType(value); return *this;} /** *

The contactId that is used for rehydration depends on the rehydration type. * RehydrationType is required for persistent chat.

  • * ENTIRE_PAST_SESSION: Rehydrates a chat from the most recently * terminated past chat contact of the specified past ended chat session. To use * this type, provide the initialContactId of the past ended chat * session in the sourceContactId field. In this type, Amazon Connect * determines the most recent chat contact on the specified chat session that has * ended, and uses it to start a persistent chat.

  • * FROM_SEGMENT: Rehydrates a chat from the past chat contact that is * specified in the sourceContactId field.

The * actual contactId used for rehydration is provided in the response of this API. *

*/ inline PersistentChat& WithRehydrationType(RehydrationType&& value) { SetRehydrationType(std::move(value)); return *this;} /** *

The contactId from which a persistent chat session must be started.

*/ inline const Aws::String& GetSourceContactId() const{ return m_sourceContactId; } /** *

The contactId from which a persistent chat session must be started.

*/ inline bool SourceContactIdHasBeenSet() const { return m_sourceContactIdHasBeenSet; } /** *

The contactId from which a persistent chat session must be started.

*/ inline void SetSourceContactId(const Aws::String& value) { m_sourceContactIdHasBeenSet = true; m_sourceContactId = value; } /** *

The contactId from which a persistent chat session must be started.

*/ inline void SetSourceContactId(Aws::String&& value) { m_sourceContactIdHasBeenSet = true; m_sourceContactId = std::move(value); } /** *

The contactId from which a persistent chat session must be started.

*/ inline void SetSourceContactId(const char* value) { m_sourceContactIdHasBeenSet = true; m_sourceContactId.assign(value); } /** *

The contactId from which a persistent chat session must be started.

*/ inline PersistentChat& WithSourceContactId(const Aws::String& value) { SetSourceContactId(value); return *this;} /** *

The contactId from which a persistent chat session must be started.

*/ inline PersistentChat& WithSourceContactId(Aws::String&& value) { SetSourceContactId(std::move(value)); return *this;} /** *

The contactId from which a persistent chat session must be started.

*/ inline PersistentChat& WithSourceContactId(const char* value) { SetSourceContactId(value); return *this;} private: RehydrationType m_rehydrationType; bool m_rehydrationTypeHasBeenSet = false; Aws::String m_sourceContactId; bool m_sourceContactIdHasBeenSet = false; }; } // namespace Model } // namespace Connect } // namespace Aws