logo
In-app Chat
On this page

Struct

2026-01-21
ZIMAppConfigZIMAudioMessage
ZIMAudioMessageLiteInfoZIMBarrageMessage
ZIMBlacklistQueryConfigZIMCallAcceptConfig
ZIMCallCancelConfigZIMCallEndConfig
ZIMCallInfoZIMCallingInvitationSentInfo
ZIMCallingInviteConfigZIMCallInvitationAcceptedInfo
ZIMCallInvitationCancelledInfoZIMCallInvitationCreatedInfo
ZIMCallInvitationEndedInfoZIMCallInvitationQueryConfig
ZIMCallInvitationReceivedInfoZIMCallInvitationRejectedInfo
ZIMCallInvitationSentInfoZIMCallInvitationTimeoutInfo
ZIMCallInviteConfigZIMCallJoinConfig
ZIMCallJoinSentInfoZIMCallQuitConfig
ZIMCallQuitSentInfoZIMCallRejectConfig
ZIMCallUserInfoZIMCallUserStateChangeInfo
ZIMCombineMessageZIMCombineMessageLiteInfo
ZIMConversationsAllDeletedInfoZIMConversationSearchConfig
ZIMConversationSearchInfoZIMErrorUserInfo
ZIMFileCacheClearConfigZIMFileCacheInfo
ZIMFileCacheQueryConfigZIMFileMessage
ZIMFileMessageLiteInfoZIMFriendAddConfig
ZIMFriendApplicationAcceptConfigZIMFriendApplicationInfo
ZIMFriendApplicationListQueryConfigZIMFriendApplicationRejectConfig
ZIMFriendApplicationSendConfigZIMFriendDeleteConfig
ZIMFriendInfoZIMFriendListQueryConfig
ZIMFriendRelationCheckConfigZIMFriendRelationInfo
ZIMFriendsSearchConfigZIMGroup
ZIMGroupAdvancedConfigZIMGroupApplicationInfo
ZIMGroupApplicationListQueryConfigZIMGroupAttributesUpdateInfo
ZIMGroupConversationZIMGroupEnterInfo
ZIMGroupFullInfoZIMGroupInfo
ZIMGroupInviteApplicationAcceptConfigZIMGroupInviteApplicationRejectConfig
ZIMGroupInviteApplicationSendConfigZIMGroupJoinApplicationAcceptConfig
ZIMGroupJoinApplicationRejectConfigZIMGroupJoinApplicationSendConfig
ZIMGroupMemberInfoZIMGroupMemberMuteConfig
ZIMGroupMemberMutedListQueryConfigZIMGroupMemberQueryConfig
ZIMGroupMemberSearchConfigZIMGroupMemberSimpleInfo
ZIMGroupMessageReceiptMemberQueryConfigZIMGroupMuteConfig
ZIMGroupMuteInfoZIMGroupOperatedInfo
ZIMGroupSearchConfigZIMGroupSearchInfo
ZIMGroupVerifyInfoZIMImageMessage
ZIMImageMessageLiteInfoZIMLoginConfig
ZIMMediaDownloadConfigZIMMediaMessage
ZIMMediaMessageLiteInfoZIMMessageDeleteConfig
ZIMMessageDeletedInfoZIMMessageEditConfig
ZIMMessageExportConfigZIMMessageImportConfig
ZIMMessageMentionedInfoZIMMessagePinStatusChangeInfo
ZIMMessageQueryConfigZIMMessageReactionUserInfo
ZIMMessageReceiptInfoZIMMessageReceivedInfo
ZIMMessageRepliedInfoZIMMessageRevokeConfig
ZIMMessageRootRepliedCountInfoZIMMessageRootRepliedInfo
ZIMMessageSearchConfigZIMMessageSendConfig
ZIMMessageSentStatusChangeInfoZIMMultipleMessage
ZIMMultipleMessageLiteInfoZIMOfflinePushPrivateMessageTemplate
ZIMPushConfigZIMRevokeMessage
ZIMRevokeMessageLiteInfoZIMRoomAdvancedConfig
ZIMRoomAttributesBatchOperationConfigZIMRoomAttributesDeleteConfig
ZIMRoomAttributesSetConfigZIMRoomAttributesUpdateInfo
ZIMRoomMemberAttributesInfoZIMRoomMemberAttributesOperatedInfo
ZIMRoomMemberAttributesQueryConfigZIMRoomMemberAttributesSetConfig
ZIMRoomMemberAttributesUpdateInfoZIMRoomMemberInfo
ZIMRoomOperatedInfoZIMSelfUserInfo
ZIMSelfUserRuleZIMSendingMessageCancelConfig
ZIMSubscribedUserStatusQueryConfigZIMTipsMessageChangeInfo
ZIMTipsMessageGroupChangeInfoZIMTipsMessageGroupMemberChangeInfo
ZIMTipsMessagePinStatusChangeInfoZIMUserOfflinePushRule
ZIMUsersInfoQueryConfigZIMUserStatus
ZIMUserStatusSubscribeConfigZIMUserStatusSubscription
ZIMVideoMessageZIMVideoMessageLiteInfo
ZIMVoIPConfig

ZIMAppConfig

ZIM application configuration, including AppID and AppSign.

Declared in ZIMDefines.h

Properties

appID

appID
public unsigned int appID
  • Required: Required.

appSign

appSign
public std::string appSign
  • Required: Required.

ZIMAudioMessage

Audio message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is Audio during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

audioDuration

audioDuration
public unsigned long long audioDuration
  • Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public std::string fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMAudioMessageLiteInfo

Audio message lite info object.

Details

Identifies the basic parameters of a audio message.

Declared in ZIMDefines.h

Properties

audioDuration

audioDuration
public unsigned long long audioDuration
  • Required: Required by the sender, if not filled, the audio message will fail to be sent When sending local audio messages.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMBarrageMessage

Barrage message class.

Details

The barrage message class does not appear in the session and does not store historical messages.

Declared in ZIMDefines.h

Properties

message

message
public std::string message

The content of barrage message.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMBlacklistQueryConfig

Query the blacklist configuration.

Details

Through this configuration, you can set the total number of queries and the pagination query.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned int nextFlag

nextFlag.

  • Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.

ZIMCallAcceptConfig

Behavior property set by accepting a call invitation.

Details

Behavior property set by accepting a call invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: Required.

ZIMCallCancelConfig

Behavior property that cancels the call invitation setting.

Details

Behavior property that cancels the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: not required.
  • Default value: "".

pushConfig

pushConfig
public ZIMPushConfig pushConfig

详情描述: 离线推送配置。 是否必填:非必填。

ZIMCallEndConfig

End the behavior attribute of the call invitation setting.

Details

End the behavior attribute of the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: not required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCallInfo

Call invitation information.

Details

Call invitation information.

Declared in ZIMDefines.h

Properties

callID

callID
public std::string callID

Call invite ID.

caller

caller
public std::string caller

Call invitation initiator ID.

mode

mode

Call invitation mode.

state

state
public ZIMCallState state

Call invitation status.

extendedData

extendedData
public std::string extendedData

Create a call invitation additional information.

createTime

createTime
public number createTime

Call invites to create a timestamp.

endTime

endTime
public number endTime

Call invitation end time.

callUserList

callUserList
public ZIMCallUserInfo[] callUserList

The list of call member.

ZIMCallInvitationAcceptedInfo

Accept the call invitation message.

Details

Accept the call invitation message.

Declared in ZIMDefines.h

Properties

invitee

invitee
public std::string invitee

Invitee ID.

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationCancelledInfo

Cancel the call invitation message.

Details

Cancel the call invitation message.

Declared in ZIMDefines.h

Properties

inviter

inviter
public std::string inviter

The inviter ID of the call invitation.

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationCreatedInfo

Information to created the call invitation.

Details

Information to created the call invitation.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

mode

mode

mode of the call invitation.

caller

caller
public String caller

The creator of the call invitation is the same as the userID that calls callInvite.

createTime

createTime
public long long createTime

The event stamp when the call invitation was created on the server, accurate to milliseconds.

callUserList

callUserList
public std::vector<ZIMCallUserInfo> callUserList

List of members invited to the call.

ZIMCallInvitationEndedInfo

End the call operation information.

Details

End the call operation information.

Declared in ZIM.h

Properties

caller

caller
public const std::string & caller

The calling party of the current call.

operatedUserID

operatedUserID
public const std::string & operatedUserID

End the call operator.

extendedData

extendedData
public const std::string & extendedData

The pass-through field that comes with invoking the end of the call.

mode

mode

The mode of the call invitation.

endTime

endTime
public long long endTime

Time stamp of the end of the call, in milliseconds. The format is UTC time stamp.

ZIMCallInvitationQueryConfig

Inquiry the setting attribute of the call invitation list

Details

Inquiry the setting attribute of the call invitation list

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

The query number is limited to up to 100.

  • Required: required.

nextFlag

nextFlag
public long long nextFlag

The flag of the query list.No padding is required for the first query. After the query, callback will return a nextFlag, which can be filled in the next query to continue the query based on the last query.

  • Required: not required.

ZIMCallInvitationReceivedInfo

Information to accept the call invitation.

Details

Information to accept the call invitation.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

inviter

inviter
public String inviter

Inviter ID.

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

mode

mode

mode of the call invitation.

caller

caller
public String caller

The creator of the call invitation is the same as the userID that calls callInvite.

createTime

createTime
public long long createTime

The event stamp when the call invitation was created on the server, accurate to milliseconds.

callUserList

callUserList
public std::vector<ZIMCallUserInfo> callUserList

List of members invited to the call.

ZIMCallInvitationRejectedInfo

Reject the call invitation message.

Details

Reject the call invitation message.

Declared in ZIMDefines.h

Properties

invitee

invitee
public String invitee

Invitee ID.

extendedData

extendedData
public String extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallInvitationSentInfo

Call invitation sent message.

Details

Call invitation sent message.

Declared in ZIMDefines.h

Properties

timeout

timeout
public int timeout

The timeout setting of the call invitation, the unit is seconds.

errorInvitees

errorInvitees
deprecated
public std::vector<ZIMCallUserInfo> errorInvitees

User id that has not received a call invitation.

Deprecated
This field has been discarded in 2.9.0. Use errorUserList instead.

errorUserList

errorUserList
public Vector<ZIMErrorUserInfo> errorUserList

User id that has not received a call invitation list.

ZIMCallInvitationTimeoutInfo

Information class about timeout notifications.

Details

Information class about timeout notifications.

Declared in ZIMDefines.h

Properties

mode

mode

Call invitation type.

ZIMCallInviteConfig

The behavior property of the Send Call Invitation setting.

Details

The behavior property of the Send Call Invitation setting.

Declared in ZIMDefines.h

Properties

timeout

timeout
public unsigned int timeout

The timeout setting of the call invitation, the unit is seconds. The range is [1, 600].

  • Required: not required.

Default: 90.

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

mode

mode

Call invitation mode configuration. Supported Version: 2.9.0 or later.

  • Required: required. default:GENERAL

enableNotReceivedCheck

enableNotReceivedCheck
public bool enableNotReceivedCheck

If the pass value is true, the system checks whether the call invitation is delivered in this call and subsequent calls.

  • Use cases: After the calling party sends a call invitation, if the called party does not receive the invitation within 5 seconds (3 or 4 seconds can be configured for technical support) because the user is disconnected or not online, the user status changes to notYetReceived. You can use this state flow to indicate to the user that the user may not be online. If the called party goes online before the call times out, the status changes to received received.
  • Required: This is not required.
  • Default value: false
  • Recommended value: This property takes effect in version 2.15.0 and later, when the new version sends an invitation to a call with delivery detection turned on to the old version, which will continue to display the inviting status instead of notYetReceived.

ZIMCallJoinConfig

Add the behavior attribute of the call invitation setting.

Details

Add the behavior attribute of the call invitation setting.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

ZIMCallJoinSentInfo

Result of join the call operation.

Details

Result of join the call operation.

Declared in ZIMDefines.h

Properties

createTime

createTime
public long long createTime

Timestamp of the time when the call invitation was created.

joinTime

joinTime
public long long joinTime

Time stamp of the person join the call invitation.

extendedData

extendedData
public const std::string& extendedData

The pass-through field that comes with invoking the end of the call.

callUserList

callUserList
public std::vector<ZIMCallUserInfo> callUserList

List of user information in the current call invitation.

ZIMCallQuitConfig

Behavior property set by quit a call invitation.

Details

Behavior property set by quit a call invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Extended field, through which the inviter can carry information to the invitee.

  • Required: Required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCallQuitSentInfo

Result of quit the call operation.

Details

Result of quit the call operation.

Declared in ZIMDefines.h

Properties

createTime

createTime
public long long createTime

Timestamp of the time when the call invitation was created.

acceptTime

acceptTime
public long long acceptTime

Time stamp of the person accepting the call invitation.

quitTime

quitTime
public long long quitTime

The time stamp for me to exit the call.

ZIMCallRejectConfig

This parameter is used to set the configuration item of call invitation rejection.

Details

This command is used to customize the call invitation when sending invitation rejection.

  • Use cases: You need to pass the configuration item to the interface when invoking the call rejection invitation.

Declared in ZIMDefines.h

Properties

extendedData

extendedData
public std::string extendedData

Additional fields for attaching custom content when sending a reject invitation.

  • Use cases: When the user needs to refuse to send some custom content to the inviter.
  • Required: Required.
  • Default value: "".

ZIMCallUserInfo

Call invitation user information.

Details

Call invitation user information.

Declared in ZIMDefines.h

Properties

userID

userID
public std::string userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

state

state
public ZIMCallUserState state

user status.

extendedData

extendedData
public std::string extendedData

Call the additional information in user information.

ZIMCallUserStateChangeInfo

Call member status change information.

Details

Call member status change information.

Declared in ZIM.h

Properties

callUserList

callUserList
public const std::vector<ZIMCallUserInfo> & callUserList

List of call members whose status changes.

ZIMCallingInvitationSentInfo

Information about callingInvite

Details

Information about callingInvite

Declared in ZIMDefines.h

Properties

errorUserList

errorUserList
public const std::vector<ZIMErrorUserInfo> & errorUserList

Error user list.

ZIMCallingInviteConfig

Behavior property set by quit a call invitation.

Details

Behavior property set by quit a call invitation.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

  • Required: not required.

ZIMCombineMessage

Base class for combine message objects.

  • Available since: 2.14.0 and above.

Declared in ZIMDefines.h

Properties

title

title
public std::string title

The title of combine message

summary

summary
public std::string summary

The summary of combine message

combineID

combineID
public std::string combineID

Combine ID, internal user

messageList

messageList
public std::vector<ZIMMessage> messageList

List of child messages

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMCombineMessageLiteInfo

Base class for combine message lite info objects.

Details

Detail description: Identifies a combine message.

Declared in ZIMDefines.h

Properties

title

title
public std::string title

The title of combine message

summary

summary
public std::string summary

The summary of combine message

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMConversationSearchConfig

Conversation search configuration.

Details

Conversation search configuration.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public unsigned int nextFlag

Pagination token, fill in 0 initially, and then fill in the nextFlag returned from the callback to retrieve data for the next page.

totalConversationCount

totalConversationCount
public unsigned int totalConversationCount

The number of messages that can be retrieved in one search. It is recommended to be less than 20 to reduce performance overhead.

  • Required: Required.

conversationMessageCount

conversationMessageCount
public unsigned int conversationMessageCount

The number of local messages that can be retrieved for a single conversation in one search. It is recommended to be less than 10 to reduce performance overhead.

keywords

keywords
public std::vector<std::string> keywords

Search keywords, supports up to 5. Otherwise, an error will occur. For example, if you pass in "1" and "2", the search results will only display conversations that contain both "1" and "2" keywords in the messages.

messageTypes

messageTypes
public std::vector<ZIMMessageType> messageTypes

Message types, can be used to specify message types. Support passing in multiple types.

subMessageTypes

subMessageTypes
public std::vector<unsigned int> subMessageTypes

The subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.

senderUserIDs

senderUserIDs
public std::vector<std::string> senderUserIDs

Send user ID, supports up to 5. For example, if you pass in "zego2023", the search results will only display conversations where messages have been sent by the user "zego2023".

startTime

startTime
public long long startTime

The starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.

endTime

endTime
public long long endTime

The ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.

ZIMConversationSearchInfo

Conversations search info.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public const std::string & conversationID

The conversation ID of the local message to be search.

conversationType

conversationType
public ZIMConversationType conversationType

conversation type.

totalMessageCount

totalMessageCount
public unsigned int totalMessageCount

Total message count

messageList

messageList
public std::vector<std::shared_ptr<ZIMMessage>> messageList

Search results of messages.

ZIMConversationsAllDeletedInfo

Delete all session notification information.

Details

Delete all session notification information.

Declared in ZIMDefine.h

Properties

count

count
public unsigned int count

Number of sessions that were deleted.

ZIMErrorUserInfo

Error user information class.

Details

Used to show the failed user and the reason for the failure.

Declared in ZIMDefines.h

Properties

userID

userID
public std::string userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

reason

reason
public unsigned int reason

Description Reason for the query failure.

ZIMFileCacheClearConfig

Clear cache configuration.

Details

Clear cache configuration.

Declared in ZIMDefines.h

Properties

endTime

endTime
public unsigned long long endTime

Expiration stamp of cache cleanup.

  • Required: Not required.

ZIMFileCacheInfo

File cache information.

Details

Detailed description: File cache information.

Declared in ZIMDefines.h

Properties

totalFileSize

totalFileSize
public unsigned long long totalFileSize

Total file size in bytes (B).

ZIMFileCacheQueryConfig

Query cache configuration.

Details

Query cache configuration.

Declared in ZIMDefines.h

Properties

endTime

endTime
public unsigned long long endTime

Example Query the expiration timestamp of the cache.

  • Required: Not required.

ZIMFileMessage

File message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is File during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public std::string fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMFileMessageLiteInfo

File message lite info object.

Details

Identifies the basic parameters of a message.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMFriendAddConfig

The behavior property of the Add Friend setting.

Details

The behavior property of the Add Friend setting.

Declared in ZIMDefines.h

Properties

wording

wording
public std::string wording

Add a friend postscript.

friendAlias

friendAlias
public std::string friendAlias

Alias of friend.

friendAttributes

friendAttributes
public std::unordered_map<std::string, std::string> friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

ZIMFriendApplicationAcceptConfig

Behavior attributes for accepting friend requests.

Details

Behavior attributes for accepting friend requests.

Declared in ZIMDefines.h

Properties

friendAlias

friendAlias
public String friendAlias

friend alias.

friendAttributes

friendAttributes
public std::unordered_map<std::string, std::string> friendAttributes

friend attributes.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration

ZIMFriendApplicationInfo

Friend application information.

Details

Detailed description: Friend application information.

Declared in ZIMDefines.h

Properties

applyUser

applyUser
public ZIMUserInfo applyUser

Detail description: If you are the applicant, here is the respondent information; if you are the respondent, here is the applicant information;

wording

wording
public const std::string & wording

The wording of friend application information.

createTime

createTime
public int createTime

Friend add time.

updateTime

updateTime
public int updateTime

Friend application status update time.

type

type

Friend application type.

state

state

Friend application state.

ZIMFriendApplicationListQueryConfig

Query the configuration of the friend application list.

Details

Query the configuration of the friend application list.

Declared in ZIMDefines.h

Properties

count

count
public int count

Total number of current queries.

nextFlag

nextFlag
public int nextFlag

The index of the current query anchor point.

ZIMFriendApplicationRejectConfig

Behavior attributes for rejecting friend application.

Details

Behavior attributes for rejecting friend application.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration

ZIMFriendApplicationSendConfig

The behavior property of the Send Friend Application setting.

Details

The behavior property of the Send Friend Application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public std::string wording

Add a friend postscript.

friendAlias

friendAlias
public std::string friendAlias

Alias of friend.

friendAttributes

friendAttributes
public std::unordered_map<std::string, std::string> friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMFriendDeleteConfig

The behavior property of the Delete Friend setting.

Details

The behavior property of the Delete Friend setting.

Declared in ZIMDefines.h

Properties

type

type

Delete type.

ZIMFriendInfo

Friend information.

Details

Detailed description: Friend information.

Declared in ZIMDefines.h

Properties

userID

userID
public const std::string & userID

Detail description: UserID of the operator.

friendAlias

friendAlias
public const std::string & friendAlias

The alias of friend.

friendAttributes

friendAttributes
public std::unordered_map<std::string, std::string> friendAttributes

Friend attributes. Up to 5 can be set. The key of the attribute can only be selected from k0 to k4.

createTime

createTime
public int createTime

Friend add time.

userName

userName
public std::string userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public String userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public std::string userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMFriendListQueryConfig

Query the configuration of the friend list.

Details

Query the configuration of the friend list.

Declared in ZIMDefines.h

Properties

count

count
public int count

Total number of current queries.

nextFlag

nextFlag
public int nextFlag

The index of the current query anchor point.

ZIMFriendRelationCheckConfig

Check the behavior properties of friend relationships.

Details

Check the behavior properties of friend relationships.

Declared in ZIMDefines.h

Properties

type

type

Check type.

ZIMFriendRelationInfo

Friend relationship information.

Details

Detailed description: Friend relationship information.

Declared in ZIMDefines.h

Properties

userID

userID
public std::string userID

user ID.

type

type

Friend relationship type.

ZIMFriendsSearchConfig

Search local friend configuration.

Details

Search local friend configuration.

Declared in ZIMDefines.h

Properties

keywords

keywords
public std::vector\<std::string> keywords

Search keyword list.

isAlsoMatchFriendAlias

isAlsoMatchFriendAlias
public boolean isAlsoMatchFriendAlias

Whether to match friend aliases.

count

count
public int count

Current total number of searches.

nextFlag

nextFlag
public int nextFlag

The starting and ending index of the current search.

ZIMGroup

complete group information for group list.

Details

complete group information for group list.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMGroupInfo baseInfo

basic group information.

notificationStatus

notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatus

group message notification status.

groupAlias

groupAlias
public std::string groupAlias

the group alias defined by user, which is visible only to that user.

ZIMGroupAdvancedConfig

Group advanced configuration.

Details

Group advanced configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

groupAttributes

groupAttributes
public std::unordered_map<std::string, std::string> groupAttributes

Group properties, up to 10 can be configured..

  • Required: Optional.

groupNotice

groupNotice
public std::string groupNotice

group notice.

  • Required: Optional.

maxMemberCount

maxMemberCount
public unsigned int maxMemberCount

The maximum number of group members.

  • Use cases: When you need to limit the number of group members.
  • Required: Optional.
  • Default value: 0.
  • Value range: [0, The default maximum number of group members for the business package].
  • Caution: Supports version 2.15 and above.

joinMode

joinMode
public ZIMGroupJoinMode joinMode

Verification mode for joining the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

inviteMode

inviteMode
public ZIMGroupInviteMode inviteMode

Verification mode for invite to the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

beInviteMode

beInviteMode
public ZIMGroupBeInviteMode beInviteMode

Verification mode for being invited to the group.

  • Required: Optional.
  • Caution: Supports version 2.15 and above.

ZIMGroupApplicationInfo

Group application information.

Declared in ZIMDefines.h

Properties

applyUser

applyUser
public ZIMUserInfo applyUser

Detail description: The applicant is the applicant when applying to join, the invitee when applying to invite, and the inviter when applying by invitation.

wording

wording
public std::string wording

The wording of group application information.

createTime

createTime
public unsigned long long createTime

Group application create time.

updateTime

updateTime
public unsigned long long updateTime

Group application status update time.

type

type

Group application type.

state

state

Group application state.

groupInfo

groupInfo
public ZIMGroupInfo groupInfo

Group information for applying to join the group.

operatedUser

operatedUser
public ZIMGroupMemberSimpleInfo operatedUser

The operator who agrees to join the group application.

ZIMGroupApplicationListQueryConfig

Query the group application configuration.

Details

Through this configuration, you can set the total number of queries and the pagination query.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count. It is advised to be no more than 30.

  • Required: Yes.

nextFlag

nextFlag
public unsigned int nextFlag

nextFlag.

  • Required: Not required, it is 0 by default for the first time, which means to start the query from the beginning.

ZIMGroupAttributesUpdateInfo

Group attribute update information.

Details

Group attribute update information.

Declared in ZIMDefines.h

Properties

action

action

Group attribute update action.

groupAttributes

groupAttributes
public std::unordered_map<std::string, std::string> groupAttributes

group properties.

ZIMGroupConversation

Group session object, extend from ZIMGroupConversation.

Details

Group session object, extend from ZIMGroupConversation.

Declared in ZIMDefines.h

Properties

mutedExpiredTime

mutedExpiredTime
public long long mutedExpiredTime

The expiration date of the group gag.

isDisabled

isDisabled
public bool isDisabled

Whether the group session is unavailable.

conversationID

conversationID
public std::string conversationID

conversationID.

conversationName

conversationName
public String conversationName

conversationName is the same as the groupName/userName value corresponding to the session.

type

type

conversation type.

unreadMessageCount

unreadMessageCount
public int unreadMessageCount

Session unread.

lastMessage

lastMessage
public ZIMMessage lastMessage

last message.

orderKey

orderKey
public long orderKey

OrderKey is used to describe the order of messages in the session. The larger orderKey is, the newer it is.

notificationStatus

notificationStatus
public ZIMConversationNotificationStatus notificationStatus

session notification status.

conversationAvatarUrl

conversationAvatarUrl
public std::string conversationAvatarUrl

Detail description: Conversation avatar URL. The peer to peer chat conversation avatar URL is the same as the user avatar URL, and the group chat conversation avatar URL is the same as the group avatar URL.

Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

isPinned

isPinned
public bool isPinned

Whether the conversation is pinned.

mentionedInfoList

mentionedInfoList
public std::vector<ZIMMessageMentionedInfo> mentionedInfoList

When reminded in a message or reminded to everyone in a conversation, this array will record the reminders.

  • Use cases: For example, you can display the number of reminders in the conversation list based on this array, and also display which user's reminder it is.

conversationAlias

conversationAlias
public String conversationAlias

After the friend remarks are set through [updateFriendAlias], this parameter is changed for each chat conversation. After setting a group alias by [updateGroupAlias], the corresponding group chat conversation's parameter will be modified synchronously.

  • Use cases: After update alias for friends or groups, the corresponding conversation chooses to display the alias over the conversation name when rendering the conversation page.

marks

marks
public std::vector\<int> marks

Describes all the existing marks for the conversation.

  • Use cases: The business layer can group logic, etc., according to different conversations with different marks.

draft

draft
public std::string draft

Conversation draft, when draft set conversation will carry this parameter.

ZIMGroupEnterInfo

Information about group members when they join the group.

Declared in ZIMDefines.h

Properties

enterType

enterType
public ZIMGroupEnterType enterType

Group entry type.

enterTime

enterTime
public unsigned long long enterTime

The timestamp of the server when joining the group.

operatedUser

operatedUser
public ZIMGroupMemberSimpleInfo operatedUser

The operator who agrees to the application to join the group or the inviter who invites the application to join the group.

ZIMGroupFullInfo

complete group information.

Details

complete group information.

Declared in ZIMDefines.h

Properties

baseInfo

baseInfo
public ZIMGroupInfo baseInfo

basic group information.

groupAttributes

groupAttributes
public std::unordered_map<std::string, std::string> groupAttributes

group properties.

groupNotice

groupNotice
public std::string groupNotice

Group of announcement.

notificationStatus

notificationStatus
public ZIMGroupMessageNotificationStatus notificationStatus

group message notification status.

mutedInfo

mutedInfo
public ZIMGroupMuteInfo mutedInfo

Group mute info.

createTime

createTime
public unsigned long long createTime

The timestamp of the server when the group was created.

  • Caution: Supports version 2.15 and above.

maxMemberCount

maxMemberCount
public unsigned int maxMemberCount

The maximum number of group members.

  • Caution: Supports version 2.15 and above.

verifyInfo

verifyInfo
public ZIMGroupVerifyInfo verifyInfo

Verification mode for joining the group.

  • Caution: Supports version 2.15 and above.

groupAlias

groupAlias
public std::string groupAlias

the group alias defined by user, which is visible only to that user.

ZIMGroupInfo

group information.

Details

group information.

Declared in ZIMDefines.h

Properties

groupID

groupID
public std::string groupID

groupID.

Required or not: Mandatory, it will be automatically generated in the background.

Value: Supports only digits, English characters, and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~' and not by '#' at the beginning.

groupName

groupName
public std::string groupName

Group name.

  • Required: Optional.

Value: A string of up to 50 bytes.

groupAvatarUrl

groupAvatarUrl
public std::string groupAvatarUrl
  • Required: not required.

Use Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

ZIMGroupInviteApplicationAcceptConfig

The behavior property of the accept group invite application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupInviteApplicationRejectConfig

The behavior property of the reject group invite application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupInviteApplicationSendConfig

The behavior property of the send group invite application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public std::string wording

Postscript to the application operation.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationAcceptConfig

The behavior property of the accept group join application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationRejectConfig

The behavior property of the reject group join application setting.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupJoinApplicationSendConfig

The behavior property of the send group join application setting.

Declared in ZIMDefines.h

Properties

wording

wording
public std::string wording

Postscript to the application operation.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Offline push configuration.

ZIMGroupMemberInfo

Group member information.

Details

Group member information.

Declared in ZIMDefines.h

Properties

memberNickname

memberNickname
public std::string memberNickname

Group member nickname.

memberRole

memberRole
public int memberRole

group role.

memberAvatarUrl

memberAvatarUrl
deprecated
public std::string memberAvatarUrl

Detailed description: group member avatar URL.

User Limit: the maximum number of characters is 500 bytes. There is no limit on special characters.

Deprecated
Deprecated since version 2.13.0. To obtain the URL of a group member's avatar, please refer to userAvatarUrl.

muteExpiredTime

muteExpiredTime
public unsigned long long muteExpiredTime

Group member's mute expiration time. When it's 0, it means no mute; when it's -1, it means permanent mute.

groupEnterInfo

groupEnterInfo
public ZIMGroupEnterInfo groupEnterInfo

Information about group members when they join the group.

  • Caution: Supports version 2.15 and above.

userID

userID
public std::string userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public std::string userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public String userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public std::string userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMGroupMemberMuteConfig

Group members mute configuration.

Details

Group members mute configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

duration

duration
public int duration

Group members mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.

  • Required: Required.

ZIMGroupMemberMutedListQueryConfig

Group muted member list query configuration.

Details

Group muted member list query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned long long nextFlag

nextFlag.

  • Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.

ZIMGroupMemberQueryConfig

group member query configuration.

Details

group member query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count

count. Quantity, upper limit is 100, over 100 will be treated as 100.

  • Required: Required.

nextFlag

nextFlag
public int nextFlag

nextFlag.

  • Required: Not required, it is empty by default for the first time, which means to start the query from the beginning.

ZIMGroupMemberSearchConfig

group member search configuration.

Details

group member search configuration.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned int nextFlag

The flag for querying, fill in 0 when calling the interface for the first time. When calling the interface again later, fill in the nextFlag returned from the callback to retrieve the remaining data.

  • Required: Not required.

keywords

keywords
public std::vector\<std::string> keywords

Search keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show group members whose names contain both keywords "1" and "2".

  • Required: No
  • Caution: Up to 5 keywords can be entered, otherwise an error will be reported.

isAlsoMatchGroupMemberNickname

isAlsoMatchGroupMemberNickname
public bool isAlsoMatchGroupMemberNickname

Whether the search scope includes group member user nickname. Default is false.

  • Required: No.
  • Default value: false

ZIMGroupMemberSimpleInfo

Group member simple information.

Declared in ZIMDefines.h

Properties

memberNickname

memberNickname
public std::string memberNickname

Group member nickname.

memberRole

memberRole
public int memberRole

group role.

userID

userID
public std::string userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public std::string userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public String userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public std::string userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMGroupMessageReceiptMemberQueryConfig

Details

Group message receipt read/unread member query configuration.

Declared in ZIMDefines.h

Properties

count

count
public int count
  • Required: Required.

nextFlag

nextFlag
public int nextFlag

Detailed description: The next sign. Initially fill in 0, then get the next next flag from the [ZIMGroupMessageReceiptMemberListQueriedCallback] callback.

ZIMGroupMuteConfig

Group mute configuration.

Details

Group mute configuration.

  • Required: required.

Declared in ZIMDefines.h

Properties

mode

mode
public ZIMGroupMuteMode mode

Group mute mode.

  • Default value: All.
  • Required: Required.

duration

duration
public int duration

Group mute duration, the unit is seconds. The value is -1, which means permanent mute. If you need to implement non-permanent mute, the upper limit is 604800 (7 days). If you need to increase it, please contact ZEGO technical support.

  • Required: Required.

roles

roles
public std::vector<int> roles

Group role list.

  • Required: This field is only meaningful when ZIMGroupMuteMode is set to Custom.
  • Caution: When there is a 3 (ordinary user) in the list, other roles must also be present and cannot be 1, 2, or 4. If only muting ordinary users is needed, ZIMGroupMuteMode should be set to Normal.

ZIMGroupMuteInfo

Group mute information.

Details

Group mute information.

Declared in ZIMDefines.h

Properties

mode

mode
public ZIMGroupMuteMode mode

Group mute mode.

expiredTime

expiredTime
public long long expiredTime

Group mute expiration time, measured in seconds. When it's 0, there is no mute; when it's -1, it means permanent mute.

roles

roles
public const std::vector\<int> & roles

Detail description: Role list muted in the group.

ZIMGroupOperatedInfo

The group causes the event to change the operator's information.

Details

The group causes the event to change the operator's information.

Declared in ZIMDefines.h

Properties

operatedUserInfo

operatedUserInfo
deprecated
public ZIMGroupMemberInfo operatedUserInfo

Group member information.

Deprecated
Deprecated since version 2.3.0, please use other properties of this class. At the same time, the attribute class cannot obtain the avatar URL information of group members.

userID

userID
public std::string userID

The operator's user ID.

userName

userName
public std::string userName

The operator's username.

memberNickname

memberNickname
public std::string memberNickname

The operator's group member nickname.

memberRole

memberRole
public int memberRole

The operator's group member role.

ZIMGroupSearchConfig

Group search configuration.

Details

Group search configuration.

Declared in ZIMDefines.h

Properties

count

count
public unsigned int count

count.

  • Required: Required.

nextFlag

nextFlag
public unsigned int nextFlag

The flag used to search groups.

  • Required: The flag should be 0 when you search groups for the first time. After that, the flag should be the same as the nextFlag from the search result Callback to get the next page data.

keywords

keywords
public std::vector\<std::string> keywords

Search keywords. For example: passing in "1" and "2" will make the search results only show groups whose group names contain both keywords "1" and "2".

  • Required: No
  • Caution: Up to 5 keywords can be entered, otherwise an error will be reported.

isAlsoMatchGroupMemberNickname

isAlsoMatchGroupMemberNickname
public bool isAlsoMatchGroupMemberNickname

Whether the search scope includes group member user nicknames. Default is false.

  • Required: No.
  • Default value: false

isAlsoMatchGroupMemberUserName

isAlsoMatchGroupMemberUserName
public bool isAlsoMatchGroupMemberUserName

Whether the search scope includes group member user names. Default is false.

  • Required: No.
  • Default value: false

ZIMGroupSearchInfo

Group search info.

Details

Group search info.

Declared in ZIMDefines.h

Properties

groupInfo

groupInfo
public ZIMGroupInfo groupInfo

group info.

userList

userList
public std::vector<ZIMGroupMemberInfo> userList

Group member information

ZIMGroupVerifyInfo

Verification mode for joining the group.

Declared in ZIMDefines.h

Properties

joinMode

joinMode
public ZIMGroupJoinMode joinMode

Verification mode for joining the group.

inviteMode

inviteMode
public ZIMGroupInviteMode inviteMode

Verification mode for invite to the group.

beInviteMode

beInviteMode
public ZIMGroupBeInviteMode beInviteMode

Verification mode for being invited to the group.

ZIMImageMessage

Image message object.

Details

Identifies the basic parameters of a message.

  • Caution: If the Type parameter of the base class is Image during callback, you can force the base class message object to be of this type.

Declared in ZIMDefines.h

Properties

thumbnailLocalPath

thumbnailLocalPath
public std::string thumbnailLocalPath

Detailed description: The thumbnail local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

thumbnailDownloadUrl

thumbnailDownloadUrl
public std::string thumbnailDownloadUrl

Detail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

largeImageLocalPath

largeImageLocalPath
public std::string largeImageLocalPath

Detailed description: The large image local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

largeImageDownloadUrl

largeImageDownloadUrl
public std::string largeImageDownloadUrl

Detail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

originalImageWidth

originalImageWidth
public unsigned int originalImageWidth

Original image width.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the original image,the unit is pixel.

originalImageHeight

originalImageHeight
public unsigned int originalImageHeight

Original image height.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the original image,the unit is pixel.

largeImageWidth

largeImageWidth
public unsigned int largeImageWidth

Large image width. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the large image, the unit is pixel.

largeImageHeight

largeImageHeight
public unsigned int largeImageHeight

Large image height. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the large image, the unit is pixel.

thumbnailWidth

thumbnailWidth
public unsigned int thumbnailWidth

Thumbnail width. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the thumbnail, the unit is pixel.

thumbnailHeight

thumbnailHeight
public unsigned int thumbnailHeight

Thumbnail height. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the thumbnail, the unit is pixel.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public std::string fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMImageMessageLiteInfo

Image message lite info object.

Details

Identifies the basic parameters of a image message.

Declared in ZIMDefines.h

Properties

thumbnailLocalPath

thumbnailLocalPath
public std::string thumbnailLocalPath

Detailed description: The thumbnail local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

thumbnailDownloadUrl

thumbnailDownloadUrl
public std::string thumbnailDownloadUrl

Detail description: Thumbnail external download URL of the image file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

largeImageLocalPath

largeImageLocalPath
public std::string largeImageLocalPath

Detailed description: The large image local path of the image file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

largeImageDownloadUrl

largeImageDownloadUrl
public std::string largeImageDownloadUrl

Detail description: large Image external download URL of the image file. When developers upload large Images to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

originalImageWidth

originalImageWidth
public unsigned int originalImageWidth

Original image width.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the original image,the unit is pixel.

originalImageHeight

originalImageHeight
public unsigned int originalImageHeight

Original image height.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the original image,the unit is pixel.

largeImageWidth

largeImageWidth
public unsigned int largeImageWidth

Large image width. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the large image, the unit is pixel.

largeImageHeight

largeImageHeight
public unsigned int largeImageHeight

Large image height. When sending local images, the ZIM service will compress the shortest side of the original image to 720 pixels, with the other side being scaled proportionally. When the shortest side of the original image is less than 720 pixels, no compression is applied.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the large image, the unit is pixel.

thumbnailWidth

thumbnailWidth
public unsigned int thumbnailWidth

Thumbnail width. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the width of the thumbnail, the unit is pixel.

thumbnailHeight

thumbnailHeight
public unsigned int thumbnailHeight

Thumbnail height. When sending local images, the ZIM service will compress the shortest side of the original image to 198 pixels, with proportional scaling applied to the other side. If the shortest side of the original image is smaller than 198 pixels, no compression will be performed.

  • Use cases: When the user needs to draw the image UI, the parameter used to determine the height of the thumbnail, the unit is pixel.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMLoginConfig

Configuration of login-related parameters.

Details

Login-related parameters.

  • Use cases: Used to set different parameters during login.

Declared in ZIMDefines.h

Properties

userName

userName
public String userName

User name.

  • Use cases: Used in the scenario where user nickname is modified during login, leave it blank if no change is needed.
  • Required: No.

token

token
public String token

Token carried during login.

  • Use cases: Only pass this parameter in the scenario where token is used for authentication.
  • Required: No.

isOfflineLogin

isOfflineLogin
public bool isOfflineLogin

Whether it is offline login.

  • Use cases: Set this parameter to true when performing offline login.
  • Required: No.
  • Default value: false.

customStatus

customStatus
public String customStatus

User-defined status, with a default maximum of 64 bytes and a default expiration time of 1 day. After expiration, it will be reset to an empty string. When logging in, if this field is an empty string (default is an empty string), the current user's custom status will not be modified.

ZIMMediaDownloadConfig

Configuration for downloading media files.

Declared in ZIMDefines.h

Properties

messageInfoIndex

messageInfoIndex
public int messageInfoIndex

Detailed description: The index of the array where a file in the download multiple message is located.

  • Required: Required when downloading a multiple message file.

ZIMMediaMessage

Base class for media message objects.

Details

Detail description: Identifies a media message.

This base class is the basis of all media messages and contains the properties required by media messages.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public std::string fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMMediaMessageLiteInfo

Base class for media message lite info objects.

Details

Detail description: Identifies a media message lite info.

This base class is the basis of all media messages lite info and contains the properties required by media messages lite info.

Declared in ZIMDefines.h

Properties

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMMessageDeleteConfig

Details

Delete configurations related to messages.

Declared in ZIMDefines.h

Properties

isAlsoDeleteServerMessage

isAlsoDeleteServerMessage
public bool isAlsoDeleteServerMessage

Whether to remove flags for server messages.

  • Required: not required.
  • Default value: false.

ZIMMessageDeletedInfo

Deleted message information.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public std::string conversationID

Conversation ID.

conversationType

conversationType
public ZIMConversationType conversationType

Conversation type.

messageList

messageList
public std::vector<ZIMMessage> messageList

List of deleted messages.

isDeleteConversationAllMessage

isDeleteConversationAllMessage
deprecated
public bool isDeleteConversationAllMessage

Whether to delete all current messages in the conversation.

Deprecated
This field was deprecated in version 2.14.0.

messageDeleteType

messageDeleteType
public ZIMMessageDeleteType messageDeleteType

[onMessageDeleted] Indicates the cause of being triggered.

ZIMMessageEditConfig

Details

(Empty Class) Configurations related to editing messages.

Declared in ZIMDefines.h

ZIMMessageExportConfig

Details

Export the configuration of the message. The Config is currently a reserved parameter.

Declared in ZIMDefines.h

ZIMMessageImportConfig

Details

Import the configuration of the message. The Config is currently a reserved parameter.

Declared in ZIMDefines.h

ZIMMessageMentionedInfo

message mention information.

Details

message mention information.

Declared in ZIMDefines.h

Properties

messageID

messageID
public long long messageID

Message ID, used to match the notification information to which message it belongs to

Required or not: Developers do not need to fill in.'‘’

fromUserID

fromUserID
public std::string fromUserID

From which user.

  • Required: Developers do not need to fill in."

type

type

Type of notification, used to distinguish between reminding oneself and reminding everyone.

  • Required: Developers do not need to fill in.

messageSeq

messageSeq
public unsigned long long messageSeq

message seq.

ZIMMessagePinStatusChangeInfo

Notification of the message pinned status changed.

Details

When a message in a conversation is successfully pinned or unpinned and a notification is raised, this structure can be used to obtain the operated message and its current pinned status.

Declared in ZIMDefines.h

Properties

pinStatus

pinStatus
public ZIMMessagePinStatus pinStatus

Message pinned status.

message

message
public ZIMMessage message

The root message object.

ZIMMessageQueryConfig

Example Query message configuration.

Details

Example Query the configurations of messages.

Declared in ZIMDefines.h

Properties

nextMessage

nextMessage
public ZIMMessage nextMessage

Query the anchor point of the message.

  • Required: This parameter is not required for the first query but is required for subsequent paging queries.

count

count
public unsigned int count

Number of query messages.

  • Required: Yes.

reverse

reverse
public Boolean reverse

Indicates whether the query is in reverse order.

  • Required: not required.
  • Default value: false.

ZIMMessageReactionUserInfo

reaction user information.

Details

Detail description: A class describing reaction user.

Declared in ZIMDefines.h

Properties

userID

userID
public std::string userID

user ID

ZIMMessageReceiptInfo

receipt information.

Details

Detailed description: receipt information.

Declared in ZIMDefines.h

Properties

status

status

Detail description: receipt status.

messageID

messageID
public long long messageID

Message ID.

Business scenario: Developers can match the loaded message list according to this ID.

Is it required: No, SDK fills in.

conversationID

conversationID
public std::string conversationID

Session ID.

Business scenario: Receipt information used to indicate which session this belongs to.

Is it required: No, SDK fills in.

conversationType

conversationType
public ZIMConversationType conversationType

Session type.

Business scenario: Indicates the type of the session.

Is it required: If no, the SDK is filled.

readMemberCount

readMemberCount
public unsigned int readMemberCount

Detailed description: Indicates the number of people who have read the receipt.

Business scenario: When used to query receipt information, it can display how many people have read the message.

Is it required: no.

Default: 0.

This value indicates how many people have read the message, it is only applicable to the message has been read; if the message is not sent by yourself, the value is 0.

unreadMemberCount

unreadMemberCount
public unsigned int unreadMemberCount

Detailed description: Indicates the number of unread people of the receipt.

Business scenario: When used to query receipt information, it can display how many people have unread the message.

Is it required: no.

Default: 0.

This value indicates how many people have not read the message, and it is only applicable to the message that has been read; if the message is not sent by yourself, the value is 0.

isSelfOperated

isSelfOperated
public bool isSelfOperated

In a multi-device login scenario, after device A sets the message receipt as read, other online multi-devices use it to distinguish whether the message receipt set by itself has been read.

readTime

readTime
public unsigned long long readTime

Server-side timestamp when the message receipt was read.

  • Default value: 0.
  • Caution: For the sender, this value is the timestamp when all session members read the message. For the recipient, this value is the timestamp when the message receipt was set.

ZIMMessageReceivedInfo

A structure in which the message receiving event carries relevant information.

Details

A structure in which the message receiving event carries relevant information.

  • Available since: Version 2.18.0 or later.

Declared in ZIMDefines.h

Properties

isOfflineMessage

isOfflineMessage
public boolean isOfflineMessage

Whether the message is sent when the current user is offline, temporarily disconnected, or logged out,If yes is true.

ZIMMessageRepliedInfo

The reply message refers to the information of the source message.

Declared in ZIMDefines.h

Properties

state

state

the source message status.

sentTime

sentTime
public unsigned long long sentTime

The send timestamp of the source message (in UTC).

senderUserID

senderUserID
public std::string senderUserID

The sender user ID of the source message.

messageSeq

messageSeq
public unsigned long long messageSeq

The seq of the source message.

messageInfo

messageInfo
public ZIMMessageLiteInfo messageInfo

The source message lite info object.

messageID

messageID
public unsigned long long messageID

The ID of the source message.

ZIMMessageRevokeConfig

Details

Revoke configurations related to messages.

Declared in ZIMDefines.h

Properties

revokeExtendedData

revokeExtendedData
public std::string revokeExtendedData

revoking additional messages.

  • Required: Not required.

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Configures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.

  • Required: Not required.

ZIMMessageRootRepliedCountInfo

Information about the number of replies in the reply message tree.

Declared in ZIMDefines.h

Properties

conversationID

conversationID
public std::string conversationID

Conversation ID.

conversationType

conversationType
public ZIMConversationType conversationType

Conversation type.

messageID

messageID
public unsigned long long messageID

root message id.

count

count
public unsigned int count

The number of replies for the reply message tree.

ZIMMessageRootRepliedInfo

Reply to the root message of the message tree.

Declared in ZIMDefines.h

Properties

state

state

Root message status.

sentTime

sentTime
public unsigned long long sentTime

The send timestamp of the root message.

senderUserID

senderUserID
public std::string senderUserID

The sender user ID of the root message.

repliedCount

repliedCount
public unsigned int repliedCount

The number of replies for the reply message tree.

message

message
public ZIMMessage message

The root message object.

ZIMMessageSearchConfig

Message search configuration.

Details

Message search configuration.

Declared in ZIMDefines.h

Properties

nextMessage

nextMessage
public std::shared_ptr<ZIMMessage> nextMessage

Paging fetch flag, which means fetching messages before or after nextMessage, with "before" or "after" determined by the order value. On the first search, nextMessage is null. On subsequent searches, nextMessage needs to pass in the last message in the message list queried last time.

count

count
public unsigned int count

count It is recommended to keep the number of items less than 20 to reduce performance overhead.

  • Required: Required.

order

order
public ZIMMessageOrder order

When the "order" is "DESCENDING" during message search, it means querying messages with sending time earlier than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the last message stored locally forward. When "order" is "ASCENDING", it means querying messages with sending time later than nextMessage. If it's the first message query (i.e. nextMessage is null), then query from the first message stored locally backward. The default is "DESCENDING".

keywords

keywords
public std::vector\<std::string> keywords

Search keywords, up to 5 keywords are supported, otherwise an error will be reported. For example: passing in "1" and "2" will make the search results only show messages that contain both keywords "1" and "2".

messageTypes

messageTypes
public std::vector<ZIMMessageType> messageTypes

Message types, can be used to specify message types. Support passing in multiple types.

subMessageTypes

subMessageTypes
public std::vector\<unsigned int> subMessageTypes

The subtypes of custom messages have a value range of [0,200]. Developers can use this range to search for specific custom types.

senderUserIDs

senderUserIDs
public std::vector\<std::string> senderUserIDs

The user ID of the message sender, supporting up to 5 IDs. For example, if "zego2023" is passed in, the search results will only display all the messages sent by the user "zego2023" in that conversation.

startTime

startTime
public long long startTime

The starting point of the search, in milliseconds, with a default value of 0. The format is UTC timestamp.

endTime

endTime
public long long endTime

The ending point of the search, which must be greater than the startTime, in milliseconds. The default value is 0 and the format is UTC timestamp.

ZIMMessageSendConfig

Details

Configurations related to sending messages.

Declared in ZIMDefines.h

Properties

pushConfig

pushConfig
public ZIMPushConfig pushConfig

Configures the offline push function, If Android or iOS platform is integrated, it is strongly recommended to configure this.

  • Required: Not mandatory.

priority

priority
public ZIMMessagePriority priority
  • Required: Must mandatory.

hasReceipt

hasReceipt
public bool hasReceipt
  • Required: not required.
  • Default value: false.

isNotifyMentionedUsers

isNotifyMentionedUsers
public bool isNotifyMentionedUsers
  • Required: not required.
  • Default value: true.

isRetrySend

isRetrySend
public bool isRetrySend

Whether to resend the failed message.

  • Required: No.

disableUnreadMessageCount

disableUnreadMessageCount
public bool disableUnreadMessageCount
  • Required: No.
  • Default value: false.

ZIMMessageSentStatusChangeInfo

Notice of Room Message Status Change.

Details

Notice of Room Message Status Change.

Declared in ZIMDefines.h

Properties

message

message
public ZIMMessage message

ZIMMessage.

status

status
public ZIMMessageSentStatus status

message sent status.

reason

reason
public std::string reason

This field stores the reason why a message was rejected by ZEGOCLOUD In-app Chat due to interception by the server-side callback on message not sent yer. If you have enabled the ZEGOCLOUD In-app Chat content moderation service and require this field to capture failure reasons caused by failed content moderation, contact ZEGOCLOUD Technical Support for configuration.

ZIMMultipleMessage

Multiple message object.

Details

Detailed description: Identifies a multiple message.

Only supports the multiple of text, image, file, audio, video, and custom messages, and the number of array does not exceed 20.

Declared in ZIMDefines.h

Properties

messageInfoList

messageInfoList
public std::vector<ZIMMessageLiteInfo> messageInfoList

It can contain text, image, file, audio, video, and custom messages. The array length does not exceed 20.

  • Use cases: It can be used to send text and image multiple messages.
  • Recommended value: The total number of items does not exceed 20, the maximum number of image is 10, and the maximum number of file, audio, video and custom message is 1 each. The size and format restrictions of image, file, audio, and video are the same as those of the corresponding rich media messages.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMMultipleMessageLiteInfo

Multiple message lite info object.

Details

Identifies the basic parameters of a multiple message.

Declared in ZIMDefines.h

Properties

messageInfoList

messageInfoList
public std::vector<ZIMMessageLiteInfo> messageInfoList

Detail description: A list of elements that compose the message.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMOfflinePushPrivateMessageTemplate

Offline push private message template.

Details

According to [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391), OPPO in new message classification on the basis of the new push DMS templates, After you have configured the private message template in the OPPO console, if you need to apply the corresponding template during push notifications, you can assign a value to the privateMessageTemplate in ZIMPushConfig.

Declared in ZIM.h

Properties

templateID

templateID
public std::string templateID

The ID of the private message template pushed by OPPO must be carried when sending the corresponding private message template. If the category of OPPO in the resourceID is set to be classified as Content and Marketing, this field is invalid. Details please see [OPUSH DMS template check ability to access instructions] (https://open.oppomobile.com/documentation/page/info?id=12391

titleParameters

titleParameters
public std::string titleParameters

json string, OPPO push title template filling parameters. For example, the private message template ID title template is: Welcome to {city}\{city\} , {city}\{city\} Welcome you. The content of this parameter is :" {"city":" Beijing}".

contentParameters

contentParameters
public std::string contentParameters

json string, OPPO push content template filling parameter. Example: The content template corresponding to the private message template ID is: Welcome {userName}\{userName\} to {city}\{city\} . The content of this parameter is :" {"userName":" Tom ", "city":" Shenzhen City "}.

ZIMPushConfig

Description

push configuration.

Details

Details: Configuration before sending offline push.

Declared in ZIMDefines.h

Properties

title

title
public std::string title

Used to set the push title.

  • Required: Not required.

content

content
public std::string content

Used to set offline push content.

  • Required: Not required.

payload

payload
public std::string payload

This parameter is used to set the pass-through field of offline push.

  • Required: Not required.

resourcesID

resourcesID
public std::string resourcesID

A string defined by you, no more than 32 characters in length, used to map advanced configurations for offline push from multiple manufacturers, abstracting the push configurations of various manufacturers into a single push strategy that you define yourself. For detailed introduction and configuration steps, please refer to ResourcesID introduction.

  • Required: Not required.

enableBadge

enableBadge
public bool enableBadge

Push whether to carry corner information switch.

badgeIncrement

badgeIncrement
public int badgeIncrement

The incremental index number carried by the push.

voIPConfig

voIPConfig
public ZIMVoIPConfig voIPConfig

If you use Flutter, RN ZPNs, offline push receiving device has iOS and uses VoIP push type, you can customize some VoIP options with this parameter.

privateMessageTemplate

privateMessageTemplate
public ZIMOfflinePushPrivateMessageTemplate privateMessageTemplate

If you use OPPO push notifications, you can apply the OPPO Private message template through this structure; otherwise, you can ignore it and it will be left blank by default.

ZIMRevokeMessage

Base class for revoke message objects.

Details

Detail description: Identifies a revoke message.

This base class is the basis of all revoke messages and contains the properties required by revoke messages.

Declared in ZIMDefines.h

Properties

revokeType

revokeType
public ZIMRevokeType revokeType

Detail description: revoke type.

revokeStatus

revokeStatus
public ZIMMessageRevokeStatus revokeStatus

Detail description: revoke status.

revokeTimestamp

revokeTimestamp
public int revokeTimestamp

Detail description: revoke timestamp.

operatedUserID

operatedUserID
public std::string operatedUserID

Detail description: operated user ID.

revokeExtendedData

revokeExtendedData
public std::string revokeExtendedData

Detail description: revoke extended data.

originalMessageType

originalMessageType
public ZIMMessageType originalMessageType

original message type

originalTextMessageContent

originalTextMessageContent
public std::string originalTextMessageContent

original text message content

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMRevokeMessageLiteInfo

Base class for revoke message lite info objects.

Declared in ZIMDefines.h

Properties

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMRoomAdvancedConfig

Room advanced config.

Details

Room‘s advanced config.

Declared in ZIMDefines.h

Properties

roomAttributes

roomAttributes
public std::unordered_map<std::string, std::string> & roomAttributes

Room attributes of a room.

roomDestroyDelayTime

roomDestroyDelayTime
public unsigned int roomDestroyDelayTime

Room destruction time delayed, the unit is seconds. The maximum room destroy delay time is 3 hours.

  • Use cases: If the number of rooms is 0, set the room time to ensure that the room exists during this period.
  • Required: Not mandatory.

ZIMRoomAttributesBatchOperationConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeft

Room attributes are automatically deleted after the owner leaves the room.

  • Required: Not required.

isForce

isForce
public bool isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.

  • Required: Not required.

isUpdateOwner

isUpdateOwner
public bool isUpdateOwner

Whether to update the owner of the room attribute involved.

  • Required: Not required.

ZIMRoomAttributesDeleteConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isForce

isForce
public bool isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be deleted.

  • Required: Not required.

ZIMRoomAttributesSetConfig

The behavior attribute set by the room attribute.

Details

The behavior attribute set by the room attribute.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeft

Room attributes are automatically deleted after the owner leaves the room.

  • Required: Not required.

isForce

isForce
public bool isForce

Whether the operation is mandatory, that is, the property of the room whose owner is another user can be modified.

  • Required: Not required.

isUpdateOwner

isUpdateOwner
public bool isUpdateOwner

Whether to update the owner of the room attribute involved.

  • Required: Not required.

ZIMRoomAttributesUpdateInfo

Notice of Room Attribute Change.

Details

Notice of Room Attribute Change.

Declared in ZIMDefines.h

Properties

action

action

Behavioral information of room attribute change notification.

roomAttributes

roomAttributes
public std::unordered_map<std::string, std::string> roomAttributes

Room attributes.

ZIMRoomMemberAttributesInfo

Room user attribute information.

Details

Detail description: A class describing room user attributes, including UserID and its corresponding attributes.

Declared in ZIMDefines.h

Properties

userID

userID
public const std::string & userID

Detail description: User ID.

attributes

attributes
public std::unordered_map<std::string, std::string> attributes

Detailed description: room user attributes.

ZIMRoomMemberAttributesOperatedInfo

Room user attribute operation information.

Details

Detail description: room user attribute operation information, including attributes of successful operation and keys of failure.

Declared in ZIMDefines.h

Properties

attributesInfo

attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfo

Detailed description: room user attribute information.

errorKeys

errorKeys
public std::vector<std::string> errorKeys

Detail description: The key of the room user attribute operation failure.

ZIMRoomMemberAttributesQueryConfig

Room user attribute query configuration.

Details

Detailed description: room user attribute query configuration.

Declared in ZIMDefines.h

Properties

nextFlag

nextFlag
public const std::string & nextFlag

Detail description: Query anchor for room user properties.

Required or not: not required, it is empty by default for the first time, which means to start the query from the beginning.

count

count
public unsigned int count
  • Required: Required.

ZIMRoomMemberAttributesSetConfig

Room user property settings configuration.

Details

Detail description: room user attribute setting configuration, including configurable whether to retain user attributes after the user leaves, etc.

Business scenarios: When setting room user attributes, developers can choose to use them according to their actual application scenarios.

Declared in ZIMDefines.h

Properties

isDeleteAfterOwnerLeft

isDeleteAfterOwnerLeft
public bool isDeleteAfterOwnerLeft
  • Required: not required.

Default: true.

ZIMRoomMemberAttributesUpdateInfo

Room user attribute update information.

Details

Detailed description: Room user attribute update information.

Declared in ZIMDefines.h

Properties

attributesInfo

attributesInfo
public ZIMRoomMemberAttributesInfo attributesInfo

Detailed description: room user attributes.

ZIMRoomMemberInfo

Room user information.

Details

Detail description: A class describing room user.

Declared in ZIMDefines.h

Properties

userID

userID
public std::string userID

User ID, a string with a maximum length of 32 bytes or less. It is customized by the developer. Only support numbers, English characters and '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'.

userName

userName
public std::string userName

User name, defined by you. For version 2.0.0 and onwards, the string has a maximum length of 256 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.

userAvatarUrl

userAvatarUrl
public String userAvatarUrl

The user avatar, which is custom generated by the developer, is not restricted by special characters and has a maximum length of 500 bytes.

  • Required: Not required.
  • Privacy reminder: Please do not provide sensitive personal information, including but not limited to mobile phone numbers, ID card numbers, passport numbers, and real names.
  • Available since: 2.13.0 and above.

userExtendedData

userExtendedData
public std::string userExtendedData

Extended field information of the user.

  • Caution: This property has a value only for room users.

ZIMRoomOperatedInfo

Room operation information.

Details

Detailed description: Room operation information.

Declared in ZIMDefines.h

Properties

userID

userID
public const std::string & userID

Detail description: UserID of the operator.

ZIMSelfUserInfo

Carry user information and rules of the current user.

Details

Carry user information and rules of the current user.

Declared in ZIMDefines.h

Properties

userRule

userRule
public ZIMUserRule userRule

Rules for the current user, setting information.

userFullInfo

userFullInfo
public ZIMUserFullInfo userFullInfo

Personal information of the current user.

ZIMSelfUserRule

User's own rule class.

Declared in ZIMDefines.h

Properties

offlinePushRule

offlinePushRule
public ZIMUserOfflinePushRule offlinePushRule

The user's current rule information.

ZIMSendingMessageCancelConfig

Details

(Empty Class) Configurations related to cancel sending messages.

Declared in ZIMDefines.h

ZIMSubscribedUserStatusQueryConfig

QuerySubscribedUserStatusList query subscription list interface configuration items.

Details

QuerySubscribedUserStatusList query subscription list interface configuration items.

Declared in ZIMDefines.h

Properties

userIDs

userIDs
public const std::vector\<std::string\> & userIDs

Pass this value if you need to check whether the specified user is in the subscription list of the current user, otherwise all users in the subscription list will be returned.

ZIMTipsMessageChangeInfo

Tips message additional information.

Details

Tips message additional information.

Declared in ZIMDefines.h

Properties

type

type

Tips message additional information type.

ZIMTipsMessageGroupChangeInfo

Tips Additional information about change events related to the message group.

Details

Tips Additional information about change events related to the message group.

Declared in ZIMDefines.h

Properties

groupDataFlag

groupDataFlag
public unsigned int groupDataFlag

If there are multiple changes in the group name, group avatar, and group announcement, you need to know which ones have changed based on the value of this field. Among them, 0b0001 is the group name, 0b0010 is the group notice, and 0b0100 is the group avatar.

groupName

groupName
public std::string groupName

If the group name is changed, the changed value will be displayed here.

groupNotice

groupNotice
public std::string groupNotice

If the group notice is changed, the changed value will be displayed here.

groupAvatarUrl

groupAvatarUrl
public std::string groupAvatarUrl

If the group avatar url is changed, the changed value will be displayed here.

groupMutedInfo

groupMutedInfo
public std::shared_ptr<ZIMGroupMuteInfo> groupMutedInfo

If the group mute info is changed, the changed value will be displayed here.

type

type

Tips message additional information type.

ZIMTipsMessageGroupMemberChangeInfo

Tips Additional information about change events related to the message group member.

Details

Tips Additional information about change events related to the message group member.

Declared in ZIMDefines.h

Properties

memberRole

memberRole
public int memberRole

If a group member's role changes, the changed role will be displayed here.

muteExpiredTime

muteExpiredTime
public unsigned long long muteExpiredTime

If the group member's muting expired time changes, the new muting expired time will be displayed here.

groupNewOwner

groupNewOwner
public std::shared_ptr<ZIMGroupMemberSimpleInfo> groupNewOwner

Displays information about the new group owner when the group owner leaves the group or is kicked from the group by the server.

  • Use cases: Used for UI display when the group owner leaves the group or is kicked from the group by the server.

type

type

Tips message additional information type.

ZIMTipsMessagePinStatusChangeInfo

Tips Additional information about change events related to the message pinned or unpined.

Details

Tips Additional information about change events related to the message pinned or unpined.

Declared in ZIMDefines.h

Properties

isPinned

isPinned
public bool isPinned

Describes whether the current operation is a pin operation or an unpin operation.

type

type

Tips message additional information type.

ZIMUserOfflinePushRule

Data class of the user's offline push rule.

Details

Data class of the user's offline push rule.

Declared in ZIMDefines.h

Properties

onlinePlatforms

onlinePlatforms
public List\<int> onlinePlatforms

With the data in the class member variables notToReceiveOfflinePushPlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.

  • Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.

notToReceiveOfflinePushPlatforms

notToReceiveOfflinePushPlatforms
public List\<int> notToReceiveOfflinePushPlatforms

With the data in the class member variables onlinePlatforms collocation is used. OnlinePlatforms specified platform, online notToReceiveOfflinePushPlatforms specified platform will not receive offline push.

  • Value range: Please enter the enumeration value corresponding to the platform in the ZIMPlatformType enumeration.

ZIMUserStatus

User status data

Details

Contains data about the user's online status.

Declared in ZIMDefines.h

Properties

userID

userID
public String userID

A unique identifier for a single user.

onlineStatus

onlineStatus
public ZIMUserOnlineStatus onlineStatus

Enumeration that represents the current online status of the user.

onlinePlatforms

onlinePlatforms
public List\<Number> onlinePlatforms

The list of online platforms of the current user can be used to display the online platforms of the user, such as iPhone online and PC online. Please refer to ZIMPlatform for the meanings of the numbers.

lastUpdateTime

lastUpdateTime
public long lastUpdateTime

Timestamp when user onlineStatus or customStatus was last changed, whichever is the greater.

lastOnlineStatusUpdateTime

lastOnlineStatusUpdateTime
public long lastOnlineStatusUpdateTime

The timestamp of the last change of the user onlineStatus, which can be used to show that the user was offline/logged in before xxx minutes.

lastCustomStatusUpdateTime

lastCustomStatusUpdateTime
public long lastCustomStatusUpdateTime

The timestamp when User customStatus was last changed, which can be used to show when the custom status was last changed.

customStatus

customStatus
public String customStatus

User-defined status. The default maximum value is 64 bytes. The default expiration time is 1 day. At login, if the field is an empty string (which is the default), the current user's custom state is not modified.

ZIMUserStatusSubscribeConfig

subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.

Details

subscribeUsersStatus Configuration items of the online status interface for subscribing users in batches.

Declared in ZIMDefines.h

Properties

subscriptionDuration

subscriptionDuration
public unsigned int subscriptionDuration

Used to set the duration of this subscription.

  • Use cases: This field is required.
  • Value range: :1 to 43200 (30 days), and the unit is minute.
  • Caution: After the subscription is expired, the subscribed user will be deleted from the subscription list, and the status changes of the user will not be synchronized to the subscriber.

ZIMUserStatusSubscription

User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.

Details

User status subscription information. Contains the user's online status, a list of online platforms, subscription expiration time stamps, and more.

  • Available since: 2.18.0

Declared in ZIMDefines.h

Properties

userStatus

userStatus
public ZIMUserStatus userStatus

The online status of the user.

subscribeExpiredTime

subscribeExpiredTime
public long subscribeExpiredTime

The timestamp when the user's subscription expired.

ZIMUsersInfoQueryConfig

User information query configuration.

Details

Detailed description: User information query configuration, you can choose to query from the local or from the server. Query the unlimited frequency constraints from the local, and query the limited frequency constraints from the server. You can only query the detailed configuration of 10 users within 10 s.

Declared in ZIMDefines.h

Properties

isQueryFromServer

isQueryFromServer
public bool isQueryFromServer
  • Required: not required.

Default: false.

ZIMVideoMessage

Video message object.

Declared in ZIMDefines.h

Properties

videoDuration

videoDuration
public unsigned long long videoDuration
  • Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.

videoFirstFrameLocalPath

videoFirstFrameLocalPath
public std::string videoFirstFrameLocalPath

Detailed description: The video first frame local path of the video file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

videoFirstFrameDownloadUrl

videoFirstFrameDownloadUrl
public std::string videoFirstFrameDownloadUrl

Detail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

videoFirstFrameWidth

videoFirstFrameWidth
public unsigned int videoFirstFrameWidth

Detailed description: The width of the first frame of the video.

Business scenario: When the user needs to draw a picture UI, the parameter used to determine the width of the first frame of the video, the unit is pixel.

videoFirstFrameHeight

videoFirstFrameHeight
public unsigned int videoFirstFrameHeight

Detailed description: The height of the first frame of the video.

Business scenario: When the user needs to draw a picture UI, the parameter used to determine the height of the first frame of the video, the unit is pixel.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileUID

fileUID
public std::string fileUID

Detail description: The unique ID of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

messageID

messageID
public long long messageID

The unique ID that identifies this message.

  • Use cases: Can be used to index other messages.
  • Caution: When the developer actively creates a message, there is no need to modify this parameter. This parameter only has a value during callback.

timestamp

timestamp
public unsigned long long timestamp

Identifies the sending time of a message

  • Use cases: Used to present the sending time of a message, and can be used for message sorting.
  • Caution: This is a standard UNIX timestamp, in milliseconds.

senderUserID

senderUserID
public String senderUserID

Displays the userID of the sender of this message.

conversationID

conversationID
public String conversationID

Conversation ID. Ids of the same conversation type are unique.

direction

direction
public ZIMMessageDirection direction

Used to describe whether a message is sent or received.

sentStatus

sentStatus
public ZIMMessageSentStatus sentStatus

Describes the sending status of a message.

conversationType

conversationType
public ZIMConversationType conversationType

The type of conversation to which the message belongs.

conversationSeq

conversationSeq
public unsigned long long conversationSeq

Indicates the sequence number of the message in the conversation.

orderKey

orderKey
public long long orderKey

The larger the orderKey, the newer the message, and can be used for ordering messages.

localMessageID

localMessageID
public long long localMessageID

SDK locally generated MessageID, developers do not need to pay attention to.

isUserInserted

isUserInserted
public bool isUserInserted

Detail description: Describes whether the message is a message inserted by the developer through [insertMessageToLocalDB].

Default: false.

receiptStatus

receiptStatus
public ZIMMessageReceiptStatus receiptStatus

Describe the receipt status of the message

Business scenario: used to determine the status of the current message in the receipt message

extendedData

extendedData
public std::string extendedData

message extension field

  • Use cases: You can add extended fields to the message and send it to the peer
  • Required: no
  • Caution: the length is 1k, you can contact technical support for configuration
  • Available since: 2.6.0 or higher

localExtendedData

localExtendedData
public String localExtendedData

The expandable message field visible only on this end can store additional information locally, Through [updateMessageLocalExtendedData] change and currently has a length limit of 128K. If you have special requirements, please contact ZEGO technical support for configuration.

isBroadcastMessage

isBroadcastMessage
public bool isBroadcastMessage

Whether the message is pushed by all employees.

  • Required: Internal assignment.

isMentionAll

isMentionAll
public boolean isMentionAll

Whether to mention everyone. It can be presented as "@Everyone".

  • Use cases: For example, it can be used in groups or rooms.
  • Required: No.
  • Default value: false.
  • Recommended value: Set to true if you need to mention everyone.
  • Caution: This value does not add the "@Everyone" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

mentionedUserIDs

mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs

Whether to mention everyone. It can be presented as "@User".

  • Use cases: For example, it can be used in sending messages.
  • Required: No.
  • Caution: This value does not add the "@User" to the message text. Developers need to implement it themselves
  • Available since: 2.14.0 or above

messageSeq

messageSeq
public unsigned long long messageSeq

Indicates the sequence number of the message in the conversation.

rootRepliedCount

rootRepliedCount
public unsigned int rootRepliedCount

The number of reply messages corresponding to the root message of the reply message tree.

repliedInfo

repliedInfo
public ZIMMessageRepliedInfo repliedInfo

Information about the source message referenced by the reply message.

editorUserID

editorUserID
public std::string editorUserID

The latest editor's userID for this message.

editedTime

editedTime
public unsigned long long editedTime

The latest editing timestamp for this message.

isGroupTargetedMessage

isGroupTargetedMessage
public bool isGroupTargetedMessage

Identify if this message is group targeted message.

pinnedUserID

pinnedUserID
public std::string pinnedUserID

The last user who pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

pinnedTime

pinnedTime
public long long pinnedTime

The last timestamp when pinned this message.

  • Use cases: This parameter is only assigned in [queryPinnedMessageList] or [onMessagePinStatusChanged].

ZIMVideoMessageLiteInfo

Video message lite info object.

Details

Identifies a video message.

Usage restrictions: Only supports video files with video encoding formats of H264 and H265. After the message is sent successfully, the width and height information of the first frame of the video can be obtained.

Declared in ZIMDefines.h

Properties

videoDuration

videoDuration
public unsigned long long videoDuration
  • Required: Required by the sender, if not filled, the video message will fail to be sent when sending local video messages.

videoFirstFrameLocalPath

videoFirstFrameLocalPath
public std::string videoFirstFrameLocalPath

Detailed description: The video first frame local path of the video file.

Required or not: The sender does not need to fill in it. After calling [downloadMediaFile] to download, the SDK will generate this value.

videoFirstFrameDownloadUrl

videoFirstFrameDownloadUrl
public std::string videoFirstFrameDownloadUrl

Detail description: Video first frame external download URL of the video file. When developers upload thumbnails to their own servers, the SDK can pass through this field to other users.

Required or not: optional on the sender side, this field will only take effect when fileDownloadUrl is filled in.

videoFirstFrameWidth

videoFirstFrameWidth
public unsigned int videoFirstFrameWidth

Detailed description: The width of the first frame of the video.

Business scenario: When the user needs to draw a picture UI, the parameter used to determine the width of the first frame of the video, the unit is pixel.

videoFirstFrameHeight

videoFirstFrameHeight
public unsigned int videoFirstFrameHeight

Detailed description: The height of the first frame of the video.

Business scenario: When the user needs to draw a picture UI, the parameter used to determine the height of the first frame of the video, the unit is pixel.

fileLocalPath

fileLocalPath
public std::string fileLocalPath
  • Required: If a local file is sent, this parameter must be set by the sender. Otherwise, the message fails to be sent.

fileDownloadUrl

fileDownloadUrl
public std::string fileDownloadUrl

Detail description: The external download url of the media message is used for the developer to transparently transmit the media file to other users by filling in this URL when the developer uploads the media file to his own server.

Required or not: If an external URL is sent, this parameter is mandatory on the sender end.

fileName

fileName
public std::string fileName

Detail description: The filename of the media file.

Required or not: If you are sending an external URL, you need to fill in this value and include the file extension. If a local file is sent, the value is optional.

fileSize

fileSize
public unsigned long long fileSize

Detail description: The size of the media file.

Required or not: The sender does not need to fill in, this value is generated by the SDK.

type

type
public ZIMMessageType type

Identifies the type of this message.

ZIMVoIPConfig

Provides information about the iOS VoIP offline push.

Details

Provides information about the iOS VoIP offline push.

Declared in ZIMDefines.h

Properties

iOSVoIPHandleType

iOSVoIPHandleType
public ZIMCXHandleType iOSVoIPHandleType

The type of contact information for the VoIP caller, by default, is generic.

iOSVoIPHandleValue

iOSVoIPHandleValue
public String iOSVoIPHandleValue

The contact information of the VoIP caller. It is related to iOSVoIPHandleType. When iOSVoIPHandleType is PhoneNumber, the Value is a sequence of digits; when iOSVoIPHandleType is EmailAddress, the Value is an email address; when the contact information is of other types, the Value typically follows some domain-specific format, such as a username, numeric ID, or URL.

iOSVoIPHasVideo

iOSVoIPHasVideo
public boolean iOSVoIPHasVideo

Video call or not. The default value is audio

Previous

Interface

Next

Enum

On this page

Back to top