Key IM SDK Types

Last updated: 2020-08-03 11:17:36

    Common Macro and Basic Configuration Options

    TIMResult

    Values returned after an API is called.

    Name Description
    TIM_SUCC API called successfully
    TIM_ERR_SDKUNINIT Failed to call the API because the IM SDK is not initialized.
    TIM_ERR_NOTLOGIN Failed to call the API because the user did not log in.
    TIM_ERR_JSON Failed to call the API because the JSON format or JSON Key is incorrect.
    TIM_ERR_PARAM Failed to call the API because parameters are incorrect.
    TIM_ERR_CONV Failed to call the API because the session is invalid.
    TIM_ERR_GROUP Failed to call the API because the group is invalid.

    Note:

    If a callback exists in the API parameters, the callback is called only when the API returns a TIM_SUCC message.

    TIMLogLevel

    Log level.

    Name Description
    kTIMLog_Off Disables log output.
    kTIMLog_Test Full log
    kTIMLog_Verbose Log for detailed information during development and debugging
    kTIMLog_Debug Debugging log
    kTIMLog_Info Information log
    kTIMLog_Warn Alarm log
    kTIMLog_Error Error log
    kTIMLog_Assert Assertion log

    TIMNetworkStatus

    Connection event type.

    Name Description
    kTIMConnected Connected
    kTIMDisconnected Disconnected
    kTIMConnecting Connecting
    kTIMConnectFailed Failed to connect

    TIMConvEvent

    Session event type.

    Name Description
    kTIMConvEvent_Add Adds a session. For example, when a new message is received and a new session is generated, this operation is triggered.
    kTIMConvEvent_Del Deletes a session. For example, if you delete a session, this operation is triggered.
    kTIMConvEvent_Update Updates a session. When the number of unread messages in a session changes or a new message is received, this operation is triggered.

    TIMConvType

    Session type.

    Name Description
    kTIMConv_Invalid Invalid session
    kTIMConv_C2C Personal session
    kTIMConv_Group Group session
    kTIMConv_System System session

    TIMPlatform

    Platform information.

    Name Description
    kTIMPlatform_Other Unknown platform
    kTIMPlatform_Windows Windows platform
    kTIMPlatform_Android Android platform
    kTIMPlatform_IOS iOS platform
    kTIMPlatform_Mac MacOS platform
    kTIMPlatform_Simulator iOS simulator platform

    SdKConfig

    Configuration for initializing the IM SDK.

    JSON Key Value Type Attribute Description
    kTIMSdkConfigConfigFilePath string Write-only (optional) Configures the file path. The default path is "/".
    kTIMSdkConfigLogFilePath string Write-only (optional) Path of a log file. The default path is "/".
    kTIMSdkConfigJavaVM uint64 Write-only (optional) Configures the Java VM pointer of the Android platform.

    TIMGroupMemberInfoFlag

    Information IDs of group members.

    Name Description
    kTIMGroupMemberInfoFlag_None None
    kTIMGroupMemberInfoFlag_JoinTime Join time
    kTIMGroupMemberInfoFlag_MsgFlag Option for receiving group messages
    kTIMGroupMemberInfoFlag_MsgSeq Member read message seq
    kTIMGroupMemberInfoFlag_MemberRole Member role
    kTIMGroupMemberInfoFlag_ShutupUntill Mute time. When the value is 0, mute is not enabled.
    kTIMGroupMemberInfoFlag_NameCard Group card

    TIMGroupMemberRoleFlag

    Role IDs of group members.

    Name Description
    kTIMGroupMemberRoleFlag_All Obtains all role types.
    kTIMGroupMemberRoleFlag_Owner Obtains the owner (group owner).
    kTIMGroupMemberRoleFlag_Admin Obtains administrators, excluding group owners.
    kTIMGroupMemberRoleFlag_Member Obtains common group members, excluding group owners and administrators.

    GroupMemberGetInfoOption

    Option for obtaining group member information.

    JSON Key Value Type Attribute Description
    kTIMGroupMemberGetInfoOptionInfoFlag uint64 TIMGroupMemberInfoFlag Read/Write (optional) Group member information is filtered based on information you want to obtain. The default value is 0xffffffff (obtain all information).
    kTIMGroupMemberGetInfoOptionRoleFlag uint64 TIMGroupMemberRoleFlag Read/Write (optional) Group member information is filtered based on member role. The default value is kTIMGroupMemberRoleFlag_All (obtain all roles).
    kTIMGroupMemberGetInfoOptionCustomArray array string Write-only (optional) See Custom Fields.

    TIMGroupGetInfoFlag

    Information IDs of group members.

    Name Description
    kTIMGroupInfoFlag_None -
    kTIMGroupInfoFlag_Name Group name
    kTIMGroupInfoFlag_CreateTime Group creation time
    kTIMGroupInfoFlag_OwnerUin Group owner account
    kTIMGroupInfoFlag_Seq -
    kTIMGroupInfoFlag_LastTime Last group information modification time
    kTIMGroupInfoFlag_NextMsgSeq -
    kTIMGroupInfoFlag_LastMsgTime Time of the most recent group message
    kTIMGroupInfoFlag_AppId -
    kTIMGroupInfoFlag_MemberNum Number of group members
    kTIMGroupInfoFlag_MaxMemberNum Maximum number of group members
    kTIMGroupInfoFlag_Notification Group announcement content
    kTIMGroupInfoFlag_Introduction Group introduction
    kTIMGroupInfoFlag_FaceUrl URL of a group profile photo
    kTIMGroupInfoFlag_AddOpton Option for adding a group
    kTIMGroupInfoFlag_GroupType Group type
    kTIMGroupInfoFlag_LastMsg Latest message in a group
    kTIMGroupInfoFlag_OnlineNum Number of online group members
    kTIMGroupInfoFlag_Visible Whether a group is visible
    kTIMGroupInfoFlag_Searchable Whether a group can be searched
    kTIMGroupInfoFlag_ShutupAll Whether mute is enabled for all group members

    GroupGetInfoOption

    Option for obtaining group information.

    JSON Key Value Type Attribute Description
    kTIMGroupGetInfoOptionInfoFlag uint64 TIMGroupGetInfoFlag Read/Write (optional) Group information is filtered based on information you want to obtain. The default value is 0xffffffff (obtain all information).
    kTIMGroupGetInfoOptionCustomArray array string Write-only (optional) See Custom Fields.

    UserConfig

    Used to configure information.

    JSON Key Value Type Attribute Description
    kTIMUserConfigIsReadReceipt bool Write-only (optional) The value True indicates that a read receipt event will be received.
    kTIMUserConfigIsSyncReport bool Write-only (optional) The value true indicates that the server will delete the read status.
    kTIMUserConfigIsIngoreGroupTipsUnRead bool Write-only (optional) The value True indicates that group tips are not included in the read group message count.
    kTIMUserConfigIsDisableStorage bool Write-only (optional) Specifies whether to disable the local database. True: disabled. False: not disabled. The default value is False.
    kTIMUserConfigGroupGetInfoOption object GroupGetInfoOption Write-only (optional) Obtains the default option of group information.
    kTIMUserConfigGroupMemberGetInfoOption object GroupMemberGetInfoOption Write-only (optional) Obtains the default option of group member information.

    HttpProxyInfo

    HTTP proxy information.

    JSON Key Value Type Attribute Description
    kTIMHttpProxyInfoIp string Write-only (required) IP address of the proxy
    kTIMHttpProxyInfoPort int Write-only (required) Port of the proxy

    Socks5ProxyInfo

    SOCKS5 proxy information.

    JSON Key Value Type Attribute Description
    kTIMSocks5ProxyInfoIp string Write-only (required) IP address of the SOCKS5 proxy
    kTIMSocks5ProxyInfoPort int Write-only (required) Port of the SOCKS5 proxy
    kTIMSocks5ProxyInfoUserName string Write-only (optional) Authentication user name
    kTIMSocks5ProxyInfoPassword string Write-only (optional) Authentication password

    SetConfig

    Update configuration

    • Custom data.
      The IM SDK only passes through data customized by developers to the IM backend. The maximum length is 64 bytes. The developer service backend can be notified of the custom data through a third-party callback status change callback.
    • HTTP proxy.
      The HTTP proxy uploads related files to the COS when it sends messages such as pictures, audios, files, and videos clips and downloads related files to the local server when it receives messages such as pictures, audio, files, and video clips. To enable the HTTP proxy, set the IP address of the proxy to a value other than null and the port to a value other than 0 (port 0 is unavailable). To disable the HTTP proxy, set the IP address of the proxy to a null string and the port to 0.
    • SOCKS5 proxy.
      The SOCKS5 proxy must be enabled before it is initialized. After the SOCKS5 proxy is enabled, all protocols sent by the IM SDK are sent to the IM backend through the SOCKS5 proxy server.
    JSON Key Value Type Attribute Description
    kTIMSetConfigLogLevel uint TIMLogLevel Write-only (optional) Level of the log output to the log file
    kTIMSetConfigCackBackLogLevel uint TIMLogLevel Write-only (optional) Log level for log callback
    kTIMSetConfigIsLogOutputConsole bool Write-only (optional) Whether to output to the console
    kTIMSetConfigUserConfig object UserConfig Write-only (optional) User configuration
    kTIMSetConfigUserDefineData string Write-only (optional) Custom data. If required, custom data is set before initialization.
    kTIMSetConfigHttpProxyInfo object HttpProxyInfo Write-only (optional) Sets the HTTP proxy. If required, the HTTP proxy must be enabled before it sends pictures, files, audio, and videos.
    kTIMSetConfigSocks5ProxyInfo object Socks5ProxyInfo Write-only (optional) Sets the SOCKS5 proxy. If required, the SOCKS5 proxy must be enabled before it is initialized.
    kTIMSetConfigIsOnlyLocalDNSSource bool Write-only (optional) If the value is True, the SDK uses only LocalDNS when it selects the optimal IP address.

    Key Message Types

    Macro definitions related to messages and JSON Key definitions accessed by related structure members.

    IOSOfflinePushConfig

    Offline push configuration for messages on iOS.

    JSON Key Value Type Attribute Description
    kTIMIOSOfflinePushConfigTitle string Read/Write Notification title
    kTIMIOSOfflinePushConfigSound string Read/Write Offline push alert tone URL of the current message for iOS devices. When the value is push.no_sound, no alert tone and no vibration are provided.
    kTIMIOSOfflinePushConfigIgnoreBadge bool Read/Write Whether to ignore the badge count. If the value is True, the message does not increase the value of the unread message count of the app icon on iOS devices.

    TIMAndroidOfflinePushNotifyMode

    Android offline push mode.

    Name Description
    kTIMAndroidOfflinePushNotifyMode_Normal Common notification bar message mode. After an offline message is sent, if you click a message in the notification bar, the app is directly opened and no callback is triggered for the app.
    kTIMAndroidOfflinePushNotifyMode_Custom Custom message mode. After an offline message is sent, if you click a message in the notification bar, a callback is triggered for the app.

    AndroidOfflinePushConfig

    Offline push configuration for messages on Android devices.

    JSON Key Value Type Attribute Description
    kTIMAndroidOfflinePushConfigTitle string Read/Write Notification title
    kTIMAndroidOfflinePushConfigSound string Read/Write Offline push alert tone URL of the current message on Android devices
    kTIMAndroidOfflinePushConfigNotifyMode uint TIMAndroidOfflinePushNotifyMode Read/Write Notification mode of the current message
    kTIMAndroidOfflinePushConfigOPPOChannelID string Read/Write OPPO ChannelID

    Note:

    Description of ChannelID
    In Android 8.0 and later versions, the ChannelID setting is added to messages in the notification bar. At present, this parameter is required for OPPO phones. If this parameter is not specified, OPPO phones running Android 8.0 or later cannot receive offline push messages. In the future, parameters such as xiaomi_channel_id_ and huawei_channel_id may be added.

    TIMOfflinePushFlag

    Push rules.

    Name Description
    kTIMOfflinePushFlag_Default Messages are pushed based on default rules.
    kTIMOfflinePushFlag_NoPush Messages are not pushed.

    OfflinePushConfig

    Offline message push configuration.

    JSON Key Value Type Attribute Description
    kTIMOfflinePushConfigDesc string Read/Write Content displayed by the current message when the peer receives the message pushed offline
    kTIMOfflinePushConfigExt string Read/Write Extension field when the current message is pushed offline
    kTIMOfflinePushConfigFlag uint TIMOfflinePushFlag Read/Write Whether the current message allows push. By default, push is allowed (kTIMOfflinePushFlag_Default).
    kTIMOfflinePushConfigIOSConfig object IOSOfflinePushConfig Read/Write iOS offline push configuration
    kTIMOfflinePushConfigAndroidConfig object AndroidOfflinePushConfig Read/Write Android offline push configuration

    TIMMsgStatus

    Definition of the current status of a message.

    Name Description
    kTIMMsg_Sending The message is being sent.
    kTIMMsg_SendSucc The message was sent successfully.
    kTIMMsg_SendFail Failed to send the message.
    kTIMMsg_Deleted The message was deleted.
    kTIMMsg_LocalImported The message was imported.
    kTIMMsg_Revoked The message was revoked.

    TIMMsgPriority

    Priority of a message. When the value is larger, the priority is lower.

    Name Description
    kTIMMsgPriority_High Highest priority. This is generally used for red envelope and gift messages.
    kTIMMsgPriority_Normal Second highest priority. We recommend this priority for common messages.
    kTIMMsgPriority_Low Low priority. We recommend this priority for like notifications.
    kTIMMsgPriority_Lowest Lowest priority. This is generally used for group join and exit notifications (sent by the backend).

    Message

    Message JSON Keys.

    JSON Key Value Type Attribute Description
    kTIMMsgElemArray array Elem Read/Write (required) List of elements in the message
    kTIMMsgConvId string Read/Write (optional) Session ID of the message
    kTIMMsgConvType uint TIMConvType Read/Write (optional) Session type of the message
    kTIMMsgSender string Read/Write (optional) Sender of the message
    kTIMMsgPriority uint TIMMsgPriority Read/Write (optional) Priority of the message
    kTIMMsgClientTime uint64 Read/Write (optional) Client time
    kTIMMsgServerTime uint64 Read/Write (optional) Server time
    kTIMMsgIsFormSelf bool Read/Write (optional) Whether the message is from the user himself or herself
    kTIMMsgPlatform bool Read/Write (optional) Platform that sends the message
    kTIMMsgIsRead bool Read/Write (optional) Whether the message is read
    kTIMMsgIsOnlineMsg bool Read/Write (optional) Whether the message is an online message. False: common message. True: message that is deleted immediately after it is read. The default value is False.
    kTIMMsgIsPeerRead bool Read-only Whether the message is read by the peer of the session
    kTIMMsgStatus uint TIMMsgStatus Read/Write (optional) Current status of the message
    kTIMMsgUniqueId uint64 Read-only Unique ID of the message
    kTIMMsgRand uint64 Read-only Random code of the message
    kTIMMsgSeq uint64 Read-only Message sequence
    kTIMMsgCustomInt uint32_t Read/Write (optional) Custom integer field
    kTIMMsgCustomStr string Read/Write (optional) Custom data field
    kTIMMsgSenderProfile object UserProfile Read/Write (optional) User profile of the message sender
    kTIMMsgSenderGroupMemberInfo object GroupMemberInfo Read/Write (optional) Information of the message sender in a group. This parameter is only valid in a group session. Currently, only the kTIMGroupMemberInfoIdentifier and kTIMGroupMemberInfoNameCard fields can be obtained. Other fields are obtained through the API TIMGroupGetMemberInfoList.
    kTIMMsgOfflinePushConfig object OfflinePushConfig Read/Write (optional) Offline message push setting

    Note:

    • Corresponding element sequence:
      Currently, files and voice elements may not be transmitted in the added sequence. Other elements are transmitted in sequence. However, we recommend that you do not overly depend on the element sequence for processing. Processing should be performed based on each element type to prevent process crashes when an exception occurs.
    • For group red envelope and like notification messages:
      In live-streaming scenarios, like and red envelope features are provided. The priority of like notifications is low and the priority of red envelope notifications is high. Message content can be customized using CustomElem. When a message is sent, kTIMMsgPriority can be used to define the message priority.
    • Delete after read messages:
      If the kTIMMsgIsOnlineMsg field is set to True, the message is a delete after read message. The message has the following characteristics.
      • C2C session: When the message is sent, the peer can receive the message only when the peer is online. If the peer is offline, the peer cannot receive the message even if the peer logs in later.
      • Group session: When the message is sent, only online members in the group can receive the message. If a member is offline at the time, the member cannot receive the message even if the member logs in later.
      • The message is not saved on the server.
      • The message is not included in the unread message count.
      • The message is not stored locally.
    • Custom fields of the message:
      Developers can add custom fields to the message. If integers (specified through kTIMMsgCustomInt) and binary data (specified through kTIMMsgCustomStr; data must be converted into a string and JSON data does not support binary transmission) are customized, different effects can be provided based on the two fields, such as whether voice messages are played. In addition, the values of the two fields are stored locally only and are not synchronized to the server. Therefore, users cannot retrieve these fields when they change devices.

    MessageReceipt

    Message read receipt.

    JSON Key Value Type Attribute Description
    kTIMMsgReceiptConvId string Read-only Session ID
    kTIMMsgReceiptConvType uint TIMConvType Read-only Session type
    kTIMMsgReceiptTimeStamp uint64 Read-only Timestamp

    TIMElemType

    Element type.

    Name Description
    kTIMElem_Text Text element
    kTIMElem_Image Image element
    kTIMElem_Sound Sound element
    kTIMElem_Custom Custom element
    kTIMElem_File File element
    kTIMElem_GroupTips Element of the group or system message
    kTIMElem_Face Emoji element
    kTIMElem_Location Location element
    kTIMElem_GroupReport Element of the group or system notification
    kTIMElem_Video Video element
    kTIMElem_FriendChange Relation chain change message element
    kTIMElem_ProfileChange Profile change message element
    kTIMElem_Invalid Unknown element type

    Elem

    Element type.

    JSON Key Value Type Attribute Description
    kTIMElemType uint TIMElemType Read/Write (required) Element type

    TextElem

    Text element.

    JSON Key Value Type Attribute Description
    kTIMTextElemContent string Read/Write (required) Text content

    FaceElem

    Emoji element.

    JSON Key Value Type Attribute Description
    kTIMFaceElemIndex int Read/Write (required) Emoji index
    kTIMFaceElemBuf string Read/Write (optional) Other additional data can be customized by the user. To transmit binary data, first convert the binary data into a string. JSON only supports strings.

    Note:

    The IM SDK does not provide any emoji package. If a developer has emoji packages, the developer may use kTIMFaceElemIndex to store emoji indexes in emoji packages or directly use kTIMFaceElemBuf to store binary information of emojis (the information must be converted into a string. JSON does not support binary transmission). Emoji packages are customized by users, and the IM SDK only passes the data through.

    LocationElem

    Location element.

    JSON Key Value Type Attribute Description
    kTIMLocationElemDesc string Read/Write (optional) Location description
    kTIMLocationElemLongitude double Read/Write (required) Longitude
    kTIMLocationElemlatitude double Read/Write (required) Latitude

    TIMImageLevel

    Image quality level.

    Name Description
    kTIMImageLevel_Orig The original image is sent.
    kTIMImageLevel_Compression A highly compressed image is sent (a small image by default).
    kTIMImageLevel_HD A high definition (HD) image is sent (a large image).

    ImageElem

    Image element.

    JSON Key Value Type Attribute Description
    kTIMImageElemOrigPath string Read/Write (required) Path of the sent image
    kTIMImageElemLevel uint TIMImageLevel Read/Write (required) Quality level of the sent image
    kTIMImageElemFormat int Read/Write Format of the sent image
    kTIMImageElemOrigId string Read-only UUID of the original image
    kTIMImageElemOrigPicHeight int Read-only Height of the original image
    kTIMImageElemOrigPicWidth int Read-only Width of the original image
    kTIMImageElemOrigPicSize int Read-only Size of the original image
    kTIMImageElemThumbId string Read-only UUID of the thumbnail
    kTIMImageElemThumbPicHeight int Read-only Height of the thumbnail
    kTIMImageElemThumbPicWidth int Read-only Width of the thumbnail
    kTIMImageElemThumbPicSize int Read-only Size of the thumbnail
    kTIMImageElemLargeId string Read-only UUID of the large image
    kTIMImageElemLargePicHeight int Read-only Height of the large image
    kTIMImageElemLargePicWidth int Read-only Width of the large image
    kTIMImageElemLargePicSize int Read-only Size of the large image
    kTIMImageElemOrigUrl string Read-only URL of the original image
    kTIMImageElemThumbUrl string Read-only URL of the thumbnail
    kTIMImageElemLargeUrl string Read-only URL of the large image
    kTIMImageElemTaskId int Read-only Task ID

    Note:

    • Description of image specifications: each image has three specifications, Original (original image), Large (large image), and Thumb (thumbnail).
      • An original image refers to a sent original image. The size of the original image remains unchanged.
      • A large image is an image obtained after the original image is proportionally compressed. After the compression, the height or width (whichever is shorter) is equal to 720 pixels.
      • A thumbnail is an image obtained after the original image is proportionally compressed. After the compression, the height or width (whichever is shorter) is equal to 198 pixels.
    • If the size of the original image is smaller than 198 pixels, the original size is retained for the three specifications and compression is not required.
    • If the size of the original image is between 198 pixels and 720 pixels, no compression is required for the large image and original image.
    • When an image is displayed on a phone, we recommend that you display the thumbnail first. Then, the user can tap the thumbnail to download the large image and tap the large image to download the original image. Developers may also choose to skip the large image, so the user directly downloads the original image by tapping the thumbnail.
    • When images are displayed on a tablet or PC, because the resolution is high and the devices are usually connected to Wi-Fi or a wired network, we recommend that you directly display large images. Then, the user can tap the large image to download the original image.

    SoundElem

    Sound element.

    JSON Key Value Type Attribute Description
    kTIMSoundElemFilePath string Read/Write (required) Path of a voice message file. The developer must first save the language and then specify a path.
    kTIMSoundElemFileSize int Read/Write (required) Size of a voice message data file (in seconds)
    kTIMSoundElemFileTime int Read/Write (required) Voice message duration
    kTIMSoundElemFileId string Read-only ID of a downloaded voice message file
    kTIMSoundElemBusinessId int Read-only BusinessID used during download
    kTIMSoundElemDownloadFlag int Read-only Whether to apply for a download address. 0: yes; 1: apply for a download address from COS; 2: directly download from the URL.
    kTIMSoundElemUrl string Read-only Downloaded URL
    kTIMSoundElemTaskId int Read-only Task ID

    Note:

    • Whether the voice message has been played, which can be implemented using a message custom field. For example, the field can be set to 0 to indicate the message has not been played or 1 to indicate the message has been played. After the user clicks play, the field can be set to 1.
    • Only one sound element can be added for a message. When multiple sound elements are added for one message, sending the message may fail.

    CustomElem

    Custom element.

    JSON Key Value Type Attribute Description
    kTIMCustomElemData string Read/Write Data. Binary data is supported.
    kTIMCustomElemDesc string Read/Write Custom description
    kTIMCustomElemExt string Read/Write The ext field pushed by the backend
    kTIMCustomElemSound string Read/Write Custom sound

    Note:

    When the internal message types cannot meet special requirements, developers can use custom message types to customize a message format and message content. The IM SDK is only responsible for passing the messages through.

    FileElem

    File element.

    JSON Key Value Type Attribute Description
    kTIMFileElemFilePath string Read/Write (required) File path (including file name)
    kTIMFileElemFileName string Read/Write (required) Displayed file name. If this parameter is not specified, by default, the value of kTIMFileElemFileName is the file name in the file path specified by kTIMFileElemFilePath.
    kTIMFileElemFileSize int Read/Write (required) File size
    kTIMFileElemFileId string Read-only UUID during video download
    kTIMFileElemBusinessId int Read-only BusinessID used during download
    kTIMFileElemDownloadFlag int Read-only File download flag
    kTIMFileElemUrl string Read-only URL for file download
    kTIMFileElemTaskId int Read-only Task ID

    Note:

    Only one file element can be added for a message. When multiple file elements are added for one message, the message may fail to send.

    VideoElem

    Video element.

    JSON Key Value Type Attribute Description
    kTIMVideoElemVideoType string Read/Write (required) Video file type. This parameter is set when a message is sent.
    kTIMVideoElemVideoSize uint Read/Write (required) Video file size
    kTIMVideoElemVideoDuration uint Read/Write (required) Video duration. This parameter is set when a message is sent.
    kTIMVideoElemVideoPath string Read/Write (required) Corresponding file path
    kTIMVideoElemVideoId string Read-only UUID during video download
    kTIMVideoElemBusinessId int Read-only BusinessID used during download
    kTIMVideoElemVideoDownloadFlag int Read-only Flag for video file download
    kTIMVideoElemVideoUrl string Read-only URL for video file download
    kTIMVideoElemImageType string Read/Write (required) Screenshot file type. This parameter is set when a message is sent.
    kTIMVideoElemImageSize uint Read/Write (required) Screenshot file size
    kTIMVideoElemImageWidth uint Read/Write (required) Screenshot height. This parameter is set when a message is sent.
    kTIMVideoElemImageHeight uint Read/Write (required) Screenshot width. This parameter is set when a message is sent.
    kTIMVideoElemImagePath string Read/Write (required) Path for saving a screenshot
    kTIMVideoElemImageId string Read-only ID during download of a video screenshot
    kTIMVideoElemImageDownloadFlag int Read-only Flag for screenshot file download
    kTIMVideoElemImageUrl string Read-only URL for screenshot file download
    kTIMVideoElemTaskId uint Read-only Task ID

    TIMGroupTipGroupChangeFlag

    Group information modification type.

    Name Description
    kTIMGroupTipChangeFlag_Unknown Unknown modification
    kTIMGroupTipChangeFlag_Name Modifies the group name.
    kTIMGroupTipChangeFlag_Introduction Modifies the group introduction.
    kTIMGroupTipChangeFlag_Notification Modifies the group announcement.
    kTIMGroupTipChangeFlag_FaceUrl Modifies the URL of a group profile photo.
    kTIMGroupTipChangeFlag_Owner Modifies the group owner.
    kTIMGroupTipChangeFlag_Custom Modifies group custom information.

    GroupTipGroupChangeInfo

    Group system message - group information modification.

    JSON Key Value Type Attribute Description
    kTIMGroupTipGroupChangeInfoFlag uint TIMGroupTipGroupChangeFlag Read-only Group information flag for group message modification
    kTIMGroupTipGroupChangeInfoValue string Read-only Modified value. Different values of the info_flag field have different meanings.
    kTIMGroupTipGroupChangeInfoKey string Read-only The key value corresponding to custom information. The parameter is valid only when the value of info_flag is kTIMGroupTipChangeFlag_Custom.

    GroupTipMemberChangeInfo

    Group system message - mute for group members.

    JSON Key Value Type Attribute Description
    kTIMGroupTipMemberChangeInfoIdentifier string Read-only ID of the group member
    kTIMGroupTipMemberChangeInfoShutupTime uint Read-only Mute time

    TIMGroupTipType

    Message type of the group system.

    Name Description
    kTIMGroupTip_None Invalid group tip
    kTIMGroupTip_Invite Invitation tip
    kTIMGroupTip_Quit Group exit tip
    kTIMGroupTip_Kick Removal tip
    kTIMGroupTip_SetAdmin Administrator setting tip
    kTIMGroupTip_CancelAdmin Administrator cancelation tip
    kTIMGroupTip_GroupInfoChange Group information modification tip
    kTIMGroupTip_MemberInfoChange Group member information modification tip

    GroupTipsElem

    Message element of the group system (for all group members).

    JSON Key Value Type Attribute Description
    kTIMGroupTipsElemTipType uint TIMGroupTipType Read-only Group message type
    kTIMGroupTipsElemOpUser string Read-only Operator ID
    kTIMGroupTipsElemGroupName string Read-only Group name
    kTIMGroupTipsElemGroupId string Read-only Group ID
    kTIMGroupTipsElemTime uint Read-only Group message time
    kTIMGroupTipsElemUserArray array string Read-only List of accounts operated on
    kTIMGroupTipsElemGroupChangeInfoArray array GroupTipGroupChangeInfo Read-only Group information change information list. This parameter is valid only when the value of tips_type is kTIMGroupTip_GroupInfoChange.
    kTIMGroupTipsElemMemberChangeInfoArray array GroupTipMemberChangeInfo Read-only Group membeinformation list. This parameter is valid only when the value of tips_type is kTIMGroupTip_MemberInfoChange.
    kTIMGroupTipsElemOpUserInfo object UserProfile Read-only Personal profile of the operator
    kTIMGroupTipsElemOpGroupMemberInfo object GroupMemberInfo Read-only Group member information
    kTIMGroupTipsElemChangedUserInfoArray array UserProfile Read-only List of user profiles operated on
    kTIMGroupTipsElemChangedGroupMemberInfoArray array GroupMemberInfo Read-only Group member information list
    kTIMGroupTipsElemMemberNum uint Read-only Number of current group members. This parameter is valid only when the event message type is kTIMGroupTip_Invite, kTIMGroupTip_Quit, or kTIMGroupTip_Kick.
    kTIMGroupTipsElemPlatform string Read-only Operator platform information

    TIMGroupReportType

    Notification types of the group system.

    Name Description
    kTIMGroupReport_None Unknown type
    kTIMGroupReport_AddRequest Group join request (only the administrator receives the notification).
    kTIMGroupReport_AddAccept A group join request is accepted (only the applicant receives the notification).
    kTIMGroupReport_AddRefuse A group join request is rejected (only the applicant receives the notification).
    kTIMGroupReport_BeKicked Kicked out of a group by the administrator (only the member who is kicked out of the group receives the notification).
    kTIMGroupReport_Delete The group is deleted (all members receive the notification).
    kTIMGroupReport_Create A group is created (only the creator receives the notification, which is not displayed).
    kTIMGroupReport_Invite Group invitation (invited users receive the notification).
    kTIMGroupReport_Quit Quit a group (members who exit the group receive this notification, which is not displayed).
    kTIMGroupReport_GrantAdmin An administrator is set (the set administrator receives the notification).
    kTIMGroupReport_CancelAdmin An administrator is cancelled (the canceled administrator receives the notification).
    kTIMGroupReport_RevokeAdmin A group is revoked (all group members receive the notification, which is not displayed).
    kTIMGroupReport_InviteReq Group invitation (only invited users receive the notification).
    kTIMGroupReport_InviteAccept Group invitation is accepted (only the user who sends the invitation request receives the notification).
    kTIMGroupReport_InviteRefuse Group invitation is refused (only the user who sends an invitation request receives the notification).
    kTIMGroupReport_ReadReport The read report is synchronized on multiple terminals (only the user who reports the information receives the notification).
    kTIMGroupReport_UserDefine Custom notification (by default, all members receive the notification).

    GroupReportElem

    Notification elements of the group system (for individuals).

    JSON Key Value Type Attribute Description
    kTIMGroupReportElemReportType uint TIMGroupReportType Read-only Type
    kTIMGroupReportElemGroupId string Read-only Group ID
    kTIMGroupReportElemGroupName string Read-only Group name
    kTIMGroupReportElemOpUser