@smartico/public-api 0.0.420 → 0.0.421

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/ActivityLog/ActivityLogActivities.d.ts +1 -1
  2. package/dist/ActivityLog/ActivityLogEntry.d.ts +35 -17
  3. package/dist/ActivityLog/ActivityLogMeta.d.ts +31 -0
  4. package/dist/ActivityLog/GetActivityLogRequest.d.ts +2 -0
  5. package/dist/ActivityLog/GetActivityLogResponse.d.ts +1 -2
  6. package/dist/Jackpots/JackPotWinPushWinner.d.ts +34 -0
  7. package/dist/Jackpots/JackPotWinner.d.ts +3 -1
  8. package/dist/Jackpots/JackpotContributionRule.d.ts +23 -0
  9. package/dist/Jackpots/JackpotDetails.d.ts +8 -0
  10. package/dist/Jackpots/JackpotPot.d.ts +4 -2
  11. package/dist/Jackpots/JackpotPublicMeta.d.ts +6 -2
  12. package/dist/Jackpots/JackpotWinPush.d.ts +14 -2
  13. package/dist/Jackpots/index.d.ts +2 -0
  14. package/dist/SmarticoAPI.d.ts +1 -3
  15. package/dist/WSAPI/WSAPIBase.d.ts +0 -1
  16. package/dist/WSAPI/WSAPIJackpots.d.ts +2 -0
  17. package/dist/WSAPI/WSAPITypes.d.ts +17 -17
  18. package/dist/WSAPI/WSAPIUser.d.ts +11 -36
  19. package/dist/index.js +35 -128
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.modern.mjs +33 -100
  22. package/dist/index.modern.mjs.map +1 -1
  23. package/docs/Callbacks.md +1 -1
  24. package/docs/api/README.md +4 -4
  25. package/docs/api/classes/WSAPIJackpots.md +2 -0
  26. package/docs/api/classes/WSAPIUser.md +30 -59
  27. package/docs/api/documents/Callbacks.md +1 -1
  28. package/docs/api/enumerations/ActivityLogActivities.md +1 -1
  29. package/docs/api/enumerations/PointChangeSourceType.md +6 -0
  30. package/docs/api/interfaces/ActivityLogEntry.md +124 -0
  31. package/docs/api/interfaces/ActivityLogMeta.md +100 -0
  32. package/docs/api/interfaces/JackPotWinPushWinner.md +103 -0
  33. package/docs/api/interfaces/JackPotWinner.md +9 -1
  34. package/docs/api/interfaces/JackpotContributionRule.md +49 -0
  35. package/docs/api/interfaces/JackpotDetails.md +24 -0
  36. package/docs/api/interfaces/JackpotPot.md +9 -1
  37. package/docs/api/interfaces/JackpotPublicMeta.md +12 -2
  38. package/docs/api/interfaces/JackpotWinPush.md +14 -1
  39. package/docs/api/interfaces/TActivityLog.md +70 -2
  40. package/docs/api/type-aliases/TActivityLogEntry.md +7 -0
  41. package/docs/capabilities/_responses/gamePickGetActiveRound.json +37 -37
  42. package/docs/capabilities/_responses/gamePickGetActiveRounds.json +37 -131
  43. package/docs/capabilities/_responses/gamePickGetBoard.json +25 -14
  44. package/docs/capabilities/_responses/gamePickGetGameInfo.json +93 -79
  45. package/docs/capabilities/_responses/gamePickGetHistory.json +37 -131
  46. package/docs/capabilities/_responses/gamePickGetUserInfo.json +5 -5
  47. package/docs/capabilities/_responses/getActivityLog.json +106 -1
  48. package/docs/capabilities/_responses/getAvatarsCustomized.json +4 -4
  49. package/docs/capabilities/_responses/getAvatarsList.json +2 -2
  50. package/docs/capabilities/_responses/getBadges.json +27 -29
  51. package/docs/capabilities/_responses/getBonuses.json +1 -18
  52. package/docs/capabilities/_responses/getClanInfo.json +13 -13
  53. package/docs/capabilities/_responses/getClans.json +6 -6
  54. package/docs/capabilities/_responses/getCurrentLevel.json +12 -12
  55. package/docs/capabilities/_responses/getInboxMessageBody.json +2 -2
  56. package/docs/capabilities/_responses/getInboxMessages.json +6 -6
  57. package/docs/capabilities/_responses/getInboxUnreadCount.json +1 -1
  58. package/docs/capabilities/_responses/getJackpotWinners.json +14 -14
  59. package/docs/capabilities/_responses/getLeaderBoard.json +8 -8
  60. package/docs/capabilities/_responses/getMiniGames.json +92 -90
  61. package/docs/capabilities/_responses/getMiniGamesHistory.json +874 -1
  62. package/docs/capabilities/_responses/getMissions.json +2 -2
  63. package/docs/capabilities/_responses/getRaffleDrawRun.json +7 -7
  64. package/docs/capabilities/_responses/getRaffleDrawRunsHistory.json +6 -6
  65. package/docs/capabilities/_responses/getRaffles.json +14 -14
  66. package/docs/capabilities/_responses/getStorePurchasedItems.json +5 -5
  67. package/docs/capabilities/_responses/getTournamentInstanceInfo.json +100 -53
  68. package/docs/capabilities/_responses/getTournamentsList.json +12 -12
  69. package/docs/capabilities/_responses/getTranslations.json +1 -1
  70. package/docs/capabilities/_responses/getUserProfile.json +10 -10
  71. package/docs/capabilities/_responses/jackpotGet.json +33 -34
  72. package/docs/capabilities/gamePickGetActiveRound.md +22 -23
  73. package/docs/capabilities/gamePickGetActiveRounds.md +22 -23
  74. package/docs/capabilities/gamePickGetBoard.md +14 -14
  75. package/docs/capabilities/gamePickGetGameInfo.md +24 -44
  76. package/docs/capabilities/gamePickGetHistory.md +22 -23
  77. package/docs/capabilities/gamePickGetUserInfo.md +5 -5
  78. package/docs/capabilities/getActivityLog.md +69 -9
  79. package/docs/capabilities/getAvatarsCustomized.md +3 -3
  80. package/docs/capabilities/getBadges.md +13 -14
  81. package/docs/capabilities/getBonuses.md +2 -17
  82. package/docs/capabilities/getClanInfo.md +8 -8
  83. package/docs/capabilities/getClans.md +4 -4
  84. package/docs/capabilities/getCurrentLevel.md +12 -12
  85. package/docs/capabilities/getInboxMessageBody.md +2 -2
  86. package/docs/capabilities/getInboxMessages.md +3 -3
  87. package/docs/capabilities/getInboxUnreadCount.md +6 -0
  88. package/docs/capabilities/getJackpotWinners.md +9 -8
  89. package/docs/capabilities/getLeaderBoard.md +5 -5
  90. package/docs/capabilities/getMiniGames.md +35 -37
  91. package/docs/capabilities/getMiniGamesHistory.md +83 -2
  92. package/docs/capabilities/getMissions.md +1 -1
  93. package/docs/capabilities/getRaffleDrawRun.md +7 -7
  94. package/docs/capabilities/getRaffleDrawRunsHistory.md +3 -3
  95. package/docs/capabilities/getRaffles.md +8 -8
  96. package/docs/capabilities/getStorePurchasedItems.md +2 -2
  97. package/docs/capabilities/getTournamentInstanceInfo.md +45 -37
  98. package/docs/capabilities/getTournamentsList.md +6 -6
  99. package/docs/capabilities/getTranslations.md +1 -1
  100. package/docs/capabilities/getUserProfile.md +10 -10
  101. package/docs/capabilities/jackpotGet.md +56 -28
  102. package/docs/capabilities/jackpotOptIn.md +2 -0
  103. package/docs/capabilities/smarticoCallbacks.md +1 -1
  104. package/docs/native/PROTOCOL.md +141 -18
  105. package/docs/ui/jackpots/UIGuide_jackpotGet.md +1 -1
  106. package/docs/ui/user/UIGuide_getActivityLog.md +4 -2
  107. package/package.json +4 -3
  108. package/scripts/capture-responses-browser.mjs +8 -1
  109. package/src/ActivityLog/ActivityLogActivities.ts +1 -1
  110. package/src/ActivityLog/ActivityLogEntry.ts +33 -21
  111. package/src/ActivityLog/ActivityLogMeta.ts +31 -0
  112. package/src/ActivityLog/GetActivityLogRequest.ts +2 -0
  113. package/src/ActivityLog/GetActivityLogResponse.ts +23 -49
  114. package/src/Jackpots/JackPotWinPushWinner.ts +35 -0
  115. package/src/Jackpots/JackPotWinner.ts +3 -1
  116. package/src/Jackpots/JackpotContributionRule.ts +25 -0
  117. package/src/Jackpots/JackpotDetails.ts +8 -0
  118. package/src/Jackpots/JackpotPot.ts +4 -2
  119. package/src/Jackpots/JackpotPublicMeta.ts +6 -2
  120. package/src/Jackpots/JackpotWinPush.ts +14 -2
  121. package/src/Jackpots/index.ts +2 -0
  122. package/src/SmarticoAPI.ts +1 -44
  123. package/src/WSAPI/WSAPIBase.ts +0 -1
  124. package/src/WSAPI/WSAPIJackpots.ts +2 -0
  125. package/src/WSAPI/WSAPITypes.ts +18 -18
  126. package/src/WSAPI/WSAPIUser.ts +10 -53
  127. package/docs/api/interfaces/GemsDiamondsLog.md +0 -45
  128. package/docs/api/interfaces/PointsLog.md +0 -45
  129. package/docs/api/interfaces/TActivityLogEntry.md +0 -100
  130. package/docs/api/type-aliases/ActivityLogEntry.md +0 -3
  131. package/docs/capabilities/getActivityLogV2.md +0 -62
package/docs/Callbacks.md CHANGED
@@ -88,7 +88,7 @@ strings below.
88
88
  | Event key | Fires when | Handler arguments |
89
89
  |---|---|---|
90
90
  | `mini_game_win` | A mini-game spin finishes and a prize is determined. Fires for both real and visitor-mode plays. | `({ prize_id, name, visitor_win_uuid })` — `name` is the prize display name. In visitor mode, `visitor_win_uuid` can be passed to `_smartico.convertVisitorGame(uuid)` to attach the win to a real account on registration. |
91
- | `jackpot_win` | A jackpot the user participates in is hit (the pot explodes and the user is among the recipients). | `(message)` — the win payload (winner details + jackpot info). See the Jackpots UI guide (`docs/ui/jackpots/`) for how the default Smartico UI surfaces wins. |
91
+ | `jackpot_win` | A jackpot the user participates in is hit (the pot explodes). Fires both for the winner and for other players taking part in the same jackpot. | `(message)` — the win payload: `jackpot` (template + live `pot`, where `pot.explode_date_ts` is the explosion time) and `winners` (currently a single entry). `winners[0].is_me` tells you whether the recipient is the winner; `winning_game_id` / `winning_provider_id` / `bet_original_date` describe the bet that triggered the win and are `null` when unavailable. See the Jackpots UI guide (`docs/ui/jackpots/`) for how the default Smartico UI surfaces wins. |
92
92
  | `ach_game_opening` | The user taps a related / eligible casino game tile from inside the gamification widget (mission, tournament, jackpot, or store context). Use this to launch the game in your own casino lobby. | `(game)` — the game object (catalog id, name, launch links, plus a `context` field naming where it was opened from). If you do not handle this event, the default Smartico UI opens the game's configured link itself. |
93
93
 
94
94
  ### Errors
@@ -84,8 +84,7 @@
84
84
 
85
85
  ## Interfaces
86
86
 
87
- - [PointsLog](interfaces/PointsLog.md)
88
- - [GemsDiamondsLog](interfaces/GemsDiamondsLog.md)
87
+ - [ActivityLogEntry](interfaces/ActivityLogEntry.md)
89
88
  - [ActivityLogMeta](interfaces/ActivityLogMeta.md)
90
89
  - [AvatarCustomizeResponse](interfaces/AvatarCustomizeResponse.md)
91
90
  - [AvatarCustomized](interfaces/AvatarCustomized.md)
@@ -128,7 +127,9 @@
128
127
  - [GetJackpotsPotsResponse](interfaces/GetJackpotsPotsResponse.md)
129
128
  - [GetJackpotsRequest](interfaces/GetJackpotsRequest.md)
130
129
  - [GetJackpotsResponse](interfaces/GetJackpotsResponse.md)
130
+ - [JackPotWinPushWinner](interfaces/JackPotWinPushWinner.md)
131
131
  - [JackPotWinner](interfaces/JackPotWinner.md)
132
+ - [JackpotContributionRule](interfaces/JackpotContributionRule.md)
132
133
  - [JackpotDetails](interfaces/JackpotDetails.md)
133
134
  - [JackpotHtmlTemplate](interfaces/JackpotHtmlTemplate.md)
134
135
  - [JackpotPot](interfaces/JackpotPot.md)
@@ -255,7 +256,6 @@
255
256
  - [TRaffleDrawRun](interfaces/TRaffleDrawRun.md)
256
257
  - [TransformedRaffleClaimPrizeResponse](interfaces/TransformedRaffleClaimPrizeResponse.md)
257
258
  - [TActivityLog](interfaces/TActivityLog.md)
258
- - [TActivityLogEntry](interfaces/TActivityLogEntry.md)
259
259
  - [TRaffleOptinResponse](interfaces/TRaffleOptinResponse.md)
260
260
  - [TAvatarDefinition](interfaces/TAvatarDefinition.md)
261
261
  - [TAvatarCustomized](interfaces/TAvatarCustomized.md)
@@ -264,8 +264,8 @@
264
264
 
265
265
  ## Type Aliases
266
266
 
267
- - [ActivityLogEntry](type-aliases/ActivityLogEntry.md)
268
267
  - [TournamentRegistrationTypeName](type-aliases/TournamentRegistrationTypeName.md)
268
+ - [~~TActivityLogEntry~~](type-aliases/TActivityLogEntry.md)
269
269
 
270
270
  ## Variables
271
271
 
@@ -140,6 +140,8 @@ ID of the jackpot template to join.
140
140
  - The jackpot must currently be active and the user must be in its
141
141
  eligibility segment. Ineligible jackpots are filtered out of
142
142
  [jackpotGet](#jackpotget) entirely, so a card the user sees is opt-in-able.
143
+ - Skip the opt-in CTA when the template reports `is_auto_opt_in: true` —
144
+ eligible users are enrolled automatically and there is nothing to join.
143
145
 
144
146
  **Error handling**
145
147
  The server returns a non-zero `errCode` with a human-readable `errMsg`
@@ -544,15 +544,16 @@ if (next) {
544
544
 
545
545
  > **getActivityLog**(`__namedParameters`): `Promise`\<[`TActivityLog`](../interfaces/TActivityLog.md)[]\>
546
546
 
547
- Returns the user's unified balance-change history — every points, gems, and
548
- diamonds transaction within the requested time window, ordered newest-first.
549
- Use to power an "Activity" / "History" tab showing wins, claims, purchases,
550
- level-up rewards, and operator adjustments.
547
+ Returns the user's activity history within the requested time window,
548
+ ordered newest-first. Today that is primarily wallet changes (points /
549
+ gems / diamonds); when the server starts returning richer activity rows
550
+ (missions, badges, levels, …), the same method surfaces them via optional
551
+ fields on [TActivityLog](../interfaces/TActivityLog.md) — no separate call, same wire CID.
551
552
 
552
- The returned shape is the same regardless of currency type — `type` (see
553
- [UserBalanceType](../enumerations/UserBalanceType.md)) distinguishes points / gems / diamonds and
554
- `source_type_id` (see [PointChangeSourceType](../enumerations/PointChangeSourceType.md)) names the originating
555
- event.
553
+ Existing wallet fields (`type`, `amount`, `balance`, `source_type_id`, …)
554
+ stay stable. Clients that only read those keep working; clients that want
555
+ the fuller feed can also read `activity_type_id`, `meta`,
556
+ `source_entity_*`, and `is_wallet_entry` when present.
556
557
 
557
558
  #### Parameters
558
559
 
@@ -582,6 +583,18 @@ Pagination offset (0-based).
582
583
 
583
584
  Pagination ceiling (exclusive); server caps `to - from` at 50.
584
585
 
586
+ ###### types?
587
+
588
+ `number`[]
589
+
590
+ Optional — filter by [ActivityLogActivities](../enumerations/ActivityLogActivities.md) / `type_id`.
591
+
592
+ ###### src_types?
593
+
594
+ `number`[]
595
+
596
+ Optional — filter by [PointChangeSourceType](../enumerations/PointChangeSourceType.md) / `source_type_id`.
597
+
585
598
  ###### onUpdate?
586
599
 
587
600
  (`data`) => `void`
@@ -606,13 +619,18 @@ hard-caps a single response at 50 entries. For infinite scroll, advance
606
619
  `from` by 50 between calls. Both `startTimeSeconds` and `endTimeSeconds`
607
620
  are epoch seconds bounding the window the server scans.
608
621
 
622
+ **Filtering** — optional server-side filters:
623
+ - `types` — [ActivityLogActivities](../enumerations/ActivityLogActivities.md) / `type_id` values (e.g. Points=3, Gems=1)
624
+ - `src_types` — [PointChangeSourceType](../enumerations/PointChangeSourceType.md) / `source_type_id` values
625
+ Omit both for an unfiltered window.
626
+
609
627
  **Subscription model (`onUpdate`)**
610
628
  The callback fires when the user's `ach_points_balance`,
611
629
  `ach_gems_balance`, or `ach_diamonds_balance` changes (i.e. whenever a
612
630
  wallet event lands). The pushed payload is a FIXED re-fetch of the
613
631
  **last 10 minutes / first 50 entries** — it does NOT honor the original
614
- call's `startTimeSeconds` / `endTimeSeconds` / `from` / `to`. Consumers
615
- maintaining a long historical view must re-call `getActivityLog` with
632
+ call's `startTimeSeconds` / `endTimeSeconds` / `from` / `to` / filters.
633
+ Consumers maintaining a long historical view must re-call `getActivityLog` with
616
634
  their own params after receiving an `onUpdate` notification.
617
635
 
618
636
  **Refresh**
@@ -635,6 +653,8 @@ const log = await window._smartico.api.getActivityLog({
635
653
  endTimeSeconds: now,
636
654
  from: 0,
637
655
  to: 50,
656
+ types: [1], // Gems only (ActivityLogActivities.Gems)
657
+ src_types: [11], // Tournament wins only (PointChangeSourceType.Tournament)
638
658
  onUpdate: (refreshed) => {
639
659
  console.log('[smartico] wallet changed — refreshed payload is last 10 min / 50 entries:', refreshed.length, 'rows');
640
660
  // If the consumer is showing a full 30-day view, re-call getActivityLog with the original params here.
@@ -646,52 +666,3 @@ for (const row of log) {
646
666
  console.log('[smartico] activity row — render with', row.type === 0 ? 'points' : row.type === 1 ? 'gems' : 'diamonds', 'icon, color by sign:', sign + row.amount, 'balance after:', row.balance, 'source:', row.source_type_id);
647
667
  }
648
668
  ```
649
-
650
- ***
651
-
652
- ### getActivityLogV2()
653
-
654
- > **getActivityLogV2**(`__namedParameters`): `Promise`\<[`TActivityLogEntry`](../interfaces/TActivityLogEntry.md)[]\>
655
-
656
- Returns the full activity log (v2) — wallet changes **and** non-wallet
657
- activities (missions, badges, levels, tournaments, avatars, …).
658
-
659
- **Backwards compatibility**: existing integrations should keep using
660
- [getActivityLog](#getactivitylog), which returns wallet-only [TActivityLog](../interfaces/TActivityLog.md)
661
- rows with the original field contract unchanged.
662
-
663
- **Pagination** — same `from` / `to` offset model as [getActivityLog](#getactivitylog)
664
- (server caps a single response at 50 entries).
665
-
666
- **Filtering** — pass `types` with [ActivityLogActivities](../enumerations/ActivityLogActivities.md) values to
667
- request a server-side subset (e.g. missions only). Omit for all activity types.
668
-
669
- #### Parameters
670
-
671
- ##### \_\_namedParameters
672
-
673
- ###### startTimeSeconds
674
-
675
- `number`
676
-
677
- ###### endTimeSeconds
678
-
679
- `number`
680
-
681
- ###### from
682
-
683
- `number`
684
-
685
- ###### to
686
-
687
- `number`
688
-
689
- ###### types?
690
-
691
- `number`[]
692
-
693
- #### Returns
694
-
695
- `Promise`\<[`TActivityLogEntry`](../interfaces/TActivityLogEntry.md)[]\>
696
-
697
- Array of [TActivityLogEntry](../interfaces/TActivityLogEntry.md) ordered newest-first.
@@ -88,7 +88,7 @@ strings below.
88
88
  | Event key | Fires when | Handler arguments |
89
89
  |---|---|---|
90
90
  | `mini_game_win` | A mini-game spin finishes and a prize is determined. Fires for both real and visitor-mode plays. | `({ prize_id, name, visitor_win_uuid })` — `name` is the prize display name. In visitor mode, `visitor_win_uuid` can be passed to `_smartico.convertVisitorGame(uuid)` to attach the win to a real account on registration. |
91
- | `jackpot_win` | A jackpot the user participates in is hit (the pot explodes and the user is among the recipients). | `(message)` — the win payload (winner details + jackpot info). See the Jackpots UI guide (`docs/ui/jackpots/`) for how the default Smartico UI surfaces wins. |
91
+ | `jackpot_win` | A jackpot the user participates in is hit (the pot explodes). Fires both for the winner and for other players taking part in the same jackpot. | `(message)` — the win payload: `jackpot` (template + live `pot`, where `pot.explode_date_ts` is the explosion time) and `winners` (currently a single entry). `winners[0].is_me` tells you whether the recipient is the winner; `winning_game_id` / `winning_provider_id` / `bet_original_date` describe the bet that triggered the win and are `null` when unavailable. See the Jackpots UI guide (`docs/ui/jackpots/`) for how the default Smartico UI surfaces wins. |
92
92
  | `ach_game_opening` | The user taps a related / eligible casino game tile from inside the gamification widget (mission, tournament, jackpot, or store context). Use this to launch the game in your own casino lobby. | `(game)` — the game object (catalog id, name, launch links, plus a `context` field naming where it was opened from). If you do not handle this event, the default Smartico UI opens the game's configured link itself. |
93
93
 
94
94
  ### Errors
@@ -1,6 +1,6 @@
1
1
  # Enumeration: ActivityLogActivities
2
2
 
3
- Activity-log entry type as returned on the v2 wire (`type_id`).
3
+ Activity-log entry type as returned on the wire (`type_id`).
4
4
 
5
5
  ## Enumeration Members
6
6
 
@@ -98,6 +98,12 @@
98
98
 
99
99
  ***
100
100
 
101
+ ### Jackpot
102
+
103
+ > **Jackpot**: `20`
104
+
105
+ ***
106
+
101
107
  ### Raffle
102
108
 
103
109
  > **Raffle**: `21`
@@ -0,0 +1,124 @@
1
+ # Interface: ActivityLogEntry
2
+
3
+ One raw activity-log row as it arrives on the wire.
4
+
5
+ JS consumers receive the friendlier [TActivityLog](TActivityLog.md) instead — this is the
6
+ pre-transform shape, documented for native clients that read the protocol directly.
7
+
8
+ ## Properties
9
+
10
+ ### create\_date
11
+
12
+ > **create\_date**: `object`
13
+
14
+ Creation time; `seconds` is the epoch value in SECONDS (not ms).
15
+
16
+ #### seconds
17
+
18
+ > **seconds**: `number`
19
+
20
+ #### nanos?
21
+
22
+ > `optional` **nanos?**: `number`
23
+
24
+ ***
25
+
26
+ ### user\_ext\_id
27
+
28
+ > **user\_ext\_id**: `string`
29
+
30
+ ***
31
+
32
+ ### crm\_brand\_id
33
+
34
+ > **crm\_brand\_id**: `string`
35
+
36
+ Sent as a string on the wire.
37
+
38
+ ***
39
+
40
+ ### type
41
+
42
+ > **type**: [`ActivityLogActivities`](../enumerations/ActivityLogActivities.md)
43
+
44
+ Kind of activity this row records.
45
+
46
+ ***
47
+
48
+ ### ctx\_1
49
+
50
+ > **ctx\_1**: `number`
51
+
52
+ Sub-action within `type` (e.g. unlock vs complete, add vs deduct).
53
+
54
+ ***
55
+
56
+ ### ctx\_meta?
57
+
58
+ > `optional` **ctx\_meta?**: [`ActivityLogMeta`](ActivityLogMeta.md)
59
+
60
+ Extra display payload for the row; contents vary by `type`.
61
+
62
+ ***
63
+
64
+ ### source\_type\_id
65
+
66
+ > **source\_type\_id**: [`PointChangeSourceType`](../enumerations/PointChangeSourceType.md)
67
+
68
+ What triggered the change.
69
+
70
+ ***
71
+
72
+ ### source\_ref\_id
73
+
74
+ > **source\_ref\_id**: `number`
75
+
76
+ More specific id within the source (e.g. level id, draw id, win id).
77
+
78
+ ***
79
+
80
+ ### source\_root\_id
81
+
82
+ > **source\_root\_id**: `number`
83
+
84
+ Root / parent entity id when the source is nested.
85
+
86
+ ***
87
+
88
+ ### amount
89
+
90
+ > **amount**: `number`
91
+
92
+ Delta applied by this row, in the balance named by `type`.
93
+
94
+ ***
95
+
96
+ ### balance
97
+
98
+ > **balance**: `number`
99
+
100
+ Balance after this row, in the balance named by `type`.
101
+
102
+ ***
103
+
104
+ ### user\_points\_balance?
105
+
106
+ > `optional` **user\_points\_balance?**: `number`
107
+
108
+ Points balance after this row; points rows only.
109
+
110
+ ***
111
+
112
+ ### user\_points\_ever?
113
+
114
+ > `optional` **user\_points\_ever?**: `number`
115
+
116
+ Total points ever collected after this row; points rows only.
117
+
118
+ ***
119
+
120
+ ### points\_collected?
121
+
122
+ > `optional` **points\_collected?**: `number`
123
+
124
+ Placeholder on points rows (`-1`) — read `amount` for the real delta.
@@ -1,11 +1,17 @@
1
1
  # Interface: ActivityLogMeta
2
2
 
3
+ Extra display payload attached to an activity-log row (`ctx_meta` on the wire).
4
+ Which keys are present depends on the row's activity type — treat every field
5
+ as optional and render only what is there.
6
+
3
7
  ## Properties
4
8
 
5
9
  ### name?
6
10
 
7
11
  > `optional` **name?**: `string`
8
12
 
13
+ Display name of the source entity (mission, tournament, raffle, …).
14
+
9
15
  ***
10
16
 
11
17
  ### image\_url?
@@ -24,14 +30,108 @@
24
30
 
25
31
  > `optional` **user\_points\_balance\_before?**: `number`
26
32
 
33
+ Points balance before this row; points rows.
34
+
27
35
  ***
28
36
 
29
37
  ### points\_requested?
30
38
 
31
39
  > `optional` **points\_requested?**: `number`
32
40
 
41
+ Points the awarding rule asked for; points rows.
42
+
33
43
  ***
34
44
 
35
45
  ### user\_points\_ever?
36
46
 
37
47
  > `optional` **user\_points\_ever?**: `number`
48
+
49
+ Total points ever collected after this row; points rows.
50
+
51
+ ***
52
+
53
+ ### amount\_requested?
54
+
55
+ > `optional` **amount\_requested?**: `number`
56
+
57
+ Gems / diamonds the awarding rule asked for; gems / diamonds rows.
58
+
59
+ ***
60
+
61
+ ### balance\_before?
62
+
63
+ > `optional` **balance\_before?**: `number`
64
+
65
+ Gems / diamonds balance before this row.
66
+
67
+ ***
68
+
69
+ ### affects\_level?
70
+
71
+ > `optional` **affects\_level?**: `boolean`
72
+
73
+ Whether this row counts toward level progress.
74
+
75
+ ***
76
+
77
+ ### affects\_leaderboard?
78
+
79
+ > `optional` **affects\_leaderboard?**: `boolean`
80
+
81
+ Whether this row counts toward leaderboards.
82
+
83
+ ***
84
+
85
+ ### affects\_current\_balance?
86
+
87
+ > `optional` **affects\_current\_balance?**: `boolean`
88
+
89
+ Whether this row moved the spendable balance.
90
+
91
+ ***
92
+
93
+ ### user\_initialization?
94
+
95
+ > `optional` **user\_initialization?**: `boolean`
96
+
97
+ Set on the row that seeds a brand-new user's wallet.
98
+
99
+ ***
100
+
101
+ ### is\_recurring?
102
+
103
+ > `optional` **is\_recurring?**: `boolean`
104
+
105
+ Set on mission rows for repeatable missions.
106
+
107
+ ***
108
+
109
+ ### from\_level\_id?
110
+
111
+ > `optional` **from\_level\_id?**: `number`
112
+
113
+ Level moved from; level-change rows.
114
+
115
+ ***
116
+
117
+ ### to\_level\_id?
118
+
119
+ > `optional` **to\_level\_id?**: `number`
120
+
121
+ Level moved to; level-change rows.
122
+
123
+ ***
124
+
125
+ ### from\_level\_public\_meta?
126
+
127
+ > `optional` **from\_level\_public\_meta?**: `any`
128
+
129
+ Public meta of the level moved from; level-change rows.
130
+
131
+ ***
132
+
133
+ ### to\_level\_public\_meta?
134
+
135
+ > `optional` **to\_level\_public\_meta?**: `any`
136
+
137
+ Public meta of the level moved to; level-change rows.
@@ -0,0 +1,103 @@
1
+ # Interface: JackPotWinPushWinner
2
+
3
+ One winner entry inside a [JackpotWinPush](JackpotWinPush.md).
4
+
5
+ Distinct from [JackPotWinner](JackPotWinner.md), which is the winner shape returned by the
6
+ `getJackpotWinners()` history — the live win push carries bet / trigger context
7
+ and no avatar.
8
+
9
+ ## Properties
10
+
11
+ ### user\_id
12
+
13
+ > **user\_id**: `number`
14
+
15
+ Smartico user ID of the winner
16
+
17
+ ***
18
+
19
+ ### ext\_user\_id
20
+
21
+ > **ext\_user\_id**: `string`
22
+
23
+ Operator's external user ID of the winner
24
+
25
+ ***
26
+
27
+ ### is\_me
28
+
29
+ > **is\_me**: `boolean`
30
+
31
+ Flag indicating that this copy of the push was delivered to the winner themselves
32
+
33
+ ***
34
+
35
+ ### public\_username
36
+
37
+ > **public\_username**: `string`
38
+
39
+ Name of the winner, masked for everyone except `is_me` unless masking is disabled by request to Smartico AM team
40
+
41
+ ***
42
+
43
+ ### public\_username\_custom
44
+
45
+ > **public\_username\_custom**: `string`
46
+
47
+ Custom display name; falls back to `public_username` when not set
48
+
49
+ ***
50
+
51
+ ### winning\_amount\_jp\_currency
52
+
53
+ > **winning\_amount\_jp\_currency**: `number`
54
+
55
+ Won amount in the Jackpot currency; real and bonus parts are combined
56
+
57
+ ***
58
+
59
+ ### winning\_amount\_wallet\_currency
60
+
61
+ > **winning\_amount\_wallet\_currency**: `number`
62
+
63
+ Won amount in the user Wallet currency; real and bonus parts are combined
64
+
65
+ ***
66
+
67
+ ### winning\_position
68
+
69
+ > **winning\_position**: `number`
70
+
71
+ Position of the winner. Relevant for jackpots where there could be multiple winners
72
+
73
+ ***
74
+
75
+ ### winning\_game\_id
76
+
77
+ > **winning\_game\_id**: `string`
78
+
79
+ External game ID of the game whose bet triggered the win; `null` when the triggering bet context is unavailable
80
+
81
+ ***
82
+
83
+ ### winning\_provider\_id
84
+
85
+ > **winning\_provider\_id**: `string`
86
+
87
+ External provider ID of the triggering game's provider; `null` when the triggering bet context is unavailable
88
+
89
+ ***
90
+
91
+ ### bet\_original\_date
92
+
93
+ > **bet\_original\_date**: `number`
94
+
95
+ Placement time of the triggering bet as reported by the operator (epoch milliseconds) — not the time Smartico processed it; `null` when unavailable
96
+
97
+ ***
98
+
99
+ ### pending\_approve?
100
+
101
+ > `optional` **pending\_approve?**: `boolean`
102
+
103
+ Present only on the `is_me` copy; `true` while the win awaits manual approval before payout
@@ -46,4 +46,12 @@ Position of the winner. Relevant for jackpots where there could be multiple winn
46
46
 
47
47
  > **avatar\_id**: `string`
48
48
 
49
- Avatar of the winner
49
+ Avatar image URL of the winner
50
+
51
+ ***
52
+
53
+ ### avatar\_real\_id
54
+
55
+ > **avatar\_real\_id**: `number`
56
+
57
+ Numeric ID of the winner's avatar; `null` when the winner has not picked one
@@ -0,0 +1,49 @@
1
+ # Interface: JackpotContributionRule
2
+
3
+ One per-game / per-provider override of a jackpot's default contribution.
4
+
5
+ When a qualifying bet matches a rule's `extEntityIds`, that rule's
6
+ `contributionValue` and `type` are used instead of the template-level
7
+ `contribution_value` / `contribution_type`. Rules are informational for
8
+ consumers — the server applies them. Note the camelCase field names; the rest
9
+ of the jackpot payload is snake_case.
10
+
11
+ ## Properties
12
+
13
+ ### ruleId
14
+
15
+ > **ruleId**: `number`
16
+
17
+ Stable ID of the rule within its template
18
+
19
+ ***
20
+
21
+ ### jpTemplateId
22
+
23
+ > **jpTemplateId**: `number`
24
+
25
+ Template this rule belongs to
26
+
27
+ ***
28
+
29
+ ### type
30
+
31
+ > **type**: [`JackpotContributionType`](../enumerations/JackpotContributionType.md)
32
+
33
+ Whether `contributionValue` is a fixed amount or a percentage; see [JackpotContributionType](../enumerations/JackpotContributionType.md)
34
+
35
+ ***
36
+
37
+ ### extEntityIds
38
+
39
+ > **extEntityIds**: `string`[]
40
+
41
+ Operator-side game or provider IDs this rule applies to
42
+
43
+ ***
44
+
45
+ ### contributionValue
46
+
47
+ > **contributionValue**: `number`
48
+
49
+ Contribution to apply for matching bets — fixed amount or percentage depending on `type`
@@ -61,6 +61,22 @@ Amount of contribution per qualifying bet — fixed value or percentage dependin
61
61
 
62
62
  ***
63
63
 
64
+ ### contribution\_rules
65
+
66
+ > **contribution\_rules**: [`JackpotContributionRule`](JackpotContributionRule.md)[]
67
+
68
+ Per-game / per-provider overrides of `contribution_type` + `contribution_value`; see [JackpotContributionRule](JackpotContributionRule.md). Empty when the template contributes at a flat rate.
69
+
70
+ ***
71
+
72
+ ### related\_games
73
+
74
+ > **related\_games**: [`AchRelatedGame`](AchRelatedGame.md)[]
75
+
76
+ Reserved — the server currently always sends an empty array. Use `getJackpotEligibleGames()` for the eligible-games list.
77
+
78
+ ***
79
+
64
80
  ### pot
65
81
 
66
82
  > **pot**: [`JackpotPot`](JackpotPot.md)
@@ -77,6 +93,14 @@ Live pot snapshot (amount, temperature, last explosion timestamp).
77
93
 
78
94
  ***
79
95
 
96
+ ### is\_auto\_opt\_in
97
+
98
+ > **is\_auto\_opt\_in**: `boolean`
99
+
100
+ `true` when eligible users are opted in automatically, so no opt-in CTA is needed; `false` means `jackpotOptIn()` must be called explicitly.
101
+
102
+ ***
103
+
80
104
  ### ach\_related\_game\_allow\_all
81
105
 
82
106
  > **ach\_related\_game\_allow\_all**: `boolean`
@@ -41,7 +41,15 @@ Current pot amount converted to the user's wallet currency (`user_currency`).
41
41
 
42
42
  > **explode\_date\_ts**: `number`
43
43
 
44
- Unix ms timestamp of when this pot last exploded; `0` if it has never exploded.
44
+ Unix ms timestamp of when this pot last exploded; `null` while the pot is still running.
45
+
46
+ ***
47
+
48
+ ### user\_id
49
+
50
+ > **user\_id**: `number`
51
+
52
+ Owning user for `JackpotType.Personal` pots; `null` for shared `MultiUser` pots.
45
53
 
46
54
  ***
47
55