syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdkws/ws.proto"; import "Open-IM-Server/pkg/proto/wrapperspb/wrapperspb.proto"; option go_package = "OpenIM/pkg/proto/msg;msg"; package OpenIMServer.msg; message MsgDataToMQ{ string token = 1; sdkws.MsgData msgData = 2; } message MsgDataToDB { sdkws.MsgData msgData = 1; } message PushMsgDataToMQ{ sdkws.MsgData msgData = 1; string sourceID = 2; } message MsgDataToMongoByMQ{ int64 lastSeq = 1; string aggregationID = 2; repeated MsgDataToMQ messages = 3; string triggerID = 4; } message GetMaxAndMinSeqReq { string UserID = 1; } message GetMaxAndMinSeqResp { int64 MaxSeq = 1; int64 MinSeq = 2; } message SendMsgReq { sdkws.MsgData msgData = 3; } message SendMsgResp { string serverMsgID = 1; string clientMsgID = 2; int64 sendTime = 3; } message ClearMsgReq{ string userID = 1; } message ClearMsgResp{ } message SetMsgMinSeqReq{ string userID = 1; string groupID = 2; uint32 minSeq = 3; } message SetMsgMinSeqResp{ } message SetSendMsgStatusReq{ int32 status = 1; } message SetSendMsgStatusResp{ } message GetSendMsgStatusReq{ } message GetSendMsgStatusResp{ int32 status = 1; } message DelSuperGroupMsgReq{ string userID = 1; string groupID = 2; } message DelSuperGroupMsgResp{ } message GetSuperGroupMsgReq{ int64 Seq = 1; string groupID = 2; } message GetSuperGroupMsgResp{ sdkws.MsgData msgData = 1; } message GetWriteDiffMsgReq{ int64 Seq = 1; } message GetWriteDiffMsgResp{ sdkws.MsgData msgData = 2; } message ModifyMessageReactionExtensionsReq { string sourceID = 1; int32 sessionType = 2; map reactionExtensions = 3; string clientMsgID = 4; OpenIMServer.protobuf.StringValue ex = 5; OpenIMServer.protobuf.StringValue attachedInfo = 6; bool isReact = 7; bool isExternalExtensions = 8; int64 msgFirstModifyTime = 9; } message SetMessageReactionExtensionsReq { string sourceID = 1; int32 sessionType = 2; map reactionExtensions = 3; string clientMsgID = 4; OpenIMServer.protobuf.StringValue ex = 5; OpenIMServer.protobuf.StringValue attachedInfo = 6; bool isReact = 7; bool isExternalExtensions = 8; int64 msgFirstModifyTime = 9; } message SetMessageReactionExtensionsResp { string clientMsgID = 1; int64 msgFirstModifyTime = 2; bool isReact = 3; repeated KeyValueResp result = 4; } message GetMessagesReactionExtensionsReq { string sourceID = 1; int32 sessionType = 2; message MessageReactionKey { string clientMsgID = 1; int64 msgFirstModifyTime = 2; } repeated MessageReactionKey messageReactionKeys = 3; repeated string TypeKeys = 4; } message GetMessagesReactionExtensionsResp{ repeated SingleMessageExtensionResult singleMessageResult = 1; } message SingleMessageExtensionResult { map reactionExtensions = 1; string clientMsgID = 2; } message ModifyMessageReactionExtensionsResp { repeated ExtendMsgResp successList = 1; repeated ExtendMsgResp failedList = 2; } message DeleteMessagesReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; int32 sessionType = 4; string clientMsgID = 5; bool isExternalExtensions = 6; int64 msgFirstModifyTime = 7; repeated sdkws.KeyValue reactionExtensions = 8; } message DeleteMessagesReactionExtensionsResp { repeated KeyValueResp result = 1; } message ExtendMsgResp { ExtendMsg extendMsg = 1; } message ExtendMsg { map reactionExtensions = 1; string clientMsgID = 2; int64 msgFirstModifyTime = 3; string attachedInfo = 4; string ex = 5; } message KeyValueResp { sdkws.KeyValue keyValue = 1; int32 errCode = 2; string errMsg = 3; } message MsgDataToModifyByMQ{ repeated MsgDataToMQ messages = 1; string triggerID = 2; string aggregationID = 3; } message DelMsgsReq{ string userID = 2; repeated int64 seqs = 3; } message DelMsgsResp{ } service msg { //获取最小最大seq(包括用户的,以及指定群组的) rpc GetMaxAndMinSeq(sdkws.GetMaxAndMinSeqReq) returns(sdkws.GetMaxAndMinSeqResp); //拉取历史消息(包括用户的,以及指定群组的) rpc PullMessageBySeqs(sdkws.PullMessageBySeqsReq) returns(sdkws.PullMessageBySeqsResp); //发送消息 rpc SendMsg(SendMsgReq) returns(SendMsgResp); //删除某人消息 rpc DelMsgs(DelMsgsReq) returns(DelMsgsResp); //删除某个用户某个大群消息 rpc DelSuperGroupMsg(DelSuperGroupMsgReq) returns(DelSuperGroupMsgResp); //清空某人所有消息 rpc ClearMsg(ClearMsgReq) returns(ClearMsgResp); //设置消息是否发送成功-针对api发送的消息 rpc SetSendMsgStatus(SetSendMsgStatusReq) returns(SetSendMsgStatusResp); //获取消息发送状态 rpc GetSendMsgStatus(GetSendMsgStatusReq) returns(GetSendMsgStatusResp); // 修改消息 rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); rpc GetMessagesReactionExtensions(GetMessagesReactionExtensionsReq) returns(GetMessagesReactionExtensionsResp); rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); rpc DeleteMessageReactionExtensions(DeleteMessagesReactionExtensionsReq) returns(DeleteMessagesReactionExtensionsResp); }