@snagsolutions/sdk 0.1.0-alpha.21 → 0.1.0-alpha.210

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 (273) hide show
  1. package/CHANGELOG.md +1703 -0
  2. package/LICENSE +1 -1
  3. package/README.md +15 -23
  4. package/core.d.ts +19 -5
  5. package/core.d.ts.map +1 -1
  6. package/core.js +24 -17
  7. package/core.js.map +1 -1
  8. package/core.mjs +24 -17
  9. package/core.mjs.map +1 -1
  10. package/index.d.mts +7 -4
  11. package/index.d.ts +7 -4
  12. package/index.d.ts.map +1 -1
  13. package/index.js +8 -4
  14. package/index.js.map +1 -1
  15. package/index.mjs +8 -4
  16. package/index.mjs.map +1 -1
  17. package/package.json +4 -5
  18. package/resource.d.ts +1 -1
  19. package/resource.d.ts.map +1 -1
  20. package/resource.js.map +1 -1
  21. package/resource.mjs.map +1 -1
  22. package/resources/assets.d.ts +16 -2
  23. package/resources/assets.d.ts.map +1 -1
  24. package/resources/assets.js +8 -0
  25. package/resources/assets.js.map +1 -1
  26. package/resources/assets.mjs +8 -0
  27. package/resources/assets.mjs.map +1 -1
  28. package/resources/auctions/auctions.d.ts +368 -0
  29. package/resources/auctions/auctions.d.ts.map +1 -0
  30. package/resources/auctions/auctions.js +72 -0
  31. package/resources/auctions/auctions.js.map +1 -0
  32. package/resources/auctions/auctions.mjs +45 -0
  33. package/resources/auctions/auctions.mjs.map +1 -0
  34. package/resources/auctions/index.d.ts +3 -0
  35. package/resources/auctions/index.d.ts.map +1 -0
  36. package/resources/auctions/index.js +9 -0
  37. package/resources/auctions/index.js.map +1 -0
  38. package/resources/auctions/index.mjs +4 -0
  39. package/resources/auctions/index.mjs.map +1 -0
  40. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  41. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  42. package/resources/auctions/website-user-attributes/index.js +9 -0
  43. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  44. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  45. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts +126 -0
  47. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  48. package/resources/auctions/website-user-attributes/values.js +49 -0
  49. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  50. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  51. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  52. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
  53. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  57. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  58. package/resources/auctions/website-user-attributes.d.ts +2 -0
  59. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  60. package/resources/auctions/website-user-attributes.js +19 -0
  61. package/resources/auctions/website-user-attributes.js.map +1 -0
  62. package/resources/auctions/website-user-attributes.mjs +3 -0
  63. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  64. package/resources/auctions.d.ts +1 -133
  65. package/resources/auctions.d.ts.map +1 -1
  66. package/resources/auctions.js +15 -22
  67. package/resources/auctions.js.map +1 -1
  68. package/resources/auctions.mjs +1 -20
  69. package/resources/auctions.mjs.map +1 -1
  70. package/resources/auth.d.ts +17 -4
  71. package/resources/auth.d.ts.map +1 -1
  72. package/resources/auth.js.map +1 -1
  73. package/resources/auth.mjs.map +1 -1
  74. package/resources/index.d.ts +2 -2
  75. package/resources/index.d.ts.map +1 -1
  76. package/resources/index.js +1 -1
  77. package/resources/index.js.map +1 -1
  78. package/resources/index.mjs +1 -1
  79. package/resources/index.mjs.map +1 -1
  80. package/resources/loyalty/account-streaks.d.ts +96 -0
  81. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  82. package/resources/loyalty/account-streaks.js +24 -0
  83. package/resources/loyalty/account-streaks.js.map +1 -0
  84. package/resources/loyalty/account-streaks.mjs +20 -0
  85. package/resources/loyalty/account-streaks.mjs.map +1 -0
  86. package/resources/loyalty/accounts.d.ts +60 -16
  87. package/resources/loyalty/accounts.d.ts.map +1 -1
  88. package/resources/loyalty/accounts.js +14 -0
  89. package/resources/loyalty/accounts.js.map +1 -1
  90. package/resources/loyalty/accounts.mjs +14 -0
  91. package/resources/loyalty/accounts.mjs.map +1 -1
  92. package/resources/loyalty/badges.d.ts +666 -135
  93. package/resources/loyalty/badges.d.ts.map +1 -1
  94. package/resources/loyalty/badges.js +19 -1
  95. package/resources/loyalty/badges.js.map +1 -1
  96. package/resources/loyalty/badges.mjs +19 -1
  97. package/resources/loyalty/badges.mjs.map +1 -1
  98. package/resources/loyalty/currencies.d.ts +19 -0
  99. package/resources/loyalty/currencies.d.ts.map +1 -1
  100. package/resources/loyalty/currencies.js +19 -0
  101. package/resources/loyalty/currencies.js.map +1 -1
  102. package/resources/loyalty/currencies.mjs +19 -0
  103. package/resources/loyalty/currencies.mjs.map +1 -1
  104. package/resources/loyalty/index.d.ts +4 -4
  105. package/resources/loyalty/index.d.ts.map +1 -1
  106. package/resources/loyalty/index.js +5 -5
  107. package/resources/loyalty/index.js.map +1 -1
  108. package/resources/loyalty/index.mjs +3 -3
  109. package/resources/loyalty/index.mjs.map +1 -1
  110. package/resources/loyalty/loyalty.d.ts +11 -11
  111. package/resources/loyalty/loyalty.d.ts.map +1 -1
  112. package/resources/loyalty/loyalty.js +6 -6
  113. package/resources/loyalty/loyalty.js.map +1 -1
  114. package/resources/loyalty/loyalty.mjs +7 -7
  115. package/resources/loyalty/loyalty.mjs.map +1 -1
  116. package/resources/loyalty/multipliers.d.ts +39 -2
  117. package/resources/loyalty/multipliers.d.ts.map +1 -1
  118. package/resources/loyalty/multipliers.js +23 -0
  119. package/resources/loyalty/multipliers.js.map +1 -1
  120. package/resources/loyalty/multipliers.mjs +23 -0
  121. package/resources/loyalty/multipliers.mjs.map +1 -1
  122. package/resources/loyalty/questions-responses.d.ts +55 -4
  123. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  124. package/resources/loyalty/questions-responses.js +9 -0
  125. package/resources/loyalty/questions-responses.js.map +1 -1
  126. package/resources/loyalty/questions-responses.mjs +9 -0
  127. package/resources/loyalty/questions-responses.mjs.map +1 -1
  128. package/resources/loyalty/questions.d.ts +60 -6
  129. package/resources/loyalty/questions.d.ts.map +1 -1
  130. package/resources/loyalty/questions.js +39 -0
  131. package/resources/loyalty/questions.js.map +1 -1
  132. package/resources/loyalty/questions.mjs +39 -0
  133. package/resources/loyalty/questions.mjs.map +1 -1
  134. package/resources/loyalty/rule-edits.d.ts +2714 -8
  135. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  136. package/resources/loyalty/rule-edits.js +14 -0
  137. package/resources/loyalty/rule-edits.js.map +1 -1
  138. package/resources/loyalty/rule-edits.mjs +14 -0
  139. package/resources/loyalty/rule-edits.mjs.map +1 -1
  140. package/resources/loyalty/rule-groups.d.ts +300 -64
  141. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  142. package/resources/loyalty/rule-groups.js +38 -2
  143. package/resources/loyalty/rule-groups.js.map +1 -1
  144. package/resources/loyalty/rule-groups.mjs +38 -2
  145. package/resources/loyalty/rule-groups.mjs.map +1 -1
  146. package/resources/loyalty/rules.d.ts +2036 -290
  147. package/resources/loyalty/rules.d.ts.map +1 -1
  148. package/resources/loyalty/rules.js +40 -9
  149. package/resources/loyalty/rules.js.map +1 -1
  150. package/resources/loyalty/rules.mjs +40 -9
  151. package/resources/loyalty/rules.mjs.map +1 -1
  152. package/resources/loyalty/transactions/index.d.ts +3 -0
  153. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  154. package/resources/loyalty/transactions/index.js +9 -0
  155. package/resources/loyalty/transactions/index.js.map +1 -0
  156. package/resources/loyalty/transactions/index.mjs +4 -0
  157. package/resources/loyalty/transactions/index.mjs.map +1 -0
  158. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  159. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  160. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  161. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  162. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  163. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  164. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  165. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  166. package/resources/loyalty/transactions/transactions.js +76 -0
  167. package/resources/loyalty/transactions/transactions.js.map +1 -0
  168. package/resources/loyalty/transactions/transactions.mjs +49 -0
  169. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  170. package/resources/loyalty/transactions.d.ts +1 -248
  171. package/resources/loyalty/transactions.d.ts.map +1 -1
  172. package/resources/loyalty/transactions.js +15 -18
  173. package/resources/loyalty/transactions.js.map +1 -1
  174. package/resources/loyalty/transactions.mjs +1 -16
  175. package/resources/loyalty/transactions.mjs.map +1 -1
  176. package/resources/minting.d.ts +5 -5
  177. package/resources/minting.d.ts.map +1 -1
  178. package/resources/referral/referral.d.ts +12 -3
  179. package/resources/referral/referral.d.ts.map +1 -1
  180. package/resources/referral/referral.js +11 -5
  181. package/resources/referral/referral.js.map +1 -1
  182. package/resources/referral/referral.mjs +11 -5
  183. package/resources/referral/referral.mjs.map +1 -1
  184. package/resources/referral/users.d.ts +30 -3
  185. package/resources/referral/users.d.ts.map +1 -1
  186. package/resources/referral/users.js +12 -4
  187. package/resources/referral/users.js.map +1 -1
  188. package/resources/referral/users.mjs +12 -4
  189. package/resources/referral/users.mjs.map +1 -1
  190. package/resources/users/index.d.ts +1 -1
  191. package/resources/users/index.d.ts.map +1 -1
  192. package/resources/users/index.js.map +1 -1
  193. package/resources/users/index.mjs.map +1 -1
  194. package/resources/users/metadatas.d.ts +36 -3
  195. package/resources/users/metadatas.d.ts.map +1 -1
  196. package/resources/users/metadatas.js.map +1 -1
  197. package/resources/users/metadatas.mjs.map +1 -1
  198. package/resources/users/users.d.ts +192 -35
  199. package/resources/users/users.d.ts.map +1 -1
  200. package/resources/users/users.js +58 -1
  201. package/resources/users/users.js.map +1 -1
  202. package/resources/users/users.mjs +58 -1
  203. package/resources/users/users.mjs.map +1 -1
  204. package/resources/websites/website-collections.d.ts +22 -1
  205. package/resources/websites/website-collections.d.ts.map +1 -1
  206. package/resources/websites/website-collections.js +21 -0
  207. package/resources/websites/website-collections.js.map +1 -1
  208. package/resources/websites/website-collections.mjs +21 -0
  209. package/resources/websites/website-collections.mjs.map +1 -1
  210. package/resources/websites/website-user-roles.d.ts +24 -1
  211. package/resources/websites/website-user-roles.d.ts.map +1 -1
  212. package/resources/websites/website-user-roles.js +23 -0
  213. package/resources/websites/website-user-roles.js.map +1 -1
  214. package/resources/websites/website-user-roles.mjs +23 -0
  215. package/resources/websites/website-user-roles.mjs.map +1 -1
  216. package/resources/websites/websites.d.ts +12 -0
  217. package/resources/websites/websites.d.ts.map +1 -1
  218. package/resources/websites/websites.js +7 -0
  219. package/resources/websites/websites.js.map +1 -1
  220. package/resources/websites/websites.mjs +7 -0
  221. package/resources/websites/websites.mjs.map +1 -1
  222. package/src/core.ts +39 -16
  223. package/src/index.ts +31 -2
  224. package/src/resource.ts +1 -1
  225. package/src/resources/assets.ts +18 -3
  226. package/src/resources/auctions/auctions.ts +561 -0
  227. package/src/resources/auctions/index.ts +19 -0
  228. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  229. package/src/resources/auctions/website-user-attributes/values.ts +170 -0
  230. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
  231. package/src/resources/auctions/website-user-attributes.ts +3 -0
  232. package/src/resources/auctions.ts +1 -207
  233. package/src/resources/auth.ts +21 -5
  234. package/src/resources/index.ts +12 -1
  235. package/src/resources/loyalty/account-streaks.ts +128 -0
  236. package/src/resources/loyalty/accounts.ts +65 -18
  237. package/src/resources/loyalty/badges.ts +790 -146
  238. package/src/resources/loyalty/currencies.ts +19 -0
  239. package/src/resources/loyalty/index.ts +19 -3
  240. package/src/resources/loyalty/loyalty.ts +39 -15
  241. package/src/resources/loyalty/multipliers.ts +43 -4
  242. package/src/resources/loyalty/questions-responses.ts +64 -4
  243. package/src/resources/loyalty/questions.ts +64 -6
  244. package/src/resources/loyalty/rule-edits.ts +3942 -100
  245. package/src/resources/loyalty/rule-groups.ts +527 -76
  246. package/src/resources/loyalty/rules.ts +3143 -301
  247. package/src/resources/loyalty/transactions/index.ts +18 -0
  248. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  249. package/src/resources/loyalty/transactions/transactions.ts +699 -0
  250. package/src/resources/loyalty/transactions.ts +1 -440
  251. package/src/resources/minting.ts +25 -5
  252. package/src/resources/referral/referral.ts +15 -11
  253. package/src/resources/referral/users.ts +45 -5
  254. package/src/resources/users/index.ts +4 -0
  255. package/src/resources/users/metadatas.ts +61 -3
  256. package/src/resources/users/users.ts +259 -38
  257. package/src/resources/websites/website-collections.ts +42 -1
  258. package/src/resources/websites/website-user-roles.ts +25 -1
  259. package/src/resources/websites/websites.ts +12 -0
  260. package/src/version.ts +1 -1
  261. package/version.d.ts +1 -1
  262. package/version.d.ts.map +1 -1
  263. package/version.js +1 -1
  264. package/version.js.map +1 -1
  265. package/version.mjs +1 -1
  266. package/version.mjs.map +1 -1
  267. package/resources/loyalty/rule-chains.d.ts +0 -34
  268. package/resources/loyalty/rule-chains.d.ts.map +0 -1
  269. package/resources/loyalty/rule-chains.js +0 -15
  270. package/resources/loyalty/rule-chains.js.map +0 -1
  271. package/resources/loyalty/rule-chains.mjs +0 -11
  272. package/resources/loyalty/rule-chains.mjs.map +0 -1
  273. package/src/resources/loyalty/rule-chains.ts +0 -45
@@ -5,29 +5,128 @@ import { isRequestOptions } from '../../core';
5
5
  import * as Core from '../../core';
6
6
 
7
7
  export class RuleGroups extends APIResource {
8
+ /**
9
+ * Create a new loyalty rule groups
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const response =
14
+ * await client.loyalty.ruleGroups.createRuleGroup({
15
+ * name: 'name',
16
+ * organizationId: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
17
+ * websiteId: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
18
+ * });
19
+ * ```
20
+ */
21
+ createRuleGroup(
22
+ body: RuleGroupCreateRuleGroupParams,
23
+ options?: Core.RequestOptions,
24
+ ): Core.APIPromise<RuleGroupCreateRuleGroupResponse> {
25
+ return this._client.post('/api/loyalty/rule_groups/create', { body, ...options });
26
+ }
27
+
28
+ /**
29
+ * Delete loyalty rule group by ID
30
+ *
31
+ * @example
32
+ * ```ts
33
+ * const response =
34
+ * await client.loyalty.ruleGroups.deleteRuleGroup(
35
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
36
+ * );
37
+ * ```
38
+ */
39
+ deleteRuleGroup(id: string, options?: Core.RequestOptions): Core.APIPromise<unknown> {
40
+ return this._client.delete(`/api/loyalty/rule_groups/${id}`, options);
41
+ }
42
+
8
43
  /**
9
44
  * Retrieve configured loyalty rule groups
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const response =
49
+ * await client.loyalty.ruleGroups.getRuleGroups();
50
+ * ```
10
51
  */
11
- get(query?: RuleGroupGetParams, options?: Core.RequestOptions): Core.APIPromise<RuleGroupGetResponse>;
12
- get(options?: Core.RequestOptions): Core.APIPromise<RuleGroupGetResponse>;
13
- get(
14
- query: RuleGroupGetParams | Core.RequestOptions = {},
52
+ getRuleGroups(
53
+ query?: RuleGroupGetRuleGroupsParams,
15
54
  options?: Core.RequestOptions,
16
- ): Core.APIPromise<RuleGroupGetResponse> {
55
+ ): Core.APIPromise<RuleGroupGetRuleGroupsResponse>;
56
+ getRuleGroups(options?: Core.RequestOptions): Core.APIPromise<RuleGroupGetRuleGroupsResponse>;
57
+ getRuleGroups(
58
+ query: RuleGroupGetRuleGroupsParams | Core.RequestOptions = {},
59
+ options?: Core.RequestOptions,
60
+ ): Core.APIPromise<RuleGroupGetRuleGroupsResponse> {
17
61
  if (isRequestOptions(query)) {
18
- return this.get({}, query);
62
+ return this.getRuleGroups({}, query);
19
63
  }
20
64
  return this._client.get('/api/loyalty/rule_groups', { query, ...options });
21
65
  }
66
+
67
+ /**
68
+ * Update loyalty rule group by ID
69
+ *
70
+ * @example
71
+ * ```ts
72
+ * const response =
73
+ * await client.loyalty.ruleGroups.updateRuleGroup(
74
+ * '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
75
+ * );
76
+ * ```
77
+ */
78
+ updateRuleGroup(
79
+ id: string,
80
+ body?: RuleGroupUpdateRuleGroupParams,
81
+ options?: Core.RequestOptions,
82
+ ): Core.APIPromise<RuleGroupUpdateRuleGroupResponse>;
83
+ updateRuleGroup(
84
+ id: string,
85
+ options?: Core.RequestOptions,
86
+ ): Core.APIPromise<RuleGroupUpdateRuleGroupResponse>;
87
+ updateRuleGroup(
88
+ id: string,
89
+ body: RuleGroupUpdateRuleGroupParams | Core.RequestOptions = {},
90
+ options?: Core.RequestOptions,
91
+ ): Core.APIPromise<RuleGroupUpdateRuleGroupResponse> {
92
+ if (isRequestOptions(body)) {
93
+ return this.updateRuleGroup(id, {}, body);
94
+ }
95
+ return this._client.post(`/api/loyalty/rule_groups/${id}`, { body, ...options });
96
+ }
97
+ }
98
+
99
+ export interface RuleGroupCreateRuleGroupResponse {
100
+ id: string;
101
+
102
+ createdAt: string;
103
+
104
+ isCollapsible: boolean;
105
+
106
+ isRequired: boolean;
107
+
108
+ name: string;
109
+
110
+ organizationId: string;
111
+
112
+ sortId: number;
113
+
114
+ subTitle: string | null;
115
+
116
+ updatedAt: string;
117
+
118
+ websiteId: string;
22
119
  }
23
120
 
24
- export interface RuleGroupGetResponse {
25
- data: Array<RuleGroupGetResponse.Data>;
121
+ export type RuleGroupDeleteRuleGroupResponse = unknown;
122
+
123
+ export interface RuleGroupGetRuleGroupsResponse {
124
+ data: Array<RuleGroupGetRuleGroupsResponse.Data>;
26
125
 
27
126
  hasNextPage: boolean;
28
127
  }
29
128
 
30
- export namespace RuleGroupGetResponse {
129
+ export namespace RuleGroupGetRuleGroupsResponse {
31
130
  /**
32
131
  * Schema for a get loyalty rule groups response
33
132
  */
@@ -74,6 +173,8 @@ export namespace RuleGroupGetResponse {
74
173
 
75
174
  isRequired: boolean;
76
175
 
176
+ loyaltyBadge: LoyaltyRule.LoyaltyBadge;
177
+
77
178
  loyaltyCurrencyId: string;
78
179
 
79
180
  mediaUrl: string | null;
@@ -82,7 +183,7 @@ export namespace RuleGroupGetResponse {
82
183
 
83
184
  name: string;
84
185
 
85
- rewardType: 'points' | 'multiplier';
186
+ rewardType: 'points' | 'multiplier' | 'badge';
86
187
 
87
188
  startTime: string | null;
88
189
 
@@ -110,6 +211,7 @@ export namespace RuleGroupGetResponse {
110
211
  | 'connected_discord'
111
212
  | 'connected_email'
112
213
  | 'connected_epic'
214
+ | 'connected_github'
113
215
  | 'connected_steam'
114
216
  | 'connected_telegram'
115
217
  | 'connected_twitter'
@@ -139,11 +241,54 @@ export namespace RuleGroupGetResponse {
139
241
  | 'twitter_like'
140
242
  | 'twitter_post_hashtag'
141
243
  | 'quiz'
142
- | 'poll';
244
+ | 'poll'
245
+ | 'steam_wishlist'
246
+ | 'liquidity_uniswap_v2'
247
+ | 'liquidity_uniswap_v3'
248
+ | 'points_airdrop'
249
+ | 'youtube_subscribers'
250
+ | 'youtube_comment'
251
+ | 'shopify_spend'
252
+ | 'swap'
253
+ | 'tiktok_post'
254
+ | 'post_impressions'
255
+ | 'discord_join'
256
+ | 'connected_youtube'
257
+ | 'stratus_function'
258
+ | 'connected_tiktok'
259
+ | 'tiktok_follow'
260
+ | 'github_repo_star'
261
+ | 'github_repo_fork'
262
+ | 'github_repo_collaborator'
263
+ | 'github_merge_PR'
264
+ | 'discord_role_grant'
265
+ | 'connected_reddit'
266
+ | 'reddit_comment';
143
267
  }
144
268
 
145
269
  export namespace LoyaltyRule {
270
+ export interface LoyaltyBadge {
271
+ id: string;
272
+
273
+ description: string | null;
274
+
275
+ imageUrl: string | null;
276
+
277
+ name: string;
278
+ }
279
+
146
280
  export interface Metadata {
281
+ /**
282
+ * Array of loyalty rule IDs that count as check-in when completed. If ["any"] then
283
+ * any rule completions count as check-in.
284
+ */
285
+ autoCheckInRuleIds?: Array<(string & {}) | 'any'> | null;
286
+
287
+ /**
288
+ * Number of tokens per batch.
289
+ */
290
+ batchSize?: number | null;
291
+
147
292
  /**
148
293
  * Text displayed on the action button.
149
294
  */
@@ -167,7 +312,7 @@ export namespace RuleGroupGetResponse {
167
312
  /**
168
313
  * Text to check in the Twitter post, username, or bio.
169
314
  */
170
- checkText?: string | null;
315
+ checkText?: string | Array<string> | null;
171
316
 
172
317
  /**
173
318
  * Array of collections associated with the rule.
@@ -177,7 +322,12 @@ export namespace RuleGroupGetResponse {
177
322
  /**
178
323
  * Conditions for completing the profile.
179
324
  */
180
- completeProfileConditions?: Record<string, boolean> | null;
325
+ completeProfileConditions?: { [key: string]: boolean } | null;
326
+
327
+ /**
328
+ * Description of the external rule condition (only for external rules)
329
+ */
330
+ conditionDescription?: string;
181
331
 
182
332
  /**
183
333
  * Object containing details for the call-to-action.
@@ -189,6 +339,11 @@ export namespace RuleGroupGetResponse {
189
339
  */
190
340
  customRewardsApiKey?: string;
191
341
 
342
+ /**
343
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
344
+ */
345
+ directRpc?: boolean;
346
+
192
347
  /**
193
348
  * Array of Discord servers, channels, and roles to join.
194
349
  */
@@ -214,6 +369,11 @@ export namespace RuleGroupGetResponse {
214
369
  */
215
370
  enableVerifiedMultiplier?: boolean;
216
371
 
372
+ /**
373
+ * Type of ERC20 token for the loyalty rule.
374
+ */
375
+ erc20Type?: 'erc20' | 'native';
376
+
217
377
  /**
218
378
  * Fill source of the order for the token sale
219
379
  */
@@ -224,6 +384,16 @@ export namespace RuleGroupGetResponse {
224
384
  */
225
385
  firstReferralReward?: number | null;
226
386
 
387
+ /**
388
+ * Name of the GitHub branch to check for PR merge.
389
+ */
390
+ githubBranchName?: string | null;
391
+
392
+ /**
393
+ * URL of the GitHub repository to check for star.
394
+ */
395
+ githubRepoUrl?: string | null;
396
+
227
397
  /**
228
398
  * Flag indicating whether the fill source is included.
229
399
  */
@@ -234,11 +404,6 @@ export namespace RuleGroupGetResponse {
234
404
  */
235
405
  hasNeverSold?: boolean;
236
406
 
237
- /**
238
- * Flag indicating whether the order source is included.
239
- */
240
- hasOrderSource?: boolean;
241
-
242
407
  /**
243
408
  * Indicates if the full royalty has been paid for items.
244
409
  */
@@ -259,11 +424,21 @@ export namespace RuleGroupGetResponse {
259
424
  */
260
425
  imageUrl?: string | null;
261
426
 
427
+ /**
428
+ * If enabled, the first transaction done on the platform will complete this rule
429
+ */
430
+ isCheckInOnEveryTxn?: boolean;
431
+
262
432
  /**
263
433
  * Indicates if the multiplier has been applied to rewards.
264
434
  */
265
435
  isMultiplierApplied?: boolean;
266
436
 
437
+ /**
438
+ * Flag indicating if the rule is restricted to new users.
439
+ */
440
+ isRestrictedToNewUsers?: boolean;
441
+
267
442
  /**
268
443
  * Flag indicating if rewards are applied retroactively.
269
444
  */
@@ -279,6 +454,11 @@ export namespace RuleGroupGetResponse {
279
454
  */
280
455
  link?: string | null;
281
456
 
457
+ /**
458
+ * Liquidity pool details.
459
+ */
460
+ liquidity?: Metadata.Liquidity;
461
+
282
462
  /**
283
463
  * Maximum quantity constraint for token holding.
284
464
  */
@@ -320,20 +500,35 @@ export namespace RuleGroupGetResponse {
320
500
  onlyRewardSingleTokenOwnership?: boolean | null;
321
501
 
322
502
  /**
323
- * Order source of the order for the token sale
503
+ * Promotional code associated with the rule.
324
504
  */
325
- orderSource?: string;
505
+ promoCode?: string;
326
506
 
327
507
  /**
328
- * Promotional code associated with the rule.
508
+ * URL of the CSV file containing promo codes.
329
509
  */
330
- promoCode?: string;
510
+ promoCodeCsvUrl?: string;
511
+
512
+ /**
513
+ * Numbers of the promotional code to be generated.
514
+ */
515
+ promoCodeLength?: number | null;
516
+
517
+ /**
518
+ * Type of the promotional code.
519
+ */
520
+ promoCodeType?: 'code' | 'csv' | 'generate';
331
521
 
332
522
  /**
333
523
  * Array defining ranges and corresponding rewards.
334
524
  */
335
525
  range?: Array<Metadata.Range>;
336
526
 
527
+ /**
528
+ * ID of the Reddit post.
529
+ */
530
+ redditPostId?: string | null;
531
+
337
532
  /**
338
533
  * Object defining referral requirements.
339
534
  */
@@ -344,11 +539,67 @@ export namespace RuleGroupGetResponse {
344
539
  */
345
540
  referrerReward?: number | null;
346
541
 
542
+ /**
543
+ * Loyalty currency ID of the referrer reward.
544
+ */
545
+ referrerRewardLoyaltyCurrencyId?: string | null;
546
+
547
+ /**
548
+ * Flag indicating if the post link is required.
549
+ */
550
+ requirePostLink?: boolean | null;
551
+
552
+ /**
553
+ * Flag indicating if media metadata is required.
554
+ */
555
+ requirePostMediaLink?: boolean | null;
556
+
557
+ /**
558
+ * Flag indicating if the rule can also reward badges per range.
559
+ */
560
+ rewardBadgePerRange?: boolean;
561
+
562
+ /**
563
+ * Flag indicating if the reward is rewarded by batch.
564
+ */
565
+ rewardByBatch?: boolean | null;
566
+
567
+ /**
568
+ * Criteria to evaluate the reward.
569
+ */
570
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
571
+
572
+ /**
573
+ * Flag indicating if the reward is rewarded per action.
574
+ */
575
+ rewardPerAction?: boolean | null;
576
+
347
577
  /**
348
578
  * Flag indicating if rewards are given per impression.
349
579
  */
350
580
  rewardPerImpression?: boolean | null;
351
581
 
582
+ /**
583
+ * Flag indicating if the rule should reward based on value of traded tokens
584
+ * instead of count.
585
+ */
586
+ rewardPerValue?: boolean;
587
+
588
+ /**
589
+ * Flag indicating if the rule should reward quality posts.
590
+ */
591
+ rewardQualityPosts?: boolean;
592
+
593
+ /**
594
+ * Wallet address of the user can only be used if userId is not provided
595
+ */
596
+ royaltyAddress?: string;
597
+
598
+ /**
599
+ * Royalty percentage of the item.
600
+ */
601
+ royaltyPercentage?: number;
602
+
352
603
  /**
353
604
  * Currency associated with sales.
354
605
  */
@@ -388,6 +639,9 @@ export namespace RuleGroupGetResponse {
388
639
  | 'Twitch'
389
640
  | 'X(Twitter)'
390
641
  | 'YouTube'
642
+ | 'Google'
643
+ | 'GitHub'
644
+ | 'Reddit'
391
645
  | null;
392
646
 
393
647
  /**
@@ -400,11 +654,21 @@ export namespace RuleGroupGetResponse {
400
654
  */
401
655
  socialPlatformName?: string | null;
402
656
 
657
+ /**
658
+ * ID of the Steam app.
659
+ */
660
+ steamAppId?: string | null;
661
+
403
662
  /**
404
663
  * Array of streak milestones and corresponding rewards.
405
664
  */
406
665
  streakArray?: Array<Metadata.StreakArray> | null;
407
666
 
667
+ /**
668
+ * Metadata for swap loyalty rules
669
+ */
670
+ swap?: Metadata.Swap;
671
+
408
672
  /**
409
673
  * ID of the Telegram channel.
410
674
  */
@@ -420,6 +684,12 @@ export namespace RuleGroupGetResponse {
420
684
  */
421
685
  trackAllContracts?: boolean | null;
422
686
 
687
+ /**
688
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
689
+ * completed once the progress is 100%.
690
+ */
691
+ trackProgress?: boolean | null;
692
+
423
693
  /**
424
694
  * URL of the associated Twitter account.
425
695
  */
@@ -463,7 +733,28 @@ export namespace RuleGroupGetResponse {
463
733
  /**
464
734
  * Type of wallet associated with the rule.
465
735
  */
466
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
736
+ walletType?:
737
+ | 'evm'
738
+ | 'solana'
739
+ | 'imx'
740
+ | 'sui'
741
+ | 'ton'
742
+ | 'cosmos'
743
+ | 'ultra'
744
+ | 'agw'
745
+ | 'flow_cadence'
746
+ | 'substrate'
747
+ | null;
748
+
749
+ /**
750
+ * ID of the Youtube channel.
751
+ */
752
+ youtubeChannelId?: string | null;
753
+
754
+ /**
755
+ * ID of the Youtube video.
756
+ */
757
+ youtubeVideoId?: string | null;
467
758
  }
468
759
 
469
760
  export namespace Metadata {
@@ -482,13 +773,17 @@ export namespace RuleGroupGetResponse {
482
773
  * Blockchain network of the collection.
483
774
  */
484
775
  network?:
776
+ | 'abstract'
777
+ | 'abstractTestnet'
485
778
  | 'apechain'
486
779
  | 'arbitrum'
487
780
  | 'avalanche'
488
781
  | 'avalancheFuji'
489
782
  | 'base'
490
783
  | 'baseSepolia'
784
+ | 'berachain'
491
785
  | 'berachainArtio'
786
+ | 'berachainBepolia'
492
787
  | 'binance'
493
788
  | 'bscTestnet'
494
789
  | 'campTestnet'
@@ -496,18 +791,30 @@ export namespace RuleGroupGetResponse {
496
791
  | 'fantomTestnet'
497
792
  | 'flowMainnet'
498
793
  | 'mainnet'
794
+ | 'nexusTestnet'
499
795
  | 'optimism'
500
796
  | 'polygon'
501
797
  | 'polygon_mumbai'
502
798
  | 'skaleNebula'
799
+ | 'skaleEuropa'
800
+ | 'skaleCalypso'
503
801
  | 'solana'
504
802
  | 'sophon'
803
+ | 'sophonTestnet'
505
804
  | 'sui'
506
805
  | 'superseed'
507
806
  | 'superseedSepolia'
508
807
  | 'vanar'
509
808
  | 'xai'
510
809
  | 'zksync'
810
+ | 'coti'
811
+ | 'cotiTestnet'
812
+ | 'morph'
813
+ | 'morphTestnet'
814
+ | 'morphHolesky'
815
+ | 'ultra'
816
+ | 'ultraTestnet'
817
+ | 'nitrograph'
511
818
  | 'sepolia'
512
819
  | 'optimism_sepolia'
513
820
  | 'arbitrumSepolia'
@@ -515,7 +822,11 @@ export namespace RuleGroupGetResponse {
515
822
  | 'optimism_goerli'
516
823
  | 'arbitrumGoerli'
517
824
  | 'basecamp'
518
- | 'abstract';
825
+ | 'somnia'
826
+ | 'zkverify'
827
+ | 'polkadot'
828
+ | 'kusama'
829
+ | 'flow_cadence';
519
830
  }
520
831
 
521
832
  /**
@@ -592,6 +903,111 @@ export namespace RuleGroupGetResponse {
592
903
  id: string;
593
904
  }
594
905
 
906
+ /**
907
+ * Liquidity pool details.
908
+ */
909
+ export interface Liquidity {
910
+ /**
911
+ * Calculation type of the liquidity pool.
912
+ */
913
+ calculationType?: 'fixed' | 'custom';
914
+
915
+ /**
916
+ * Custom function to calculate the the reward amount based on the liquidity
917
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
918
+ * USD.
919
+ */
920
+ customFunction?: string;
921
+
922
+ /**
923
+ * Liquidity provided per day in USD
924
+ */
925
+ liquidityPerDay?: number;
926
+
927
+ /**
928
+ * Blockchain network of the liquidity pool.
929
+ */
930
+ network?:
931
+ | 'abstract'
932
+ | 'abstractTestnet'
933
+ | 'apechain'
934
+ | 'arbitrum'
935
+ | 'avalanche'
936
+ | 'avalancheFuji'
937
+ | 'base'
938
+ | 'baseSepolia'
939
+ | 'berachain'
940
+ | 'berachainArtio'
941
+ | 'berachainBepolia'
942
+ | 'binance'
943
+ | 'bscTestnet'
944
+ | 'campTestnet'
945
+ | 'fantom'
946
+ | 'fantomTestnet'
947
+ | 'flowMainnet'
948
+ | 'mainnet'
949
+ | 'nexusTestnet'
950
+ | 'optimism'
951
+ | 'polygon'
952
+ | 'polygon_mumbai'
953
+ | 'skaleNebula'
954
+ | 'skaleEuropa'
955
+ | 'skaleCalypso'
956
+ | 'solana'
957
+ | 'sophon'
958
+ | 'sophonTestnet'
959
+ | 'sui'
960
+ | 'superseed'
961
+ | 'superseedSepolia'
962
+ | 'vanar'
963
+ | 'xai'
964
+ | 'zksync'
965
+ | 'coti'
966
+ | 'cotiTestnet'
967
+ | 'morph'
968
+ | 'morphTestnet'
969
+ | 'morphHolesky'
970
+ | 'ultra'
971
+ | 'ultraTestnet'
972
+ | 'nitrograph'
973
+ | 'sepolia'
974
+ | 'optimism_sepolia'
975
+ | 'arbitrumSepolia'
976
+ | 'goerli'
977
+ | 'optimism_goerli'
978
+ | 'arbitrumGoerli'
979
+ | 'basecamp'
980
+ | 'somnia'
981
+ | 'zkverify'
982
+ | 'polkadot'
983
+ | 'kusama'
984
+ | 'flow_cadence';
985
+
986
+ /**
987
+ * Indicates if only in-range liquidity is rewarded.
988
+ */
989
+ onlyRewardInRangeLiquidity?: boolean;
990
+
991
+ /**
992
+ * Array of liquidity pools associated with the rule.
993
+ */
994
+ pools?: Array<Liquidity.Pool>;
995
+
996
+ /**
997
+ * Protocol of the liquidity pool.
998
+ */
999
+ protocol?: string;
1000
+ }
1001
+
1002
+ export namespace Liquidity {
1003
+ export interface Pool {
1004
+ /**
1005
+ * Unique identifier of the liquidity pool.
1006
+ */
1007
+ id: string;
1008
+ }
1009
+ }
1010
+
595
1011
  export interface Range {
596
1012
  /**
597
1013
  * Reward amount for this range.
@@ -607,6 +1023,16 @@ export namespace RuleGroupGetResponse {
607
1023
  * Start value of the range.
608
1024
  */
609
1025
  startRange: number;
1026
+
1027
+ /**
1028
+ * ID of the loyalty badge for this range.
1029
+ */
1030
+ loyaltyBadgeId?: string;
1031
+
1032
+ /**
1033
+ * Amount of the loyalty multiplier for this range.
1034
+ */
1035
+ loyaltyMultiplierAmount?: number;
610
1036
  }
611
1037
 
612
1038
  /**
@@ -659,20 +1085,15 @@ export namespace RuleGroupGetResponse {
659
1085
  * Object containing details of the associated smart contract.
660
1086
  */
661
1087
  export interface SmartContract {
662
- /**
663
- * ABI of the smart contract.
664
- */
665
- abi?: string | null;
666
-
667
1088
  /**
668
1089
  * Mapping of addresses for the smart contract.
669
1090
  */
670
1091
  addressMapping?: string | null;
671
1092
 
672
1093
  /**
673
- * Array of bonus details applied to the rule.
1094
+ * Object containing details of the amount multiplier from the event.
674
1095
  */
675
- bonus?: Array<SmartContract.Bonus> | null;
1096
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
676
1097
 
677
1098
  /**
678
1099
  * ID of the smart contract.
@@ -684,68 +1105,31 @@ export namespace RuleGroupGetResponse {
684
1105
  */
685
1106
  criteria?: 'everyEvent' | 'byParameter' | null;
686
1107
 
687
- /**
688
- * Time range applied to the rule.
689
- */
690
- customRange?: SmartContract.CustomRange | null;
691
-
692
1108
  /**
693
1109
  * Event emitted by the smart contract.
694
1110
  */
695
1111
  event?: string | null;
696
1112
 
697
- /**
698
- * Maximum value allowed for the parameter.
699
- */
700
- max?: number | null;
701
-
702
1113
  /**
703
1114
  * Array of parameters for the smart contract.
704
1115
  */
705
1116
  params?: Array<SmartContract.Param> | null;
706
1117
 
707
1118
  /**
708
- * Flag indicating if a bonus is applied.
709
- */
710
- withBonus?: boolean | null;
711
-
712
- /**
713
- * Flag indicating if a custom range is applied.
1119
+ * Type of the smart contract interaction.
714
1120
  */
715
- withCustomRange?: boolean | null;
716
-
717
- /**
718
- * Flag indicating if a maximum limit is applied.
719
- */
720
- withMax?: boolean | null;
1121
+ type?: 'function' | 'event' | null;
721
1122
  }
722
1123
 
723
1124
  export namespace SmartContract {
724
- export interface Bonus {
725
- /**
726
- * Amount of the bonus.
727
- */
728
- amount?: number | null;
729
-
730
- /**
731
- * Number of times the bonus is applied.
732
- */
733
- count?: number | null;
734
- }
735
-
736
1125
  /**
737
- * Time range applied to the rule.
1126
+ * Object containing details of the amount multiplier from the event.
738
1127
  */
739
- export interface CustomRange {
740
- /**
741
- * End time of the custom range.
742
- */
743
- endsAt?: string | null;
744
-
1128
+ export interface AmountMultiplier {
745
1129
  /**
746
- * Start time of the custom range.
1130
+ * Mapping of the value for the smart contract.
747
1131
  */
748
- startsAt?: string | null;
1132
+ valueMapping?: string | null;
749
1133
  }
750
1134
 
751
1135
  export interface Param {
@@ -789,13 +1173,64 @@ export namespace RuleGroupGetResponse {
789
1173
  */
790
1174
  streakMilestone: number;
791
1175
  }
1176
+
1177
+ /**
1178
+ * Metadata for swap loyalty rules
1179
+ */
1180
+ export interface Swap {
1181
+ provider?: 'any' | 'relay' | 'lifi';
1182
+
1183
+ relayReferrerId?: string;
1184
+
1185
+ requireCrossChainSwap?: boolean;
1186
+
1187
+ swappedToChain?: 'any' | number | string;
1188
+
1189
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1190
+
1191
+ tokenMode?: 'any' | 'specific';
1192
+
1193
+ trackTokenAmount?: boolean;
1194
+ }
1195
+
1196
+ export namespace Swap {
1197
+ export interface SwappedToToken {
1198
+ address: string;
1199
+
1200
+ chainId: string;
1201
+ }
1202
+ }
792
1203
  }
793
1204
  }
794
1205
  }
795
1206
  }
796
1207
  }
797
1208
 
798
- export interface RuleGroupGetParams {
1209
+ export interface RuleGroupUpdateRuleGroupResponse {
1210
+ isCollapsible?: boolean;
1211
+
1212
+ name?: string;
1213
+
1214
+ subTitle?: string;
1215
+ }
1216
+
1217
+ export interface RuleGroupCreateRuleGroupParams {
1218
+ name: string;
1219
+
1220
+ organizationId: string;
1221
+
1222
+ websiteId: string;
1223
+
1224
+ isCollapsible?: boolean;
1225
+
1226
+ isRequired?: boolean;
1227
+
1228
+ sortId?: number;
1229
+
1230
+ subTitle?: string;
1231
+ }
1232
+
1233
+ export interface RuleGroupGetRuleGroupsParams {
799
1234
  excludeHidden?: string;
800
1235
 
801
1236
  limit?: number;
@@ -807,6 +1242,22 @@ export interface RuleGroupGetParams {
807
1242
  websiteId?: string;
808
1243
  }
809
1244
 
1245
+ export interface RuleGroupUpdateRuleGroupParams {
1246
+ isCollapsible?: boolean;
1247
+
1248
+ name?: string | null;
1249
+
1250
+ subtitle?: string | null;
1251
+ }
1252
+
810
1253
  export declare namespace RuleGroups {
811
- export { type RuleGroupGetResponse as RuleGroupGetResponse, type RuleGroupGetParams as RuleGroupGetParams };
1254
+ export {
1255
+ type RuleGroupCreateRuleGroupResponse as RuleGroupCreateRuleGroupResponse,
1256
+ type RuleGroupDeleteRuleGroupResponse as RuleGroupDeleteRuleGroupResponse,
1257
+ type RuleGroupGetRuleGroupsResponse as RuleGroupGetRuleGroupsResponse,
1258
+ type RuleGroupUpdateRuleGroupResponse as RuleGroupUpdateRuleGroupResponse,
1259
+ type RuleGroupCreateRuleGroupParams as RuleGroupCreateRuleGroupParams,
1260
+ type RuleGroupGetRuleGroupsParams as RuleGroupGetRuleGroupsParams,
1261
+ type RuleGroupUpdateRuleGroupParams as RuleGroupUpdateRuleGroupParams,
1262
+ };
812
1263
  }