syntax = "proto3"; package upload; message Message { string ID = 1; string Type = 2; bytes Payload = 3; } message SendMessageResult { string MessageID = 1; bool IsError = 2; string ErrorCode = 3; string ErrorDescription = 4; } message SendMessagesBatchRequest { string BatchID = 1; repeated Message Messages = 2; } message SendMessagesBatchResponse { string BatchID = 1; repeated SendMessageResult Results = 2; bool HaveErrors = 3; } service MessagingService { rpc SendMessage(Message) returns (SendMessageResult) {} rpc SendMessagesBatch(SendMessagesBatchRequest) returns (SendMessagesBatchResponse) {} rpc StreamMessage(stream Message) returns (stream SendMessageResult) {} }