summaryrefslogtreecommitdiffstats
path: root/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
diff options
context:
space:
mode:
authorWim <wim@42.be>2022-03-12 23:02:04 +0100
committerWim <wim@42.be>2022-03-20 14:57:48 +0100
commitaefa70891cfd489fccb8a9567b5bdafb0f863ede (patch)
tree90fe7c91d7b33b2a1ed08ea3a94840860adc6fc1 /vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
parent1b9877fda45be021ea6a5677c78648cecc19dcd5 (diff)
downloadmatterbridge-msglm-aefa70891cfd489fccb8a9567b5bdafb0f863ede.tar.gz
matterbridge-msglm-aefa70891cfd489fccb8a9567b5bdafb0f863ede.tar.bz2
matterbridge-msglm-aefa70891cfd489fccb8a9567b5bdafb0f863ede.zip
Update vendor (whatsapp)
Diffstat (limited to 'vendor/go.mau.fi/whatsmeow/binary/proto/def.proto')
-rw-r--r--vendor/go.mau.fi/whatsmeow/binary/proto/def.proto2847
1 files changed, 1468 insertions, 1379 deletions
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
index 652d4a30..8ce9b2a2 100644
--- a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
+++ b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
@@ -1,731 +1,388 @@
syntax = "proto2";
package proto;
-message AppVersion {
- optional uint32 primary = 1;
- optional uint32 secondary = 2;
- optional uint32 tertiary = 3;
- optional uint32 quaternary = 4;
- optional uint32 quinary = 5;
-}
-
-message UserAgent {
- enum UserAgentPlatform {
- ANDROID = 0;
- IOS = 1;
- WINDOWS_PHONE = 2;
- BLACKBERRY = 3;
- BLACKBERRYX = 4;
- S40 = 5;
- S60 = 6;
- PYTHON_CLIENT = 7;
- TIZEN = 8;
- ENTERPRISE = 9;
- SMB_ANDROID = 10;
- KAIOS = 11;
- SMB_IOS = 12;
- WINDOWS = 13;
- WEB = 14;
- PORTAL = 15;
- GREEN_ANDROID = 16;
- GREEN_IPHONE = 17;
- BLUE_ANDROID = 18;
- BLUE_IPHONE = 19;
- FBLITE_ANDROID = 20;
- MLITE_ANDROID = 21;
- IGLITE_ANDROID = 22;
- PAGE = 23;
- MACOS = 24;
- OCULUS_MSG = 25;
- OCULUS_CALL = 26;
- MILAN = 27;
- CAPI = 28;
- }
- optional UserAgentPlatform platform = 1;
- optional AppVersion appVersion = 2;
- optional string mcc = 3;
- optional string mnc = 4;
- optional string osVersion = 5;
- optional string manufacturer = 6;
- optional string device = 7;
- optional string osBuildNumber = 8;
- optional string phoneId = 9;
- enum UserAgentReleaseChannel {
- RELEASE = 0;
- BETA = 1;
- ALPHA = 2;
- DEBUG = 3;
- }
- optional UserAgentReleaseChannel releaseChannel = 10;
- optional string localeLanguageIso6391 = 11;
- optional string localeCountryIso31661Alpha2 = 12;
- optional string deviceBoard = 13;
-}
-
-message WebdPayload {
- optional bool usesParticipantInKey = 1;
- optional bool supportsStarredMessages = 2;
- optional bool supportsDocumentMessages = 3;
- optional bool supportsUrlMessages = 4;
- optional bool supportsMediaRetry = 5;
- optional bool supportsE2EImage = 6;
- optional bool supportsE2EVideo = 7;
- optional bool supportsE2EAudio = 8;
- optional bool supportsE2EDocument = 9;
- optional string documentTypes = 10;
- optional bytes features = 11;
-}
-
-message WebInfo {
- optional string refToken = 1;
- optional string version = 2;
- optional WebdPayload webdPayload = 3;
- enum WebInfoWebSubPlatform {
- WEB_BROWSER = 0;
- APP_STORE = 1;
- WIN_STORE = 2;
- DARWIN = 3;
- WIN32 = 4;
- }
- optional WebInfoWebSubPlatform webSubPlatform = 4;
-}
-
-message DNSSource {
- enum DNSSourceDNSResolutionMethod {
- SYSTEM = 0;
- GOOGLE = 1;
- HARDCODED = 2;
- OVERRIDE = 3;
- FALLBACK = 4;
- }
- optional DNSSourceDNSResolutionMethod dnsMethod = 15;
- optional bool appCached = 16;
-}
-
-message CompanionRegData {
- optional bytes eRegid = 1;
- optional bytes eKeytype = 2;
- optional bytes eIdent = 3;
- optional bytes eSkeyId = 4;
- optional bytes eSkeyVal = 5;
- optional bytes eSkeySig = 6;
- optional bytes buildHash = 7;
- optional bytes companionProps = 8;
-}
-
-message ClientPayload {
- optional uint64 username = 1;
- optional bool passive = 3;
- optional UserAgent userAgent = 5;
- optional WebInfo webInfo = 6;
- optional string pushName = 7;
- optional sfixed32 sessionId = 9;
- optional bool shortConnect = 10;
- enum ClientPayloadConnectType {
- CELLULAR_UNKNOWN = 0;
- WIFI_UNKNOWN = 1;
- CELLULAR_EDGE = 100;
- CELLULAR_IDEN = 101;
- CELLULAR_UMTS = 102;
- CELLULAR_EVDO = 103;
- CELLULAR_GPRS = 104;
- CELLULAR_HSDPA = 105;
- CELLULAR_HSUPA = 106;
- CELLULAR_HSPA = 107;
- CELLULAR_CDMA = 108;
- CELLULAR_1XRTT = 109;
- CELLULAR_EHRPD = 110;
- CELLULAR_LTE = 111;
- CELLULAR_HSPAP = 112;
- }
- optional ClientPayloadConnectType connectType = 12;
- enum ClientPayloadConnectReason {
- PUSH = 0;
- USER_ACTIVATED = 1;
- SCHEDULED = 2;
- ERROR_RECONNECT = 3;
- NETWORK_SWITCH = 4;
- PING_RECONNECT = 5;
- }
- optional ClientPayloadConnectReason connectReason = 13;
- repeated int32 shards = 14;
- optional DNSSource dnsSource = 15;
- optional uint32 connectAttemptCount = 16;
- optional uint32 device = 18;
- optional CompanionRegData regData = 19;
- enum ClientPayloadProduct {
- WHATSAPP = 0;
- MESSENGER = 1;
- }
- optional ClientPayloadProduct product = 20;
- optional bytes fbCat = 21;
- optional bytes fbUserAgent = 22;
- optional bool oc = 23;
- optional int32 lc = 24;
- enum ClientPayloadIOSAppExtension {
- SHARE_EXTENSION = 0;
- SERVICE_EXTENSION = 1;
- INTENTS_EXTENSION = 2;
- }
- optional ClientPayloadIOSAppExtension iosAppExtension = 30;
- optional uint64 fbAppId = 31;
- optional bytes fbDeviceId = 32;
-}
-
-// Renamed from Details
-message NoiseCertificateDetails {
- optional uint32 serial = 1;
- optional string issuer = 2;
- optional uint64 expires = 3;
- optional string subject = 4;
- optional bytes key = 5;
-}
-
-message NoiseCertificate {
+message ADVSignedKeyIndexList {
optional bytes details = 1;
- optional bytes signature = 2;
+ optional bytes accountSignature = 2;
}
-message ClientHello {
- optional bytes ephemeral = 1;
- optional bytes static = 2;
- optional bytes payload = 3;
+message ADVSignedDeviceIdentity {
+ optional bytes details = 1;
+ optional bytes accountSignatureKey = 2;
+ optional bytes accountSignature = 3;
+ optional bytes deviceSignature = 4;
}
-message ServerHello {
- optional bytes ephemeral = 1;
- optional bytes static = 2;
- optional bytes payload = 3;
+message ADVSignedDeviceIdentityHMAC {
+ optional bytes details = 1;
+ optional bytes hmac = 2;
}
-message ClientFinish {
- optional bytes static = 1;
- optional bytes payload = 2;
+message ADVKeyIndexList {
+ optional uint32 rawId = 1;
+ optional uint64 timestamp = 2;
+ optional uint32 currentIndex = 3;
+ repeated uint32 validIndexes = 4 [packed=true];
}
-message HandshakeMessage {
- optional ClientHello clientHello = 2;
- optional ServerHello serverHello = 3;
- optional ClientFinish clientFinish = 4;
+message ADVDeviceIdentity {
+ optional uint32 rawId = 1;
+ optional uint64 timestamp = 2;
+ optional uint32 keyIndex = 3;
}
-message BizIdentityInfo {
- enum BizIdentityInfoVerifiedLevelValue {
+message CompanionProps {
+ optional string os = 1;
+ optional AppVersion version = 2;
+ enum CompanionPropsPlatformType {
UNKNOWN = 0;
- LOW = 1;
- HIGH = 2;
- }
- optional BizIdentityInfoVerifiedLevelValue vlevel = 1;
- optional VerifiedNameCertificate vnameCert = 2;
- optional bool signed = 3;
- optional bool revoked = 4;
- enum BizIdentityInfoHostStorageType {
- ON_PREMISE = 0;
- FACEBOOK = 1;
- }
- optional BizIdentityInfoHostStorageType hostStorage = 5;
- enum BizIdentityInfoActualActorsType {
- SELF = 0;
- BSP = 1;
- }
- optional BizIdentityInfoActualActorsType actualActors = 6;
- optional uint64 privacyModeTs = 7;
- optional uint64 featureControls = 8;
-}
-
-message BizAccountLinkInfo {
- optional uint64 whatsappBizAcctFbid = 1;
- optional string whatsappAcctNumber = 2;
- optional uint64 issueTime = 3;
- enum BizAccountLinkInfoHostStorageType {
- ON_PREMISE = 0;
- FACEBOOK = 1;
- }
- optional BizAccountLinkInfoHostStorageType hostStorage = 4;
- enum BizAccountLinkInfoAccountType {
- ENTERPRISE = 0;
+ CHROME = 1;
+ FIREFOX = 2;
+ IE = 3;
+ OPERA = 4;
+ SAFARI = 5;
+ EDGE = 6;
+ DESKTOP = 7;
+ IPAD = 8;
+ ANDROID_TABLET = 9;
+ OHANA = 10;
+ ALOHA = 11;
+ CATALINA = 12;
}
- optional BizAccountLinkInfoAccountType accountType = 5;
-}
-
-message BizAccountPayload {
- optional VerifiedNameCertificate vnameCert = 1;
- optional bytes bizAcctLinkInfo = 2;
-}
-
-// Renamed from Details
-message VerifiedNameDetails {
- optional uint64 serial = 1;
- optional string issuer = 2;
- optional string verifiedName = 4;
- repeated LocalizedName localizedNames = 8;
- optional uint64 issueTime = 10;
-}
-
-message VerifiedNameCertificate {
- optional bytes details = 1;
- optional bytes signature = 2;
- optional bytes serverSignature = 3;
-}
-
-message LocalizedName {
- optional string lg = 1;
- optional string lc = 2;
- optional string verifiedName = 3;
-}
-
-message SyncActionData {
- optional bytes index = 1;
- optional SyncActionValue value = 2;
- optional bytes padding = 3;
- optional int32 version = 4;
-}
-
-message StarAction {
- optional bool starred = 1;
-}
-
-message ContactAction {
- optional string fullName = 1;
- optional string firstName = 2;
-}
-
-message MuteAction {
- optional bool muted = 1;
- optional int64 muteEndTimestamp = 2;
-}
-
-message PinAction {
- optional bool pinned = 1;
-}
-
-message SecurityNotificationSetting {
- optional bool showNotification = 1;
-}
-
-message PushNameSetting {
- optional string name = 1;
-}
-
-message LocaleSetting {
- optional string locale = 1;
-}
-
-message QuickReplyAction {
- optional string shortcut = 1;
- optional string message = 2;
- repeated string keywords = 3;
- optional int32 count = 4;
- optional bool deleted = 5;
-}
-
-message LabelAssociationAction {
- optional bool labeled = 1;
-}
-
-message LabelEditAction {
- optional string name = 1;
- optional int32 color = 2;
- optional int32 predefinedId = 3;
- optional bool deleted = 4;
-}
-
-message RecentStickerWeightsAction {
- repeated RecentStickerWeight weights = 1;
-}
-
-message RecentStickerMetadata {
- optional string directPath = 1;
- optional string encFilehash = 2;
- optional string mediaKey = 3;
- optional string stanzaId = 4;
- optional string chatJid = 5;
- optional string participant = 6;
- optional bool isSentByMe = 7;
-}
-
-message RecentEmojiWeightsAction {
- repeated RecentEmojiWeight weights = 1;
-}
-
-message FavoriteStickerAction {
- optional string directPath = 1;
- optional string lastUploadTimestamp = 2;
- optional string handle = 3;
- optional string encFilehash = 4;
- optional string stickerHashWithoutMeta = 5;
- optional string mediaKey = 6;
- optional int64 mediaKeyTimestamp = 7;
- optional bool isFavorite = 8;
-}
-
-message ArchiveChatAction {
- optional bool archived = 1;
- optional SyncActionMessageRange messageRange = 2;
+ optional CompanionPropsPlatformType platformType = 3;
+ optional bool requireFullSync = 4;
}
-message DeleteMessageForMeAction {
- optional bool deleteMedia = 1;
- optional int64 messageTimestamp = 2;
+message AppVersion {
+ optional uint32 primary = 1;
+ optional uint32 secondary = 2;
+ optional uint32 tertiary = 3;
+ optional uint32 quaternary = 4;
+ optional uint32 quinary = 5;
}
-message MarkChatAsReadAction {
- optional bool read = 1;
- optional SyncActionMessageRange messageRange = 2;
+message StickerMessage {
+ optional string url = 1;
+ optional bytes fileSha256 = 2;
+ optional bytes fileEncSha256 = 3;
+ optional bytes mediaKey = 4;
+ optional string mimetype = 5;
+ optional uint32 height = 6;
+ optional uint32 width = 7;
+ optional string directPath = 8;
+ optional uint64 fileLength = 9;
+ optional int64 mediaKeyTimestamp = 10;
+ optional uint32 firstFrameLength = 11;
+ optional bytes firstFrameSidecar = 12;
+ optional bool isAnimated = 13;
+ optional bytes pngThumbnail = 16;
+ optional ContextInfo contextInfo = 17;
}
-message ClearChatAction {
- optional SyncActionMessageRange messageRange = 1;
+message SenderKeyDistributionMessage {
+ optional string groupId = 1;
+ optional bytes axolotlSenderKeyDistributionMessage = 2;
}
-message DeleteChatAction {
- optional SyncActionMessageRange messageRange = 1;
+message SendPaymentMessage {
+ optional Message noteMessage = 2;
+ optional MessageKey requestMessageKey = 3;
+ optional PaymentBackground background = 4;
}
-message UnarchiveChatsSetting {
- optional bool unarchiveChats = 1;
+message RequestPaymentMessage {
+ optional Message noteMessage = 4;
+ optional string currencyCodeIso4217 = 1;
+ optional uint64 amount1000 = 2;
+ optional string requestFrom = 3;
+ optional int64 expiryTimestamp = 5;
+ optional Money amount = 6;
+ optional PaymentBackground background = 7;
}
-message SyncActionMessageRange {
- optional int64 lastMessageTimestamp = 1;
- optional int64 lastSystemMessageTimestamp = 2;
- repeated SyncActionMessage messages = 3;
+message ReactionMessage {
+ optional MessageKey key = 1;
+ optional string text = 2;
+ optional string groupingKey = 3;
+ optional int64 senderTimestampMs = 4;
}
-message SyncActionMessage {
+message ProtocolMessage {
optional MessageKey key = 1;
- optional int64 timestamp = 2;
+ enum ProtocolMessageType {
+ REVOKE = 0;
+ EPHEMERAL_SETTING = 3;
+ EPHEMERAL_SYNC_RESPONSE = 4;
+ HISTORY_SYNC_NOTIFICATION = 5;
+ APP_STATE_SYNC_KEY_SHARE = 6;
+ APP_STATE_SYNC_KEY_REQUEST = 7;
+ MSG_FANOUT_BACKFILL_REQUEST = 8;
+ INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9;
+ APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10;
+ }
+ optional ProtocolMessageType type = 2;
+ optional uint32 ephemeralExpiration = 4;
+ optional int64 ephemeralSettingTimestamp = 5;
+ optional HistorySyncNotification historySyncNotification = 6;
+ optional AppStateSyncKeyShare appStateSyncKeyShare = 7;
+ optional AppStateSyncKeyRequest appStateSyncKeyRequest = 8;
+ optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9;
+ optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10;
+ optional DisappearingMode disappearingMode = 11;
}
-message KeyExpiration {
- optional int32 expiredKeyEpoch = 1;
+message ProductMessage {
+ optional ProductSnapshot product = 1;
+ optional string businessOwnerJid = 2;
+ optional CatalogSnapshot catalog = 4;
+ optional string body = 5;
+ optional string footer = 6;
+ optional ContextInfo contextInfo = 17;
}
-message PrimaryFeature {
- repeated string flags = 1;
+message ProductSnapshot {
+ optional ImageMessage productImage = 1;
+ optional string productId = 2;
+ optional string title = 3;
+ optional string description = 4;
+ optional string currencyCode = 5;
+ optional int64 priceAmount1000 = 6;
+ optional string retailerId = 7;
+ optional string url = 8;
+ optional uint32 productImageCount = 9;
+ optional string firstImageId = 11;
+ optional int64 salePriceAmount1000 = 12;
}
-message AndroidUnsupportedActions {
- optional bool allowed = 1;
+message CatalogSnapshot {
+ optional ImageMessage catalogImage = 1;
+ optional string title = 2;
+ optional string description = 3;
}
-message SyncActionValue {
- optional int64 timestamp = 1;
- optional StarAction starAction = 2;
- optional ContactAction contactAction = 3;
- optional MuteAction muteAction = 4;
- optional PinAction pinAction = 5;
- optional SecurityNotificationSetting securityNotificationSetting = 6;
- optional PushNameSetting pushNameSetting = 7;
- optional QuickReplyAction quickReplyAction = 8;
- optional RecentStickerWeightsAction recentStickerWeightsAction = 9;
- optional RecentStickerMetadata recentStickerMetadata = 10;
- optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11;
- optional LabelEditAction labelEditAction = 14;
- optional LabelAssociationAction labelAssociationAction = 15;
- optional LocaleSetting localeSetting = 16;
- optional ArchiveChatAction archiveChatAction = 17;
- optional DeleteMessageForMeAction deleteMessageForMeAction = 18;
- optional KeyExpiration keyExpiration = 19;
- optional MarkChatAsReadAction markChatAsReadAction = 20;
- optional ClearChatAction clearChatAction = 21;
- optional DeleteChatAction deleteChatAction = 22;
- optional UnarchiveChatsSetting unarchiveChatsSetting = 23;
- optional PrimaryFeature primaryFeature = 24;
- optional FavoriteStickerAction favoriteStickerAction = 25;
- optional AndroidUnsupportedActions androidUnsupportedActions = 26;
+message PaymentInviteMessage {
+ enum PaymentInviteMessageServiceType {
+ UNKNOWN = 0;
+ FBPAY = 1;
+ NOVI = 2;
+ UPI = 3;
+ }
+ optional PaymentInviteMessageServiceType serviceType = 1;
+ optional int64 expiryTimestamp = 2;
}
-message RecentEmojiWeight {
- optional string emoji = 1;
- optional float weight = 2;
+message OrderMessage {
+ optional string orderId = 1;
+ optional bytes thumbnail = 2;
+ optional int32 itemCount = 3;
+ enum OrderMessageOrderStatus {
+ INQUIRY = 1;
+ }
+ optional OrderMessageOrderStatus status = 4;
+ enum OrderMessageOrderSurface {
+ CATALOG = 1;
+ }
+ optional OrderMessageOrderSurface surface = 5;
+ optional string message = 6;
+ optional string orderTitle = 7;
+ optional string sellerJid = 8;
+ optional string token = 9;
+ optional int64 totalAmount1000 = 10;
+ optional string totalCurrencyCode = 11;
+ optional ContextInfo contextInfo = 17;
}
-message RecentStickerWeight {
- optional string filehash = 1;
- optional float weight = 2;
+message LocationMessage {
+ optional double degreesLatitude = 1;
+ optional double degreesLongitude = 2;
+ optional string name = 3;
+ optional string address = 4;
+ optional string url = 5;
+ optional bool isLive = 6;
+ optional uint32 accuracyInMeters = 7;
+ optional float speedInMps = 8;
+ optional uint32 degreesClockwiseFromMagneticNorth = 9;
+ optional string comment = 11;
+ optional bytes jpegThumbnail = 16;
+ optional ContextInfo contextInfo = 17;
}
-message SyncdPatch {
- optional SyncdVersion version = 1;
- repeated SyncdMutation mutations = 2;
- optional ExternalBlobReference externalMutations = 3;
- optional bytes snapshotMac = 4;
- optional bytes patchMac = 5;
- optional KeyId keyId = 6;
- optional ExitCode exitCode = 7;
- optional uint32 deviceIndex = 8;
+message LiveLocationMessage {
+ optional double degreesLatitude = 1;
+ optional double degreesLongitude = 2;
+ optional uint32 accuracyInMeters = 3;
+ optional float speedInMps = 4;
+ optional uint32 degreesClockwiseFromMagneticNorth = 5;
+ optional string caption = 6;
+ optional int64 sequenceNumber = 7;
+ optional uint32 timeOffset = 8;
+ optional bytes jpegThumbnail = 16;
+ optional ContextInfo contextInfo = 17;
}
-message SyncdMutation {
- enum SyncdMutationSyncdOperation {
- SET = 0;
- REMOVE = 1;
+message ListResponseMessage {
+ optional string title = 1;
+ enum ListResponseMessageListType {
+ UNKNOWN = 0;
+ SINGLE_SELECT = 1;
}
- optional SyncdMutationSyncdOperation operation = 1;
- optional SyncdRecord record = 2;
-}
-
-message SyncdMutations {
- repeated SyncdMutation mutations = 1;
-}
-
-message SyncdSnapshot {
- optional SyncdVersion version = 1;
- repeated SyncdRecord records = 2;
- optional bytes mac = 3;
- optional KeyId keyId = 4;
+ optional ListResponseMessageListType listType = 2;
+ optional SingleSelectReply singleSelectReply = 3;
+ optional ContextInfo contextInfo = 4;
+ optional string description = 5;
}
-message ExternalBlobReference {
- optional bytes mediaKey = 1;
- optional string directPath = 2;
- optional string handle = 3;
- optional uint64 fileSizeBytes = 4;
- optional bytes fileSha256 = 5;
- optional bytes fileEncSha256 = 6;
+message SingleSelectReply {
+ optional string selectedRowId = 1;
}
-message SyncdRecord {
- optional SyncdIndex index = 1;
- optional SyncdValue value = 2;
- optional KeyId keyId = 3;
+message ListMessage {
+ optional string title = 1;
+ optional string description = 2;
+ optional string buttonText = 3;
+ enum ListMessageListType {
+ UNKNOWN = 0;
+ SINGLE_SELECT = 1;
+ PRODUCT_LIST = 2;
+ }
+ optional ListMessageListType listType = 4;
+ repeated Section sections = 5;
+ optional ProductListInfo productListInfo = 6;
+ optional string footerText = 7;
+ optional ContextInfo contextInfo = 8;
}
-message KeyId {
- optional bytes id = 1;
+message Section {
+ optional string title = 1;
+ repeated Row rows = 2;
}
-message SyncdValue {
- optional bytes blob = 1;
+message Row {
+ optional string title = 1;
+ optional string description = 2;
+ optional string rowId = 3;
}
-message SyncdIndex {
- optional bytes blob = 1;
+message Product {
+ optional string productId = 1;
}
-message ExitCode {
- optional uint64 code = 1;
- optional string text = 2;
+message ProductSection {
+ optional string title = 1;
+ repeated Product products = 2;
}
-message SyncdVersion {
- optional uint64 version = 1;
+message ProductListInfo {
+ repeated ProductSection productSections = 1;
+ optional ProductListHeaderImage headerImage = 2;
+ optional string businessOwnerJid = 3;
}
-message ServerErrorReceipt {
- optional string stanzaId = 1;
+message ProductListHeaderImage {
+ optional string productId = 1;
+ optional bytes jpegThumbnail = 2;
}
-message MediaRetryNotification {
- optional string stanzaId = 1;
- optional string directPath = 2;
- enum MediaRetryNotificationResultType {
- GENERAL_ERROR = 0;
- SUCCESS = 1;
- NOT_FOUND = 2;
- DECRYPTION_ERROR = 3;
+message InvoiceMessage {
+ optional string note = 1;
+ optional string token = 2;
+ enum InvoiceMessageAttachmentType {
+ IMAGE = 0;
+ PDF = 1;
}
- optional MediaRetryNotificationResultType result = 3;
-}
-
-message MsgOpaqueData {
- optional string body = 1;
- optional string caption = 3;
- optional double lng = 5;
- optional double lat = 7;
- optional int32 paymentAmount1000 = 8;
- optional string paymentNoteMsgBody = 9;
- optional string canonicalUrl = 10;
- optional string matchedText = 11;
- optional string title = 12;
- optional string description = 13;
- optional bytes futureproofBuffer = 14;
- optional string clientUrl = 15;
- optional string loc = 16;
+ optional InvoiceMessageAttachmentType attachmentType = 3;
+ optional string attachmentMimetype = 4;
+ optional bytes attachmentMediaKey = 5;
+ optional int64 attachmentMediaKeyTimestamp = 6;
+ optional bytes attachmentFileSha256 = 7;
+ optional bytes attachmentFileEncSha256 = 8;
+ optional string attachmentDirectPath = 9;
+ optional bytes attachmentJpegThumbnail = 10;
}
-message MsgRowOpaqueData {
- optional MsgOpaqueData currentMsg = 1;
- optional MsgOpaqueData quotedMsg = 2;
+message InteractiveResponseMessage {
+ optional InteractiveResponseMessageBody body = 1;
+ optional ContextInfo contextInfo = 15;
+ oneof interactiveResponseMessage {
+ NativeFlowResponseMessage nativeFlowResponseMessage = 2;
+ }
}
-message GlobalSettings {
- optional WallpaperSettings lightThemeWallpaper = 1;
- optional MediaVisibility mediaVisibility = 2;
- optional WallpaperSettings darkThemeWallpaper = 3;
+message NativeFlowResponseMessage {
+ optional string name = 1;
+ optional string paramsJson = 2;
+ optional int32 version = 3;
}
-message WallpaperSettings {
- optional string filename = 1;
- optional uint32 opacity = 2;
+// Renamed from Message$InteractiveResponseMessage$Body
+message InteractiveResponseMessageBody {
+ optional string text = 1;
}
-message GroupParticipant {
- required string userJid = 1;
- enum GroupParticipantRank {
- REGULAR = 0;
- ADMIN = 1;
- SUPERADMIN = 2;
+message InteractiveMessage {
+ optional Header header = 1;
+ optional InteractiveMessageBody body = 2;
+ optional Footer footer = 3;
+ optional ContextInfo contextInfo = 15;
+ oneof interactiveMessage {
+ ShopMessage shopStorefrontMessage = 4;
+ CollectionMessage collectionMessage = 5;
+ NativeFlowMessage nativeFlowMessage = 6;
}
- optional GroupParticipantRank rank = 2;
}
-message Pushname {
+message ShopMessage {
optional string id = 1;
- optional string pushname = 2;
-}
-
-message HistorySyncMsg {
- optional WebMessageInfo message = 1;
- optional uint64 msgOrderId = 2;
-}
-
-message Conversation {
- required string id = 1;
- repeated HistorySyncMsg messages = 2;
- optional string newJid = 3;
- optional string oldJid = 4;
- optional uint64 lastMsgTimestamp = 5;
- optional uint32 unreadCount = 6;
- optional bool readOnly = 7;
- optional bool endOfHistoryTransfer = 8;
- optional uint32 ephemeralExpiration = 9;
- optional int64 ephemeralSettingTimestamp = 10;
- enum ConversationEndOfHistoryTransferType {
- COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
- COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
+ enum ShopMessageSurface {
+ UNKNOWN_SURFACE = 0;
+ FB = 1;
+ IG = 2;
+ WA = 3;
}
- optional ConversationEndOfHistoryTransferType endOfHistoryTransferType = 11;
- optional uint64 conversationTimestamp = 12;
- optional string name = 13;
- optional string pHash = 14;
- optional bool notSpam = 15;
- optional bool archived = 16;
- optional DisappearingMode disappearingMode = 17;
- optional uint32 unreadMentionCount = 18;
- optional bool markedAsUnread = 19;
- repeated GroupParticipant participant = 20;
- optional bytes tcToken = 21;
- optional uint64 tcTokenTimestamp = 22;
- optional bytes contactPrimaryIdentityKey = 23;
- optional uint32 pinned = 24;
- optional uint64 muteEndTime = 25;
- optional WallpaperSettings wallpaper = 26;
- optional MediaVisibility mediaVisibility = 27;
- optional uint64 tcTokenSenderTimestamp = 28;
- optional bool suspended = 29;
+ optional ShopMessageSurface surface = 2;
+ optional int32 messageVersion = 3;
}
-message HistorySync {
- enum HistorySyncHistorySyncType {
- INITIAL_BOOTSTRAP = 0;
- INITIAL_STATUS_V3 = 1;
- FULL = 2;
- RECENT = 3;
- PUSH_NAME = 4;
- }
- required HistorySyncHistorySyncType syncType = 1;
- repeated Conversation conversations = 2;
- repeated WebMessageInfo statusV3Messages = 3;
- optional uint32 chunkOrder = 5;
- optional uint32 progress = 6;
- repeated Pushname pushnames = 7;
- optional GlobalSettings globalSettings = 8;
- optional bytes threadIdUserSecret = 9;
- optional uint32 threadDsTimeframeOffset = 10;
+message NativeFlowMessage {
+ repeated NativeFlowButton buttons = 1;
+ optional string messageParamsJson = 2;
+ optional int32 messageVersion = 3;
}
-enum MediaVisibility {
- DEFAULT = 0;
- OFF = 1;
- ON = 2;
-}
-message EphemeralSetting {
- optional sfixed32 duration = 1;
- optional sfixed64 timestamp = 2;
+message NativeFlowButton {
+ optional string name = 1;
+ optional string buttonParamsJson = 2;
}
-message InteractiveAnnotation {
- repeated Point polygonVertices = 1;
- oneof action {
- Location location = 2;
+message Header {
+ optional string title = 1;
+ optional string subtitle = 2;
+ optional bool hasMediaAttachment = 5;
+ oneof media {
+ DocumentMessage documentMessage = 3;
+ ImageMessage imageMessage = 4;
+ bytes jpegThumbnail = 6;
+ VideoMessage videoMessage = 7;
}
}
-message DeviceListMetadata {
- optional bytes senderKeyHash = 1;
- optional uint64 senderTimestamp = 2;
- repeated uint32 senderKeyIndexes = 3 [packed=true];
- optional bytes recipientKeyHash = 8;
- optional uint64 recipientTimestamp = 9;
- repeated uint32 recipientKeyIndexes = 10 [packed=true];
-}
-
-message MessageContextInfo {
- optional DeviceListMetadata deviceListMetadata = 1;
- optional int32 deviceListMetadataVersion = 2;
-}
-
-message AdReplyInfo {
- optional string advertiserName = 1;
- enum AdReplyInfoMediaType {
- NONE = 0;
- IMAGE = 1;
- VIDEO = 2;
- }
- optional AdReplyInfoMediaType mediaType = 2;
- optional bytes jpegThumbnail = 16;
- optional string caption = 17;
+message Footer {
+ optional string text = 1;
}
-message ExternalAdReplyInfo {
- optional string title = 1;
- optional string body = 2;
- enum ExternalAdReplyInfoMediaType {
- NONE = 0;
- IMAGE = 1;
- VIDEO = 2;
- }
- optional ExternalAdReplyInfoMediaType mediaType = 3;
- optional string thumbnailUrl = 4;
- optional string mediaUrl = 5;
- optional bytes thumbnail = 6;
- optional string sourceType = 7;
- optional string sourceId = 8;
- optional string sourceUrl = 9;
- optional bool containsAutoReply = 10;
+message CollectionMessage {
+ optional string bizJid = 1;
+ optional string id = 2;
+ optional int32 messageVersion = 3;
}
-message ContextInfo {
- optional string stanzaId = 1;
- optional string participant = 2;
- optional Message quotedMessage = 3;
- optional string remoteJid = 4;
- repeated string mentionedJid = 15;
- optional string conversionSource = 18;
- optional bytes conversionData = 19;
- optional uint32 conversionDelaySeconds = 20;
- optional uint32 forwardingScore = 21;
- optional bool isForwarded = 22;
- optional AdReplyInfo quotedAd = 23;
- optional MessageKey placeholderKey = 24;
- optional uint32 expiration = 25;
- optional int64 ephemeralSettingTimestamp = 26;
- optional bytes ephemeralSharedSecret = 27;
- optional ExternalAdReplyInfo externalAdReply = 28;
- optional string entryPointConversionSource = 29;
- optional string entryPointConversionApp = 30;
- optional uint32 entryPointConversionDelaySeconds = 31;
- optional DisappearingMode disappearingMode = 32;
- optional ActionLink actionLink = 33;
- optional string groupSubject = 34;
- optional string parentGroupJid = 35;
+// Renamed from Message$InteractiveMessage$Body
+message InteractiveMessageBody {
+ optional string text = 1;
}
-message SenderKeyDistributionMessage {
- optional string groupId = 1;
- optional bytes axolotlSenderKeyDistributionMessage = 2;
+message InitialSecurityNotificationSettingSync {
+ optional bool securityNotificationEnabled = 1;
}
message ImageMessage {
@@ -757,42 +414,100 @@ message ImageMessage {
optional string staticUrl = 29;
}
-message InvoiceMessage {
- optional string note = 1;
- optional string token = 2;
- enum InvoiceMessageAttachmentType {
- IMAGE = 0;
- PDF = 1;
+message HistorySyncNotification {
+ optional bytes fileSha256 = 1;
+ optional uint64 fileLength = 2;
+ optional bytes mediaKey = 3;
+ optional bytes fileEncSha256 = 4;
+ optional string directPath = 5;
+ enum HistorySyncNotificationHistorySyncType {
+ INITIAL_BOOTSTRAP = 0;
+ INITIAL_STATUS_V3 = 1;
+ FULL = 2;
+ RECENT = 3;
+ PUSH_NAME = 4;
}
- optional InvoiceMessageAttachmentType attachmentType = 3;
- optional string attachmentMimetype = 4;
- optional bytes attachmentMediaKey = 5;
- optional int64 attachmentMediaKeyTimestamp = 6;
- optional bytes attachmentFileSha256 = 7;
- optional bytes attachmentFileEncSha256 = 8;
- optional string attachmentDirectPath = 9;
- optional bytes attachmentJpegThumbnail = 10;
+ optional HistorySyncNotificationHistorySyncType syncType = 6;
+ optional uint32 chunkOrder = 7;
+ optional string originalMessageId = 8;
}
-message ContactMessage {
- optional string displayName = 1;
- optional string vcard = 16;
- optional ContextInfo contextInfo = 17;
+message HighlyStructuredMessage {
+ optional string namespace = 1;
+ optional string elementName = 2;
+ repeated string params = 3;
+ optional string fallbackLg = 4;
+ optional string fallbackLc = 5;
+ repeated HSMLocalizableParameter localizableParams = 6;
+ optional string deterministicLg = 7;
+ optional string deterministicLc = 8;
+ optional TemplateMessage hydratedHsm = 9;
}
-message LocationMessage {
- optional double degreesLatitude = 1;
- optional double degreesLongitude = 2;
- optional string name = 3;
- optional string address = 4;
- optional string url = 5;
- optional bool isLive = 6;
- optional uint32 accuracyInMeters = 7;
- optional float speedInMps = 8;
- optional uint32 degreesClockwiseFromMagneticNorth = 9;
- optional string comment = 11;
- optional bytes jpegThumbnail = 16;
- optional ContextInfo contextInfo = 17;
+message HSMLocalizableParameter {
+ optional string default = 1;
+ oneof paramOneof {
+ HSMCurrency currency = 2;
+ HSMDateTime dateTime = 3;
+ }
+}
+
+message HSMDateTime {
+ oneof datetimeOneof {
+ HSMDateTimeComponent component = 1;
+ HSMDateTimeUnixEpoch unixEpoch = 2;
+ }
+}
+
+message HSMDateTimeUnixEpoch {
+ optional int64 timestamp = 1;
+}
+
+message HSMDateTimeComponent {
+ enum HSMDateTimeComponentDayOfWeekType {
+ MONDAY = 1;
+ TUESDAY = 2;
+ WEDNESDAY = 3;
+ THURSDAY = 4;
+ FRIDAY = 5;
+ SATURDAY = 6;
+ SUNDAY = 7;
+ }
+ optional HSMDateTimeComponentDayOfWeekType dayOfWeek = 1;
+ optional uint32 year = 2;
+ optional uint32 month = 3;
+ optional uint32 dayOfMonth = 4;
+ optional uint32 hour = 5;
+ optional uint32 minute = 6;
+ enum HSMDateTimeComponentCalendarType {
+ GREGORIAN = 1;
+ SOLAR_HIJRI = 2;
+ }
+ optional HSMDateTimeComponentCalendarType calendar = 7;
+}
+
+message HSMCurrency {
+ optional string currencyCode = 1;
+ optional int64 amount1000 = 2;
+}
+
+message GroupInviteMessage {
+ optional string groupJid = 1;
+ optional string inviteCode = 2;
+ optional int64 inviteExpiration = 3;
+ optional string groupName = 4;
+ optional bytes jpegThumbnail = 5;
+ optional string caption = 6;
+ optional ContextInfo contextInfo = 7;
+ enum GroupInviteMessageGroupType {
+ DEFAULT = 0;
+ PARENT = 1;
+ }
+ optional GroupInviteMessageGroupType groupType = 8;
+}
+
+message FutureProofMessage {
+ optional Message message = 1;
}
message ExtendedTextMessage {
@@ -856,51 +571,35 @@ message DocumentMessage {
optional uint32 thumbnailWidth = 19;
}
-message AudioMessage {
- optional string url = 1;
- optional string mimetype = 2;
- optional bytes fileSha256 = 3;
- optional uint64 fileLength = 4;
- optional uint32 seconds = 5;
- optional bool ptt = 6;
- optional bytes mediaKey = 7;
- optional bytes fileEncSha256 = 8;
- optional string directPath = 9;
- optional int64 mediaKeyTimestamp = 10;
+message DeviceSentMessage {
+ optional string destinationJid = 1;
+ optional Message message = 2;
+ optional string phash = 3;
+}
+
+message DeclinePaymentRequestMessage {
+ optional MessageKey key = 1;
+}
+
+message ContactsArrayMessage {
+ optional string displayName = 1;
+ repeated ContactMessage contacts = 2;
optional ContextInfo contextInfo = 17;
- optional bytes streamingSidecar = 18;
- optional bytes waveform = 19;
}
-message VideoMessage {
- optional string url = 1;
- optional string mimetype = 2;
- optional bytes fileSha256 = 3;
- optional uint64 fileLength = 4;
- optional uint32 seconds = 5;
- optional bytes mediaKey = 6;
- optional string caption = 7;
- optional bool gifPlayback = 8;
- optional uint32 height = 9;
- optional uint32 width = 10;
- optional bytes fileEncSha256 = 11;
- repeated InteractiveAnnotation interactiveAnnotations = 12;
- optional string directPath = 13;
- optional int64 mediaKeyTimestamp = 14;
- optional bytes jpegThumbnail = 16;
+message ContactMessage {
+ optional string displayName = 1;
+ optional string vcard = 16;
optional ContextInfo contextInfo = 17;
- optional bytes streamingSidecar = 18;
- enum VideoMessageAttribution {
- NONE = 0;
- GIPHY = 1;
- TENOR = 2;
- }
- optional VideoMessageAttribution gifAttribution = 19;
- optional bool viewOnce = 20;
- optional string thumbnailDirectPath = 21;
- optional bytes thumbnailSha256 = 22;
- optional bytes thumbnailEncSha256 = 23;
- optional string staticUrl = 24;
+}
+
+message Chat {
+ optional string displayName = 1;
+ optional string id = 2;
+}
+
+message CancelPaymentRequestMessage {
+ optional MessageKey key = 1;
}
message Call {
@@ -910,51 +609,78 @@ message Call {
optional uint32 conversionDelaySeconds = 4;
}
-message Chat {
- optional string displayName = 1;
- optional string id = 2;
+message ButtonsResponseMessage {
+ optional string selectedButtonId = 1;
+ optional ContextInfo contextInfo = 3;
+ enum ButtonsResponseMessageType {
+ UNKNOWN = 0;
+ DISPLAY_TEXT = 1;
+ }
+ optional ButtonsResponseMessageType type = 4;
+ oneof response {
+ string selectedDisplayText = 2;
+ }
}
-message ProtocolMessage {
- optional MessageKey key = 1;
- enum ProtocolMessageType {
- REVOKE = 0;
- EPHEMERAL_SETTING = 3;
- EPHEMERAL_SYNC_RESPONSE = 4;
- HISTORY_SYNC_NOTIFICATION = 5;
- APP_STATE_SYNC_KEY_SHARE = 6;
- APP_STATE_SYNC_KEY_REQUEST = 7;
- MSG_FANOUT_BACKFILL_REQUEST = 8;
- INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9;
- APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10;
+message ButtonsMessage {
+ optional string contentText = 6;
+ optional string footerText = 7;
+ optional ContextInfo contextInfo = 8;
+ repeated Button buttons = 9;
+ enum ButtonsMessageHeaderType {
+ UNKNOWN = 0;
+ EMPTY = 1;
+ TEXT = 2;
+ DOCUMENT = 3;
+ IMAGE = 4;
+ VIDEO = 5;
+ LOCATION = 6;
+ }
+ optional ButtonsMessageHeaderType headerType = 10;
+ oneof header {
+ string text = 1;
+ DocumentMessage documentMessage = 2;
+ ImageMessage imageMessage = 3;
+ VideoMessage videoMessage = 4;
+ LocationMessage locationMessage = 5;
}
- optional ProtocolMessageType type = 2;
- optional uint32 ephemeralExpiration = 4;
- optional int64 ephemeralSettingTimestamp = 5;
- optional HistorySyncNotification historySyncNotification = 6;
- optional AppStateSyncKeyShare appStateSyncKeyShare = 7;
- optional AppStateSyncKeyRequest appStateSyncKeyRequest = 8;
- optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9;
- optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10;
- optional DisappearingMode disappearingMode = 11;
}
-message HistorySyncNotification {
- optional bytes fileSha256 = 1;
- optional uint64 fileLength = 2;
- optional bytes mediaKey = 3;
- optional bytes fileEncSha256 = 4;
- optional string directPath = 5;
- enum HistorySyncNotificationHistorySyncType {
- INITIAL_BOOTSTRAP = 0;
- INITIAL_STATUS_V3 = 1;
- FULL = 2;
- RECENT = 3;
- PUSH_NAME = 4;
+message Button {
+ optional string buttonId = 1;
+ optional ButtonText buttonText = 2;
+ enum ButtonType {
+ UNKNOWN = 0;
+ RESPONSE = 1;
+ NATIVE_FLOW = 2;
}
- optional HistorySyncNotificationHistorySyncType syncType = 6;
- optional uint32 chunkOrder = 7;
- optional string originalMessageId = 8;
+ optional ButtonType type = 3;
+ optional NativeFlowInfo nativeFlowInfo = 4;
+}
+
+message NativeFlowInfo {
+ optional string name = 1;
+ optional string paramsJson = 2;
+}
+
+message ButtonText {
+ optional string displayText = 1;
+}
+
+message AudioMessage {
+ optional string url = 1;
+ optional string mimetype = 2;
+ optional bytes fileSha256 = 3;
+ optional uint64 fileLength = 4;
+ optional uint32 seconds = 5;
+ optional bool ptt = 6;
+ optional bytes mediaKey = 7;
+ optional bytes fileEncSha256 = 8;
+ optional string directPath = 9;
+ optional int64 mediaKeyTimestamp = 10;
+ optional ContextInfo contextInfo = 17;
+ optional bytes streamingSidecar = 18;
+ optional bytes waveform = 19;
}
message AppStateSyncKey {
@@ -962,6 +688,14 @@ message AppStateSyncKey {
optional AppStateSyncKeyData keyData = 2;
}
+message AppStateSyncKeyShare {
+ repeated AppStateSyncKey keys = 1;
+}
+
+message AppStateSyncKeyRequest {
+ repeated AppStateSyncKeyId keyIds = 1;
+}
+
message AppStateSyncKeyId {
optional bytes keyId = 1;
}
@@ -978,164 +712,307 @@ message AppStateSyncKeyData {
optional int64 timestamp = 3;
}
-message AppStateSyncKeyShare {
- repeated AppStateSyncKey keys = 1;
+message AppStateFatalExceptionNotification {
+ repeated string collectionNames = 1;
+ optional int64 timestamp = 2;
}
-message AppStateSyncKeyRequest {
- repeated AppStateSyncKeyId keyIds = 1;
+message Location {
+ optional double degreesLatitude = 1;
+ optional double degreesLongitude = 2;
+ optional string name = 3;
}
-message AppStateFatalExceptionNotification {
- repeated string collectionNames = 1;
- optional int64 timestamp = 2;
+message InteractiveAnnotation {
+ repeated Point polygonVertices = 1;
+ oneof action {
+ Location location = 2;
+ }
}
-message InitialSecurityNotificationSettingSync {
- optional bool securityNotificationEnabled = 1;
+message HydratedTemplateButton {
+ optional uint32 index = 4;
+ oneof hydratedButton {
+ HydratedQuickReplyButton quickReplyButton = 1;
+ HydratedURLButton urlButton = 2;
+ HydratedCallButton callButton = 3;
+ }
}
-message ContactsArrayMessage {
- optional string displayName = 1;
- repeated ContactMessage contacts = 2;
- optional ContextInfo contextInfo = 17;
+message HydratedURLButton {
+ optional string displayText = 1;
+ optional string url = 2;
}
-message HSMCurrency {
- optional string currencyCode = 1;
- optional int64 amount1000 = 2;
+message HydratedQuickReplyButton {
+ optional string displayText = 1;
+ optional string id = 2;
}
-message HSMDateTimeComponent {
- enum HSMDateTimeComponentDayOfWeekType {
- MONDAY = 1;
- TUESDAY = 2;
- WEDNESDAY = 3;
- THURSDAY = 4;
- FRIDAY = 5;
- SATURDAY = 6;
- SUNDAY = 7;
- }
- optional HSMDateTimeComponentDayOfWeekType dayOfWeek = 1;
- optional uint32 year = 2;
- optional uint32 month = 3;
- optional uint32 dayOfMonth = 4;
- optional uint32 hour = 5;
- optional uint32 minute = 6;
- enum HSMDateTimeComponentCalendarType {
- GREGORIAN = 1;
- SOLAR_HIJRI = 2;
+message HydratedCallButton {
+ optional string displayText = 1;
+ optional string phoneNumber = 2;
+}
+
+message DisappearingMode {
+ enum DisappearingModeInitiator {
+ CHANGED_IN_CHAT = 0;
+ INITIATED_BY_ME = 1;
+ INITIATED_BY_OTHER = 2;
}
- optional HSMDateTimeComponentCalendarType calendar = 7;
+ optional DisappearingModeInitiator initiator = 1;
}
-message HSMDateTimeUnixEpoch {
- optional int64 timestamp = 1;
+message DeviceListMetadata {
+ optional bytes senderKeyHash = 1;
+ optional uint64 senderTimestamp = 2;
+ repeated uint32 senderKeyIndexes = 3 [packed=true];
+ optional bytes recipientKeyHash = 8;
+ optional uint64 recipientTimestamp = 9;
+ repeated uint32 recipientKeyIndexes = 10 [packed=true];
}
-message HSMDateTime {
- oneof datetimeOneof {
- HSMDateTimeComponent component = 1;
- HSMDateTimeUnixEpoch unixEpoch = 2;
+message ContextInfo {
+ optional string stanzaId = 1;
+ optional string participant = 2;
+ optional Message quotedMessage = 3;
+ optional string remoteJid = 4;
+ repeated string mentionedJid = 15;
+ optional string conversionSource = 18;
+ optional bytes conversionData = 19;
+ optional uint32 conversionDelaySeconds = 20;
+ optional uint32 forwardingScore = 21;
+ optional bool isForwarded = 22;
+ optional AdReplyInfo quotedAd = 23;
+ optional MessageKey placeholderKey = 24;
+ optional uint32 expiration = 25;
+ optional int64 ephemeralSettingTimestamp = 26;
+ optional bytes ephemeralSharedSecret = 27;
+ optional ExternalAdReplyInfo externalAdReply = 28;
+ optional string entryPointConversionSource = 29;
+ optional string entryPointConversionApp = 30;
+ optional uint32 entryPointConversionDelaySeconds = 31;
+ optional DisappearingMode disappearingMode = 32;
+ optional ActionLink actionLink = 33;
+ optional string groupSubject = 34;
+ optional string parentGroupJid = 35;
+}
+
+message ExternalAdReplyInfo {
+ optional string title = 1;
+ optional string body = 2;
+ enum ExternalAdReplyInfoMediaType {
+ NONE = 0;
+ IMAGE = 1;
+ VIDEO = 2;
}
+ optional ExternalAdReplyInfoMediaType mediaType = 3;
+ optional string thumbnailUrl = 4;
+ optional string mediaUrl = 5;
+ optional bytes thumbnail = 6;
+ optional string sourceType = 7;
+ optional string sourceId = 8;
+ optional string sourceUrl = 9;
+ optional bool containsAutoReply = 10;
+ optional bool renderLargerThumbnail = 11;
+ optional bool showAdAttribution = 12;
}
-message HSMLocalizableParameter {
- optional string default = 1;
- oneof paramOneof {
- HSMCurrency currency = 2;
- HSMDateTime dateTime = 3;
+message AdReplyInfo {
+ optional string advertiserName = 1;
+ enum AdReplyInfoMediaType {
+ NONE = 0;
+ IMAGE = 1;
+ VIDEO = 2;
}
+ optional AdReplyInfoMediaType mediaType = 2;
+ optional bytes jpegThumbnail = 16;
+ optional string caption = 17;
}
-message HighlyStructuredMessage {
- optional string namespace = 1;
- optional string elementName = 2;
- repeated string params = 3;
- optional string fallbackLg = 4;
- optional string fallbackLc = 5;
- repeated HSMLocalizableParameter localizableParams = 6;
- optional string deterministicLg = 7;
- optional string deterministicLc = 8;
- optional TemplateMessage hydratedHsm = 9;
+message ActionLink {
+ optional string url = 1;
+ optional string buttonTitle = 2;
}
-message SendPaymentMessage {
- optional Message noteMessage = 2;
- optional MessageKey requestMessageKey = 3;
- optional PaymentBackground background = 4;
+message TemplateButton {
+ optional uint32 index = 4;
+ oneof button {
+ QuickReplyButton quickReplyButton = 1;
+ URLButton urlButton = 2;
+ CallButton callButton = 3;
+ }
}
-message RequestPaymentMessage {
- optional Message noteMessage = 4;
- optional string currencyCodeIso4217 = 1;
- optional uint64 amount1000 = 2;
- optional string requestFrom = 3;
- optional int64 expiryTimestamp = 5;
- optional Money amount = 6;
- optional PaymentBackground background = 7;
+message URLButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional HighlyStructuredMessage url = 2;
}
-message DeclinePaymentRequestMessage {
- optional MessageKey key = 1;
+message QuickReplyButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional string id = 2;
}
-message CancelPaymentRequestMessage {
- optional MessageKey key = 1;
+message CallButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional HighlyStructuredMessage phoneNumber = 2;
}
-message PaymentInviteMessage {
- enum PaymentInviteMessageServiceType {
+message PollUpdateMessage {
+ optional MessageKey pollCreationMessageKey = 1;
+ optional bytes encPayload = 2;
+ optional bytes encIv = 3;
+}
+
+message PollUpdateMessageContent {
+ oneof update {
+ PollVoteMessage voteMessage = 1;
+ }
+}
+
+message PollVoteMessage {
+ repeated bytes selectedOptions = 1;
+ optional int64 senderTimestampMs = 2;
+}
+
+message PollCreationMessage {
+ optional bytes encKey = 1;
+ optional string name = 2;
+ repeated Option options = 3;
+ optional uint32 selectableOptionsCount = 4;
+}
+
+message Option {
+ optional string optionName = 1;
+}
+
+message Point {
+ optional int32 xDeprecated = 1;
+ optional int32 yDeprecated = 2;
+ optional double x = 3;
+ optional double y = 4;
+}
+
+message PaymentBackground {
+ optional string id = 1;
+ optional uint64 fileLength = 2;
+ optional uint32 width = 3;
+ optional uint32 height = 4;
+ optional string mimetype = 5;
+ optional fixed32 placeholderArgb = 6;
+ optional fixed32 textArgb = 7;
+ optional fixed32 subtextArgb = 8;
+ optional PBMediaData mediaData = 9;
+ enum PaymentBackgroundType {
UNKNOWN = 0;
- FBPAY = 1;
- NOVI = 2;
- UPI = 3;
+ DEFAULT = 1;
}
- optional PaymentInviteMessageServiceType serviceType = 1;
- optional int64 expiryTimestamp = 2;
+ optional PaymentBackgroundType type = 10;
}
-message LiveLocationMessage {
- optional double degreesLatitude = 1;
- optional double degreesLongitude = 2;
- optional uint32 accuracyInMeters = 3;
- optional float speedInMps = 4;
- optional uint32 degreesClockwiseFromMagneticNorth = 5;
- optional string caption = 6;
- optional int64 sequenceNumber = 7;
- optional uint32 timeOffset = 8;
- optional bytes jpegThumbnail = 16;
- optional ContextInfo contextInfo = 17;
+// Renamed from PaymentBackground$MediaData
+message PBMediaData {
+ optional bytes mediaKey = 1;
+ optional int64 mediaKeyTimestamp = 2;
+ optional bytes fileSha256 = 3;
+ optional bytes fileEncSha256 = 4;
+ optional string directPath = 5;
}
-message StickerMessage {
+message Money {
+ optional int64 value = 1;
+ optional uint32 offset = 2;
+ optional string currencyCode = 3;
+}
+
+message Message {
+ optional string conversation = 1;
+ optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2;
+ optional ImageMessage imageMessage = 3;
+ optional ContactMessage contactMessage = 4;
+ optional LocationMessage locationMessage = 5;
+ optional ExtendedTextMessage extendedTextMessage = 6;
+ optional DocumentMessage documentMessage = 7;
+ optional AudioMessage audioMessage = 8;
+ optional VideoMessage videoMessage = 9;
+ optional Call call = 10;
+ optional Chat chat = 11;
+ optional ProtocolMessage protocolMessage = 12;
+ optional ContactsArrayMessage contactsArrayMessage = 13;
+ optional HighlyStructuredMessage highlyStructuredMessage = 14;
+ optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15;
+ optional SendPaymentMessage sendPaymentMessage = 16;
+ optional LiveLocationMessage liveLocationMessage = 18;
+ optional RequestPaymentMessage requestPaymentMessage = 22;
+ optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23;
+ optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24;
+ optional TemplateMessage templateMessage = 25;
+ optional StickerMessage stickerMessage = 26;
+ optional GroupInviteMessage groupInviteMessage = 28;
+ optional TemplateButtonReplyMessage templateButtonReplyMessage = 29;
+ optional ProductMessage productMessage = 30;
+ optional DeviceSentMessage deviceSentMessage = 31;
+ optional MessageContextInfo messageContextInfo = 35;
+ optional ListMessage listMessage = 36;
+ optional FutureProofMessage viewOnceMessage = 37;
+ optional OrderMessage orderMessage = 38;
+ optional ListResponseMessage listResponseMessage = 39;
+ optional FutureProofMessage ephemeralMessage = 40;
+ optional InvoiceMessage invoiceMessage = 41;
+ optional ButtonsMessage buttonsMessage = 42;
+ optional ButtonsResponseMessage buttonsResponseMessage = 43;
+ optional PaymentInviteMessage paymentInviteMessage = 44;
+ optional InteractiveMessage interactiveMessage = 45;
+ optional ReactionMessage reactionMessage = 46;
+ optional StickerSyncRMRMessage stickerSyncRmrMessage = 47;
+ optional InteractiveResponseMessage interactiveResponseMessage = 48;
+ optional PollCreationMessage pollCreationMessage = 49;
+ optional PollUpdateMessage pollUpdateMessage = 50;
+}
+
+message MessageContextInfo {
+ optional DeviceListMetadata deviceListMetadata = 1;
+ optional int32 deviceListMetadataVersion = 2;
+}
+
+message VideoMessage {
optional string url = 1;
- optional bytes fileSha256 = 2;
- optional bytes fileEncSha256 = 3;
- optional bytes mediaKey = 4;
- optional string mimetype = 5;
- optional uint32 height = 6;
- optional uint32 width = 7;
- optional string directPath = 8;
- optional uint64 fileLength = 9;
- optional int64 mediaKeyTimestamp = 10;
- optional uint32 firstFrameLength = 11;
- optional bytes firstFrameSidecar = 12;
- optional bool isAnimated = 13;
- optional bytes pngThumbnail = 16;
+ optional string mimetype = 2;
+ optional bytes fileSha256 = 3;
+ optional uint64 fileLength = 4;
+ optional uint32 seconds = 5;
+ optional bytes mediaKey = 6;
+ optional string caption = 7;
+ optional bool gifPlayback = 8;
+ optional uint32 height = 9;
+ optional uint32 width = 10;
+ optional bytes fileEncSha256 = 11;
+ repeated InteractiveAnnotation interactiveAnnotations = 12;
+ optional string directPath = 13;
+ optional int64 mediaKeyTimestamp = 14;
+ optional bytes jpegThumbnail = 16;
optional ContextInfo contextInfo = 17;
+ optional bytes streamingSidecar = 18;
+ enum VideoMessageAttribution {
+ NONE = 0;
+ GIPHY = 1;
+ TENOR = 2;
+ }
+ optional VideoMessageAttribution gifAttribution = 19;
+ optional bool viewOnce = 20;
+ optional string thumbnailDirectPath = 21;
+ optional bytes thumbnailSha256 = 22;
+ optional bytes thumbnailEncSha256 = 23;
+ optional string staticUrl = 24;
}
-message FourRowTemplate {
- optional HighlyStructuredMessage content = 6;
- optional HighlyStructuredMessage footer = 7;
- repeated TemplateButton buttons = 8;
- oneof title {
- DocumentMessage documentMessage = 1;
- HighlyStructuredMessage highlyStructuredMessage = 2;
- ImageMessage imageMessage = 3;
- VideoMessage videoMessage = 4;
- LocationMessage locationMessage = 5;
+message TemplateMessage {
+ optional ContextInfo contextInfo = 3;
+ optional HydratedFourRowTemplate hydratedTemplate = 4;
+ oneof format {
+ FourRowTemplate fourRowTemplate = 1;
+ HydratedFourRowTemplate hydratedFourRowTemplate = 2;
}
}
@@ -1153,12 +1030,16 @@ message HydratedFourRowTemplate {
}
}
-message TemplateMessage {
- optional ContextInfo contextInfo = 3;
- optional HydratedFourRowTemplate hydratedTemplate = 4;
- oneof format {
- FourRowTemplate fourRowTemplate = 1;
- HydratedFourRowTemplate hydratedFourRowTemplate = 2;
+message FourRowTemplate {
+ optional HighlyStructuredMessage content = 6;
+ optional HighlyStructuredMessage footer = 7;
+ repeated TemplateButton buttons = 8;
+ oneof title {
+ DocumentMessage documentMessage = 1;
+ HighlyStructuredMessage highlyStructuredMessage = 2;
+ ImageMessage imageMessage = 3;
+ VideoMessage videoMessage = 4;
+ LocationMessage locationMessage = 5;
}
}
@@ -1169,584 +1050,685 @@ message TemplateButtonReplyMessage {
optional uint32 selectedIndex = 4;
}
-message CatalogSnapshot {
- optional ImageMessage catalogImage = 1;
- optional string title = 2;
- optional string description = 3;
+message StickerSyncRMRMessage {
+ repeated string filehash = 1;
+ optional string rmrSource = 2;
+ optional int64 requestTimestamp = 3;
}
-message ProductSnapshot {
- optional ImageMessage productImage = 1;
- optional string productId = 2;
- optional string title = 3;
- optional string description = 4;
- optional string currencyCode = 5;
- optional int64 priceAmount1000 = 6;
- optional string retailerId = 7;
- optional string url = 8;
- optional uint32 productImageCount = 9;
- optional string firstImageId = 11;
- optional int64 salePriceAmount1000 = 12;
+message EphemeralSetting {
+ optional sfixed32 duration = 1;
+ optional sfixed64 timestamp = 2;
}
-message ProductMessage {
- optional ProductSnapshot product = 1;
- optional string businessOwnerJid = 2;
- optional CatalogSnapshot catalog = 4;
- optional string body = 5;
- optional string footer = 6;
- optional ContextInfo contextInfo = 17;
+message WallpaperSettings {
+ optional string filename = 1;
+ optional uint32 opacity = 2;
}
-message OrderMessage {
- optional string orderId = 1;
- optional bytes thumbnail = 2;
- optional int32 itemCount = 3;
- enum OrderMessageOrderStatus {
- INQUIRY = 1;
+message Pushname {
+ optional string id = 1;
+ optional string pushname = 2;
+}
+
+enum MediaVisibility {
+ DEFAULT = 0;
+ OFF = 1;
+ ON = 2;
+}
+message HistorySync {
+ enum HistorySyncHistorySyncType {
+ INITIAL_BOOTSTRAP = 0;
+ INITIAL_STATUS_V3 = 1;
+ FULL = 2;
+ RECENT = 3;
+ PUSH_NAME = 4;
}
- optional OrderMessageOrderStatus status = 4;
- enum OrderMessageOrderSurface {
- CATALOG = 1;
+ required HistorySyncHistorySyncType syncType = 1;
+ repeated Conversation conversations = 2;
+ repeated WebMessageInfo statusV3Messages = 3;
+ optional uint32 chunkOrder = 5;
+ optional uint32 progress = 6;
+ repeated Pushname pushnames = 7;
+ optional GlobalSettings globalSettings = 8;
+ optional bytes threadIdUserSecret = 9;
+ optional uint32 threadDsTimeframeOffset = 10;
+}
+
+message HistorySyncMsg {
+ optional WebMessageInfo message = 1;
+ optional uint64 msgOrderId = 2;
+}
+
+message GroupParticipant {
+ required string userJid = 1;
+ enum GroupParticipantRank {
+ REGULAR = 0;
+ ADMIN = 1;
+ SUPERADMIN = 2;
}
- optional OrderMessageOrderSurface surface = 5;
- optional string message = 6;
- optional string orderTitle = 7;
- optional string sellerJid = 8;
- optional string token = 9;
- optional int64 totalAmount1000 = 10;
- optional string totalCurrencyCode = 11;
- optional ContextInfo contextInfo = 17;
+ optional GroupParticipantRank rank = 2;
}
-message Row {
- optional string title = 1;
- optional string description = 2;
- optional string rowId = 3;
+message GlobalSettings {
+ optional WallpaperSettings lightThemeWallpaper = 1;
+ optional MediaVisibility mediaVisibility = 2;
+ optional WallpaperSettings darkThemeWallpaper = 3;
+ optional AutoDownloadSettings autoDownloadWiFi = 4;
+ optional AutoDownloadSettings autoDownloadCellular = 5;
+ optional AutoDownloadSettings autoDownloadRoaming = 6;
+ optional bool showIndividualNotificationsPreview = 7;
+ optional bool showGroupNotificationsPreview = 8;
}
-message Section {
- optional string title = 1;
- repeated Row rows = 2;
+message Conversation {
+ required string id = 1;
+ repeated HistorySyncMsg messages = 2;
+ optional string newJid = 3;
+ optional string oldJid = 4;
+ optional uint64 lastMsgTimestamp = 5;
+ optional uint32 unreadCount = 6;
+ optional bool readOnly = 7;
+ optional bool endOfHistoryTransfer = 8;
+ optional uint32 ephemeralExpiration = 9;
+ optional int64 ephemeralSettingTimestamp = 10;
+ enum ConversationEndOfHistoryTransferType {
+ COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
+ COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
+ }
+ optional ConversationEndOfHistoryTransferType endOfHistoryTransferType = 11;
+ optional uint64 conversationTimestamp = 12;
+ optional string name = 13;
+ optional string pHash = 14;
+ optional bool notSpam = 15;
+ optional bool archived = 16;
+ optional DisappearingMode disappearingMode = 17;
+ optional uint32 unreadMentionCount = 18;
+ optional bool markedAsUnread = 19;
+ repeated GroupParticipant participant = 20;
+ optional bytes tcToken = 21;
+ optional uint64 tcTokenTimestamp = 22;
+ optional bytes contactPrimaryIdentityKey = 23;
+ optional uint32 pinned = 24;
+ optional uint64 muteEndTime = 25;
+ optional WallpaperSettings wallpaper = 26;
+ optional MediaVisibility mediaVisibility = 27;
+ optional uint64 tcTokenSenderTimestamp = 28;
+ optional bool suspended = 29;
}
-message Product {
- optional string productId = 1;
+message AutoDownloadSettings {
+ optional bool downloadImages = 1;
+ optional bool downloadAudio = 2;
+ optional bool downloadVideo = 3;
+ optional bool downloadDocuments = 4;
}
-message ProductSection {
- optional string title = 1;
- repeated Product products = 2;
+message MsgRowOpaqueData {
+ optional MsgOpaqueData currentMsg = 1;
+ optional MsgOpaqueData quotedMsg = 2;
}
-message ProductListHeaderImage {
- optional string productId = 1;
- optional bytes jpegThumbnail = 2;
+message MsgOpaqueData {
+ optional string body = 1;
+ optional string caption = 3;
+ optional double lng = 5;
+ optional bool isLive = 6;
+ optional double lat = 7;
+ optional int32 paymentAmount1000 = 8;
+ optional string paymentNoteMsgBody = 9;
+ optional string canonicalUrl = 10;
+ optional string matchedText = 11;
+ optional string title = 12;
+ optional string description = 13;
+ optional bytes futureproofBuffer = 14;
+ optional string clientUrl = 15;
+ optional string loc = 16;
}
-message ProductListInfo {
- repeated ProductSection productSections = 1;
- optional ProductListHeaderImage headerImage = 2;
- optional string businessOwnerJid = 3;
+message ServerErrorReceipt {
+ optional string stanzaId = 1;
}
-message ListMessage {
- optional string title = 1;
- optional string description = 2;
- optional string buttonText = 3;
- enum ListMessageListType {
- UNKNOWN = 0;
- SINGLE_SELECT = 1;
- PRODUCT_LIST = 2;
+message MediaRetryNotification {
+ optional string stanzaId = 1;
+ optional string directPath = 2;
+ enum MediaRetryNotificationResultType {
+ GENERAL_ERROR = 0;
+ SUCCESS = 1;
+ NOT_FOUND = 2;
+ DECRYPTION_ERROR = 3;
}
- optional ListMessageListType listType = 4;
- repeated Section sections = 5;
- optional ProductListInfo productListInfo = 6;
- optional string footerText = 7;
- optional ContextInfo contextInfo = 8;
+ optional MediaRetryNotificationResultType result = 3;
}
-message SingleSelectReply {
- optional string selectedRowId = 1;
+message MessageKey {
+ optional string remoteJid = 1;
+ optional bool fromMe = 2;
+ optional string id = 3;
+ optional string participant = 4;
}
-message ListResponseMessage {
- optional string title = 1;
- enum ListResponseMessageListType {
- UNKNOWN = 0;
- SINGLE_SELECT = 1;
- }
- optional ListResponseMessageListType listType = 2;
- optional SingleSelectReply singleSelectReply = 3;
- optional ContextInfo contextInfo = 4;
- optional string description = 5;
+// Duplicate type omitted
+//message MessageKey {
+// optional string remoteJid = 1;
+// optional bool fromMe = 2;
+// optional string id = 3;
+// optional string participant = 4;
+//}
+
+message SyncdVersion {
+ optional uint64 version = 1;
}
-message Header {
- optional string title = 1;
- optional string subtitle = 2;
- optional bool hasMediaAttachment = 5;
- oneof media {
- DocumentMessage documentMessage = 3;
- ImageMessage imageMessage = 4;
- bytes jpegThumbnail = 6;
- VideoMessage videoMessage = 7;
- }
+message SyncdValue {
+ optional bytes blob = 1;
}
-message Body {
- optional string text = 1;
+message SyncdSnapshot {
+ optional SyncdVersion version = 1;
+ repeated SyncdRecord records = 2;
+ optional bytes mac = 3;
+ optional KeyId keyId = 4;
}
-message Footer {
- optional string text = 1;
+message SyncdRecord {
+ optional SyncdIndex index = 1;
+ optional SyncdValue value = 2;
+ optional KeyId keyId = 3;
}
-message ShopMessage {
- optional string id = 1;
- enum ShopMessageSurface {
- UNKNOWN_SURFACE = 0;
- FB = 1;
- IG = 2;
- WA = 3;
+message SyncdPatch {
+ optional SyncdVersion version = 1;
+ repeated SyncdMutation mutations = 2;
+ optional ExternalBlobReference externalMutations = 3;
+ optional bytes snapshotMac = 4;
+ optional bytes patchMac = 5;
+ optional KeyId keyId = 6;
+ optional ExitCode exitCode = 7;
+ optional uint32 deviceIndex = 8;
+}
+
+message SyncdMutations {
+ repeated SyncdMutation mutations = 1;
+}
+
+message SyncdMutation {
+ enum SyncdMutationSyncdOperation {
+ SET = 0;
+ REMOVE = 1;
}
- optional ShopMessageSurface surface = 2;
- optional int32 messageVersion = 3;
+ optional SyncdMutationSyncdOperation operation = 1;
+ optional SyncdRecord record = 2;
}
-message CollectionMessage {
- optional string bizJid = 1;
- optional string id = 2;
- optional int32 messageVersion = 3;
+message SyncdIndex {
+ optional bytes blob = 1;
}
-message NativeFlowButton {
- optional string name = 1;
- optional string buttonParamsJson = 2;
+message KeyId {
+ optional bytes id = 1;
}
-message NativeFlowMessage {
- repeated NativeFlowButton buttons = 1;
- optional string messageParamsJson = 2;
- optional int32 messageVersion = 3;
+message ExternalBlobReference {
+ optional bytes mediaKey = 1;
+ optional string directPath = 2;
+ optional string handle = 3;
+ optional uint64 fileSizeBytes = 4;
+ optional bytes fileSha256 = 5;
+ optional bytes fileEncSha256 = 6;
}
-message InteractiveMessage {
- optional Header header = 1;
- optional Body body = 2;
- optional Footer footer = 3;
- optional ContextInfo contextInfo = 15;
- oneof interactiveMessage {
- ShopMessage shopStorefrontMessage = 4;
- CollectionMessage collectionMessage = 5;
- NativeFlowMessage nativeFlowMessage = 6;
- }
+message ExitCode {
+ optional uint64 code = 1;
+ optional string text = 2;
}
-message GroupInviteMessage {
- optional string groupJid = 1;
- optional string inviteCode = 2;
- optional int64 inviteExpiration = 3;
- optional string groupName = 4;
- optional bytes jpegThumbnail = 5;
- optional string caption = 6;
- optional ContextInfo contextInfo = 7;
- enum GroupInviteMessageGroupType {
- DEFAULT = 0;
- PARENT = 1;
- }
- optional GroupInviteMessageGroupType groupType = 8;
+message SyncActionValue {
+ optional int64 timestamp = 1;
+ optional StarAction starAction = 2;
+ optional ContactAction contactAction = 3;
+ optional MuteAction muteAction = 4;
+ optional PinAction pinAction = 5;
+ optional SecurityNotificationSetting securityNotificationSetting = 6;
+ optional PushNameSetting pushNameSetting = 7;
+ optional QuickReplyAction quickReplyAction = 8;
+ optional RecentStickerWeightsAction recentStickerWeightsAction = 9;
+ optional RecentStickerMetadata recentStickerMetadata = 10;
+ optional RecentEmojiWeightsAction recentEmojiWeightsAction = 11;
+ optional LabelEditAction labelEditAction = 14;
+ optional LabelAssociationAction labelAssociationAction = 15;
+ optional LocaleSetting localeSetting = 16;
+ optional ArchiveChatAction archiveChatAction = 17;
+ optional DeleteMessageForMeAction deleteMessageForMeAction = 18;
+ optional KeyExpiration keyExpiration = 19;
+ optional MarkChatAsReadAction markChatAsReadAction = 20;
+ optional ClearChatAction clearChatAction = 21;
+ optional DeleteChatAction deleteChatAction = 22;
+ optional UnarchiveChatsSetting unarchiveChatsSetting = 23;
+ optional PrimaryFeature primaryFeature = 24;
+ optional FavoriteStickerAction favoriteStickerAction = 25;
+ optional AndroidUnsupportedActions androidUnsupportedActions = 26;
}
-message DeviceSentMessage {
- optional string destinationJid = 1;
- optional Message message = 2;
- optional string phash = 3;
+message UnarchiveChatsSetting {
+ optional bool unarchiveChats = 1;
}
-message FutureProofMessage {
- optional Message message = 1;
+message SyncActionMessage {
+ optional MessageKey key = 1;
+ optional int64 timestamp = 2;
}
-message ButtonText {
- optional string displayText = 1;
+message SyncActionMessageRange {
+ optional int64 lastMessageTimestamp = 1;
+ optional int64 lastSystemMessageTimestamp = 2;
+ repeated SyncActionMessage messages = 3;
}
-message NativeFlowInfo {
- optional string name = 1;
- optional string paramsJson = 2;
+message StarAction {
+ optional bool starred = 1;
}
-message Button {
- optional string buttonId = 1;
- optional ButtonText buttonText = 2;
- enum ButtonType {
- UNKNOWN = 0;
- RESPONSE = 1;
- NATIVE_FLOW = 2;
- }
- optional ButtonType type = 3;
- optional NativeFlowInfo nativeFlowInfo = 4;
+message SecurityNotificationSetting {
+ optional bool showNotification = 1;
}
-message ButtonsMessage {
- optional string contentText = 6;
- optional string footerText = 7;
- optional ContextInfo contextInfo = 8;
- repeated Button buttons = 9;
- enum ButtonsMessageHeaderType {
- UNKNOWN = 0;
- EMPTY = 1;
- TEXT = 2;
- DOCUMENT = 3;
- IMAGE = 4;
- VIDEO = 5;
- LOCATION = 6;
- }
- optional ButtonsMessageHeaderType headerType = 10;
- oneof header {
- string text = 1;
- DocumentMessage documentMessage = 2;
- ImageMessage imageMessage = 3;
- VideoMessage videoMessage = 4;
- LocationMessage locationMessage = 5;
- }
+message RecentStickerWeightsAction {
+ repeated RecentStickerWeight weights = 1;
}
-message ButtonsResponseMessage {
- optional string selectedButtonId = 1;
- optional ContextInfo contextInfo = 3;
- enum ButtonsResponseMessageType {
- UNKNOWN = 0;
- DISPLAY_TEXT = 1;
- }
- optional ButtonsResponseMessageType type = 4;
- oneof response {
- string selectedDisplayText = 2;
- }
+message RecentStickerMetadata {
+ optional string directPath = 1;
+ optional string encFilehash = 2;
+ optional string mediaKey = 3;
+ optional string stanzaId = 4;
+ optional string chatJid = 5;
+ optional string participant = 6;
+ optional bool isSentByMe = 7;
}
-message ReactionMessage {
- optional MessageKey key = 1;
- optional string text = 2;
- optional string groupingKey = 3;
- optional int64 senderTimestampMs = 4;
+message RecentEmojiWeightsAction {
+ repeated RecentEmojiWeight weights = 1;
}
-message StickerSyncRMRMessage {
- repeated string filehash = 1;
- optional string rmrSource = 2;
- optional int64 requestTimestamp = 3;
+message QuickReplyAction {
+ optional string shortcut = 1;
+ optional string message = 2;
+ repeated string keywords = 3;
+ optional int32 count = 4;
+ optional bool deleted = 5;
}
-message Message {
- optional string conversation = 1;
- optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2;
- optional ImageMessage imageMessage = 3;
- optional ContactMessage contactMessage = 4;
- optional LocationMessage locationMessage = 5;
- optional ExtendedTextMessage extendedTextMessage = 6;
- optional DocumentMessage documentMessage = 7;
- optional AudioMessage audioMessage = 8;
- optional VideoMessage videoMessage = 9;
- optional Call call = 10;
- optional Chat chat = 11;
- optional ProtocolMessage protocolMessage = 12;
- optional ContactsArrayMessage contactsArrayMessage = 13;
- optional HighlyStructuredMessage highlyStructuredMessage = 14;
- optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15;
- optional SendPaymentMessage sendPaymentMessage = 16;
- optional LiveLocationMessage liveLocationMessage = 18;
- optional RequestPaymentMessage requestPaymentMessage = 22;
- optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23;
- optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24;
- optional TemplateMessage templateMessage = 25;
- optional StickerMessage stickerMessage = 26;
- optional GroupInviteMessage groupInviteMessage = 28;
- optional TemplateButtonReplyMessage templateButtonReplyMessage = 29;
- optional ProductMessage productMessage = 30;
- optional DeviceSentMessage deviceSentMessage = 31;
- optional MessageContextInfo messageContextInfo = 35;
- optional ListMessage listMessage = 36;
- optional FutureProofMessage viewOnceMessage = 37;
- optional OrderMessage orderMessage = 38;
- optional ListResponseMessage listResponseMessage = 39;
- optional FutureProofMessage ephemeralMessage = 40;
- optional InvoiceMessage invoiceMessage = 41;
- optional ButtonsMessage buttonsMessage = 42;
- optional ButtonsResponseMessage buttonsResponseMessage = 43;
- optional PaymentInviteMessage paymentInviteMessage = 44;
- optional InteractiveMessage interactiveMessage = 45;
- optional ReactionMessage reactionMessage = 46;
- optional StickerSyncRMRMessage stickerSyncRmrMessage = 47;
+message PushNameSetting {
+ optional string name = 1;
}
-message ActionLink {
- optional string url = 1;
- optional string buttonTitle = 2;
+message PrimaryFeature {
+ repeated string flags = 1;
}
-message DisappearingMode {
- enum DisappearingModeInitiator {
- CHANGED_IN_CHAT = 0;
- INITIATED_BY_ME = 1;
- INITIATED_BY_OTHER = 2;
- }
- optional DisappearingModeInitiator initiator = 1;
+message PinAction {
+ optional bool pinned = 1;
}
-// Renamed from MediaData
-message PBMediaData {
- optional bytes mediaKey = 1;
- optional int64 mediaKeyTimestamp = 2;
- optional bytes fileSha256 = 3;
- optional bytes fileEncSha256 = 4;
- optional string directPath = 5;
+message MuteAction {
+ optional bool muted = 1;
+ optional int64 muteEndTimestamp = 2;
}
-message PaymentBackground {
- optional string id = 1;
- optional uint64 fileLength = 2;
- optional uint32 width = 3;
- optional uint32 height = 4;
- optional string mimetype = 5;
- optional fixed32 placeholderArgb = 6;
- optional fixed32 textArgb = 7;
- optional fixed32 subtextArgb = 8;
- optional PBMediaData mediaData = 9;
- enum PaymentBackgroundType {
- UNKNOWN = 0;
- DEFAULT = 1;
- }
- optional PaymentBackgroundType type = 10;
+message MarkChatAsReadAction {
+ optional bool read = 1;
+ optional SyncActionMessageRange messageRange = 2;
}
-message Money {
- optional int64 value = 1;
- optional uint32 offset = 2;
- optional string currencyCode = 3;
+message LocaleSetting {
+ optional string locale = 1;
}
-message HydratedQuickReplyButton {
- optional string displayText = 1;
- optional string id = 2;
+message LabelEditAction {
+ optional string name = 1;
+ optional int32 color = 2;
+ optional int32 predefinedId = 3;
+ optional bool deleted = 4;
}
-message HydratedURLButton {
- optional string displayText = 1;
- optional string url = 2;
+message LabelAssociationAction {
+ optional bool labeled = 1;
}
-message HydratedCallButton {
- optional string displayText = 1;
- optional string phoneNumber = 2;
+message KeyExpiration {
+ optional int32 expiredKeyEpoch = 1;
}
-message HydratedTemplateButton {
- optional uint32 index = 4;
- oneof hydratedButton {
- HydratedQuickReplyButton quickReplyButton = 1;
- HydratedURLButton urlButton = 2;
- HydratedCallButton callButton = 3;
- }
+message FavoriteStickerAction {
+ optional string directPath = 1;
+ optional string lastUploadTimestamp = 2;
+ optional string handle = 3;
+ optional string encFilehash = 4;
+ optional string stickerHashWithoutMeta = 5;
+ optional string mediaKey = 6;
+ optional int64 mediaKeyTimestamp = 7;
+ optional bool isFavorite = 8;
}
-message QuickReplyButton {
- optional HighlyStructuredMessage displayText = 1;
- optional string id = 2;
+message DeleteMessageForMeAction {
+ optional bool deleteMedia = 1;
+ optional int64 messageTimestamp = 2;
}
-message URLButton {
- optional HighlyStructuredMessage displayText = 1;
- optional HighlyStructuredMessage url = 2;
+message DeleteChatAction {
+ optional SyncActionMessageRange messageRange = 1;
}
-message CallButton {
- optional HighlyStructuredMessage displayText = 1;
- optional HighlyStructuredMessage phoneNumber = 2;
+message ContactAction {
+ optional string fullName = 1;
+ optional string firstName = 2;
}
-message TemplateButton {
- optional uint32 index = 4;
- oneof button {
- QuickReplyButton quickReplyButton = 1;
- URLButton urlButton = 2;
- CallButton callButton = 3;
- }
+message ClearChatAction {
+ optional SyncActionMessageRange messageRange = 1;
}
-message Location {
- optional double degreesLatitude = 1;
- optional double degreesLongitude = 2;
- optional string name = 3;
+message ArchiveChatAction {
+ optional bool archived = 1;
+ optional SyncActionMessageRange messageRange = 2;
}
-message Point {
- optional int32 xDeprecated = 1;
- optional int32 yDeprecated = 2;
- optional double x = 3;
- optional double y = 4;
+message AndroidUnsupportedActions {
+ optional bool allowed = 1;
}
-// Duplicate type omitted
-//message AppVersion {
-// optional uint32 primary = 1;
-// optional uint32 secondary = 2;
-// optional uint32 tertiary = 3;
-// optional uint32 quaternary = 4;
-// optional uint32 quinary = 5;
-//}
+message SyncActionData {
+ optional bytes index = 1;
+ optional SyncActionValue value = 2;
+ optional bytes padding = 3;
+ optional int32 version = 4;
+}
-message CompanionProps {
- optional string os = 1;
- optional AppVersion version = 2;
- enum CompanionPropsPlatformType {
+message RecentStickerWeight {
+ optional string filehash = 1;
+ optional float weight = 2;
+}
+
+message RecentEmojiWeight {
+ optional string emoji = 1;
+ optional float weight = 2;
+}
+
+message VerifiedNameCertificate {
+ optional bytes details = 1;
+ optional bytes signature = 2;
+ optional bytes serverSignature = 3;
+}
+
+// Renamed from VerifiedNameCertificate$Details
+message VerifiedNameDetails {
+ optional uint64 serial = 1;
+ optional string issuer = 2;
+ optional string verifiedName = 4;
+ repeated LocalizedName localizedNames = 8;
+ optional uint64 issueTime = 10;
+}
+
+message LocalizedName {
+ optional string lg = 1;
+ optional string lc = 2;
+ optional string verifiedName = 3;
+}
+
+message BizIdentityInfo {
+ enum BizIdentityInfoVerifiedLevelValue {
UNKNOWN = 0;
- CHROME = 1;
- FIREFOX = 2;
- IE = 3;
- OPERA = 4;
- SAFARI = 5;
- EDGE = 6;
- DESKTOP = 7;
- IPAD = 8;
- ANDROID_TABLET = 9;
- OHANA = 10;
- ALOHA = 11;
- CATALINA = 12;
+ LOW = 1;
+ HIGH = 2;
}
- optional CompanionPropsPlatformType platformType = 3;
- optional bool requireFullSync = 4;
+ optional BizIdentityInfoVerifiedLevelValue vlevel = 1;
+ optional VerifiedNameCertificate vnameCert = 2;
+ optional bool signed = 3;
+ optional bool revoked = 4;
+ enum BizIdentityInfoHostStorageType {
+ ON_PREMISE = 0;
+ FACEBOOK = 1;
+ }
+ optional BizIdentityInfoHostStorageType hostStorage = 5;
+ enum BizIdentityInfoActualActorsType {
+ SELF = 0;
+ BSP = 1;
+ }
+ optional BizIdentityInfoActualActorsType actualActors = 6;
+ optional uint64 privacyModeTs = 7;
+ optional uint64 featureControls = 8;
}
-message ADVSignedDeviceIdentityHMAC {
- optional bytes details = 1;
- optional bytes hmac = 2;
+message BizAccountPayload {
+ optional VerifiedNameCertificate vnameCert = 1;
+ optional bytes bizAcctLinkInfo = 2;
}
-message ADVSignedDeviceIdentity {
+message BizAccountLinkInfo {
+ optional uint64 whatsappBizAcctFbid = 1;
+ optional string whatsappAcctNumber = 2;
+ optional uint64 issueTime = 3;
+ enum BizAccountLinkInfoHostStorageType {
+ ON_PREMISE = 0;
+ FACEBOOK = 1;
+ }
+ optional BizAccountLinkInfoHostStorageType hostStorage = 4;
+ enum BizAccountLinkInfoAccountType {
+ ENTERPRISE = 0;
+ }
+ optional BizAccountLinkInfoAccountType accountType = 5;
+}
+
+message NoiseCertificate {
optional bytes details = 1;
- optional bytes accountSignatureKey = 2;
- optional bytes accountSignature = 3;
- optional bytes deviceSignature = 4;
+ optional bytes signature = 2;
}
-message ADVDeviceIdentity {
- optional uint32 rawId = 1;
- optional uint64 timestamp = 2;
- optional uint32 keyIndex = 3;
+// Renamed from NoiseCertificate$Details
+message NoiseCertificateDetails {
+ optional uint32 serial = 1;
+ optional string issuer = 2;
+ optional uint64 expires = 3;
+ optional string subject = 4;
+ optional bytes key = 5;
}
-message ADVSignedKeyIndexList {
- optional bytes details = 1;
- optional bytes accountSignature = 2;
+message HandshakeMessage {
+ optional ClientHello clientHello = 2;
+ optional ServerHello serverHello = 3;
+ optional ClientFinish clientFinish = 4;
}
-message ADVKeyIndexList {
- optional uint32 rawId = 1;
- optional uint64 timestamp = 2;
- optional uint32 currentIndex = 3;
- repeated uint32 validIndexes = 4 [packed=true];
+message ServerHello {
+ optional bytes ephemeral = 1;
+ optional bytes static = 2;
+ optional bytes payload = 3;
}
-message MessageKey {
- optional string remoteJid = 1;
- optional bool fromMe = 2;
- optional string id = 3;
- optional string participant = 4;
+message ClientHello {
+ optional bytes ephemeral = 1;
+ optional bytes static = 2;
+ optional bytes payload = 3;
}
-message Reaction {
- optional MessageKey key = 1;
- optional string text = 2;
- optional string groupingKey = 3;
- optional int64 senderTimestampMs = 4;
- optional bool unread = 5;
+message ClientFinish {
+ optional bytes static = 1;
+ optional bytes payload = 2;
}
-message UserReceipt {
- required string userJid = 1;
- optional int64 receiptTimestamp = 2;
- optional int64 readTimestamp = 3;
- optional int64 playedTimestamp = 4;
- repeated string pendingDeviceJid = 5;
- repeated string deliveredDeviceJid = 6;
+message ClientPayload {
+ optional uint64 username = 1;
+ optional bool passive = 3;
+ optional UserAgent userAgent = 5;
+ optional WebInfo webInfo = 6;
+ optional string pushName = 7;
+ optional sfixed32 sessionId = 9;
+ optional bool shortConnect = 10;
+ enum ClientPayloadConnectType {
+ CELLULAR_UNKNOWN = 0;
+ WIFI_UNKNOWN = 1;
+ CELLULAR_EDGE = 100;
+ CELLULAR_IDEN = 101;
+ CELLULAR_UMTS = 102;
+ CELLULAR_EVDO = 103;
+ CELLULAR_GPRS = 104;
+ CELLULAR_HSDPA = 105;
+ CELLULAR_HSUPA = 106;
+ CELLULAR_HSPA = 107;
+ CELLULAR_CDMA = 108;
+ CELLULAR_1XRTT = 109;
+ CELLULAR_EHRPD = 110;
+ CELLULAR_LTE = 111;
+ CELLULAR_HSPAP = 112;
+ }
+ optional ClientPayloadConnectType connectType = 12;
+ enum ClientPayloadConnectReason {
+ PUSH = 0;
+ USER_ACTIVATED = 1;
+ SCHEDULED = 2;
+ ERROR_RECONNECT = 3;
+ NETWORK_SWITCH = 4;
+ PING_RECONNECT = 5;
+ }
+ optional ClientPayloadConnectReason connectReason = 13;
+ repeated int32 shards = 14;
+ optional DNSSource dnsSource = 15;
+ optional uint32 connectAttemptCount = 16;
+ optional uint32 device = 18;
+ optional CompanionRegData regData = 19;
+ enum ClientPayloadProduct {
+ WHATSAPP = 0;
+ MESSENGER = 1;
+ }
+ optional ClientPayloadProduct product = 20;
+ optional bytes fbCat = 21;
+ optional bytes fbUserAgent = 22;
+ optional bool oc = 23;
+ optional int32 lc = 24;
+ enum ClientPayloadIOSAppExtension {
+ SHARE_EXTENSION = 0;
+ SERVICE_EXTENSION = 1;
+ INTENTS_EXTENSION = 2;
+ }
+ optional ClientPayloadIOSAppExtension iosAppExtension = 30;
+ optional uint64 fbAppId = 31;
+ optional bytes fbDeviceId = 32;
+ optional bool pull = 33;
}
-message StatusPSA {
- required string campaignId = 44;
- optional uint64 campaignExpirationTimestamp = 45;
+message WebInfo {
+ optional string refToken = 1;
+ optional string version = 2;
+ optional WebdPayload webdPayload = 3;
+ enum WebInfoWebSubPlatform {
+ WEB_BROWSER = 0;
+ APP_STORE = 1;
+ WIN_STORE = 2;
+ DARWIN = 3;
+ WIN32 = 4;
+ }
+ optional WebInfoWebSubPlatform webSubPlatform = 4;
}
-message PhotoChange {
- optional bytes oldPhoto = 1;
- optional bytes newPhoto = 2;
- optional uint32 newPhotoId = 3;
+message WebdPayload {
+ optional bool usesParticipantInKey = 1;
+ optional bool supportsStarredMessages = 2;
+ optional bool supportsDocumentMessages = 3;
+ optional bool supportsUrlMessages = 4;
+ optional bool supportsMediaRetry = 5;
+ optional bool supportsE2EImage = 6;
+ optional bool supportsE2EVideo = 7;
+ optional bool supportsE2EAudio = 8;
+ optional bool supportsE2EDocument = 9;
+ optional string documentTypes = 10;
+ optional bytes features = 11;
}
-message MediaData {
- optional string localPath = 1;
+message UserAgent {
+ enum UserAgentPlatform {
+ ANDROID = 0;
+ IOS = 1;
+ WINDOWS_PHONE = 2;
+ BLACKBERRY = 3;
+ BLACKBERRYX = 4;
+ S40 = 5;
+ S60 = 6;
+ PYTHON_CLIENT = 7;
+ TIZEN = 8;
+ ENTERPRISE = 9;
+ SMB_ANDROID = 10;
+ KAIOS = 11;
+ SMB_IOS = 12;
+ WINDOWS = 13;
+ WEB = 14;
+ PORTAL = 15;
+ GREEN_ANDROID = 16;
+ GREEN_IPHONE = 17;
+ BLUE_ANDROID = 18;
+ BLUE_IPHONE = 19;
+ FBLITE_ANDROID = 20;
+ MLITE_ANDROID = 21;
+ IGLITE_ANDROID = 22;
+ PAGE = 23;
+ MACOS = 24;
+ OCULUS_MSG = 25;
+ OCULUS_CALL = 26;
+ MILAN = 27;
+ CAPI = 28;
+ }
+ optional UserAgentPlatform platform = 1;
+ optional AppVersion appVersion = 2;
+ optional string mcc = 3;
+ optional string mnc = 4;
+ optional string osVersion = 5;
+ optional string manufacturer = 6;
+ optional string device = 7;
+ optional string osBuildNumber = 8;
+ optional string phoneId = 9;
+ enum UserAgentReleaseChannel {
+ RELEASE = 0;
+ BETA = 1;
+ ALPHA = 2;
+ DEBUG = 3;
+ }
+ optional UserAgentReleaseChannel releaseChannel = 10;
+ optional string localeLanguageIso6391 = 11;
+ optional string localeCountryIso31661Alpha2 = 12;
+ optional string deviceBoard = 13;
}
-message WebFeatures {
- enum WebFeaturesFlag {
- NOT_STARTED = 0;
- FORCE_UPGRADE = 1;
- DEVELOPMENT = 2;
- PRODUCTION = 3;
+// Duplicate type omitted
+//message AppVersion {
+// optional uint32 primary = 1;
+// optional uint32 secondary = 2;
+// optional uint32 tertiary = 3;
+// optional uint32 quaternary = 4;
+// optional uint32 quinary = 5;
+//}
+
+message DNSSource {
+ enum DNSSourceDNSResolutionMethod {
+ SYSTEM = 0;
+ GOOGLE = 1;
+ HARDCODED = 2;
+ OVERRIDE = 3;
+ FALLBACK = 4;
}
- optional WebFeaturesFlag labelsDisplay = 1;
- optional WebFeaturesFlag voipIndividualOutgoing = 2;
- optional WebFeaturesFlag groupsV3 = 3;
- optional WebFeaturesFlag groupsV3Create = 4;
- optional WebFeaturesFlag changeNumberV2 = 5;
- optional WebFeaturesFlag queryStatusV3Thumbnail = 6;
- optional WebFeaturesFlag liveLocations = 7;
- optional WebFeaturesFlag queryVname = 8;
- optional WebFeaturesFlag voipIndividualIncoming = 9;
- optional WebFeaturesFlag quickRepliesQuery = 10;
- optional WebFeaturesFlag payments = 11;
- optional WebFeaturesFlag stickerPackQuery = 12;
- optional WebFeaturesFlag liveLocationsFinal = 13;
- optional WebFeaturesFlag labelsEdit = 14;
- optional WebFeaturesFlag mediaUpload = 15;
- optional WebFeaturesFlag mediaUploadRichQuickReplies = 18;
- optional WebFeaturesFlag vnameV2 = 19;
- optional WebFeaturesFlag videoPlaybackUrl = 20;
- optional WebFeaturesFlag statusRanking = 21;
- optional WebFeaturesFlag voipIndividualVideo = 22;
- optional WebFeaturesFlag thirdPartyStickers = 23;
- optional WebFeaturesFlag frequentlyForwardedSetting = 24;
- optional WebFeaturesFlag groupsV4JoinPermission = 25;
- optional WebFeaturesFlag recentStickers = 26;
- optional WebFeaturesFlag catalog = 27;
- optional WebFeaturesFlag starredStickers = 28;
- optional WebFeaturesFlag voipGroupCall = 29;
- optional WebFeaturesFlag templateMessage = 30;
- optional WebFeaturesFlag templateMessageInteractivity = 31;
- optional WebFeaturesFlag ephemeralMessages = 32;
- optional WebFeaturesFlag e2ENotificationSync = 33;
- optional WebFeaturesFlag recentStickersV2 = 34;
- optional WebFeaturesFlag recentStickersV3 = 36;
- optional WebFeaturesFlag userNotice = 37;
- optional WebFeaturesFlag support = 39;
- optional WebFeaturesFlag groupUiiCleanup = 40;
- optional WebFeaturesFlag groupDogfoodingInternalOnly = 41;
- optional WebFeaturesFlag settingsSync = 42;
- optional WebFeaturesFlag archiveV2 = 43;
- optional WebFeaturesFlag ephemeralAllowGroupMembers = 44;
- optional WebFeaturesFlag ephemeral24HDuration = 45;
- optional WebFeaturesFlag mdForceUpgrade = 46;
- optional WebFeaturesFlag disappearingMode = 47;
- optional WebFeaturesFlag externalMdOptInAvailable = 48;
- optional WebFeaturesFlag noDeleteMessageTimeLimit = 49;
+ optional DNSSourceDNSResolutionMethod dnsMethod = 15;
+ optional bool appCached = 16;
}
-message NotificationMessageInfo {
- optional MessageKey key = 1;
- optional Message message = 2;
- optional uint64 messageTimestamp = 3;
- optional string participant = 4;
+message CompanionRegData {
+ optional bytes eRegid = 1;
+ optional bytes eKeytype = 2;
+ optional bytes eIdent = 3;
+ optional bytes eSkeyId = 4;
+ optional bytes eSkeyVal = 5;
+ optional bytes eSkeySig = 6;
+ optional bytes buildHash = 7;
+ optional bytes companionProps = 8;
}
message WebNotificationsInfo {
@@ -1756,71 +1738,6 @@ message WebNotificationsInfo {
repeated WebMessageInfo notifyMessages = 5;
}
-message PaymentInfo {
- enum PaymentInfoCurrency {
- UNKNOWN_CURRENCY = 0;
- INR = 1;
- }
- optional PaymentInfoCurrency currencyDeprecated = 1;
- optional uint64 amount1000 = 2;
- optional string receiverJid = 3;
- enum PaymentInfoStatus {
- UNKNOWN_STATUS = 0;
- PROCESSING = 1;
- SENT = 2;
- NEED_TO_ACCEPT = 3;
- COMPLETE = 4;
- COULD_NOT_COMPLETE = 5;
- REFUNDED = 6;
- EXPIRED = 7;
- REJECTED = 8;
- CANCELLED = 9;
- WAITING_FOR_PAYER = 10;
- WAITING = 11;
- }
- optional PaymentInfoStatus status = 4;
- optional uint64 transactionTimestamp = 5;
- optional MessageKey requestMessageKey = 6;
- optional uint64 expiryTimestamp = 7;
- optional bool futureproofed = 8;
- optional string currency = 9;
- enum PaymentInfoTxnStatus {
- UNKNOWN = 0;
- PENDING_SETUP = 1;
- PENDING_RECEIVER_SETUP = 2;
- INIT = 3;
- SUCCESS = 4;
- COMPLETED = 5;
- FAILED = 6;
- FAILED_RISK = 7;
- FAILED_PROCESSING = 8;
- FAILED_RECEIVER_PROCESSING = 9;
- FAILED_DA = 10;
- FAILED_DA_FINAL = 11;
- REFUNDED_TXN = 12;
- REFUND_FAILED = 13;
- REFUND_FAILED_PROCESSING = 14;
- REFUND_FAILED_DA = 15;
- EXPIRED_TXN = 16;
- AUTH_CANCELED = 17;
- AUTH_CANCEL_FAILED_PROCESSING = 18;
- AUTH_CANCEL_FAILED = 19;
- COLLECT_INIT = 20;
- COLLECT_SUCCESS = 21;
- COLLECT_FAILED = 22;
- COLLECT_FAILED_RISK = 23;
- COLLECT_REJECTED = 24;
- COLLECT_EXPIRED = 25;
- COLLECT_CANCELED = 26;
- COLLECT_CANCELLING = 27;
- IN_REVIEW = 28;
- }
- optional PaymentInfoTxnStatus txnStatus = 10;
- optional bool useNoviFiatFormat = 11;
- optional Money primaryAmount = 12;
- optional Money exchangeAmount = 13;
-}
-
message WebMessageInfo {
required MessageKey key = 1;
optional Message message = 2;
@@ -1979,6 +1896,9 @@ message WebMessageInfo {
E2E_DEVICE_FETCH_FAILED = 131;
ADMIN_REVOKE = 132;
GROUP_INVITE_LINK_GROWTH_LOCKED = 133;
+ COMMUNITY_LINK_PARENT_GROUP = 134;
+ COMMUNITY_LINK_SIBLING_GROUP = 135;
+ COMMUNITY_LINK_SUB_GROUP = 136;
}
optional WebMessageInfoStubType messageStubType = 24;
optional bool clearMedia = 25;
@@ -2007,5 +1927,174 @@ message WebMessageInfo {
optional MediaData quotedStickerData = 42;
optional bytes futureproofData = 43;
optional StatusPSA statusPsa = 44;
+ repeated PollUpdate pollUpdates = 45;
+ optional PollAdditionalMetadata pollAdditionalMetadata = 46;
+}
+
+message WebFeatures {
+ enum WebFeaturesFlag {
+ NOT_STARTED = 0;
+ FORCE_UPGRADE = 1;
+ DEVELOPMENT = 2;
+ PRODUCTION = 3;
+ }
+ optional WebFeaturesFlag labelsDisplay = 1;
+ optional WebFeaturesFlag voipIndividualOutgoing = 2;
+ optional WebFeaturesFlag groupsV3 = 3;
+ optional WebFeaturesFlag groupsV3Create = 4;
+ optional WebFeaturesFlag changeNumberV2 = 5;
+ optional WebFeaturesFlag queryStatusV3Thumbnail = 6;
+ optional WebFeaturesFlag liveLocations = 7;
+ optional WebFeaturesFlag queryVname = 8;
+ optional WebFeaturesFlag voipIndividualIncoming = 9;
+ optional WebFeaturesFlag quickRepliesQuery = 10;
+ optional WebFeaturesFlag payments = 11;
+ optional WebFeaturesFlag stickerPackQuery = 12;
+ optional WebFeaturesFlag liveLocationsFinal = 13;
+ optional WebFeaturesFlag labelsEdit = 14;
+ optional WebFeaturesFlag mediaUpload = 15;
+ optional WebFeaturesFlag mediaUploadRichQuickReplies = 18;
+ optional WebFeaturesFlag vnameV2 = 19;
+ optional WebFeaturesFlag videoPlaybackUrl = 20;
+ optional WebFeaturesFlag statusRanking = 21;
+ optional WebFeaturesFlag voipIndividualVideo = 22;
+ optional WebFeaturesFlag thirdPartyStickers = 23;
+ optional WebFeaturesFlag frequentlyForwardedSetting = 24;
+ optional WebFeaturesFlag groupsV4JoinPermission = 25;
+ optional WebFeaturesFlag recentStickers = 26;
+ optional WebFeaturesFlag catalog = 27;
+ optional WebFeaturesFlag starredStickers = 28;
+ optional WebFeaturesFlag voipGroupCall = 29;
+ optional WebFeaturesFlag templateMessage = 30;
+ optional WebFeaturesFlag templateMessageInteractivity = 31;
+ optional WebFeaturesFlag ephemeralMessages = 32;
+ optional WebFeaturesFlag e2ENotificationSync = 33;
+ optional WebFeaturesFlag recentStickersV2 = 34;
+ optional WebFeaturesFlag recentStickersV3 = 36;
+ optional WebFeaturesFlag userNotice = 37;
+ optional WebFeaturesFlag support = 39;
+ optional WebFeaturesFlag groupUiiCleanup = 40;
+ optional WebFeaturesFlag groupDogfoodingInternalOnly = 41;
+ optional WebFeaturesFlag settingsSync = 42;
+ optional WebFeaturesFlag archiveV2 = 43;
+ optional WebFeaturesFlag ephemeralAllowGroupMembers = 44;
+ optional WebFeaturesFlag ephemeral24HDuration = 45;
+ optional WebFeaturesFlag mdForceUpgrade = 46;
+ optional WebFeaturesFlag disappearingMode = 47;
+ optional WebFeaturesFlag externalMdOptInAvailable = 48;
+ optional WebFeaturesFlag noDeleteMessageTimeLimit = 49;
+}
+
+message UserReceipt {
+ required string userJid = 1;
+ optional int64 receiptTimestamp = 2;
+ optional int64 readTimestamp = 3;
+ optional int64 playedTimestamp = 4;
+ repeated string pendingDeviceJid = 5;
+ repeated string deliveredDeviceJid = 6;
+}
+
+message StatusPSA {
+ required string campaignId = 44;
+ optional uint64 campaignExpirationTimestamp = 45;
+}
+
+message Reaction {
+ optional MessageKey key = 1;
+ optional string text = 2;
+ optional string groupingKey = 3;
+ optional int64 senderTimestampMs = 4;
+ optional bool unread = 5;
+}
+
+message PollUpdate {
+ optional MessageKey pollUpdateMessageKey = 1;
+ optional PollUpdateMessageContent pollUpdateMessage = 2;
+}
+
+message PollAdditionalMetadata {
+ optional bool pollInvalidated = 1;
+}
+
+message PhotoChange {
+ optional bytes oldPhoto = 1;
+ optional bytes newPhoto = 2;
+ optional uint32 newPhotoId = 3;
+}
+
+message PaymentInfo {
+ enum PaymentInfoCurrency {
+ UNKNOWN_CURRENCY = 0;
+ INR = 1;
+ }
+ optional PaymentInfoCurrency currencyDeprecated = 1;
+ optional uint64 amount1000 = 2;
+ optional string receiverJid = 3;
+ enum PaymentInfoStatus {
+ UNKNOWN_STATUS = 0;
+ PROCESSING = 1;
+ SENT = 2;
+ NEED_TO_ACCEPT = 3;
+ COMPLETE = 4;
+ COULD_NOT_COMPLETE = 5;
+ REFUNDED = 6;
+ EXPIRED = 7;
+ REJECTED = 8;
+ CANCELLED = 9;
+ WAITING_FOR_PAYER = 10;
+ WAITING = 11;
+ }
+ optional PaymentInfoStatus status = 4;
+ optional uint64 transactionTimestamp = 5;
+ optional MessageKey requestMessageKey = 6;
+ optional uint64 expiryTimestamp = 7;
+ optional bool futureproofed = 8;
+ optional string currency = 9;
+ enum PaymentInfoTxnStatus {
+ UNKNOWN = 0;
+ PENDING_SETUP = 1;
+ PENDING_RECEIVER_SETUP = 2;
+ INIT = 3;
+ SUCCESS = 4;
+ COMPLETED = 5;
+ FAILED = 6;
+ FAILED_RISK = 7;
+ FAILED_PROCESSING = 8;
+ FAILED_RECEIVER_PROCESSING = 9;
+ FAILED_DA = 10;
+ FAILED_DA_FINAL = 11;
+ REFUNDED_TXN = 12;
+ REFUND_FAILED = 13;
+ REFUND_FAILED_PROCESSING = 14;
+ REFUND_FAILED_DA = 15;
+ EXPIRED_TXN = 16;
+ AUTH_CANCELED = 17;
+ AUTH_CANCEL_FAILED_PROCESSING = 18;
+ AUTH_CANCEL_FAILED = 19;
+ COLLECT_INIT = 20;
+ COLLECT_SUCCESS = 21;
+ COLLECT_FAILED = 22;
+ COLLECT_FAILED_RISK = 23;
+ COLLECT_REJECTED = 24;
+ COLLECT_EXPIRED = 25;
+ COLLECT_CANCELED = 26;
+ COLLECT_CANCELLING = 27;
+ IN_REVIEW = 28;
+ }
+ optional PaymentInfoTxnStatus txnStatus = 10;
+ optional bool useNoviFiatFormat = 11;
+ optional Money primaryAmount = 12;
+ optional Money exchangeAmount = 13;
+}
+
+message NotificationMessageInfo {
+ optional MessageKey key = 1;
+ optional Message message = 2;
+ optional uint64 messageTimestamp = 3;
+ optional string participant = 4;
+}
+
+message MediaData {
+ optional string localPath = 1;
}