WAWebProtobufsE2E.proto 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217
  1. syntax = "proto2";
  2. package WAWebProtobufsE2E;
  3. option go_package = "go.mau.fi/whatsmeow/proto/waE2E";
  4. import "waAICommon/WAAICommon.proto";
  5. import "waAdv/WAAdv.proto";
  6. import "waCompanionReg/WACompanionReg.proto";
  7. import "waMmsRetry/WAMmsRetry.proto";
  8. import "waCommon/WACommon.proto";
  9. import "waStatusAttributions/WAStatusAttributions.proto";
  10. enum PollType {
  11. POLL = 0;
  12. QUIZ = 1;
  13. }
  14. enum PollContentType {
  15. UNKNOWN_POLL_CONTENT_TYPE = 0;
  16. TEXT = 1;
  17. IMAGE = 2;
  18. }
  19. enum PeerDataOperationRequestType {
  20. UPLOAD_STICKER = 0;
  21. SEND_RECENT_STICKER_BOOTSTRAP = 1;
  22. GENERATE_LINK_PREVIEW = 2;
  23. HISTORY_SYNC_ON_DEMAND = 3;
  24. PLACEHOLDER_MESSAGE_RESEND = 4;
  25. WAFFLE_LINKING_NONCE_FETCH = 5;
  26. FULL_HISTORY_SYNC_ON_DEMAND = 6;
  27. COMPANION_META_NONCE_FETCH = 7;
  28. COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY = 8;
  29. COMPANION_CANONICAL_USER_NONCE_FETCH = 9;
  30. HISTORY_SYNC_CHUNK_RETRY = 10;
  31. GALAXY_FLOW_ACTION = 11;
  32. }
  33. enum HistorySyncType {
  34. INITIAL_BOOTSTRAP = 0;
  35. INITIAL_STATUS_V3 = 1;
  36. FULL = 2;
  37. RECENT = 3;
  38. PUSH_NAME = 4;
  39. NON_BLOCKING_DATA = 5;
  40. ON_DEMAND = 6;
  41. NO_HISTORY = 7;
  42. MESSAGE_ACCESS_STATUS = 8;
  43. }
  44. enum MediaKeyDomain {
  45. UNSET = 0;
  46. E2EE_CHAT = 1;
  47. STATUS = 2;
  48. CAPI = 3;
  49. BOT = 4;
  50. }
  51. enum WebLinkRenderConfig {
  52. WEBVIEW = 0;
  53. SYSTEM = 1;
  54. }
  55. enum KeepType {
  56. UNKNOWN_KEEP_TYPE = 0;
  57. KEEP_FOR_ALL = 1;
  58. UNDO_KEEP_FOR_ALL = 2;
  59. }
  60. message StickerPackMessage {
  61. enum StickerPackOrigin {
  62. FIRST_PARTY = 0;
  63. THIRD_PARTY = 1;
  64. USER_CREATED = 2;
  65. }
  66. message Sticker {
  67. optional string fileName = 1;
  68. optional bool isAnimated = 2;
  69. repeated string emojis = 3;
  70. optional string accessibilityLabel = 4;
  71. optional bool isLottie = 5;
  72. optional string mimetype = 6;
  73. }
  74. optional string stickerPackID = 1;
  75. optional string name = 2;
  76. optional string publisher = 3;
  77. repeated Sticker stickers = 4;
  78. optional uint64 fileLength = 5;
  79. optional bytes fileSHA256 = 6;
  80. optional bytes fileEncSHA256 = 7;
  81. optional bytes mediaKey = 8;
  82. optional string directPath = 9;
  83. optional string caption = 10;
  84. optional ContextInfo contextInfo = 11;
  85. optional string packDescription = 12;
  86. optional int64 mediaKeyTimestamp = 13;
  87. optional string trayIconFileName = 14;
  88. optional string thumbnailDirectPath = 15;
  89. optional bytes thumbnailSHA256 = 16;
  90. optional bytes thumbnailEncSHA256 = 17;
  91. optional uint32 thumbnailHeight = 18;
  92. optional uint32 thumbnailWidth = 19;
  93. optional string imageDataHash = 20;
  94. optional uint64 stickerPackSize = 21;
  95. optional StickerPackOrigin stickerPackOrigin = 22;
  96. }
  97. message PlaceholderMessage {
  98. enum PlaceholderType {
  99. MASK_LINKED_DEVICES = 0;
  100. }
  101. optional PlaceholderType type = 1;
  102. }
  103. message BCallMessage {
  104. enum MediaType {
  105. UNKNOWN = 0;
  106. AUDIO = 1;
  107. VIDEO = 2;
  108. }
  109. optional string sessionID = 1;
  110. optional MediaType mediaType = 2;
  111. optional bytes masterKey = 3;
  112. optional string caption = 4;
  113. }
  114. message CallLogMessage {
  115. enum CallOutcome {
  116. CONNECTED = 0;
  117. MISSED = 1;
  118. FAILED = 2;
  119. REJECTED = 3;
  120. ACCEPTED_ELSEWHERE = 4;
  121. ONGOING = 5;
  122. SILENCED_BY_DND = 6;
  123. SILENCED_UNKNOWN_CALLER = 7;
  124. }
  125. enum CallType {
  126. REGULAR = 0;
  127. SCHEDULED_CALL = 1;
  128. VOICE_CHAT = 2;
  129. }
  130. message CallParticipant {
  131. optional string JID = 1;
  132. optional CallOutcome callOutcome = 2;
  133. }
  134. optional bool isVideo = 1;
  135. optional CallOutcome callOutcome = 2;
  136. optional int64 durationSecs = 3;
  137. optional CallType callType = 4;
  138. repeated CallParticipant participants = 5;
  139. }
  140. message ScheduledCallEditMessage {
  141. enum EditType {
  142. UNKNOWN = 0;
  143. CANCEL = 1;
  144. }
  145. optional WACommon.MessageKey key = 1;
  146. optional EditType editType = 2;
  147. }
  148. message ScheduledCallCreationMessage {
  149. enum CallType {
  150. UNKNOWN = 0;
  151. VOICE = 1;
  152. VIDEO = 2;
  153. }
  154. optional int64 scheduledTimestampMS = 1;
  155. optional CallType callType = 2;
  156. optional string title = 3;
  157. }
  158. message EventResponseMessage {
  159. enum EventResponseType {
  160. UNKNOWN = 0;
  161. GOING = 1;
  162. NOT_GOING = 2;
  163. MAYBE = 3;
  164. }
  165. optional EventResponseType response = 1;
  166. optional int64 timestampMS = 2;
  167. optional int32 extraGuestCount = 3;
  168. }
  169. message PinInChatMessage {
  170. enum Type {
  171. UNKNOWN_TYPE = 0;
  172. PIN_FOR_ALL = 1;
  173. UNPIN_FOR_ALL = 2;
  174. }
  175. optional WACommon.MessageKey key = 1;
  176. optional Type type = 2;
  177. optional int64 senderTimestampMS = 3;
  178. }
  179. message StatusStickerInteractionMessage {
  180. enum StatusStickerType {
  181. UNKNOWN = 0;
  182. REACTION = 1;
  183. }
  184. optional WACommon.MessageKey key = 1;
  185. optional string stickerKey = 2;
  186. optional StatusStickerType type = 3;
  187. }
  188. message ButtonsResponseMessage {
  189. enum Type {
  190. UNKNOWN = 0;
  191. DISPLAY_TEXT = 1;
  192. }
  193. oneof response {
  194. string selectedDisplayText = 2;
  195. }
  196. optional string selectedButtonID = 1;
  197. optional ContextInfo contextInfo = 3;
  198. optional Type type = 4;
  199. }
  200. message ButtonsMessage {
  201. enum HeaderType {
  202. UNKNOWN = 0;
  203. EMPTY = 1;
  204. TEXT = 2;
  205. DOCUMENT = 3;
  206. IMAGE = 4;
  207. VIDEO = 5;
  208. LOCATION = 6;
  209. }
  210. message Button {
  211. enum Type {
  212. UNKNOWN = 0;
  213. RESPONSE = 1;
  214. NATIVE_FLOW = 2;
  215. }
  216. message NativeFlowInfo {
  217. optional string name = 1;
  218. optional string paramsJSON = 2;
  219. }
  220. message ButtonText {
  221. optional string displayText = 1;
  222. }
  223. optional string buttonID = 1;
  224. optional ButtonText buttonText = 2;
  225. optional Type type = 3;
  226. optional NativeFlowInfo nativeFlowInfo = 4;
  227. }
  228. oneof header {
  229. string text = 1;
  230. DocumentMessage documentMessage = 2;
  231. ImageMessage imageMessage = 3;
  232. VideoMessage videoMessage = 4;
  233. LocationMessage locationMessage = 5;
  234. }
  235. optional string contentText = 6;
  236. optional string footerText = 7;
  237. optional ContextInfo contextInfo = 8;
  238. repeated Button buttons = 9;
  239. optional HeaderType headerType = 10;
  240. }
  241. message SecretEncryptedMessage {
  242. enum SecretEncType {
  243. UNKNOWN = 0;
  244. EVENT_EDIT = 1;
  245. MESSAGE_EDIT = 2;
  246. }
  247. optional WACommon.MessageKey targetMessageKey = 1;
  248. optional bytes encPayload = 2;
  249. optional bytes encIV = 3;
  250. optional SecretEncType secretEncType = 4;
  251. }
  252. message GroupInviteMessage {
  253. enum GroupType {
  254. DEFAULT = 0;
  255. PARENT = 1;
  256. }
  257. optional string groupJID = 1;
  258. optional string inviteCode = 2;
  259. optional int64 inviteExpiration = 3;
  260. optional string groupName = 4;
  261. optional bytes JPEGThumbnail = 5;
  262. optional string caption = 6;
  263. optional ContextInfo contextInfo = 7;
  264. optional GroupType groupType = 8;
  265. }
  266. message InteractiveResponseMessage {
  267. message Body {
  268. enum Format {
  269. DEFAULT = 0;
  270. EXTENSIONS_1 = 1;
  271. }
  272. optional string text = 1;
  273. optional Format format = 2;
  274. }
  275. message NativeFlowResponseMessage {
  276. optional string name = 1;
  277. optional string paramsJSON = 2;
  278. optional int32 version = 3;
  279. }
  280. oneof interactiveResponseMessage {
  281. NativeFlowResponseMessage nativeFlowResponseMessage = 2;
  282. }
  283. optional Body body = 1;
  284. optional ContextInfo contextInfo = 15;
  285. }
  286. message InteractiveMessage {
  287. message CarouselMessage {
  288. enum CarouselCardType {
  289. UNKNOWN = 0;
  290. HSCROLL_CARDS = 1;
  291. ALBUM_IMAGE = 2;
  292. }
  293. repeated InteractiveMessage cards = 1;
  294. optional int32 messageVersion = 2;
  295. optional CarouselCardType carouselCardType = 3;
  296. }
  297. message ShopMessage {
  298. enum Surface {
  299. UNKNOWN_SURFACE = 0;
  300. FB = 1;
  301. IG = 2;
  302. WA = 3;
  303. }
  304. optional string ID = 1;
  305. optional Surface surface = 2;
  306. optional int32 messageVersion = 3;
  307. }
  308. message NativeFlowMessage {
  309. message NativeFlowButton {
  310. optional string name = 1;
  311. optional string buttonParamsJSON = 2;
  312. }
  313. repeated NativeFlowButton buttons = 1;
  314. optional string messageParamsJSON = 2;
  315. optional int32 messageVersion = 3;
  316. }
  317. message CollectionMessage {
  318. optional string bizJID = 1;
  319. optional string ID = 2;
  320. optional int32 messageVersion = 3;
  321. }
  322. message Footer {
  323. oneof media {
  324. AudioMessage audioMessage = 2;
  325. }
  326. optional string text = 1;
  327. optional bool hasMediaAttachment = 3;
  328. }
  329. message Body {
  330. optional string text = 1;
  331. }
  332. message Header {
  333. oneof media {
  334. DocumentMessage documentMessage = 3;
  335. ImageMessage imageMessage = 4;
  336. bytes JPEGThumbnail = 6;
  337. VideoMessage videoMessage = 7;
  338. LocationMessage locationMessage = 8;
  339. ProductMessage productMessage = 9;
  340. }
  341. optional string title = 1;
  342. optional string subtitle = 2;
  343. optional bool hasMediaAttachment = 5;
  344. }
  345. oneof interactiveMessage {
  346. ShopMessage shopStorefrontMessage = 4;
  347. CollectionMessage collectionMessage = 5;
  348. NativeFlowMessage nativeFlowMessage = 6;
  349. CarouselMessage carouselMessage = 7;
  350. }
  351. optional Header header = 1;
  352. optional Body body = 2;
  353. optional Footer footer = 3;
  354. optional ContextInfo contextInfo = 15;
  355. optional UrlTrackingMap urlTrackingMap = 16;
  356. }
  357. message ListResponseMessage {
  358. enum ListType {
  359. UNKNOWN = 0;
  360. SINGLE_SELECT = 1;
  361. }
  362. message SingleSelectReply {
  363. optional string selectedRowID = 1;
  364. }
  365. optional string title = 1;
  366. optional ListType listType = 2;
  367. optional SingleSelectReply singleSelectReply = 3;
  368. optional ContextInfo contextInfo = 4;
  369. optional string description = 5;
  370. }
  371. message ListMessage {
  372. enum ListType {
  373. UNKNOWN = 0;
  374. SINGLE_SELECT = 1;
  375. PRODUCT_LIST = 2;
  376. }
  377. message ProductListInfo {
  378. repeated ProductSection productSections = 1;
  379. optional ProductListHeaderImage headerImage = 2;
  380. optional string businessOwnerJID = 3;
  381. }
  382. message ProductListHeaderImage {
  383. optional string productID = 1;
  384. optional bytes JPEGThumbnail = 2;
  385. }
  386. message ProductSection {
  387. optional string title = 1;
  388. repeated Product products = 2;
  389. }
  390. message Product {
  391. optional string productID = 1;
  392. }
  393. message Section {
  394. optional string title = 1;
  395. repeated Row rows = 2;
  396. }
  397. message Row {
  398. optional string title = 1;
  399. optional string description = 2;
  400. optional string rowID = 3;
  401. }
  402. optional string title = 1;
  403. optional string description = 2;
  404. optional string buttonText = 3;
  405. optional ListType listType = 4;
  406. repeated Section sections = 5;
  407. optional ProductListInfo productListInfo = 6;
  408. optional string footerText = 7;
  409. optional ContextInfo contextInfo = 8;
  410. }
  411. message OrderMessage {
  412. enum OrderSurface {
  413. CATALOG = 1;
  414. }
  415. enum OrderStatus {
  416. INQUIRY = 1;
  417. ACCEPTED = 2;
  418. DECLINED = 3;
  419. }
  420. optional string orderID = 1;
  421. optional bytes thumbnail = 2;
  422. optional int32 itemCount = 3;
  423. optional OrderStatus status = 4;
  424. optional OrderSurface surface = 5;
  425. optional string message = 6;
  426. optional string orderTitle = 7;
  427. optional string sellerJID = 8;
  428. optional string token = 9;
  429. optional int64 totalAmount1000 = 10;
  430. optional string totalCurrencyCode = 11;
  431. optional ContextInfo contextInfo = 17;
  432. optional int32 messageVersion = 12;
  433. optional WACommon.MessageKey orderRequestMessageID = 13;
  434. optional string catalogType = 15;
  435. }
  436. message StatusQuotedMessage {
  437. enum StatusQuotedMessageType {
  438. QUESTION_ANSWER = 1;
  439. }
  440. optional StatusQuotedMessageType type = 1;
  441. optional string text = 2;
  442. optional bytes thumbnail = 3;
  443. optional WACommon.MessageKey originalStatusID = 4;
  444. }
  445. message PaymentInviteMessage {
  446. enum ServiceType {
  447. UNKNOWN = 0;
  448. FBPAY = 1;
  449. NOVI = 2;
  450. UPI = 3;
  451. }
  452. optional ServiceType serviceType = 1;
  453. optional int64 expiryTimestamp = 2;
  454. }
  455. message HighlyStructuredMessage {
  456. message HSMLocalizableParameter {
  457. message HSMDateTime {
  458. message HSMDateTimeComponent {
  459. enum CalendarType {
  460. GREGORIAN = 1;
  461. SOLAR_HIJRI = 2;
  462. }
  463. enum DayOfWeekType {
  464. MONDAY = 1;
  465. TUESDAY = 2;
  466. WEDNESDAY = 3;
  467. THURSDAY = 4;
  468. FRIDAY = 5;
  469. SATURDAY = 6;
  470. SUNDAY = 7;
  471. }
  472. optional DayOfWeekType dayOfWeek = 1;
  473. optional uint32 year = 2;
  474. optional uint32 month = 3;
  475. optional uint32 dayOfMonth = 4;
  476. optional uint32 hour = 5;
  477. optional uint32 minute = 6;
  478. optional CalendarType calendar = 7;
  479. }
  480. message HSMDateTimeUnixEpoch {
  481. optional int64 timestamp = 1;
  482. }
  483. oneof datetimeOneof {
  484. HSMDateTimeComponent component = 1;
  485. HSMDateTimeUnixEpoch unixEpoch = 2;
  486. }
  487. }
  488. message HSMCurrency {
  489. optional string currencyCode = 1;
  490. optional int64 amount1000 = 2;
  491. }
  492. oneof paramOneof {
  493. HSMCurrency currency = 2;
  494. HSMDateTime dateTime = 3;
  495. }
  496. optional string default = 1;
  497. }
  498. optional string namespace = 1;
  499. optional string elementName = 2;
  500. repeated string params = 3;
  501. optional string fallbackLg = 4;
  502. optional string fallbackLc = 5;
  503. repeated HSMLocalizableParameter localizableParams = 6;
  504. optional string deterministicLg = 7;
  505. optional string deterministicLc = 8;
  506. optional TemplateMessage hydratedHsm = 9;
  507. }
  508. message PeerDataOperationRequestResponseMessage {
  509. message PeerDataOperationResult {
  510. enum HistorySyncChunkRetryResponseCode {
  511. GENERATION_ERROR = 1;
  512. CHUNK_CONSUMED = 2;
  513. TIMEOUT = 3;
  514. SESSION_EXHAUSTED = 4;
  515. CHUNK_EXHAUSTED = 5;
  516. DUPLICATED_REQUEST = 6;
  517. }
  518. enum FullHistorySyncOnDemandResponseCode {
  519. REQUEST_SUCCESS = 0;
  520. REQUEST_TIME_EXPIRED = 1;
  521. DECLINED_SHARING_HISTORY = 2;
  522. GENERIC_ERROR = 3;
  523. ERROR_REQUEST_ON_NON_SMB_PRIMARY = 4;
  524. ERROR_HOSTED_DEVICE_NOT_CONNECTED = 5;
  525. ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET = 6;
  526. }
  527. message HistorySyncChunkRetryResponse {
  528. optional HistorySyncType syncType = 1;
  529. optional uint32 chunkOrder = 2;
  530. optional string requestID = 3;
  531. optional HistorySyncChunkRetryResponseCode responseCode = 4;
  532. optional bool canRecover = 5;
  533. }
  534. message SyncDSnapshotFatalRecoveryResponse {
  535. optional bytes collectionSnapshot = 1;
  536. optional bool isCompressed = 2;
  537. }
  538. message CompanionCanonicalUserNonceFetchResponse {
  539. optional string nonce = 1;
  540. optional string waFbid = 2;
  541. optional bool forceRefresh = 3;
  542. }
  543. message CompanionMetaNonceFetchResponse {
  544. optional string nonce = 1;
  545. }
  546. message WaffleNonceFetchResponse {
  547. optional string nonce = 1;
  548. optional string waEntFbid = 2;
  549. }
  550. message FullHistorySyncOnDemandRequestResponse {
  551. optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
  552. optional FullHistorySyncOnDemandResponseCode responseCode = 2;
  553. }
  554. message PlaceholderMessageResendResponse {
  555. optional bytes webMessageInfoBytes = 1;
  556. }
  557. message LinkPreviewResponse {
  558. message PaymentLinkPreviewMetadata {
  559. optional bool isBusinessVerified = 1;
  560. optional string providerName = 2;
  561. }
  562. message LinkPreviewHighQualityThumbnail {
  563. optional string directPath = 1;
  564. optional string thumbHash = 2;
  565. optional string encThumbHash = 3;
  566. optional bytes mediaKey = 4;
  567. optional int64 mediaKeyTimestampMS = 5;
  568. optional int32 thumbWidth = 6;
  569. optional int32 thumbHeight = 7;
  570. }
  571. optional string URL = 1;
  572. optional string title = 2;
  573. optional string description = 3;
  574. optional bytes thumbData = 4;
  575. optional string matchText = 6;
  576. optional string previewType = 7;
  577. optional LinkPreviewHighQualityThumbnail hqThumbnail = 8;
  578. optional PaymentLinkPreviewMetadata previewMetadata = 9;
  579. }
  580. optional WAMmsRetry.MediaRetryNotification.ResultType mediaUploadResult = 1;
  581. optional StickerMessage stickerMessage = 2;
  582. optional LinkPreviewResponse linkPreviewResponse = 3;
  583. optional PlaceholderMessageResendResponse placeholderMessageResendResponse = 4;
  584. optional WaffleNonceFetchResponse waffleNonceFetchRequestResponse = 5;
  585. optional FullHistorySyncOnDemandRequestResponse fullHistorySyncOnDemandRequestResponse = 6;
  586. optional CompanionMetaNonceFetchResponse companionMetaNonceFetchRequestResponse = 7;
  587. optional SyncDSnapshotFatalRecoveryResponse syncdSnapshotFatalRecoveryResponse = 8;
  588. optional CompanionCanonicalUserNonceFetchResponse companionCanonicalUserNonceFetchRequestResponse = 9;
  589. optional HistorySyncChunkRetryResponse historySyncChunkRetryResponse = 10;
  590. }
  591. optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
  592. optional string stanzaID = 2;
  593. repeated PeerDataOperationResult peerDataOperationResult = 3;
  594. }
  595. message PeerDataOperationRequestMessage {
  596. message GalaxyFlowAction {
  597. enum GalaxyFlowActionType {
  598. NOTIFY_LAUNCH = 1;
  599. }
  600. optional GalaxyFlowActionType type = 1;
  601. optional string flowID = 2;
  602. optional string stanzaID = 3;
  603. }
  604. message HistorySyncChunkRetryRequest {
  605. optional HistorySyncType syncType = 1;
  606. optional uint32 chunkOrder = 2;
  607. optional string chunkNotificationID = 3;
  608. optional bool regenerateChunk = 4;
  609. }
  610. message SyncDCollectionFatalRecoveryRequest {
  611. optional string collectionName = 1;
  612. optional int64 timestamp = 2;
  613. }
  614. message PlaceholderMessageResendRequest {
  615. optional WACommon.MessageKey messageKey = 1;
  616. }
  617. message FullHistorySyncOnDemandRequest {
  618. optional FullHistorySyncOnDemandRequestMetadata requestMetadata = 1;
  619. optional WACompanionReg.DeviceProps.HistorySyncConfig historySyncConfig = 2;
  620. }
  621. message HistorySyncOnDemandRequest {
  622. optional string chatJID = 1;
  623. optional string oldestMsgID = 2;
  624. optional bool oldestMsgFromMe = 3;
  625. optional int32 onDemandMsgCount = 4;
  626. optional int64 oldestMsgTimestampMS = 5;
  627. optional string accountLid = 6;
  628. }
  629. message RequestUrlPreview {
  630. optional string URL = 1;
  631. optional bool includeHqThumbnail = 2;
  632. }
  633. message RequestStickerReupload {
  634. optional string fileSHA256 = 1;
  635. }
  636. optional PeerDataOperationRequestType peerDataOperationRequestType = 1;
  637. repeated RequestStickerReupload requestStickerReupload = 2;
  638. repeated RequestUrlPreview requestURLPreview = 3;
  639. optional HistorySyncOnDemandRequest historySyncOnDemandRequest = 4;
  640. repeated PlaceholderMessageResendRequest placeholderMessageResendRequest = 5;
  641. optional FullHistorySyncOnDemandRequest fullHistorySyncOnDemandRequest = 6;
  642. optional SyncDCollectionFatalRecoveryRequest syncdCollectionFatalRecoveryRequest = 7;
  643. optional HistorySyncChunkRetryRequest historySyncChunkRetryRequest = 8;
  644. optional GalaxyFlowAction galaxyFlowAction = 9;
  645. }
  646. message RequestWelcomeMessageMetadata {
  647. enum LocalChatState {
  648. EMPTY = 0;
  649. NON_EMPTY = 1;
  650. }
  651. optional LocalChatState localChatState = 1;
  652. }
  653. message ProtocolMessage {
  654. enum Type {
  655. REVOKE = 0;
  656. EPHEMERAL_SETTING = 3;
  657. EPHEMERAL_SYNC_RESPONSE = 4;
  658. HISTORY_SYNC_NOTIFICATION = 5;
  659. APP_STATE_SYNC_KEY_SHARE = 6;
  660. APP_STATE_SYNC_KEY_REQUEST = 7;
  661. MSG_FANOUT_BACKFILL_REQUEST = 8;
  662. INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC = 9;
  663. APP_STATE_FATAL_EXCEPTION_NOTIFICATION = 10;
  664. SHARE_PHONE_NUMBER = 11;
  665. MESSAGE_EDIT = 14;
  666. PEER_DATA_OPERATION_REQUEST_MESSAGE = 16;
  667. PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE = 17;
  668. REQUEST_WELCOME_MESSAGE = 18;
  669. BOT_FEEDBACK_MESSAGE = 19;
  670. MEDIA_NOTIFY_MESSAGE = 20;
  671. CLOUD_API_THREAD_CONTROL_NOTIFICATION = 21;
  672. LID_MIGRATION_MAPPING_SYNC = 22;
  673. REMINDER_MESSAGE = 23;
  674. BOT_MEMU_ONBOARDING_MESSAGE = 24;
  675. STATUS_MENTION_MESSAGE = 25;
  676. STOP_GENERATION_MESSAGE = 26;
  677. LIMIT_SHARING = 27;
  678. AI_PSI_METADATA = 28;
  679. AI_QUERY_FANOUT = 29;
  680. GROUP_MEMBER_LABEL_CHANGE = 30;
  681. }
  682. optional WACommon.MessageKey key = 1;
  683. optional Type type = 2;
  684. optional uint32 ephemeralExpiration = 4;
  685. optional int64 ephemeralSettingTimestamp = 5;
  686. optional HistorySyncNotification historySyncNotification = 6;
  687. optional AppStateSyncKeyShare appStateSyncKeyShare = 7;
  688. optional AppStateSyncKeyRequest appStateSyncKeyRequest = 8;
  689. optional InitialSecurityNotificationSettingSync initialSecurityNotificationSettingSync = 9;
  690. optional AppStateFatalExceptionNotification appStateFatalExceptionNotification = 10;
  691. optional DisappearingMode disappearingMode = 11;
  692. optional Message editedMessage = 14;
  693. optional int64 timestampMS = 15;
  694. optional PeerDataOperationRequestMessage peerDataOperationRequestMessage = 16;
  695. optional PeerDataOperationRequestResponseMessage peerDataOperationRequestResponseMessage = 17;
  696. optional WAAICommon.BotFeedbackMessage botFeedbackMessage = 18;
  697. optional string invokerJID = 19;
  698. optional RequestWelcomeMessageMetadata requestWelcomeMessageMetadata = 20;
  699. optional MediaNotifyMessage mediaNotifyMessage = 21;
  700. optional CloudAPIThreadControlNotification cloudApiThreadControlNotification = 22;
  701. optional LIDMigrationMappingSyncMessage lidMigrationMappingSyncMessage = 23;
  702. optional WACommon.LimitSharing limitSharing = 24;
  703. optional bytes aiPsiMetadata = 25;
  704. optional AIQueryFanout aiQueryFanout = 26;
  705. optional MemberLabel memberLabel = 27;
  706. }
  707. message CloudAPIThreadControlNotification {
  708. enum CloudAPIThreadControl {
  709. UNKNOWN = 0;
  710. CONTROL_PASSED = 1;
  711. CONTROL_TAKEN = 2;
  712. }
  713. message CloudAPIThreadControlNotificationContent {
  714. optional string handoffNotificationText = 1;
  715. optional string extraJSON = 2;
  716. }
  717. optional CloudAPIThreadControl status = 1;
  718. optional int64 senderNotificationTimestampMS = 2;
  719. optional string consumerLid = 3;
  720. optional string consumerPhoneNumber = 4;
  721. optional CloudAPIThreadControlNotificationContent notificationContent = 5;
  722. optional bool shouldSuppressNotification = 6;
  723. }
  724. message VideoMessage {
  725. enum VideoSourceType {
  726. USER_VIDEO = 0;
  727. AI_GENERATED = 1;
  728. }
  729. enum Attribution {
  730. NONE = 0;
  731. GIPHY = 1;
  732. TENOR = 2;
  733. KLIPY = 3;
  734. }
  735. optional string URL = 1;
  736. optional string mimetype = 2;
  737. optional bytes fileSHA256 = 3;
  738. optional uint64 fileLength = 4;
  739. optional uint32 seconds = 5;
  740. optional bytes mediaKey = 6;
  741. optional string caption = 7;
  742. optional bool gifPlayback = 8;
  743. optional uint32 height = 9;
  744. optional uint32 width = 10;
  745. optional bytes fileEncSHA256 = 11;
  746. repeated InteractiveAnnotation interactiveAnnotations = 12;
  747. optional string directPath = 13;
  748. optional int64 mediaKeyTimestamp = 14;
  749. optional bytes JPEGThumbnail = 16;
  750. optional ContextInfo contextInfo = 17;
  751. optional bytes streamingSidecar = 18;
  752. optional Attribution gifAttribution = 19;
  753. optional bool viewOnce = 20;
  754. optional string thumbnailDirectPath = 21;
  755. optional bytes thumbnailSHA256 = 22;
  756. optional bytes thumbnailEncSHA256 = 23;
  757. optional string staticURL = 24;
  758. repeated InteractiveAnnotation annotations = 25;
  759. optional string accessibilityLabel = 26;
  760. repeated ProcessedVideo processedVideos = 27;
  761. optional uint32 externalShareFullVideoDurationInSeconds = 28;
  762. optional uint64 motionPhotoPresentationOffsetMS = 29;
  763. optional string metadataURL = 30;
  764. optional VideoSourceType videoSourceType = 31;
  765. optional MediaKeyDomain mediaKeyDomain = 32;
  766. }
  767. message ExtendedTextMessage {
  768. enum InviteLinkGroupType {
  769. DEFAULT = 0;
  770. PARENT = 1;
  771. SUB = 2;
  772. DEFAULT_SUB = 3;
  773. }
  774. enum PreviewType {
  775. NONE = 0;
  776. VIDEO = 1;
  777. PLACEHOLDER = 4;
  778. IMAGE = 5;
  779. PAYMENT_LINKS = 6;
  780. PROFILE = 7;
  781. }
  782. enum FontType {
  783. SYSTEM = 0;
  784. SYSTEM_TEXT = 1;
  785. FB_SCRIPT = 2;
  786. SYSTEM_BOLD = 6;
  787. MORNINGBREEZE_REGULAR = 7;
  788. CALISTOGA_REGULAR = 8;
  789. EXO2_EXTRABOLD = 9;
  790. COURIERPRIME_BOLD = 10;
  791. }
  792. optional string text = 1;
  793. optional string matchedText = 2;
  794. optional string description = 5;
  795. optional string title = 6;
  796. optional fixed32 textArgb = 7;
  797. optional fixed32 backgroundArgb = 8;
  798. optional FontType font = 9;
  799. optional PreviewType previewType = 10;
  800. optional bytes JPEGThumbnail = 16;
  801. optional ContextInfo contextInfo = 17;
  802. optional bool doNotPlayInline = 18;
  803. optional string thumbnailDirectPath = 19;
  804. optional bytes thumbnailSHA256 = 20;
  805. optional bytes thumbnailEncSHA256 = 21;
  806. optional bytes mediaKey = 22;
  807. optional int64 mediaKeyTimestamp = 23;
  808. optional uint32 thumbnailHeight = 24;
  809. optional uint32 thumbnailWidth = 25;
  810. optional InviteLinkGroupType inviteLinkGroupType = 26;
  811. optional string inviteLinkParentGroupSubjectV2 = 27;
  812. optional bytes inviteLinkParentGroupThumbnailV2 = 28;
  813. optional InviteLinkGroupType inviteLinkGroupTypeV2 = 29;
  814. optional bool viewOnce = 30;
  815. optional uint32 videoHeight = 31;
  816. optional uint32 videoWidth = 32;
  817. optional MMSThumbnailMetadata faviconMMSMetadata = 33;
  818. optional LinkPreviewMetadata linkPreviewMetadata = 34;
  819. optional PaymentLinkMetadata paymentLinkMetadata = 35;
  820. repeated VideoEndCard endCardTiles = 36;
  821. optional string videoContentURL = 37;
  822. optional EmbeddedMusic musicMetadata = 38;
  823. optional PaymentExtendedMetadata paymentExtendedMetadata = 39;
  824. }
  825. message LinkPreviewMetadata {
  826. enum SocialMediaPostType {
  827. NONE = 0;
  828. REEL = 1;
  829. LIVE_VIDEO = 2;
  830. LONG_VIDEO = 3;
  831. SINGLE_IMAGE = 4;
  832. CAROUSEL = 5;
  833. }
  834. optional PaymentLinkMetadata paymentLinkMetadata = 1;
  835. optional URLMetadata urlMetadata = 2;
  836. optional uint32 fbExperimentID = 3;
  837. optional uint32 linkMediaDuration = 4;
  838. optional SocialMediaPostType socialMediaPostType = 5;
  839. optional bool linkInlineVideoMuted = 6;
  840. optional string videoContentURL = 7;
  841. optional EmbeddedMusic musicMetadata = 8;
  842. optional string videoContentCaption = 9;
  843. }
  844. message PaymentLinkMetadata {
  845. message PaymentLinkHeader {
  846. enum PaymentLinkHeaderType {
  847. LINK_PREVIEW = 0;
  848. ORDER = 1;
  849. }
  850. optional PaymentLinkHeaderType headerType = 1;
  851. }
  852. message PaymentLinkProvider {
  853. optional string paramsJSON = 1;
  854. }
  855. message PaymentLinkButton {
  856. optional string displayText = 1;
  857. }
  858. optional PaymentLinkButton button = 1;
  859. optional PaymentLinkHeader header = 2;
  860. optional PaymentLinkProvider provider = 3;
  861. }
  862. message StatusNotificationMessage {
  863. enum StatusNotificationType {
  864. UNKNOWN = 0;
  865. STATUS_ADD_YOURS = 1;
  866. STATUS_RESHARE = 2;
  867. STATUS_QUESTION_ANSWER_RESHARE = 3;
  868. }
  869. optional WACommon.MessageKey responseMessageKey = 1;
  870. optional WACommon.MessageKey originalMessageKey = 2;
  871. optional StatusNotificationType type = 3;
  872. }
  873. message InvoiceMessage {
  874. enum AttachmentType {
  875. IMAGE = 0;
  876. PDF = 1;
  877. }
  878. optional string note = 1;
  879. optional string token = 2;
  880. optional AttachmentType attachmentType = 3;
  881. optional string attachmentMimetype = 4;
  882. optional bytes attachmentMediaKey = 5;
  883. optional int64 attachmentMediaKeyTimestamp = 6;
  884. optional bytes attachmentFileSHA256 = 7;
  885. optional bytes attachmentFileEncSHA256 = 8;
  886. optional string attachmentDirectPath = 9;
  887. optional bytes attachmentJPEGThumbnail = 10;
  888. }
  889. message ImageMessage {
  890. enum ImageSourceType {
  891. USER_IMAGE = 0;
  892. AI_GENERATED = 1;
  893. AI_MODIFIED = 2;
  894. RASTERIZED_TEXT_STATUS = 3;
  895. }
  896. optional string URL = 1;
  897. optional string mimetype = 2;
  898. optional string caption = 3;
  899. optional bytes fileSHA256 = 4;
  900. optional uint64 fileLength = 5;
  901. optional uint32 height = 6;
  902. optional uint32 width = 7;
  903. optional bytes mediaKey = 8;
  904. optional bytes fileEncSHA256 = 9;
  905. repeated InteractiveAnnotation interactiveAnnotations = 10;
  906. optional string directPath = 11;
  907. optional int64 mediaKeyTimestamp = 12;
  908. optional bytes JPEGThumbnail = 16;
  909. optional ContextInfo contextInfo = 17;
  910. optional bytes firstScanSidecar = 18;
  911. optional uint32 firstScanLength = 19;
  912. optional uint32 experimentGroupID = 20;
  913. optional bytes scansSidecar = 21;
  914. repeated uint32 scanLengths = 22;
  915. optional bytes midQualityFileSHA256 = 23;
  916. optional bytes midQualityFileEncSHA256 = 24;
  917. optional bool viewOnce = 25;
  918. optional string thumbnailDirectPath = 26;
  919. optional bytes thumbnailSHA256 = 27;
  920. optional bytes thumbnailEncSHA256 = 28;
  921. optional string staticURL = 29;
  922. repeated InteractiveAnnotation annotations = 30;
  923. optional ImageSourceType imageSourceType = 31;
  924. optional string accessibilityLabel = 32;
  925. optional MediaKeyDomain mediaKeyDomain = 33;
  926. optional string qrURL = 34;
  927. }
  928. message ContextInfo {
  929. enum QuotedType {
  930. EXPLICIT = 0;
  931. AUTO = 1;
  932. }
  933. enum ForwardOrigin {
  934. UNKNOWN = 0;
  935. CHAT = 1;
  936. STATUS = 2;
  937. CHANNELS = 3;
  938. META_AI = 4;
  939. UGC = 5;
  940. }
  941. enum StatusSourceType {
  942. IMAGE = 0;
  943. VIDEO = 1;
  944. GIF = 2;
  945. AUDIO = 3;
  946. TEXT = 4;
  947. MUSIC_STANDALONE = 5;
  948. }
  949. enum PairedMediaType {
  950. NOT_PAIRED_MEDIA = 0;
  951. SD_VIDEO_PARENT = 1;
  952. HD_VIDEO_CHILD = 2;
  953. SD_IMAGE_PARENT = 3;
  954. HD_IMAGE_CHILD = 4;
  955. MOTION_PHOTO_PARENT = 5;
  956. MOTION_PHOTO_CHILD = 6;
  957. HEVC_VIDEO_PARENT = 7;
  958. HEVC_VIDEO_CHILD = 8;
  959. }
  960. enum StatusAttributionType {
  961. NONE = 0;
  962. RESHARED_FROM_MENTION = 1;
  963. RESHARED_FROM_POST = 2;
  964. RESHARED_FROM_POST_MANY_TIMES = 3;
  965. FORWARDED_FROM_STATUS = 4;
  966. }
  967. message StatusAudienceMetadata {
  968. enum AudienceType {
  969. UNKNOWN = 0;
  970. CLOSE_FRIENDS = 1;
  971. }
  972. optional AudienceType audienceType = 1;
  973. }
  974. message DataSharingContext {
  975. enum DataSharingFlags {
  976. SHOW_MM_DISCLOSURE_ON_CLICK = 1;
  977. SHOW_MM_DISCLOSURE_ON_READ = 2;
  978. }
  979. message Parameters {
  980. optional string key = 1;
  981. optional string stringData = 2;
  982. optional int64 intData = 3;
  983. optional float floatData = 4;
  984. optional Parameters contents = 5;
  985. }
  986. optional bool showMmDisclosure = 1;
  987. optional string encryptedSignalTokenConsented = 2;
  988. repeated Parameters parameters = 3;
  989. optional int32 dataSharingFlags = 4;
  990. }
  991. message ForwardedNewsletterMessageInfo {
  992. enum ContentType {
  993. UPDATE = 1;
  994. UPDATE_CARD = 2;
  995. LINK_CARD = 3;
  996. }
  997. optional string newsletterJID = 1;
  998. optional int32 serverMessageID = 2;
  999. optional string newsletterName = 3;
  1000. optional ContentType contentType = 4;
  1001. optional string accessibilityText = 5;
  1002. optional string profileName = 6;
  1003. }
  1004. message ExternalAdReplyInfo {
  1005. enum AdType {
  1006. CTWA = 0;
  1007. CAWC = 1;
  1008. }
  1009. enum MediaType {
  1010. NONE = 0;
  1011. IMAGE = 1;
  1012. VIDEO = 2;
  1013. }
  1014. optional string title = 1;
  1015. optional string body = 2;
  1016. optional MediaType mediaType = 3;
  1017. optional string thumbnailURL = 4;
  1018. optional string mediaURL = 5;
  1019. optional bytes thumbnail = 6;
  1020. optional string sourceType = 7;
  1021. optional string sourceID = 8;
  1022. optional string sourceURL = 9;
  1023. optional bool containsAutoReply = 10;
  1024. optional bool renderLargerThumbnail = 11;
  1025. optional bool showAdAttribution = 12;
  1026. optional string ctwaClid = 13;
  1027. optional string ref = 14;
  1028. optional bool clickToWhatsappCall = 15;
  1029. optional bool adContextPreviewDismissed = 16;
  1030. optional string sourceApp = 17;
  1031. optional bool automatedGreetingMessageShown = 18;
  1032. optional string greetingMessageBody = 19;
  1033. optional string ctaPayload = 20;
  1034. optional bool disableNudge = 21;
  1035. optional string originalImageURL = 22;
  1036. optional string automatedGreetingMessageCtaType = 23;
  1037. optional bool wtwaAdFormat = 24;
  1038. optional AdType adType = 25;
  1039. optional string wtwaWebsiteURL = 26;
  1040. optional string adPreviewURL = 27;
  1041. }
  1042. message AdReplyInfo {
  1043. enum MediaType {
  1044. NONE = 0;
  1045. IMAGE = 1;
  1046. VIDEO = 2;
  1047. }
  1048. optional string advertiserName = 1;
  1049. optional MediaType mediaType = 2;
  1050. optional bytes JPEGThumbnail = 16;
  1051. optional string caption = 17;
  1052. }
  1053. message FeatureEligibilities {
  1054. optional bool cannotBeReactedTo = 1;
  1055. optional bool cannotBeRanked = 2;
  1056. optional bool canRequestFeedback = 3;
  1057. optional bool canBeReshared = 4;
  1058. optional bool canReceiveMultiReact = 5;
  1059. }
  1060. message QuestionReplyQuotedMessage {
  1061. optional int32 serverQuestionID = 1;
  1062. optional Message quotedQuestion = 2;
  1063. optional Message quotedResponse = 3;
  1064. }
  1065. message UTMInfo {
  1066. optional string utmSource = 1;
  1067. optional string utmCampaign = 2;
  1068. }
  1069. message BusinessMessageForwardInfo {
  1070. optional string businessOwnerJID = 1;
  1071. }
  1072. optional string stanzaID = 1;
  1073. optional string participant = 2;
  1074. optional Message quotedMessage = 3;
  1075. optional string remoteJID = 4;
  1076. repeated string mentionedJID = 15;
  1077. optional string conversionSource = 18;
  1078. optional bytes conversionData = 19;
  1079. optional uint32 conversionDelaySeconds = 20;
  1080. optional uint32 forwardingScore = 21;
  1081. optional bool isForwarded = 22;
  1082. optional AdReplyInfo quotedAd = 23;
  1083. optional WACommon.MessageKey placeholderKey = 24;
  1084. optional uint32 expiration = 25;
  1085. optional int64 ephemeralSettingTimestamp = 26;
  1086. optional bytes ephemeralSharedSecret = 27;
  1087. optional ExternalAdReplyInfo externalAdReply = 28;
  1088. optional string entryPointConversionSource = 29;
  1089. optional string entryPointConversionApp = 30;
  1090. optional uint32 entryPointConversionDelaySeconds = 31;
  1091. optional DisappearingMode disappearingMode = 32;
  1092. optional ActionLink actionLink = 33;
  1093. optional string groupSubject = 34;
  1094. optional string parentGroupJID = 35;
  1095. optional string trustBannerType = 37;
  1096. optional uint32 trustBannerAction = 38;
  1097. optional bool isSampled = 39;
  1098. repeated GroupMention groupMentions = 40;
  1099. optional UTMInfo utm = 41;
  1100. optional ForwardedNewsletterMessageInfo forwardedNewsletterMessageInfo = 43;
  1101. optional BusinessMessageForwardInfo businessMessageForwardInfo = 44;
  1102. optional string smbClientCampaignID = 45;
  1103. optional string smbServerCampaignID = 46;
  1104. optional DataSharingContext dataSharingContext = 47;
  1105. optional bool alwaysShowAdAttribution = 48;
  1106. optional FeatureEligibilities featureEligibilities = 49;
  1107. optional string entryPointConversionExternalSource = 50;
  1108. optional string entryPointConversionExternalMedium = 51;
  1109. optional string ctwaSignals = 54;
  1110. optional bytes ctwaPayload = 55;
  1111. optional WAAICommon.ForwardedAIBotMessageInfo forwardedAiBotMessageInfo = 56;
  1112. optional StatusAttributionType statusAttributionType = 57;
  1113. optional UrlTrackingMap urlTrackingMap = 58;
  1114. optional PairedMediaType pairedMediaType = 59;
  1115. optional uint32 rankingVersion = 60;
  1116. optional MemberLabel memberLabel = 62;
  1117. optional bool isQuestion = 63;
  1118. optional StatusSourceType statusSourceType = 64;
  1119. repeated WAStatusAttributions.StatusAttribution statusAttributions = 65;
  1120. optional bool isGroupStatus = 66;
  1121. optional ForwardOrigin forwardOrigin = 67;
  1122. optional QuestionReplyQuotedMessage questionReplyQuotedMessage = 68;
  1123. optional StatusAudienceMetadata statusAudienceMetadata = 69;
  1124. optional uint32 nonJIDMentions = 70;
  1125. optional QuotedType quotedType = 71;
  1126. optional WAAICommon.BotMessageSharingInfo botMessageSharingInfo = 72;
  1127. }
  1128. message MessageAssociation {
  1129. enum AssociationType {
  1130. UNKNOWN = 0;
  1131. MEDIA_ALBUM = 1;
  1132. BOT_PLUGIN = 2;
  1133. EVENT_COVER_IMAGE = 3;
  1134. STATUS_POLL = 4;
  1135. HD_VIDEO_DUAL_UPLOAD = 5;
  1136. STATUS_EXTERNAL_RESHARE = 6;
  1137. MEDIA_POLL = 7;
  1138. STATUS_ADD_YOURS = 8;
  1139. STATUS_NOTIFICATION = 9;
  1140. HD_IMAGE_DUAL_UPLOAD = 10;
  1141. STICKER_ANNOTATION = 11;
  1142. MOTION_PHOTO = 12;
  1143. STATUS_LINK_ACTION = 13;
  1144. VIEW_ALL_REPLIES = 14;
  1145. STATUS_ADD_YOURS_AI_IMAGINE = 15;
  1146. STATUS_QUESTION = 16;
  1147. STATUS_ADD_YOURS_DIWALI = 17;
  1148. STATUS_REACTION = 18;
  1149. HEVC_VIDEO_DUAL_UPLOAD = 19;
  1150. }
  1151. optional AssociationType associationType = 1;
  1152. optional WACommon.MessageKey parentMessageKey = 2;
  1153. optional int32 messageIndex = 3;
  1154. }
  1155. message ThreadID {
  1156. enum ThreadType {
  1157. UNKNOWN = 0;
  1158. VIEW_REPLIES = 1;
  1159. AI_THREAD = 2;
  1160. }
  1161. optional ThreadType threadType = 1;
  1162. optional WACommon.MessageKey threadKey = 2;
  1163. }
  1164. message MessageContextInfo {
  1165. enum MessageAddonExpiryType {
  1166. STATIC = 1;
  1167. DEPENDENT_ON_PARENT = 2;
  1168. }
  1169. optional DeviceListMetadata deviceListMetadata = 1;
  1170. optional int32 deviceListMetadataVersion = 2;
  1171. optional bytes messageSecret = 3;
  1172. optional bytes paddingBytes = 4;
  1173. optional uint32 messageAddOnDurationInSecs = 5;
  1174. optional bytes botMessageSecret = 6;
  1175. optional WAAICommon.BotMetadata botMetadata = 7;
  1176. optional int32 reportingTokenVersion = 8;
  1177. optional MessageAddonExpiryType messageAddOnExpiryType = 9;
  1178. optional MessageAssociation messageAssociation = 10;
  1179. optional bool capiCreatedGroup = 11;
  1180. optional string supportPayload = 12;
  1181. optional WACommon.LimitSharing limitSharing = 13;
  1182. optional WACommon.LimitSharing limitSharingV2 = 14;
  1183. repeated ThreadID threadID = 15;
  1184. optional WebLinkRenderConfig weblinkRenderConfig = 16;
  1185. }
  1186. message InteractiveAnnotation {
  1187. enum StatusLinkType {
  1188. RASTERIZED_LINK_PREVIEW = 1;
  1189. RASTERIZED_LINK_TRUNCATED = 2;
  1190. RASTERIZED_LINK_FULL_URL = 3;
  1191. }
  1192. oneof action {
  1193. Location location = 2;
  1194. ContextInfo.ForwardedNewsletterMessageInfo newsletter = 3;
  1195. bool embeddedAction = 6;
  1196. TapLinkAction tapAction = 7;
  1197. }
  1198. repeated Point polygonVertices = 1;
  1199. optional bool shouldSkipConfirmation = 4;
  1200. optional EmbeddedContent embeddedContent = 5;
  1201. optional StatusLinkType statusLinkType = 8;
  1202. }
  1203. message HydratedTemplateButton {
  1204. message HydratedURLButton {
  1205. enum WebviewPresentationType {
  1206. FULL = 1;
  1207. TALL = 2;
  1208. COMPACT = 3;
  1209. }
  1210. optional string displayText = 1;
  1211. optional string URL = 2;
  1212. optional string consentedUsersURL = 3;
  1213. optional WebviewPresentationType webviewPresentation = 4;
  1214. }
  1215. message HydratedCallButton {
  1216. optional string displayText = 1;
  1217. optional string phoneNumber = 2;
  1218. }
  1219. message HydratedQuickReplyButton {
  1220. optional string displayText = 1;
  1221. optional string ID = 2;
  1222. }
  1223. oneof hydratedButton {
  1224. HydratedQuickReplyButton quickReplyButton = 1;
  1225. HydratedURLButton urlButton = 2;
  1226. HydratedCallButton callButton = 3;
  1227. }
  1228. optional uint32 index = 4;
  1229. }
  1230. message PaymentBackground {
  1231. enum Type {
  1232. UNKNOWN = 0;
  1233. DEFAULT = 1;
  1234. }
  1235. message MediaData {
  1236. optional bytes mediaKey = 1;
  1237. optional int64 mediaKeyTimestamp = 2;
  1238. optional bytes fileSHA256 = 3;
  1239. optional bytes fileEncSHA256 = 4;
  1240. optional string directPath = 5;
  1241. }
  1242. optional string ID = 1;
  1243. optional uint64 fileLength = 2;
  1244. optional uint32 width = 3;
  1245. optional uint32 height = 4;
  1246. optional string mimetype = 5;
  1247. optional fixed32 placeholderArgb = 6;
  1248. optional fixed32 textArgb = 7;
  1249. optional fixed32 subtextArgb = 8;
  1250. optional MediaData mediaData = 9;
  1251. optional Type type = 10;
  1252. }
  1253. message DisappearingMode {
  1254. enum Trigger {
  1255. UNKNOWN = 0;
  1256. CHAT_SETTING = 1;
  1257. ACCOUNT_SETTING = 2;
  1258. BULK_CHANGE = 3;
  1259. BIZ_SUPPORTS_FB_HOSTING = 4;
  1260. UNKNOWN_GROUPS = 5;
  1261. }
  1262. enum Initiator {
  1263. CHANGED_IN_CHAT = 0;
  1264. INITIATED_BY_ME = 1;
  1265. INITIATED_BY_OTHER = 2;
  1266. BIZ_UPGRADE_FB_HOSTING = 3;
  1267. }
  1268. optional Initiator initiator = 1;
  1269. optional Trigger trigger = 2;
  1270. optional string initiatorDeviceJID = 3;
  1271. optional bool initiatedByMe = 4;
  1272. }
  1273. message ProcessedVideo {
  1274. enum VideoQuality {
  1275. UNDEFINED = 0;
  1276. LOW = 1;
  1277. MID = 2;
  1278. HIGH = 3;
  1279. }
  1280. optional string directPath = 1;
  1281. optional bytes fileSHA256 = 2;
  1282. optional uint32 height = 3;
  1283. optional uint32 width = 4;
  1284. optional uint64 fileLength = 5;
  1285. optional uint32 bitrate = 6;
  1286. optional VideoQuality quality = 7;
  1287. repeated string capabilities = 8;
  1288. }
  1289. message Message {
  1290. optional string conversation = 1;
  1291. optional SenderKeyDistributionMessage senderKeyDistributionMessage = 2;
  1292. optional ImageMessage imageMessage = 3;
  1293. optional ContactMessage contactMessage = 4;
  1294. optional LocationMessage locationMessage = 5;
  1295. optional ExtendedTextMessage extendedTextMessage = 6;
  1296. optional DocumentMessage documentMessage = 7;
  1297. optional AudioMessage audioMessage = 8;
  1298. optional VideoMessage videoMessage = 9;
  1299. optional Call call = 10;
  1300. optional Chat chat = 11;
  1301. optional ProtocolMessage protocolMessage = 12;
  1302. optional ContactsArrayMessage contactsArrayMessage = 13;
  1303. optional HighlyStructuredMessage highlyStructuredMessage = 14;
  1304. optional SenderKeyDistributionMessage fastRatchetKeySenderKeyDistributionMessage = 15;
  1305. optional SendPaymentMessage sendPaymentMessage = 16;
  1306. optional LiveLocationMessage liveLocationMessage = 18;
  1307. optional RequestPaymentMessage requestPaymentMessage = 22;
  1308. optional DeclinePaymentRequestMessage declinePaymentRequestMessage = 23;
  1309. optional CancelPaymentRequestMessage cancelPaymentRequestMessage = 24;
  1310. optional TemplateMessage templateMessage = 25;
  1311. optional StickerMessage stickerMessage = 26;
  1312. optional GroupInviteMessage groupInviteMessage = 28;
  1313. optional TemplateButtonReplyMessage templateButtonReplyMessage = 29;
  1314. optional ProductMessage productMessage = 30;
  1315. optional DeviceSentMessage deviceSentMessage = 31;
  1316. optional MessageContextInfo messageContextInfo = 35;
  1317. optional ListMessage listMessage = 36;
  1318. optional FutureProofMessage viewOnceMessage = 37;
  1319. optional OrderMessage orderMessage = 38;
  1320. optional ListResponseMessage listResponseMessage = 39;
  1321. optional FutureProofMessage ephemeralMessage = 40;
  1322. optional InvoiceMessage invoiceMessage = 41;
  1323. optional ButtonsMessage buttonsMessage = 42;
  1324. optional ButtonsResponseMessage buttonsResponseMessage = 43;
  1325. optional PaymentInviteMessage paymentInviteMessage = 44;
  1326. optional InteractiveMessage interactiveMessage = 45;
  1327. optional ReactionMessage reactionMessage = 46;
  1328. optional StickerSyncRMRMessage stickerSyncRmrMessage = 47;
  1329. optional InteractiveResponseMessage interactiveResponseMessage = 48;
  1330. optional PollCreationMessage pollCreationMessage = 49;
  1331. optional PollUpdateMessage pollUpdateMessage = 50;
  1332. optional KeepInChatMessage keepInChatMessage = 51;
  1333. optional FutureProofMessage documentWithCaptionMessage = 53;
  1334. optional RequestPhoneNumberMessage requestPhoneNumberMessage = 54;
  1335. optional FutureProofMessage viewOnceMessageV2 = 55;
  1336. optional EncReactionMessage encReactionMessage = 56;
  1337. optional FutureProofMessage editedMessage = 58;
  1338. optional FutureProofMessage viewOnceMessageV2Extension = 59;
  1339. optional PollCreationMessage pollCreationMessageV2 = 60;
  1340. optional ScheduledCallCreationMessage scheduledCallCreationMessage = 61;
  1341. optional FutureProofMessage groupMentionedMessage = 62;
  1342. optional PinInChatMessage pinInChatMessage = 63;
  1343. optional PollCreationMessage pollCreationMessageV3 = 64;
  1344. optional ScheduledCallEditMessage scheduledCallEditMessage = 65;
  1345. optional VideoMessage ptvMessage = 66;
  1346. optional FutureProofMessage botInvokeMessage = 67;
  1347. optional CallLogMessage callLogMesssage = 69;
  1348. optional MessageHistoryBundle messageHistoryBundle = 70;
  1349. optional EncCommentMessage encCommentMessage = 71;
  1350. optional BCallMessage bcallMessage = 72;
  1351. optional FutureProofMessage lottieStickerMessage = 74;
  1352. optional EventMessage eventMessage = 75;
  1353. optional EncEventResponseMessage encEventResponseMessage = 76;
  1354. optional CommentMessage commentMessage = 77;
  1355. optional NewsletterAdminInviteMessage newsletterAdminInviteMessage = 78;
  1356. optional PlaceholderMessage placeholderMessage = 80;
  1357. optional SecretEncryptedMessage secretEncryptedMessage = 82;
  1358. optional AlbumMessage albumMessage = 83;
  1359. optional FutureProofMessage eventCoverImage = 85;
  1360. optional StickerPackMessage stickerPackMessage = 86;
  1361. optional FutureProofMessage statusMentionMessage = 87;
  1362. optional PollResultSnapshotMessage pollResultSnapshotMessage = 88;
  1363. optional FutureProofMessage pollCreationOptionImageMessage = 90;
  1364. optional FutureProofMessage associatedChildMessage = 91;
  1365. optional FutureProofMessage groupStatusMentionMessage = 92;
  1366. optional FutureProofMessage pollCreationMessageV4 = 93;
  1367. optional FutureProofMessage statusAddYours = 95;
  1368. optional FutureProofMessage groupStatusMessage = 96;
  1369. optional AIRichResponseMessage richResponseMessage = 97;
  1370. optional StatusNotificationMessage statusNotificationMessage = 98;
  1371. optional FutureProofMessage limitSharingMessage = 99;
  1372. optional FutureProofMessage botTaskMessage = 100;
  1373. optional FutureProofMessage questionMessage = 101;
  1374. optional MessageHistoryNotice messageHistoryNotice = 102;
  1375. optional FutureProofMessage groupStatusMessageV2 = 103;
  1376. optional FutureProofMessage botForwardedMessage = 104;
  1377. optional StatusQuestionAnswerMessage statusQuestionAnswerMessage = 105;
  1378. optional FutureProofMessage questionReplyMessage = 106;
  1379. optional QuestionResponseMessage questionResponseMessage = 107;
  1380. optional StatusQuotedMessage statusQuotedMessage = 109;
  1381. optional StatusStickerInteractionMessage statusStickerInteractionMessage = 110;
  1382. optional PollCreationMessage pollCreationMessageV5 = 111;
  1383. optional NewsletterFollowerInviteMessage newsletterFollowerInviteMessageV2 = 113;
  1384. optional PollResultSnapshotMessage pollResultSnapshotMessageV3 = 115;
  1385. optional FutureProofMessage newsletterAdminProfileMessage = 116;
  1386. }
  1387. message AlbumMessage {
  1388. optional uint32 expectedImageCount = 2;
  1389. optional uint32 expectedVideoCount = 3;
  1390. optional ContextInfo contextInfo = 17;
  1391. }
  1392. message MessageHistoryMetadata {
  1393. repeated string historyReceivers = 1;
  1394. optional int64 oldestMessageTimestamp = 2;
  1395. optional int64 messageCount = 3;
  1396. }
  1397. message MessageHistoryNotice {
  1398. optional ContextInfo contextInfo = 1;
  1399. optional MessageHistoryMetadata messageHistoryMetadata = 2;
  1400. }
  1401. message MessageHistoryBundle {
  1402. optional string mimetype = 1;
  1403. optional bytes fileSHA256 = 2;
  1404. optional bytes mediaKey = 3;
  1405. optional bytes fileEncSHA256 = 4;
  1406. optional string directPath = 5;
  1407. optional int64 mediaKeyTimestamp = 6;
  1408. optional ContextInfo contextInfo = 7;
  1409. optional MessageHistoryMetadata messageHistoryMetadata = 8;
  1410. }
  1411. message EncEventResponseMessage {
  1412. optional WACommon.MessageKey eventCreationMessageKey = 1;
  1413. optional bytes encPayload = 2;
  1414. optional bytes encIV = 3;
  1415. }
  1416. message EventMessage {
  1417. optional ContextInfo contextInfo = 1;
  1418. optional bool isCanceled = 2;
  1419. optional string name = 3;
  1420. optional string description = 4;
  1421. optional LocationMessage location = 5;
  1422. optional string joinLink = 6;
  1423. optional int64 startTime = 7;
  1424. optional int64 endTime = 8;
  1425. optional bool extraGuestsAllowed = 9;
  1426. optional bool isScheduleCall = 10;
  1427. optional bool hasReminder = 11;
  1428. optional int64 reminderOffsetSec = 12;
  1429. }
  1430. message CommentMessage {
  1431. optional Message message = 1;
  1432. optional WACommon.MessageKey targetMessageKey = 2;
  1433. }
  1434. message EncCommentMessage {
  1435. optional WACommon.MessageKey targetMessageKey = 1;
  1436. optional bytes encPayload = 2;
  1437. optional bytes encIV = 3;
  1438. }
  1439. message EncReactionMessage {
  1440. optional WACommon.MessageKey targetMessageKey = 1;
  1441. optional bytes encPayload = 2;
  1442. optional bytes encIV = 3;
  1443. }
  1444. message KeepInChatMessage {
  1445. optional WACommon.MessageKey key = 1;
  1446. optional KeepType keepType = 2;
  1447. optional int64 timestampMS = 3;
  1448. }
  1449. message QuestionResponseMessage {
  1450. optional WACommon.MessageKey key = 1;
  1451. optional string text = 2;
  1452. }
  1453. message StatusQuestionAnswerMessage {
  1454. optional WACommon.MessageKey key = 1;
  1455. optional string text = 2;
  1456. }
  1457. message PollResultSnapshotMessage {
  1458. message PollVote {
  1459. optional string optionName = 1;
  1460. optional int64 optionVoteCount = 2;
  1461. }
  1462. optional string name = 1;
  1463. repeated PollVote pollVotes = 2;
  1464. optional ContextInfo contextInfo = 3;
  1465. optional PollType pollType = 4;
  1466. }
  1467. message PollVoteMessage {
  1468. repeated bytes selectedOptions = 1;
  1469. }
  1470. message PollEncValue {
  1471. optional bytes encPayload = 1;
  1472. optional bytes encIV = 2;
  1473. }
  1474. message PollUpdateMessageMetadata {
  1475. }
  1476. message PollUpdateMessage {
  1477. optional WACommon.MessageKey pollCreationMessageKey = 1;
  1478. optional PollEncValue vote = 2;
  1479. optional PollUpdateMessageMetadata metadata = 3;
  1480. optional int64 senderTimestampMS = 4;
  1481. }
  1482. message PollCreationMessage {
  1483. message Option {
  1484. optional string optionName = 1;
  1485. optional string optionHash = 2;
  1486. }
  1487. optional bytes encKey = 1;
  1488. optional string name = 2;
  1489. repeated Option options = 3;
  1490. optional uint32 selectableOptionsCount = 4;
  1491. optional ContextInfo contextInfo = 5;
  1492. optional PollContentType pollContentType = 6;
  1493. optional PollType pollType = 7;
  1494. optional Option correctAnswer = 8;
  1495. }
  1496. message StickerSyncRMRMessage {
  1497. repeated string filehash = 1;
  1498. optional string rmrSource = 2;
  1499. optional int64 requestTimestamp = 3;
  1500. }
  1501. message ReactionMessage {
  1502. optional WACommon.MessageKey key = 1;
  1503. optional string text = 2;
  1504. optional string groupingKey = 3;
  1505. optional int64 senderTimestampMS = 4;
  1506. }
  1507. message FutureProofMessage {
  1508. optional Message message = 1;
  1509. }
  1510. message DeviceSentMessage {
  1511. optional string destinationJID = 1;
  1512. optional Message message = 2;
  1513. optional string phash = 3;
  1514. }
  1515. message RequestPhoneNumberMessage {
  1516. optional ContextInfo contextInfo = 1;
  1517. }
  1518. message NewsletterFollowerInviteMessage {
  1519. optional string newsletterJID = 1;
  1520. optional string newsletterName = 2;
  1521. optional bytes JPEGThumbnail = 3;
  1522. optional string caption = 4;
  1523. optional ContextInfo contextInfo = 5;
  1524. }
  1525. message NewsletterAdminInviteMessage {
  1526. optional string newsletterJID = 1;
  1527. optional string newsletterName = 2;
  1528. optional bytes JPEGThumbnail = 3;
  1529. optional string caption = 4;
  1530. optional int64 inviteExpiration = 5;
  1531. optional ContextInfo contextInfo = 6;
  1532. }
  1533. message ProductMessage {
  1534. message ProductSnapshot {
  1535. optional ImageMessage productImage = 1;
  1536. optional string productID = 2;
  1537. optional string title = 3;
  1538. optional string description = 4;
  1539. optional string currencyCode = 5;
  1540. optional int64 priceAmount1000 = 6;
  1541. optional string retailerID = 7;
  1542. optional string URL = 8;
  1543. optional uint32 productImageCount = 9;
  1544. optional string firstImageID = 11;
  1545. optional int64 salePriceAmount1000 = 12;
  1546. optional string signedURL = 13;
  1547. }
  1548. message CatalogSnapshot {
  1549. optional ImageMessage catalogImage = 1;
  1550. optional string title = 2;
  1551. optional string description = 3;
  1552. }
  1553. optional ProductSnapshot product = 1;
  1554. optional string businessOwnerJID = 2;
  1555. optional CatalogSnapshot catalog = 4;
  1556. optional string body = 5;
  1557. optional string footer = 6;
  1558. optional ContextInfo contextInfo = 17;
  1559. }
  1560. message TemplateButtonReplyMessage {
  1561. optional string selectedID = 1;
  1562. optional string selectedDisplayText = 2;
  1563. optional ContextInfo contextInfo = 3;
  1564. optional uint32 selectedIndex = 4;
  1565. optional uint32 selectedCarouselCardIndex = 5;
  1566. }
  1567. message TemplateMessage {
  1568. message HydratedFourRowTemplate {
  1569. oneof title {
  1570. DocumentMessage documentMessage = 1;
  1571. string hydratedTitleText = 2;
  1572. ImageMessage imageMessage = 3;
  1573. VideoMessage videoMessage = 4;
  1574. LocationMessage locationMessage = 5;
  1575. }
  1576. optional string hydratedContentText = 6;
  1577. optional string hydratedFooterText = 7;
  1578. repeated HydratedTemplateButton hydratedButtons = 8;
  1579. optional string templateID = 9;
  1580. optional bool maskLinkedDevices = 10;
  1581. }
  1582. message FourRowTemplate {
  1583. oneof title {
  1584. DocumentMessage documentMessage = 1;
  1585. HighlyStructuredMessage highlyStructuredMessage = 2;
  1586. ImageMessage imageMessage = 3;
  1587. VideoMessage videoMessage = 4;
  1588. LocationMessage locationMessage = 5;
  1589. }
  1590. optional HighlyStructuredMessage content = 6;
  1591. optional HighlyStructuredMessage footer = 7;
  1592. repeated TemplateButton buttons = 8;
  1593. }
  1594. oneof format {
  1595. FourRowTemplate fourRowTemplate = 1;
  1596. HydratedFourRowTemplate hydratedFourRowTemplate = 2;
  1597. InteractiveMessage interactiveMessageTemplate = 5;
  1598. }
  1599. optional ContextInfo contextInfo = 3;
  1600. optional HydratedFourRowTemplate hydratedTemplate = 4;
  1601. optional string templateID = 9;
  1602. }
  1603. message StickerMessage {
  1604. optional string URL = 1;
  1605. optional bytes fileSHA256 = 2;
  1606. optional bytes fileEncSHA256 = 3;
  1607. optional bytes mediaKey = 4;
  1608. optional string mimetype = 5;
  1609. optional uint32 height = 6;
  1610. optional uint32 width = 7;
  1611. optional string directPath = 8;
  1612. optional uint64 fileLength = 9;
  1613. optional int64 mediaKeyTimestamp = 10;
  1614. optional uint32 firstFrameLength = 11;
  1615. optional bytes firstFrameSidecar = 12;
  1616. optional bool isAnimated = 13;
  1617. optional bytes pngThumbnail = 16;
  1618. optional ContextInfo contextInfo = 17;
  1619. optional int64 stickerSentTS = 18;
  1620. optional bool isAvatar = 19;
  1621. optional bool isAiSticker = 20;
  1622. optional bool isLottie = 21;
  1623. optional string accessibilityLabel = 22;
  1624. optional MediaKeyDomain mediaKeyDomain = 23;
  1625. }
  1626. message LiveLocationMessage {
  1627. optional double degreesLatitude = 1;
  1628. optional double degreesLongitude = 2;
  1629. optional uint32 accuracyInMeters = 3;
  1630. optional float speedInMps = 4;
  1631. optional uint32 degreesClockwiseFromMagneticNorth = 5;
  1632. optional string caption = 6;
  1633. optional int64 sequenceNumber = 7;
  1634. optional uint32 timeOffset = 8;
  1635. optional bytes JPEGThumbnail = 16;
  1636. optional ContextInfo contextInfo = 17;
  1637. }
  1638. message CancelPaymentRequestMessage {
  1639. optional WACommon.MessageKey key = 1;
  1640. }
  1641. message DeclinePaymentRequestMessage {
  1642. optional WACommon.MessageKey key = 1;
  1643. }
  1644. message RequestPaymentMessage {
  1645. optional Message noteMessage = 4;
  1646. optional string currencyCodeIso4217 = 1;
  1647. optional uint64 amount1000 = 2;
  1648. optional string requestFrom = 3;
  1649. optional int64 expiryTimestamp = 5;
  1650. optional Money amount = 6;
  1651. optional PaymentBackground background = 7;
  1652. }
  1653. message SendPaymentMessage {
  1654. optional Message noteMessage = 2;
  1655. optional WACommon.MessageKey requestMessageKey = 3;
  1656. optional PaymentBackground background = 4;
  1657. optional string transactionData = 5;
  1658. }
  1659. message ContactsArrayMessage {
  1660. optional string displayName = 1;
  1661. repeated ContactMessage contacts = 2;
  1662. optional ContextInfo contextInfo = 17;
  1663. }
  1664. message InitialSecurityNotificationSettingSync {
  1665. optional bool securityNotificationEnabled = 1;
  1666. }
  1667. message FullHistorySyncOnDemandRequestMetadata {
  1668. optional string requestID = 1;
  1669. }
  1670. message AppStateFatalExceptionNotification {
  1671. repeated string collectionNames = 1;
  1672. optional int64 timestamp = 2;
  1673. }
  1674. message AppStateSyncKeyRequest {
  1675. repeated AppStateSyncKeyId keyIDs = 1;
  1676. }
  1677. message AppStateSyncKeyShare {
  1678. repeated AppStateSyncKey keys = 1;
  1679. }
  1680. message AppStateSyncKeyData {
  1681. optional bytes keyData = 1;
  1682. optional AppStateSyncKeyFingerprint fingerprint = 2;
  1683. optional int64 timestamp = 3;
  1684. }
  1685. message AppStateSyncKeyFingerprint {
  1686. optional uint32 rawID = 1;
  1687. optional uint32 currentIndex = 2;
  1688. repeated uint32 deviceIndexes = 3 [packed=true];
  1689. }
  1690. message AppStateSyncKeyId {
  1691. optional bytes keyID = 1;
  1692. }
  1693. message AppStateSyncKey {
  1694. optional AppStateSyncKeyId keyID = 1;
  1695. optional AppStateSyncKeyData keyData = 2;
  1696. }
  1697. message HistorySyncNotification {
  1698. optional bytes fileSHA256 = 1;
  1699. optional uint64 fileLength = 2;
  1700. optional bytes mediaKey = 3;
  1701. optional bytes fileEncSHA256 = 4;
  1702. optional string directPath = 5;
  1703. optional HistorySyncType syncType = 6;
  1704. optional uint32 chunkOrder = 7;
  1705. optional string originalMessageID = 8;
  1706. optional uint32 progress = 9;
  1707. optional int64 oldestMsgInChunkTimestampSec = 10;
  1708. optional bytes initialHistBootstrapInlinePayload = 11;
  1709. optional string peerDataRequestSessionID = 12;
  1710. optional FullHistorySyncOnDemandRequestMetadata fullHistorySyncOnDemandRequestMetadata = 13;
  1711. optional string encHandle = 14;
  1712. optional HistorySyncMessageAccessStatus messageAccessStatus = 15;
  1713. }
  1714. message HistorySyncMessageAccessStatus {
  1715. optional bool completeAccessGranted = 1;
  1716. }
  1717. message Chat {
  1718. optional string displayName = 1;
  1719. optional string ID = 2;
  1720. }
  1721. message Call {
  1722. optional bytes callKey = 1;
  1723. optional string conversionSource = 2;
  1724. optional bytes conversionData = 3;
  1725. optional uint32 conversionDelaySeconds = 4;
  1726. optional string ctwaSignals = 5;
  1727. optional bytes ctwaPayload = 6;
  1728. optional ContextInfo contextInfo = 7;
  1729. optional string nativeFlowCallButtonPayload = 8;
  1730. optional string deeplinkPayload = 9;
  1731. optional MessageContextInfo messageContextInfo = 10;
  1732. }
  1733. message AudioMessage {
  1734. optional string URL = 1;
  1735. optional string mimetype = 2;
  1736. optional bytes fileSHA256 = 3;
  1737. optional uint64 fileLength = 4;
  1738. optional uint32 seconds = 5;
  1739. optional bool PTT = 6;
  1740. optional bytes mediaKey = 7;
  1741. optional bytes fileEncSHA256 = 8;
  1742. optional string directPath = 9;
  1743. optional int64 mediaKeyTimestamp = 10;
  1744. optional ContextInfo contextInfo = 17;
  1745. optional bytes streamingSidecar = 18;
  1746. optional bytes waveform = 19;
  1747. optional fixed32 backgroundArgb = 20;
  1748. optional bool viewOnce = 21;
  1749. optional string accessibilityLabel = 22;
  1750. optional MediaKeyDomain mediaKeyDomain = 23;
  1751. }
  1752. message DocumentMessage {
  1753. optional string URL = 1;
  1754. optional string mimetype = 2;
  1755. optional string title = 3;
  1756. optional bytes fileSHA256 = 4;
  1757. optional uint64 fileLength = 5;
  1758. optional uint32 pageCount = 6;
  1759. optional bytes mediaKey = 7;
  1760. optional string fileName = 8;
  1761. optional bytes fileEncSHA256 = 9;
  1762. optional string directPath = 10;
  1763. optional int64 mediaKeyTimestamp = 11;
  1764. optional bool contactVcard = 12;
  1765. optional string thumbnailDirectPath = 13;
  1766. optional bytes thumbnailSHA256 = 14;
  1767. optional bytes thumbnailEncSHA256 = 15;
  1768. optional bytes JPEGThumbnail = 16;
  1769. optional ContextInfo contextInfo = 17;
  1770. optional uint32 thumbnailHeight = 18;
  1771. optional uint32 thumbnailWidth = 19;
  1772. optional string caption = 20;
  1773. optional string accessibilityLabel = 21;
  1774. optional MediaKeyDomain mediaKeyDomain = 22;
  1775. }
  1776. message URLMetadata {
  1777. optional uint32 fbExperimentID = 1;
  1778. }
  1779. message PaymentExtendedMetadata {
  1780. optional uint32 type = 1;
  1781. optional string platform = 2;
  1782. }
  1783. message MMSThumbnailMetadata {
  1784. optional string thumbnailDirectPath = 1;
  1785. optional bytes thumbnailSHA256 = 2;
  1786. optional bytes thumbnailEncSHA256 = 3;
  1787. optional bytes mediaKey = 4;
  1788. optional int64 mediaKeyTimestamp = 5;
  1789. optional uint32 thumbnailHeight = 6;
  1790. optional uint32 thumbnailWidth = 7;
  1791. optional MediaKeyDomain mediaKeyDomain = 8;
  1792. }
  1793. message LocationMessage {
  1794. optional double degreesLatitude = 1;
  1795. optional double degreesLongitude = 2;
  1796. optional string name = 3;
  1797. optional string address = 4;
  1798. optional string URL = 5;
  1799. optional bool isLive = 6;
  1800. optional uint32 accuracyInMeters = 7;
  1801. optional float speedInMps = 8;
  1802. optional uint32 degreesClockwiseFromMagneticNorth = 9;
  1803. optional string comment = 11;
  1804. optional bytes JPEGThumbnail = 16;
  1805. optional ContextInfo contextInfo = 17;
  1806. }
  1807. message ContactMessage {
  1808. optional string displayName = 1;
  1809. optional string vcard = 16;
  1810. optional ContextInfo contextInfo = 17;
  1811. }
  1812. message SenderKeyDistributionMessage {
  1813. optional string groupID = 1;
  1814. optional bytes axolotlSenderKeyDistributionMessage = 2;
  1815. }
  1816. message VideoEndCard {
  1817. required string username = 1;
  1818. required string caption = 2;
  1819. required string thumbnailImageURL = 3;
  1820. required string profilePictureURL = 4;
  1821. }
  1822. message DeviceListMetadata {
  1823. optional bytes senderKeyHash = 1;
  1824. optional uint64 senderTimestamp = 2;
  1825. repeated uint32 senderKeyIndexes = 3 [packed=true];
  1826. optional WAAdv.ADVEncryptionType senderAccountType = 4;
  1827. optional WAAdv.ADVEncryptionType receiverAccountType = 5;
  1828. optional bytes recipientKeyHash = 8;
  1829. optional uint64 recipientTimestamp = 9;
  1830. repeated uint32 recipientKeyIndexes = 10 [packed=true];
  1831. }
  1832. message EmbeddedMessage {
  1833. optional string stanzaID = 1;
  1834. optional Message message = 2;
  1835. }
  1836. message EmbeddedMusic {
  1837. optional string musicContentMediaID = 1;
  1838. optional string songID = 2;
  1839. optional string author = 3;
  1840. optional string title = 4;
  1841. optional string artworkDirectPath = 5;
  1842. optional bytes artworkSHA256 = 6;
  1843. optional bytes artworkEncSHA256 = 7;
  1844. optional string artistAttribution = 8;
  1845. optional bytes countryBlocklist = 9;
  1846. optional bool isExplicit = 10;
  1847. optional bytes artworkMediaKey = 11;
  1848. optional int64 musicSongStartTimeInMS = 12;
  1849. optional int64 derivedContentStartTimeInMS = 13;
  1850. optional int64 overlapDurationInMS = 14;
  1851. }
  1852. message EmbeddedContent {
  1853. oneof content {
  1854. EmbeddedMessage embeddedMessage = 1;
  1855. EmbeddedMusic embeddedMusic = 2;
  1856. }
  1857. }
  1858. message TapLinkAction {
  1859. optional string title = 1;
  1860. optional string tapURL = 2;
  1861. }
  1862. message Point {
  1863. optional int32 xDeprecated = 1;
  1864. optional int32 yDeprecated = 2;
  1865. optional double x = 3;
  1866. optional double y = 4;
  1867. }
  1868. message Location {
  1869. optional double degreesLatitude = 1;
  1870. optional double degreesLongitude = 2;
  1871. optional string name = 3;
  1872. }
  1873. message TemplateButton {
  1874. message CallButton {
  1875. optional HighlyStructuredMessage displayText = 1;
  1876. optional HighlyStructuredMessage phoneNumber = 2;
  1877. }
  1878. message URLButton {
  1879. optional HighlyStructuredMessage displayText = 1;
  1880. optional HighlyStructuredMessage URL = 2;
  1881. }
  1882. message QuickReplyButton {
  1883. optional HighlyStructuredMessage displayText = 1;
  1884. optional string ID = 2;
  1885. }
  1886. oneof button {
  1887. QuickReplyButton quickReplyButton = 1;
  1888. URLButton urlButton = 2;
  1889. CallButton callButton = 3;
  1890. }
  1891. optional uint32 index = 4;
  1892. }
  1893. message Money {
  1894. optional int64 value = 1;
  1895. optional uint32 offset = 2;
  1896. optional string currencyCode = 3;
  1897. }
  1898. message ActionLink {
  1899. optional string URL = 1;
  1900. optional string buttonTitle = 2;
  1901. }
  1902. message GroupMention {
  1903. optional string groupJID = 1;
  1904. optional string groupSubject = 2;
  1905. }
  1906. message MessageSecretMessage {
  1907. optional sfixed32 version = 1;
  1908. optional bytes encIV = 2;
  1909. optional bytes encPayload = 3;
  1910. }
  1911. message MediaNotifyMessage {
  1912. optional string expressPathURL = 1;
  1913. optional bytes fileEncSHA256 = 2;
  1914. optional uint64 fileLength = 3;
  1915. }
  1916. message LIDMigrationMappingSyncMessage {
  1917. optional bytes encodedMappingPayload = 1;
  1918. }
  1919. message UrlTrackingMap {
  1920. message UrlTrackingMapElement {
  1921. optional string originalURL = 1;
  1922. optional string unconsentedUsersURL = 2;
  1923. optional string consentedUsersURL = 3;
  1924. optional uint32 cardIndex = 4;
  1925. }
  1926. repeated UrlTrackingMapElement urlTrackingMapElements = 1;
  1927. }
  1928. message MemberLabel {
  1929. optional string label = 1;
  1930. optional int64 labelTimestamp = 2;
  1931. }
  1932. message AIRichResponseMessage {
  1933. optional WAAICommon.AIRichResponseMessageType messageType = 1;
  1934. repeated WAAICommon.AIRichResponseSubMessage submessages = 2;
  1935. optional WAAICommon.AIRichResponseUnifiedResponse unifiedResponse = 3;
  1936. optional ContextInfo contextInfo = 4;
  1937. }
  1938. message AIQueryFanout {
  1939. optional WACommon.MessageKey messageKey = 1;
  1940. optional Message message = 2;
  1941. optional int64 timestamp = 3;
  1942. }