WAWebProtobufsE2E.proto 58 KB

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