// Copyright © 2023 OpenIM. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdk_ws/wrappers.proto"; option go_package = "Open_IM/pkg/proto/sdk_ws;server_api_params"; package server_api_params; ////////////////////////////////base/////////////////////////////// message GroupInfo{ string groupID = 1; string groupName = 2; string notification = 3; string introduction = 4; string faceURL = 5; string ownerUserID = 6; uint32 createTime = 7; uint32 memberCount = 8; string ex = 9; int32 status = 10; string creatorUserID = 11; int32 groupType = 12; int32 needVerification = 13; int32 lookMemberInfo = 14; int32 applyMemberFriend = 15; uint32 notificationUpdateTime = 16; string notificationUserID = 17; } message GroupInfoForSet{ string groupID = 1; string groupName = 2; string notification = 3; string introduction = 4; string faceURL = 5; string ex = 6; google.protobuf.Int32Value needVerification = 7; google.protobuf.Int32Value lookMemberInfo = 8; google.protobuf.Int32Value applyMemberFriend = 9; } message GroupMemberFullInfo { string groupID = 1 ; string userID = 2 ; int32 roleLevel = 3; int32 joinTime = 4; string nickname = 5; string faceURL = 6; int32 appMangerLevel = 7; //if >0 int32 joinSource = 8; string operatorUserID = 9; string ex = 10; uint32 muteEndTime = 11; string inviterUserID = 12; } message PublicUserInfo{ string userID = 1; string nickname = 2; string faceURL = 3; int32 gender = 4; string ex = 5; } message UserInfo{ string userID = 1; string nickname = 2; string faceURL = 3; int32 gender = 4; string phoneNumber = 5; uint32 birth = 6; string email = 7; string ex = 8; uint32 createTime = 9; int32 appMangerLevel = 10; int32 globalRecvMsgOpt = 11; string birthStr = 12; } message FriendInfo{ string ownerUserID = 1; string remark = 2; uint32 createTime = 3; UserInfo friendUser = 4; int32 addSource = 5; string operatorUserID = 6; string ex = 7; } message BlackInfo{ string ownerUserID = 1; uint32 createTime = 2; PublicUserInfo blackUserInfo = 3; int32 addSource = 4; string operatorUserID = 5; string ex = 6; } message GroupRequest{ PublicUserInfo userInfo = 1; GroupInfo groupInfo = 2; int32 handleResult = 3; string reqMsg = 4; string handleMsg = 5; uint32 reqTime = 6; string handleUserID = 7; uint32 handleTime = 8; string ex = 9; int32 joinSource = 10; string inviterUserID = 11; } message FriendRequest{ string fromUserID = 1; string fromNickname = 2; string fromFaceURL = 3; int32 fromGender = 4; string toUserID = 5; string toNickname = 6; string toFaceURL = 7; int32 toGender = 8; int32 handleResult = 9; string reqMsg = 10; uint32 createTime = 11; string handlerUserID = 12; string handleMsg = 13; uint32 handleTime = 14; string ex = 15; } ///////////////////////////////////organization///////////////////////////////////// message Department { string departmentID = 1; string faceURL = 2; string name = 3; string parentID = 4; int32 order = 5; int32 departmentType = 6; uint32 createTime = 7; uint32 subDepartmentNum = 8; uint32 memberNum = 9; string ex = 10; } message OrganizationUser { string userID = 1; string nickname = 2; string englishName = 3; string faceURL = 4; int32 gender = 5; string mobile = 6; string telephone = 7; uint32 birth = 8; string email = 9; uint32 createTime = 10; string ex = 11; string birthStr = 12; } message DepartmentMember { string userID = 1; string departmentID = 2; int32 order = 3; string position = 4; int32 leader = 5; int32 status = 6; string ex = 7; } message UserDepartmentMember { OrganizationUser organizationUser = 1; DepartmentMember departmentMember = 2; } message UserInDepartment { OrganizationUser organizationUser = 1; repeated DepartmentMember departmentMemberList = 2; } ///////////////////////////////////organization end////////////////////////////////// ///////////////////////////////////base end///////////////////////////////////// message PullMessageBySeqListReq{ string userID = 1; string operationID = 2; repeated uint32 seqList = 3; map groupSeqList = 4; } message seqList { repeated uint32 seqList = 1; } message MsgDataList { repeated MsgData msgDataList = 1; } message PullMessageBySeqListResp { int32 errCode = 1; string errMsg = 2; repeated MsgData list = 3; map groupMsgDataList = 4; } message GetMaxAndMinSeqReq { repeated string groupIDList = 1; string userID = 2; string operationID = 3; } message MaxAndMinSeq{ uint32 maxSeq = 1; uint32 minSeq = 2; } message GetMaxAndMinSeqResp { uint32 maxSeq = 1; uint32 minSeq = 2; int32 errCode = 3; string errMsg = 4; map groupMaxAndMinSeq = 5; } message UserSendMsgResp { string serverMsgID = 1; string clientMsgID = 2; int64 sendTime = 3; string ex = 4; } message MsgData { string sendID = 1; string recvID = 2; string groupID = 3; string clientMsgID = 4; string serverMsgID = 5; int32 senderPlatformID = 6; string senderNickname = 7; string senderFaceURL = 8; int32 sessionType = 9; int32 msgFrom = 10; int32 contentType = 11; bytes content = 12; uint32 seq = 14; int64 sendTime = 15; int64 createTime = 16; int32 status = 17; map options = 18; OfflinePushInfo offlinePushInfo = 19; repeated string atUserIDList = 20; bytes msgDataList = 21; string attachedInfo = 22; string ex = 23; bool isReact = 40; bool isExternalExtensions = 41; int64 msgFirstModifyTime = 42; } message OfflinePushInfo{ string title = 1; string desc = 2; string ex = 3; string iOSPushSound = 4; bool iOSBadgeCount = 5; } message TipsComm{ bytes detail = 1; string defaultTips = 2; string jsonDetail = 3; } //////////////////////group///////////////////// // OnGroupCreated() message GroupCreatedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; repeated GroupMemberFullInfo memberList = 3; int64 operationTime = 4; GroupMemberFullInfo groupOwnerUser = 5; } // OnGroupInfoSet() message GroupInfoSetTips{ GroupMemberFullInfo opUser = 1; //who do this int64 muteTime = 2; GroupInfo group = 3; } // OnJoinGroupApplication() message JoinGroupApplicationTips{ GroupInfo group = 1; PublicUserInfo applicant = 2; string reqMsg = 3; } // OnQuitGroup() //Actively leave the group message MemberQuitTips{ GroupInfo group = 1; GroupMemberFullInfo quitUser = 2; int64 operationTime = 3; } // OnApplicationGroupAccepted() message GroupApplicationAcceptedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; string handleMsg = 4; int32 receiverAs = 5; // admin(==1) or applicant(==0) } // OnApplicationGroupRejected() message GroupApplicationRejectedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; string handleMsg = 4; int32 receiverAs = 5; // admin(==1) or applicant(==0) } // OnTransferGroupOwner() message GroupOwnerTransferredTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; GroupMemberFullInfo newGroupOwner = 3; int64 operationTime = 4; } // OnMemberKicked() message MemberKickedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; repeated GroupMemberFullInfo kickedUserList = 3; int64 operationTime = 4; } // OnMemberInvited() message MemberInvitedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; repeated GroupMemberFullInfo invitedUserList = 3; int64 operationTime = 4; } //Actively join the group message MemberEnterTips{ GroupInfo group = 1; GroupMemberFullInfo entrantUser = 2; int64 operationTime = 3; } message GroupDismissedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; } message GroupMemberMutedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; GroupMemberFullInfo mutedUser = 4; uint32 mutedSeconds = 5; } message GroupMemberCancelMutedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; GroupMemberFullInfo mutedUser = 4; } message GroupMutedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; } message GroupCancelMutedTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; } message GroupMemberInfoSetTips{ GroupInfo group = 1; GroupMemberFullInfo opUser = 2; int64 operationTime = 3; GroupMemberFullInfo changedUser = 4; } message OrganizationChangedTips{ UserInfo opUser = 2; int64 operationTime = 3; } //////////////////////friend///////////////////// //message FriendInfo{ // UserInfo OwnerUser = 1; // string Remark = 2; // uint64 CreateTime = 3; // UserInfo FriendUser = 4; //} message FriendApplication{ int64 addTime = 1; string addSource = 2; string addWording = 3; } message FromToUserID{ string fromUserID = 1; string toUserID = 2; } //FromUserID apply to add ToUserID message FriendApplicationTips{ FromToUserID fromToUserID = 1; } //FromUserID accept or reject ToUserID message FriendApplicationApprovedTips{ FromToUserID fromToUserID = 1; string handleMsg = 2; } //FromUserID accept or reject ToUserID message FriendApplicationRejectedTips{ FromToUserID fromToUserID = 1; string handleMsg = 2; } // FromUserID Added a friend ToUserID message FriendAddedTips{ FriendInfo friend = 1; int64 operationTime = 2; PublicUserInfo opUser = 3; //who do this } // FromUserID deleted a friend ToUserID message FriendDeletedTips{ FromToUserID fromToUserID = 1; } message BlackAddedTips{ FromToUserID fromToUserID = 1; } message BlackDeletedTips{ FromToUserID fromToUserID = 1; } message FriendInfoChangedTips{ FromToUserID fromToUserID = 1; } //////////////////////user///////////////////// message UserInfoUpdatedTips{ string userID = 1; } //////////////////////conversation///////////////////// message ConversationUpdateTips{ string UserID = 1; repeated string conversationIDList = 2; int64 updateUnreadCountTime = 3; } message ConversationSetPrivateTips{ string recvID = 1; string sendID = 2; bool isPrivate = 3; } ////////////////////message/////////////////////// message DeleteMessageTips{ string opUserID = 1; string userID = 2; repeated uint32 seqList = 3; } ///cms message RequestPagination { int32 pageNumber = 1; int32 showNumber = 2; } message ResponsePagination { int32 CurrentPage = 5; int32 ShowNumber = 6; } ///////////////////signal////////////// message SignalReq { oneof payload { SignalInviteReq invite = 1; SignalInviteInGroupReq inviteInGroup = 2; SignalCancelReq cancel = 3; SignalAcceptReq accept = 4; SignalHungUpReq hungUp = 5; SignalRejectReq reject = 6; SignalGetRoomByGroupIDReq getRoomByGroupID = 7; SignalOnRoomParticipantConnectedReq onRoomParticipantConnectedReq = 8; SignalOnRoomParticipantDisconnectedReq onRoomParticipantDisconnectedReq = 9; SignalGetTokenByRoomIDReq getTokenByRoomID = 10; } } message SignalResp { oneof payload { SignalInviteReply invite = 1; SignalInviteInGroupReply inviteInGroup = 2; SignalCancelReply cancel = 3; SignalAcceptReply accept = 4; SignalHungUpReply hungUp = 5; SignalRejectReply reject = 6; SignalGetRoomByGroupIDReply getRoomByGroupID = 7; SignalGetTokenByRoomIDReply getTokenByRoomID = 8; } } message InvitationInfo { string inviterUserID = 1; repeated string inviteeUserIDList = 2; string customData = 3; string groupID = 4; string roomID = 5; int32 timeout = 6; string mediaType = 7; int32 platformID = 8; int32 sessionType = 9; int32 initiateTime = 10; repeated string busyLineUserIDList = 11; } message ParticipantMetaData{ GroupInfo groupInfo = 1; GroupMemberFullInfo groupMemberInfo = 2; PublicUserInfo userInfo = 3; } message SignalInviteReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } message SignalInviteReply { string token = 1; string roomID = 2; string liveURL = 3; repeated string busyLineUserIDList = 4; } message SignalInviteInGroupReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } message SignalInviteInGroupReply { string token = 1; string roomID = 2; string liveURL = 3; repeated string busyLineUserIDList = 4; } message SignalCancelReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; } message SignalCancelReply { } message SignalAcceptReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } message SignalAcceptReply { string token = 1; string roomID = 2; string liveURL = 3; } message SignalHungUpReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; } message SignalHungUpReply { } message SignalRejectReq { string opUserID = 1; InvitationInfo invitation = 2; OfflinePushInfo offlinePushInfo = 3; ParticipantMetaData participant = 4; int32 opUserPlatformID = 5; } message SignalRejectReply { } message SignalGetRoomByGroupIDReq { string opUserID = 1; string groupID = 2; ParticipantMetaData participant = 3; } message SignalGetRoomByGroupIDReply { InvitationInfo invitation = 1; repeated ParticipantMetaData participant = 2; string roomID = 3; } message SignalOnRoomParticipantConnectedReq { InvitationInfo invitation = 1; repeated ParticipantMetaData participant = 2; string groupID = 3; } message SignalOnRoomParticipantDisconnectedReq { InvitationInfo invitation = 1; repeated ParticipantMetaData participant = 2; string groupID = 3; } message SignalGetTokenByRoomIDReq { string roomID = 1; string opUserID = 2; ParticipantMetaData participant = 3; string operationID = 4; } message SignalGetTokenByRoomIDReply { string token = 1; string liveURL = 2; } message DelMsgListReq{ string opUserID = 1; string userID = 2; repeated uint32 seqList = 3; string operationID = 4; } message DelMsgListResp{ int32 errCode = 1; string errMsg = 2; } message SetAppBackgroundStatusReq { string userID = 1; bool isBackground = 2; } message SetAppBackgroundStatusResp { int32 errCode = 1; string errMsg = 2; } message ExtendMsgSet { string sourceID = 1; int32 sessionType = 2; map extendMsgs = 3; int64 MaxMsgUpdateTime = 4; int32 extendMsgNum = 5; int64 createTime = 6; } message ExtendMsg { map reactionExtensionList = 1; string clientMsgID = 2; int64 msgFirstModifyTime = 3; string attachedInfo = 4; string ex = 5; } message KeyValue { string typeKey = 1; string value = 2; int64 latestUpdateTime = 3; }