summaryrefslogtreecommitdiffstats
path: root/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
diff options
context:
space:
mode:
authorWim <wim@42.be>2022-08-13 16:14:26 +0200
committerGitHub <noreply@github.com>2022-08-13 16:14:26 +0200
commit6a3fc713978a0c1c9290a4afd08b47886b49b635 (patch)
treeaa62cd85cf5671646c75ee38b3fc140ef7edcea8 /vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
parent3c4192ebf6a32e30cdd23a9644c2ceca72a006fa (diff)
downloadmatterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.tar.gz
matterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.tar.bz2
matterbridge-msglm-6a3fc713978a0c1c9290a4afd08b47886b49b635.zip
Update dependencies and go1.18 (#1873)
* Update dependencies and go1.18 * Exclude unnecessary linters and update build to go1.18
Diffstat (limited to 'vendor/go.mau.fi/whatsmeow/binary/proto/def.proto')
-rw-r--r--vendor/go.mau.fi/whatsmeow/binary/proto/def.proto1541
1 files changed, 806 insertions, 735 deletions
diff --git a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
index 33f27d42..b44a7e4a 100644
--- a/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
+++ b/vendor/go.mau.fi/whatsmeow/binary/proto/def.proto
@@ -32,9 +32,7 @@ message ADVDeviceIdentity {
}
message DeviceProps {
- optional string os = 1;
- optional AppVersion version = 2;
- enum DevicePropsPlatformType {
+ enum PlatformType {
UNKNOWN = 0;
CHROME = 1;
FIREFOX = 2;
@@ -50,47 +48,29 @@ message DeviceProps {
CATALINA = 12;
TCL_TV = 13;
}
- optional DevicePropsPlatformType platformType = 3;
+ message AppVersion {
+ optional uint32 primary = 1;
+ optional uint32 secondary = 2;
+ optional uint32 tertiary = 3;
+ optional uint32 quaternary = 4;
+ optional uint32 quinary = 5;
+ }
+
+ optional string os = 1;
+ optional AppVersion version = 2;
+ optional PlatformType platformType = 3;
optional bool requireFullSync = 4;
}
-message AppVersion {
- optional uint32 primary = 1;
- optional uint32 secondary = 2;
- optional uint32 tertiary = 3;
- optional uint32 quaternary = 4;
- optional uint32 quinary = 5;
-}
-
-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 CatalogSnapshot {
- optional ImageMessage catalogImage = 1;
- optional string title = 2;
- optional string description = 3;
-}
-
message PollVoteMessage {
repeated bytes selectedOptions = 1;
- optional int64 senderTimestampMs = 2;
}
message PollUpdateMessage {
optional MessageKey pollCreationMessageKey = 1;
optional PollEncValue vote = 2;
optional PollUpdateMessageMetadata metadata = 3;
+ optional int64 senderTimestampMs = 4;
}
message PollUpdateMessageMetadata {
@@ -102,6 +82,10 @@ message PollEncValue {
}
message PollCreationMessage {
+ message Option {
+ optional string optionName = 1;
+ }
+
optional bytes encKey = 1;
optional string name = 2;
repeated Option options = 3;
@@ -109,33 +93,29 @@ message PollCreationMessage {
optional ContextInfo contextInfo = 5;
}
-message Option {
- optional string optionName = 1;
-}
-
message PaymentInviteMessage {
- enum PaymentInviteMessageServiceType {
+ enum ServiceType {
UNKNOWN = 0;
FBPAY = 1;
NOVI = 2;
UPI = 3;
}
- optional PaymentInviteMessageServiceType serviceType = 1;
+ optional ServiceType serviceType = 1;
optional int64 expiryTimestamp = 2;
}
message OrderMessage {
+ enum OrderSurface {
+ CATALOG = 1;
+ }
+ enum OrderStatus {
+ INQUIRY = 1;
+ }
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 OrderStatus status = 4;
+ optional OrderSurface surface = 5;
optional string message = 6;
optional string orderTitle = 7;
optional string sellerJid = 8;
@@ -174,68 +154,68 @@ message LiveLocationMessage {
}
message ListResponseMessage {
- optional string title = 1;
- enum ListResponseMessageListType {
+ message SingleSelectReply {
+ optional string selectedRowId = 1;
+ }
+
+ enum ListType {
UNKNOWN = 0;
SINGLE_SELECT = 1;
}
- optional ListResponseMessageListType listType = 2;
+ optional string title = 1;
+ optional ListType listType = 2;
optional SingleSelectReply singleSelectReply = 3;
optional ContextInfo contextInfo = 4;
optional string description = 5;
}
-message SingleSelectReply {
- optional string selectedRowId = 1;
-}
-
message ListMessage {
- optional string title = 1;
- optional string description = 2;
- optional string buttonText = 3;
- enum ListMessageListType {
+ message Section {
+ optional string title = 1;
+ repeated Row rows = 2;
+ }
+
+ message Row {
+ optional string title = 1;
+ optional string description = 2;
+ optional string rowId = 3;
+ }
+
+ message Product {
+ optional string productId = 1;
+ }
+
+ message ProductSection {
+ optional string title = 1;
+ repeated Product products = 2;
+ }
+
+ message ProductListInfo {
+ repeated ProductSection productSections = 1;
+ optional ProductListHeaderImage headerImage = 2;
+ optional string businessOwnerJid = 3;
+ }
+
+ message ProductListHeaderImage {
+ optional string productId = 1;
+ optional bytes jpegThumbnail = 2;
+ }
+
+ enum ListType {
UNKNOWN = 0;
SINGLE_SELECT = 1;
PRODUCT_LIST = 2;
}
- optional ListMessageListType listType = 4;
+ optional string title = 1;
+ optional string description = 2;
+ optional string buttonText = 3;
+ optional ListType listType = 4;
repeated Section sections = 5;
optional ProductListInfo productListInfo = 6;
optional string footerText = 7;
optional ContextInfo contextInfo = 8;
}
-message Section {
- optional string title = 1;
- repeated Row rows = 2;
-}
-
-message Row {
- optional string title = 1;
- optional string description = 2;
- optional string rowId = 3;
-}
-
-message Product {
- optional string productId = 1;
-}
-
-message ProductSection {
- optional string title = 1;
- repeated Product products = 2;
-}
-
-message ProductListInfo {
- repeated ProductSection productSections = 1;
- optional ProductListHeaderImage headerImage = 2;
- optional string businessOwnerJid = 3;
-}
-
-message ProductListHeaderImage {
- optional string productId = 1;
- optional bytes jpegThumbnail = 2;
-}
-
message KeepInChatMessage {
optional MessageKey key = 1;
optional KeepType keepType = 2;
@@ -243,13 +223,13 @@ message KeepInChatMessage {
}
message InvoiceMessage {
- optional string note = 1;
- optional string token = 2;
- enum InvoiceMessageAttachmentType {
+ enum AttachmentType {
IMAGE = 0;
PDF = 1;
}
- optional InvoiceMessageAttachmentType attachmentType = 3;
+ optional string note = 1;
+ optional string token = 2;
+ optional AttachmentType attachmentType = 3;
optional string attachmentMimetype = 4;
optional bytes attachmentMediaKey = 5;
optional int64 attachmentMediaKeyTimestamp = 6;
@@ -260,27 +240,75 @@ message InvoiceMessage {
}
message InteractiveResponseMessage {
- optional InteractiveResponseMessageBody body = 1;
+ message NativeFlowResponseMessage {
+ optional string name = 1;
+ optional string paramsJson = 2;
+ optional int32 version = 3;
+ }
+
+ message Body {
+ optional string text = 1;
+ }
+
+ optional Body body = 1;
optional ContextInfo contextInfo = 15;
oneof interactiveResponseMessage {
NativeFlowResponseMessage nativeFlowResponseMessage = 2;
}
}
-message NativeFlowResponseMessage {
- optional string name = 1;
- optional string paramsJson = 2;
- optional int32 version = 3;
-}
-
-// Renamed from Message$InteractiveResponseMessage$Body
-message InteractiveResponseMessageBody {
- optional string text = 1;
-}
-
message InteractiveMessage {
+ message ShopMessage {
+ enum Surface {
+ UNKNOWN_SURFACE = 0;
+ FB = 1;
+ IG = 2;
+ WA = 3;
+ }
+ optional string id = 1;
+ optional Surface surface = 2;
+ optional int32 messageVersion = 3;
+ }
+
+ message NativeFlowMessage {
+ message NativeFlowButton {
+ optional string name = 1;
+ optional string buttonParamsJson = 2;
+ }
+
+ repeated NativeFlowButton buttons = 1;
+ optional string messageParamsJson = 2;
+ optional int32 messageVersion = 3;
+ }
+
+ 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 Footer {
+ optional string text = 1;
+ }
+
+ message CollectionMessage {
+ optional string bizJid = 1;
+ optional string id = 2;
+ optional int32 messageVersion = 3;
+ }
+
+ message Body {
+ optional string text = 1;
+ }
+
optional Header header = 1;
- optional InteractiveMessageBody body = 2;
+ optional Body body = 2;
optional Footer footer = 3;
optional ContextInfo contextInfo = 15;
oneof interactiveMessage {
@@ -290,56 +318,6 @@ message InteractiveMessage {
}
}
-message ShopMessage {
- optional string id = 1;
- enum ShopMessageSurface {
- UNKNOWN_SURFACE = 0;
- FB = 1;
- IG = 2;
- WA = 3;
- }
- optional ShopMessageSurface surface = 2;
- optional int32 messageVersion = 3;
-}
-
-message NativeFlowMessage {
- repeated NativeFlowButton buttons = 1;
- optional string messageParamsJson = 2;
- optional int32 messageVersion = 3;
-}
-
-message NativeFlowButton {
- optional string name = 1;
- optional string buttonParamsJson = 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 Footer {
- optional string text = 1;
-}
-
-message CollectionMessage {
- optional string bizJid = 1;
- optional string id = 2;
- optional int32 messageVersion = 3;
-}
-
-// Renamed from Message$InteractiveMessage$Body
-message InteractiveMessageBody {
- optional string text = 1;
-}
-
message InitialSecurityNotificationSettingSync {
optional bool securityNotificationEnabled = 1;
}
@@ -374,24 +352,72 @@ message ImageMessage {
}
message HistorySyncNotification {
- optional bytes fileSha256 = 1;
- optional uint64 fileLength = 2;
- optional bytes mediaKey = 3;
- optional bytes fileEncSha256 = 4;
- optional string directPath = 5;
- enum HistorySyncNotificationHistorySyncType {
+ enum HistorySyncType {
INITIAL_BOOTSTRAP = 0;
INITIAL_STATUS_V3 = 1;
FULL = 2;
RECENT = 3;
PUSH_NAME = 4;
}
- optional HistorySyncNotificationHistorySyncType syncType = 6;
+ optional bytes fileSha256 = 1;
+ optional uint64 fileLength = 2;
+ optional bytes mediaKey = 3;
+ optional bytes fileEncSha256 = 4;
+ optional string directPath = 5;
+ optional HistorySyncType syncType = 6;
optional uint32 chunkOrder = 7;
optional string originalMessageId = 8;
+ optional uint32 progress = 9;
}
message HighlyStructuredMessage {
+ message HSMLocalizableParameter {
+ message HSMDateTime {
+ message HSMDateTimeUnixEpoch {
+ optional int64 timestamp = 1;
+ }
+
+ message HSMDateTimeComponent {
+ enum DayOfWeekType {
+ MONDAY = 1;
+ TUESDAY = 2;
+ WEDNESDAY = 3;
+ THURSDAY = 4;
+ FRIDAY = 5;
+ SATURDAY = 6;
+ SUNDAY = 7;
+ }
+ enum CalendarType {
+ GREGORIAN = 1;
+ SOLAR_HIJRI = 2;
+ }
+ optional DayOfWeekType dayOfWeek = 1;
+ optional uint32 year = 2;
+ optional uint32 month = 3;
+ optional uint32 dayOfMonth = 4;
+ optional uint32 hour = 5;
+ optional uint32 minute = 6;
+ optional CalendarType calendar = 7;
+ }
+
+ oneof datetimeOneof {
+ HSMDateTimeComponent component = 1;
+ HSMDateTimeUnixEpoch unixEpoch = 2;
+ }
+ }
+
+ message HSMCurrency {
+ optional string currencyCode = 1;
+ optional int64 amount1000 = 2;
+ }
+
+ optional string default = 1;
+ oneof paramOneof {
+ HSMCurrency currency = 2;
+ HSMDateTime dateTime = 3;
+ }
+ }
+
optional string namespace = 1;
optional string elementName = 2;
repeated string params = 3;
@@ -403,54 +429,11 @@ message HighlyStructuredMessage {
optional TemplateMessage hydratedHsm = 9;
}
-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 {
+ enum GroupType {
+ DEFAULT = 0;
+ PARENT = 1;
+ }
optional string groupJid = 1;
optional string inviteCode = 2;
optional int64 inviteExpiration = 3;
@@ -458,11 +441,7 @@ message GroupInviteMessage {
optional bytes jpegThumbnail = 5;
optional string caption = 6;
optional ContextInfo contextInfo = 7;
- enum GroupInviteMessageGroupType {
- DEFAULT = 0;
- PARENT = 1;
- }
- optional GroupInviteMessageGroupType groupType = 8;
+ optional GroupType groupType = 8;
}
message FutureProofMessage {
@@ -470,14 +449,17 @@ message FutureProofMessage {
}
message ExtendedTextMessage {
- optional string text = 1;
- optional string matchedText = 2;
- optional string canonicalUrl = 4;
- optional string description = 5;
- optional string title = 6;
- optional fixed32 textArgb = 7;
- optional fixed32 backgroundArgb = 8;
- enum ExtendedTextMessageFontType {
+ enum PreviewType {
+ NONE = 0;
+ VIDEO = 1;
+ }
+ enum InviteLinkGroupType {
+ DEFAULT = 0;
+ PARENT = 1;
+ SUB = 2;
+ DEFAULT_SUB = 3;
+ }
+ enum FontType {
SANS_SERIF = 0;
SERIF = 1;
NORICAN_REGULAR = 2;
@@ -485,12 +467,15 @@ message ExtendedTextMessage {
BEBASNEUE_REGULAR = 4;
OSWALD_HEAVY = 5;
}
- optional ExtendedTextMessageFontType font = 9;
- enum ExtendedTextMessagePreviewType {
- NONE = 0;
- VIDEO = 1;
- }
- optional ExtendedTextMessagePreviewType previewType = 10;
+ optional string text = 1;
+ optional string matchedText = 2;
+ optional string canonicalUrl = 4;
+ optional string description = 5;
+ optional string title = 6;
+ optional fixed32 textArgb = 7;
+ optional fixed32 backgroundArgb = 8;
+ optional FontType font = 9;
+ optional PreviewType previewType = 10;
optional bytes jpegThumbnail = 16;
optional ContextInfo contextInfo = 17;
optional bool doNotPlayInline = 18;
@@ -501,14 +486,10 @@ message ExtendedTextMessage {
optional int64 mediaKeyTimestamp = 23;
optional uint32 thumbnailHeight = 24;
optional uint32 thumbnailWidth = 25;
- enum ExtendedTextMessageInviteLinkGroupType {
- DEFAULT = 0;
- PARENT = 1;
- }
- optional ExtendedTextMessageInviteLinkGroupType inviteLinkGroupType = 26;
+ optional InviteLinkGroupType inviteLinkGroupType = 26;
optional string inviteLinkParentGroupSubjectV2 = 27;
optional bytes inviteLinkParentGroupThumbnailV2 = 28;
- optional ExtendedTextMessageInviteLinkGroupType inviteLinkGroupTypeV2 = 29;
+ optional InviteLinkGroupType inviteLinkGroupTypeV2 = 29;
}
message DocumentMessage {
@@ -531,6 +512,7 @@ message DocumentMessage {
optional ContextInfo contextInfo = 17;
optional uint32 thumbnailHeight = 18;
optional uint32 thumbnailWidth = 19;
+ optional string caption = 20;
}
message DeviceSentMessage {
@@ -572,24 +554,20 @@ message Call {
}
message ButtonsResponseMessage {
- optional string selectedButtonId = 1;
- optional ContextInfo contextInfo = 3;
- enum ButtonsResponseMessageType {
+ enum Type {
UNKNOWN = 0;
DISPLAY_TEXT = 1;
}
- optional ButtonsResponseMessageType type = 4;
+ optional string selectedButtonId = 1;
+ optional ContextInfo contextInfo = 3;
+ optional Type type = 4;
oneof response {
string selectedDisplayText = 2;
}
}
message ButtonsMessage {
- optional string contentText = 6;
- optional string footerText = 7;
- optional ContextInfo contextInfo = 8;
- repeated Button buttons = 9;
- enum ButtonsMessageHeaderType {
+ enum HeaderType {
UNKNOWN = 0;
EMPTY = 1;
TEXT = 2;
@@ -598,7 +576,32 @@ message ButtonsMessage {
VIDEO = 5;
LOCATION = 6;
}
- optional ButtonsMessageHeaderType headerType = 10;
+ message Button {
+ enum Type {
+ UNKNOWN = 0;
+ RESPONSE = 1;
+ NATIVE_FLOW = 2;
+ }
+ message NativeFlowInfo {
+ optional string name = 1;
+ optional string paramsJson = 2;
+ }
+
+ message ButtonText {
+ optional string displayText = 1;
+ }
+
+ optional string buttonId = 1;
+ optional ButtonText buttonText = 2;
+ optional Type type = 3;
+ optional NativeFlowInfo nativeFlowInfo = 4;
+ }
+
+ optional string contentText = 6;
+ optional string footerText = 7;
+ optional ContextInfo contextInfo = 8;
+ repeated Button buttons = 9;
+ optional HeaderType headerType = 10;
oneof header {
string text = 1;
DocumentMessage documentMessage = 2;
@@ -608,27 +611,6 @@ message ButtonsMessage {
}
}
-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 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;
@@ -698,6 +680,21 @@ message InteractiveAnnotation {
}
message HydratedTemplateButton {
+ message HydratedURLButton {
+ optional string displayText = 1;
+ optional string url = 2;
+ }
+
+ message HydratedQuickReplyButton {
+ optional string displayText = 1;
+ optional string id = 2;
+ }
+
+ message HydratedCallButton {
+ optional string displayText = 1;
+ optional string phoneNumber = 2;
+ }
+
optional uint32 index = 4;
oneof hydratedButton {
HydratedQuickReplyButton quickReplyButton = 1;
@@ -706,28 +703,13 @@ message HydratedTemplateButton {
}
}
-message HydratedURLButton {
- optional string displayText = 1;
- optional string url = 2;
-}
-
-message HydratedQuickReplyButton {
- optional string displayText = 1;
- optional string id = 2;
-}
-
-message HydratedCallButton {
- optional string displayText = 1;
- optional string phoneNumber = 2;
-}
-
message DisappearingMode {
- enum DisappearingModeInitiator {
+ enum Initiator {
CHANGED_IN_CHAT = 0;
INITIATED_BY_ME = 1;
INITIATED_BY_OTHER = 2;
}
- optional DisappearingModeInitiator initiator = 1;
+ optional Initiator initiator = 1;
}
message DeviceListMetadata {
@@ -740,6 +722,38 @@ message DeviceListMetadata {
}
message ContextInfo {
+ message ExternalAdReplyInfo {
+ enum MediaType {
+ NONE = 0;
+ IMAGE = 1;
+ VIDEO = 2;
+ }
+ optional string title = 1;
+ optional string body = 2;
+ optional MediaType 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 AdReplyInfo {
+ enum MediaType {
+ NONE = 0;
+ IMAGE = 1;
+ VIDEO = 2;
+ }
+ optional string advertiserName = 1;
+ optional MediaType mediaType = 2;
+ optional bytes jpegThumbnail = 16;
+ optional string caption = 17;
+ }
+
optional string stanzaId = 1;
optional string participant = 2;
optional Message quotedMessage = 3;
@@ -765,44 +779,27 @@ message ContextInfo {
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 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 ActionLink {
optional string url = 1;
optional string buttonTitle = 2;
}
message TemplateButton {
+ message URLButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional HighlyStructuredMessage url = 2;
+ }
+
+ message QuickReplyButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional string id = 2;
+ }
+
+ message CallButton {
+ optional HighlyStructuredMessage displayText = 1;
+ optional HighlyStructuredMessage phoneNumber = 2;
+ }
+
optional uint32 index = 4;
oneof button {
QuickReplyButton quickReplyButton = 1;
@@ -811,21 +808,6 @@ message TemplateButton {
}
}
-message URLButton {
- optional HighlyStructuredMessage displayText = 1;
- optional HighlyStructuredMessage url = 2;
-}
-
-message QuickReplyButton {
- optional HighlyStructuredMessage displayText = 1;
- optional string id = 2;
-}
-
-message CallButton {
- optional HighlyStructuredMessage displayText = 1;
- optional HighlyStructuredMessage phoneNumber = 2;
-}
-
message Point {
optional int32 xDeprecated = 1;
optional int32 yDeprecated = 2;
@@ -834,6 +816,18 @@ message Point {
}
message PaymentBackground {
+ enum Type {
+ UNKNOWN = 0;
+ DEFAULT = 1;
+ }
+ message MediaData {
+ optional bytes mediaKey = 1;
+ optional int64 mediaKeyTimestamp = 2;
+ optional bytes fileSha256 = 3;
+ optional bytes fileEncSha256 = 4;
+ optional string directPath = 5;
+ }
+
optional string id = 1;
optional uint64 fileLength = 2;
optional uint32 width = 3;
@@ -842,21 +836,8 @@ message PaymentBackground {
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;
-}
-
-// 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;
+ optional MediaData mediaData = 9;
+ optional Type type = 10;
}
message Money {
@@ -909,6 +890,9 @@ message Message {
optional PollCreationMessage pollCreationMessage = 49;
optional PollUpdateMessage pollUpdateMessage = 50;
optional KeepInChatMessage keepInChatMessage = 51;
+ optional FutureProofMessage documentWithCaptionMessage = 53;
+ optional RequestPhoneNumberMessage requestPhoneNumberMessage = 54;
+ optional FutureProofMessage viewOnceMessageV2 = 55;
}
message MessageContextInfo {
@@ -919,6 +903,11 @@ message MessageContextInfo {
}
message VideoMessage {
+ enum Attribution {
+ NONE = 0;
+ GIPHY = 1;
+ TENOR = 2;
+ }
optional string url = 1;
optional string mimetype = 2;
optional bytes fileSha256 = 3;
@@ -936,12 +925,7 @@ message VideoMessage {
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 Attribution gifAttribution = 19;
optional bool viewOnce = 20;
optional string thumbnailDirectPath = 21;
optional bytes thumbnailSha256 = 22;
@@ -950,6 +934,33 @@ message VideoMessage {
}
message TemplateMessage {
+ message HydratedFourRowTemplate {
+ optional string hydratedContentText = 6;
+ optional string hydratedFooterText = 7;
+ repeated HydratedTemplateButton hydratedButtons = 8;
+ optional string templateId = 9;
+ oneof title {
+ DocumentMessage documentMessage = 1;
+ string hydratedTitleText = 2;
+ ImageMessage imageMessage = 3;
+ VideoMessage videoMessage = 4;
+ LocationMessage locationMessage = 5;
+ }
+ }
+
+ 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;
+ }
+ }
+
optional ContextInfo contextInfo = 3;
optional HydratedFourRowTemplate hydratedTemplate = 4;
oneof format {
@@ -958,33 +969,6 @@ message TemplateMessage {
}
}
-message HydratedFourRowTemplate {
- optional string hydratedContentText = 6;
- optional string hydratedFooterText = 7;
- repeated HydratedTemplateButton hydratedButtons = 8;
- optional string templateId = 9;
- oneof title {
- DocumentMessage documentMessage = 1;
- string hydratedTitleText = 2;
- ImageMessage imageMessage = 3;
- VideoMessage videoMessage = 4;
- LocationMessage locationMessage = 5;
- }
-}
-
-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 TemplateButtonReplyMessage {
optional string selectedId = 1;
optional string selectedDisplayText = 2;
@@ -1027,6 +1011,14 @@ message SendPaymentMessage {
optional PaymentBackground background = 4;
}
+enum RmrSource {
+ FAVORITE_STICKER = 0;
+ RECENT_STICKER = 1;
+}
+message RequestPhoneNumberMessage {
+ optional ContextInfo contextInfo = 1;
+}
+
message RequestPaymentMessage {
optional Message noteMessage = 4;
optional string currencyCodeIso4217 = 1;
@@ -1037,6 +1029,23 @@ message RequestPaymentMessage {
optional PaymentBackground background = 7;
}
+message RequestMediaUploadResponseMessage {
+ message RequestMediaUploadResult {
+ optional string fileSha256 = 1;
+ optional MediaRetryNotification.ResultType mediaUploadResult = 2;
+ optional StickerMessage stickerMessage = 3;
+ }
+
+ optional RmrSource rmrSource = 1;
+ optional string stanzaId = 2;
+ repeated RequestMediaUploadResult reuploadResult = 3;
+}
+
+message RequestMediaUploadMessage {
+ repeated string fileSha256 = 1;
+ optional RmrSource rmrSource = 2;
+}
+
message ReactionMessage {
optional MessageKey key = 1;
optional string text = 2;
@@ -1045,8 +1054,7 @@ message ReactionMessage {
}
message ProtocolMessage {
- optional MessageKey key = 1;
- enum ProtocolMessageType {
+ enum Type {
REVOKE = 0;
EPHEMERAL_SETTING = 3;
EPHEMERAL_SYNC_RESPONSE = 4;
@@ -1056,8 +1064,12 @@ message ProtocolMessage {
MSG_FANOUT_BACKFILL_REQUEST = 8;
INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9;
APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10;
+ SHARE_PHONE_NUMBER = 11;
+ REQUEST_MEDIA_UPLOAD_MESSAGE = 12;
+ REQUEST_MEDIA_UPLOAD_RESPONSE_MESSAGE = 13;
}
- optional ProtocolMessageType type = 2;
+ optional MessageKey key = 1;
+ optional Type type = 2;
optional uint32 ephemeralExpiration = 4;
optional int64 ephemeralSettingTimestamp = 5;
optional HistorySyncNotification historySyncNotification = 6;
@@ -1066,9 +1078,31 @@ message ProtocolMessage {
optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9;
optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10;
optional DisappearingMode disappearingMode = 11;
+ optional RequestMediaUploadMessage requestMediaUploadMessage = 12;
+ optional RequestMediaUploadResponseMessage requestMediaUploadResponseMessage = 13;
}
message ProductMessage {
+ 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 CatalogSnapshot {
+ optional ImageMessage catalogImage = 1;
+ optional string title = 2;
+ optional string description = 3;
+ }
+
optional ProductSnapshot product = 1;
optional string businessOwnerJid = 2;
optional CatalogSnapshot catalog = 4;
@@ -1087,25 +1121,54 @@ message WallpaperSettings {
optional uint32 opacity = 2;
}
+message StickerMetadata {
+ 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 float weight = 10;
+}
+
message Pushname {
optional string id = 1;
optional string pushname = 2;
}
+message PastParticipants {
+ required string groupJid = 1;
+ repeated PastParticipant pastParticipants = 2;
+}
+
+message PastParticipant {
+ enum LeaveReason {
+ LEFT = 0;
+ REMOVED = 1;
+ }
+ required string userJid = 1;
+ required LeaveReason leaveReason = 2;
+ required uint64 leaveTs = 3;
+}
+
enum MediaVisibility {
DEFAULT = 0;
OFF = 1;
ON = 2;
}
message HistorySync {
- enum HistorySyncHistorySyncType {
+ enum HistorySyncType {
INITIAL_BOOTSTRAP = 0;
INITIAL_STATUS_V3 = 1;
FULL = 2;
RECENT = 3;
PUSH_NAME = 4;
+ UNBLOCKING_DATA = 5;
}
- required HistorySyncHistorySyncType syncType = 1;
+ required HistorySyncType syncType = 1;
repeated Conversation conversations = 2;
repeated WebMessageInfo statusV3Messages = 3;
optional uint32 chunkOrder = 5;
@@ -1114,6 +1177,8 @@ message HistorySync {
optional GlobalSettings globalSettings = 8;
optional bytes threadIdUserSecret = 9;
optional uint32 threadDsTimeframeOffset = 10;
+ repeated StickerMetadata recentStickers = 11;
+ repeated PastParticipants pastParticipants = 12;
}
message HistorySyncMsg {
@@ -1122,13 +1187,13 @@ message HistorySyncMsg {
}
message GroupParticipant {
- required string userJid = 1;
- enum GroupParticipantRank {
+ enum Rank {
REGULAR = 0;
ADMIN = 1;
SUPERADMIN = 2;
}
- optional GroupParticipantRank rank = 2;
+ required string userJid = 1;
+ optional Rank rank = 2;
}
message GlobalSettings {
@@ -1145,6 +1210,10 @@ message GlobalSettings {
}
message Conversation {
+ enum EndOfHistoryTransferType {
+ COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY = 0;
+ COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY = 1;
+ }
required string id = 1;
repeated HistorySyncMsg messages = 2;
optional string newJid = 3;
@@ -1155,11 +1224,7 @@ message Conversation {
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 EndOfHistoryTransferType endOfHistoryTransferType = 11;
optional uint64 conversationTimestamp = 12;
optional string name = 13;
optional string pHash = 14;
@@ -1188,7 +1253,7 @@ message Conversation {
optional string parentGroupId = 37;
optional string displayName = 38;
optional string pnJid = 39;
- optional bool selfMasked = 40;
+ optional bool selfPnExposed = 40;
}
message AutoDownloadSettings {
@@ -1198,12 +1263,22 @@ message AutoDownloadSettings {
optional bool downloadDocuments = 4;
}
+// Duplicate type omitted
+//message PollEncValue {
+// optional bytes encPayload = 1;
+// optional bytes encIv = 2;
+//}
+
message MsgRowOpaqueData {
optional MsgOpaqueData currentMsg = 1;
optional MsgOpaqueData quotedMsg = 2;
}
message MsgOpaqueData {
+ message PollOption {
+ optional string name = 1;
+ }
+
optional string body = 1;
optional string caption = 3;
optional double lng = 5;
@@ -1222,10 +1297,9 @@ message MsgOpaqueData {
repeated PollOption pollOptions = 18;
optional uint32 pollSelectableOptionsCount = 20;
optional bytes messageSecret = 21;
-}
-
-message PollOption {
- optional string name = 1;
+ optional int64 senderTimestampMs = 22;
+ optional string pollUpdateParentKey = 23;
+ optional PollEncValue encPollVote = 24;
}
message ServerErrorReceipt {
@@ -1233,15 +1307,15 @@ message ServerErrorReceipt {
}
message MediaRetryNotification {
- optional string stanzaId = 1;
- optional string directPath = 2;
- enum MediaRetryNotificationResultType {
+ enum ResultType {
GENERAL_ERROR = 0;
SUCCESS = 1;
NOT_FOUND = 2;
DECRYPTION_ERROR = 3;
}
- optional MediaRetryNotificationResultType result = 3;
+ optional string stanzaId = 1;
+ optional string directPath = 2;
+ optional ResultType result = 3;
}
message MessageKey {
@@ -1296,11 +1370,11 @@ message SyncdMutations {
}
message SyncdMutation {
- enum SyncdMutationSyncdOperation {
+ enum SyncdOperation {
SET = 0;
REMOVE = 1;
}
- optional SyncdMutationSyncdOperation operation = 1;
+ optional SyncdOperation operation = 1;
optional SyncdRecord record = 2;
}
@@ -1335,8 +1409,6 @@ message SyncActionValue {
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;
@@ -1349,12 +1421,14 @@ message SyncActionValue {
optional DeleteChatAction deleteChatAction = 22;
optional UnarchiveChatsSetting unarchiveChatsSetting = 23;
optional PrimaryFeature primaryFeature = 24;
- optional FavoriteStickerAction favoriteStickerAction = 25;
optional AndroidUnsupportedActions androidUnsupportedActions = 26;
optional AgentAction agentAction = 27;
optional SubscriptionAction subscriptionAction = 28;
optional UserStatusMuteAction userStatusMuteAction = 29;
optional TimeFormatAction timeFormatAction = 30;
+ optional NuxAction nuxAction = 31;
+ optional PrimaryVersionAction primaryVersionAction = 32;
+ optional StickerAction stickerAction = 33;
}
message UserStatusMuteAction {
@@ -1386,6 +1460,19 @@ message SubscriptionAction {
optional int64 expirationDate = 3;
}
+message StickerAction {
+ optional string url = 1;
+ optional bytes fileEncSha256 = 2;
+ optional bytes mediaKey = 3;
+ optional string mimetype = 4;
+ optional uint32 height = 5;
+ optional uint32 width = 6;
+ optional string directPath = 7;
+ optional uint64 fileLength = 8;
+ optional bool isFavorite = 9;
+ optional uint32 deviceIdHint = 10;
+}
+
message StarAction {
optional bool starred = 1;
}
@@ -1394,20 +1481,6 @@ message SecurityNotificationSetting {
optional bool showNotification = 1;
}
-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;
}
@@ -1424,6 +1497,10 @@ message PushNameSetting {
optional string name = 1;
}
+message PrimaryVersionAction {
+ optional string version = 1;
+}
+
message PrimaryFeature {
repeated string flags = 1;
}
@@ -1432,6 +1509,10 @@ message PinAction {
optional bool pinned = 1;
}
+message NuxAction {
+ optional bool acknowledged = 1;
+}
+
message MuteAction {
optional bool muted = 1;
optional int64 muteEndTimestamp = 2;
@@ -1461,17 +1542,6 @@ message KeyExpiration {
optional int32 expiredKeyEpoch = 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 DeleteMessageForMeAction {
optional bool deleteMedia = 1;
optional int64 messageTimestamp = 2;
@@ -1512,31 +1582,25 @@ message SyncActionData {
optional int32 version = 4;
}
-message RecentStickerWeight {
- optional string filehash = 1;
- optional float weight = 2;
-}
-
message RecentEmojiWeight {
optional string emoji = 1;
optional float weight = 2;
}
message VerifiedNameCertificate {
+ message Details {
+ optional uint64 serial = 1;
+ optional string issuer = 2;
+ optional string verifiedName = 4;
+ repeated LocalizedName localizedNames = 8;
+ optional uint64 issueTime = 10;
+ }
+
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;
@@ -1544,25 +1608,25 @@ message LocalizedName {
}
message BizIdentityInfo {
- enum BizIdentityInfoVerifiedLevelValue {
+ enum VerifiedLevelValue {
UNKNOWN = 0;
LOW = 1;
HIGH = 2;
}
- optional BizIdentityInfoVerifiedLevelValue vlevel = 1;
- optional VerifiedNameCertificate vnameCert = 2;
- optional bool signed = 3;
- optional bool revoked = 4;
- enum BizIdentityInfoHostStorageType {
+ enum HostStorageType {
ON_PREMISE = 0;
FACEBOOK = 1;
}
- optional BizIdentityInfoHostStorageType hostStorage = 5;
- enum BizIdentityInfoActualActorsType {
+ enum ActualActorsType {
SELF = 0;
BSP = 1;
}
- optional BizIdentityInfoActualActorsType actualActors = 6;
+ optional VerifiedLevelValue vlevel = 1;
+ optional VerifiedNameCertificate vnameCert = 2;
+ optional bool signed = 3;
+ optional bool revoked = 4;
+ optional HostStorageType hostStorage = 5;
+ optional ActualActorsType actualActors = 6;
optional uint64 privacyModeTs = 7;
optional uint64 featureControls = 8;
}
@@ -1573,52 +1637,166 @@ message BizAccountPayload {
}
message BizAccountLinkInfo {
- optional uint64 whatsappBizAcctFbid = 1;
- optional string whatsappAcctNumber = 2;
- optional uint64 issueTime = 3;
- enum BizAccountLinkInfoHostStorageType {
+ enum HostStorageType {
ON_PREMISE = 0;
FACEBOOK = 1;
}
- optional BizAccountLinkInfoHostStorageType hostStorage = 4;
- enum BizAccountLinkInfoAccountType {
+ enum AccountType {
ENTERPRISE = 0;
}
- optional BizAccountLinkInfoAccountType accountType = 5;
+ optional uint64 whatsappBizAcctFbid = 1;
+ optional string whatsappAcctNumber = 2;
+ optional uint64 issueTime = 3;
+ optional HostStorageType hostStorage = 4;
+ optional AccountType accountType = 5;
}
message HandshakeMessage {
- optional ClientHello clientHello = 2;
- optional ServerHello serverHello = 3;
- optional ClientFinish clientFinish = 4;
+ optional HandshakeClientHello clientHello = 2;
+ optional HandshakeServerHello serverHello = 3;
+ optional HandshakeClientFinish clientFinish = 4;
}
-message ServerHello {
+message HandshakeServerHello {
optional bytes ephemeral = 1;
optional bytes static = 2;
optional bytes payload = 3;
}
-message ClientHello {
+message HandshakeClientHello {
optional bytes ephemeral = 1;
optional bytes static = 2;
optional bytes payload = 3;
}
-message ClientFinish {
+message HandshakeClientFinish {
optional bytes static = 1;
optional bytes payload = 2;
}
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 {
+ message WebInfo {
+ 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;
+ }
+
+ enum WebSubPlatform {
+ WEB_BROWSER = 0;
+ APP_STORE = 1;
+ WIN_STORE = 2;
+ DARWIN = 3;
+ WIN32 = 4;
+ }
+ optional string refToken = 1;
+ optional string version = 2;
+ optional WebdPayload webdPayload = 3;
+ optional WebSubPlatform webSubPlatform = 4;
+ }
+
+ message UserAgent {
+ enum ReleaseChannel {
+ RELEASE = 0;
+ BETA = 1;
+ ALPHA = 2;
+ DEBUG = 3;
+ }
+ enum Platform {
+ 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;
+ }
+ message AppVersion {
+ optional uint32 primary = 1;
+ optional uint32 secondary = 2;
+ optional uint32 tertiary = 3;
+ optional uint32 quaternary = 4;
+ optional uint32 quinary = 5;
+ }
+
+ optional Platform 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;
+ optional ReleaseChannel releaseChannel = 10;
+ optional string localeLanguageIso6391 = 11;
+ optional string localeCountryIso31661Alpha2 = 12;
+ optional string deviceBoard = 13;
+ }
+
+ enum Product {
+ WHATSAPP = 0;
+ MESSENGER = 1;
+ }
+ enum IOSAppExtension {
+ SHARE_EXTENSION = 0;
+ SERVICE_EXTENSION = 1;
+ INTENTS_EXTENSION = 2;
+ }
+ message DevicePairingRegistrationData {
+ 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 deviceProps = 8;
+ }
+
+ message DNSSource {
+ enum DNSResolutionMethod {
+ SYSTEM = 0;
+ GOOGLE = 1;
+ HARDCODED = 2;
+ OVERRIDE = 3;
+ FALLBACK = 4;
+ }
+ optional DNSResolutionMethod dnsMethod = 15;
+ optional bool appCached = 16;
+ }
+
+ enum ConnectType {
CELLULAR_UNKNOWN = 0;
WIFI_UNKNOWN = 1;
CELLULAR_EDGE = 100;
@@ -1635,8 +1813,7 @@ message ClientPayload {
CELLULAR_LTE = 111;
CELLULAR_HSPAP = 112;
}
- optional ClientPayloadConnectType connectType = 12;
- enum ClientPayloadConnectReason {
+ enum ConnectReason {
PUSH = 0;
USER_ACTIVATED = 1;
SCHEDULED = 2;
@@ -1644,143 +1821,30 @@ message ClientPayload {
NETWORK_SWITCH = 4;
PING_RECONNECT = 5;
}
- optional ClientPayloadConnectReason connectReason = 13;
+ 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;
+ optional ConnectType connectType = 12;
+ optional ConnectReason connectReason = 13;
repeated int32 shards = 14;
optional DNSSource dnsSource = 15;
optional uint32 connectAttemptCount = 16;
optional uint32 device = 18;
optional DevicePairingRegistrationData devicePairingData = 19;
- enum ClientPayloadProduct {
- WHATSAPP = 0;
- MESSENGER = 1;
- }
- optional ClientPayloadProduct product = 20;
+ optional Product 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 IOSAppExtension iosAppExtension = 30;
optional uint64 fbAppId = 31;
optional bytes fbDeviceId = 32;
optional bool pull = 33;
-}
-
-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 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 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;
-}
-
-// 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 DevicePairingRegistrationData {
- 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 deviceProps = 8;
-}
-
-message DNSSource {
- enum DNSSourceDNSResolutionMethod {
- SYSTEM = 0;
- GOOGLE = 1;
- HARDCODED = 2;
- OVERRIDE = 3;
- FALLBACK = 4;
- }
- optional DNSSourceDNSResolutionMethod dnsMethod = 15;
- optional bool appCached = 16;
+ optional bytes paddingBytes = 34;
}
message WebNotificationsInfo {
@@ -1791,29 +1855,7 @@ message WebNotificationsInfo {
}
message WebMessageInfo {
- required MessageKey key = 1;
- optional Message message = 2;
- optional uint64 messageTimestamp = 3;
- enum WebMessageInfoStatus {
- ERROR = 0;
- PENDING = 1;
- SERVER_ACK = 2;
- DELIVERY_ACK = 3;
- READ = 4;
- PLAYED = 5;
- }
- optional WebMessageInfoStatus status = 4;
- optional string participant = 5;
- optional uint64 messageC2STimestamp = 6;
- optional bool ignore = 16;
- optional bool starred = 17;
- optional bool broadcast = 18;
- optional string pushName = 19;
- optional bytes mediaCiphertextSha256 = 20;
- optional bool multicast = 21;
- optional bool urlText = 22;
- optional bool urlNumber = 23;
- enum WebMessageInfoStubType {
+ enum StubType {
UNKNOWN = 0;
REVOKE = 1;
CIPHERTEXT = 2;
@@ -1958,8 +2000,42 @@ message WebMessageInfo {
GROUP_PARTICIPANT_LINKED_GROUP_JOIN = 141;
COMMUNITY_CREATE = 142;
EPHEMERAL_KEEP_IN_CHAT = 143;
+ GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST = 144;
+ GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE = 145;
+ INTEGRITY_UNLINK_PARENT_GROUP = 146;
+ COMMUNITY_PARTICIPANT_PROMOTE = 147;
+ COMMUNITY_PARTICIPANT_DEMOTE = 148;
+ COMMUNITY_PARENT_GROUP_DELETED = 149;
+ }
+ enum Status {
+ ERROR = 0;
+ PENDING = 1;
+ SERVER_ACK = 2;
+ DELIVERY_ACK = 3;
+ READ = 4;
+ PLAYED = 5;
}
- optional WebMessageInfoStubType messageStubType = 24;
+ enum BizPrivacyStatus {
+ E2EE = 0;
+ FB = 2;
+ BSP = 1;
+ BSP_AND_FB = 3;
+ }
+ required MessageKey key = 1;
+ optional Message message = 2;
+ optional uint64 messageTimestamp = 3;
+ optional Status status = 4;
+ optional string participant = 5;
+ optional uint64 messageC2STimestamp = 6;
+ optional bool ignore = 16;
+ optional bool starred = 17;
+ optional bool broadcast = 18;
+ optional string pushName = 19;
+ optional bytes mediaCiphertextSha256 = 20;
+ optional bool multicast = 21;
+ optional bool urlText = 22;
+ optional bool urlNumber = 23;
+ optional StubType messageStubType = 24;
optional bool clearMedia = 25;
repeated string messageStubParameters = 26;
optional uint32 duration = 27;
@@ -1971,13 +2047,7 @@ message WebMessageInfo {
optional uint32 ephemeralDuration = 33;
optional bool ephemeralOffToOn = 34;
optional bool ephemeralOutOfSync = 35;
- enum WebMessageInfoBizPrivacyStatus {
- E2EE = 0;
- FB = 2;
- BSP = 1;
- BSP_AND_FB = 3;
- }
- optional WebMessageInfoBizPrivacyStatus bizPrivacyStatus = 36;
+ optional BizPrivacyStatus bizPrivacyStatus = 36;
optional string verifiedBizName = 37;
optional MediaData mediaData = 38;
optional PhotoChange photoChange = 39;
@@ -1992,60 +2062,62 @@ message WebMessageInfo {
optional bool statusAlreadyViewed = 48;
optional bytes messageSecret = 49;
optional KeepInChat keepInChat = 50;
+ optional string originalSelfAuthorUserJidString = 51;
+ optional uint64 revokeMessageTimestamp = 52;
}
message WebFeatures {
- enum WebFeaturesFlag {
+ enum Flag {
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;
+ optional Flag labelsDisplay = 1;
+ optional Flag voipIndividualOutgoing = 2;
+ optional Flag groupsV3 = 3;
+ optional Flag groupsV3Create = 4;
+ optional Flag changeNumberV2 = 5;
+ optional Flag queryStatusV3Thumbnail = 6;
+ optional Flag liveLocations = 7;
+ optional Flag queryVname = 8;
+ optional Flag voipIndividualIncoming = 9;
+ optional Flag quickRepliesQuery = 10;
+ optional Flag payments = 11;
+ optional Flag stickerPackQuery = 12;
+ optional Flag liveLocationsFinal = 13;
+ optional Flag labelsEdit = 14;
+ optional Flag mediaUpload = 15;
+ optional Flag mediaUploadRichQuickReplies = 18;
+ optional Flag vnameV2 = 19;
+ optional Flag videoPlaybackUrl = 20;
+ optional Flag statusRanking = 21;
+ optional Flag voipIndividualVideo = 22;
+ optional Flag thirdPartyStickers = 23;
+ optional Flag frequentlyForwardedSetting = 24;
+ optional Flag groupsV4JoinPermission = 25;
+ optional Flag recentStickers = 26;
+ optional Flag catalog = 27;
+ optional Flag starredStickers = 28;
+ optional Flag voipGroupCall = 29;
+ optional Flag templateMessage = 30;
+ optional Flag templateMessageInteractivity = 31;
+ optional Flag ephemeralMessages = 32;
+ optional Flag e2ENotificationSync = 33;
+ optional Flag recentStickersV2 = 34;
+ optional Flag recentStickersV3 = 36;
+ optional Flag userNotice = 37;
+ optional Flag support = 39;
+ optional Flag groupUiiCleanup = 40;
+ optional Flag groupDogfoodingInternalOnly = 41;
+ optional Flag settingsSync = 42;
+ optional Flag archiveV2 = 43;
+ optional Flag ephemeralAllowGroupMembers = 44;
+ optional Flag ephemeral24HDuration = 45;
+ optional Flag mdForceUpgrade = 46;
+ optional Flag disappearingMode = 47;
+ optional Flag externalMdOptInAvailable = 48;
+ optional Flag noDeleteMessageTimeLimit = 49;
}
message UserReceipt {
@@ -2073,6 +2145,7 @@ message Reaction {
message PollUpdate {
optional MessageKey pollUpdateMessageKey = 1;
optional PollVoteMessage vote = 2;
+ optional int64 senderTimestampMs = 3;
}
message PollAdditionalMetadata {
@@ -2086,34 +2159,7 @@ message PhotoChange {
}
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 {
+ enum TxnStatus {
UNKNOWN = 0;
PENDING_SETUP = 1;
PENDING_RECEIVER_SETUP = 2;
@@ -2147,7 +2193,34 @@ message PaymentInfo {
REVERSAL_PENDING = 30;
REFUND_PENDING = 31;
}
- optional PaymentInfoTxnStatus txnStatus = 10;
+ enum Status {
+ 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;
+ }
+ enum Currency {
+ UNKNOWN_CURRENCY = 0;
+ INR = 1;
+ }
+ optional Currency currencyDeprecated = 1;
+ optional uint64 amount1000 = 2;
+ optional string receiverJid = 3;
+ optional Status status = 4;
+ optional uint64 transactionTimestamp = 5;
+ optional MessageKey requestMessageKey = 6;
+ optional uint64 expiryTimestamp = 7;
+ optional bool futureproofed = 8;
+ optional string currency = 9;
+ optional TxnStatus txnStatus = 10;
optional bool useNoviFiatFormat = 11;
optional Money primaryAmount = 12;
optional Money exchangeAmount = 13;
@@ -2167,40 +2240,38 @@ message MediaData {
message KeepInChat {
optional KeepType keepType = 1;
optional int64 serverTimestamp = 2;
- optional string deviceJid = 3;
+ optional MessageKey key = 3;
+ optional string deviceJid = 4;
}
message NoiseCertificate {
+ message Details {
+ optional uint32 serial = 1;
+ optional string issuer = 2;
+ optional uint64 expires = 3;
+ optional string subject = 4;
+ optional bytes key = 5;
+ }
+
optional bytes details = 1;
optional bytes signature = 2;
}
-// 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 CertChain {
- optional CertChainNoiseCertificate leaf = 1;
- optional CertChainNoiseCertificate intermediate = 2;
-}
-
-// Renamed from CertChain$NoiseCertificate
-message CertChainNoiseCertificate {
- optional bytes details = 1;
- optional bytes signature = 2;
-}
-
-// Renamed from CertChain$NoiseCertificate$Details
-message CertChainNoiseCertificateDetails {
- optional uint32 serial = 1;
- optional uint32 issuerSerial = 2;
- optional bytes key = 3;
- optional uint64 notBefore = 4;
- optional uint64 notAfter = 5;
+ message NoiseCertificate {
+ message Details {
+ optional uint32 serial = 1;
+ optional uint32 issuerSerial = 2;
+ optional bytes key = 3;
+ optional uint64 notBefore = 4;
+ optional uint64 notAfter = 5;
+ }
+
+ optional bytes details = 1;
+ optional bytes signature = 2;
+ }
+
+ optional NoiseCertificate leaf = 1;
+ optional NoiseCertificate intermediate = 2;
}