@snagsolutions/sdk 0.1.0-alpha.20 → 0.1.0-alpha.201

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 (272) hide show
  1. package/CHANGELOG.md +1634 -0
  2. package/README.md +13 -23
  3. package/core.d.ts +19 -5
  4. package/core.d.ts.map +1 -1
  5. package/core.js +24 -17
  6. package/core.js.map +1 -1
  7. package/core.mjs +24 -17
  8. package/core.mjs.map +1 -1
  9. package/index.d.mts +7 -4
  10. package/index.d.ts +7 -4
  11. package/index.d.ts.map +1 -1
  12. package/index.js +8 -4
  13. package/index.js.map +1 -1
  14. package/index.mjs +8 -4
  15. package/index.mjs.map +1 -1
  16. package/package.json +4 -5
  17. package/resource.d.ts +1 -1
  18. package/resource.d.ts.map +1 -1
  19. package/resource.js.map +1 -1
  20. package/resource.mjs.map +1 -1
  21. package/resources/assets.d.ts +16 -2
  22. package/resources/assets.d.ts.map +1 -1
  23. package/resources/assets.js +8 -0
  24. package/resources/assets.js.map +1 -1
  25. package/resources/assets.mjs +8 -0
  26. package/resources/assets.mjs.map +1 -1
  27. package/resources/auctions/auctions.d.ts +368 -0
  28. package/resources/auctions/auctions.d.ts.map +1 -0
  29. package/resources/auctions/auctions.js +72 -0
  30. package/resources/auctions/auctions.js.map +1 -0
  31. package/resources/auctions/auctions.mjs +45 -0
  32. package/resources/auctions/auctions.mjs.map +1 -0
  33. package/resources/auctions/index.d.ts +3 -0
  34. package/resources/auctions/index.d.ts.map +1 -0
  35. package/resources/auctions/index.js +9 -0
  36. package/resources/auctions/index.js.map +1 -0
  37. package/resources/auctions/index.mjs +4 -0
  38. package/resources/auctions/index.mjs.map +1 -0
  39. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  40. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  41. package/resources/auctions/website-user-attributes/index.js +9 -0
  42. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  43. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  44. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  45. package/resources/auctions/website-user-attributes/values.d.ts +126 -0
  46. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  47. package/resources/auctions/website-user-attributes/values.js +49 -0
  48. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  49. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  50. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  51. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +136 -0
  52. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  53. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  57. package/resources/auctions/website-user-attributes.d.ts +2 -0
  58. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  59. package/resources/auctions/website-user-attributes.js +19 -0
  60. package/resources/auctions/website-user-attributes.js.map +1 -0
  61. package/resources/auctions/website-user-attributes.mjs +3 -0
  62. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  63. package/resources/auctions.d.ts +1 -133
  64. package/resources/auctions.d.ts.map +1 -1
  65. package/resources/auctions.js +15 -22
  66. package/resources/auctions.js.map +1 -1
  67. package/resources/auctions.mjs +1 -20
  68. package/resources/auctions.mjs.map +1 -1
  69. package/resources/auth.d.ts +17 -4
  70. package/resources/auth.d.ts.map +1 -1
  71. package/resources/auth.js.map +1 -1
  72. package/resources/auth.mjs.map +1 -1
  73. package/resources/index.d.ts +2 -2
  74. package/resources/index.d.ts.map +1 -1
  75. package/resources/index.js +1 -1
  76. package/resources/index.js.map +1 -1
  77. package/resources/index.mjs +1 -1
  78. package/resources/index.mjs.map +1 -1
  79. package/resources/loyalty/account-streaks.d.ts +81 -0
  80. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  81. package/resources/loyalty/account-streaks.js +24 -0
  82. package/resources/loyalty/account-streaks.js.map +1 -0
  83. package/resources/loyalty/account-streaks.mjs +20 -0
  84. package/resources/loyalty/account-streaks.mjs.map +1 -0
  85. package/resources/loyalty/accounts.d.ts +60 -16
  86. package/resources/loyalty/accounts.d.ts.map +1 -1
  87. package/resources/loyalty/accounts.js +14 -0
  88. package/resources/loyalty/accounts.js.map +1 -1
  89. package/resources/loyalty/accounts.mjs +14 -0
  90. package/resources/loyalty/accounts.mjs.map +1 -1
  91. package/resources/loyalty/badges.d.ts +666 -135
  92. package/resources/loyalty/badges.d.ts.map +1 -1
  93. package/resources/loyalty/badges.js +19 -1
  94. package/resources/loyalty/badges.js.map +1 -1
  95. package/resources/loyalty/badges.mjs +19 -1
  96. package/resources/loyalty/badges.mjs.map +1 -1
  97. package/resources/loyalty/currencies.d.ts +19 -0
  98. package/resources/loyalty/currencies.d.ts.map +1 -1
  99. package/resources/loyalty/currencies.js +19 -0
  100. package/resources/loyalty/currencies.js.map +1 -1
  101. package/resources/loyalty/currencies.mjs +19 -0
  102. package/resources/loyalty/currencies.mjs.map +1 -1
  103. package/resources/loyalty/index.d.ts +4 -4
  104. package/resources/loyalty/index.d.ts.map +1 -1
  105. package/resources/loyalty/index.js +5 -5
  106. package/resources/loyalty/index.js.map +1 -1
  107. package/resources/loyalty/index.mjs +3 -3
  108. package/resources/loyalty/index.mjs.map +1 -1
  109. package/resources/loyalty/loyalty.d.ts +11 -11
  110. package/resources/loyalty/loyalty.d.ts.map +1 -1
  111. package/resources/loyalty/loyalty.js +6 -6
  112. package/resources/loyalty/loyalty.js.map +1 -1
  113. package/resources/loyalty/loyalty.mjs +7 -7
  114. package/resources/loyalty/loyalty.mjs.map +1 -1
  115. package/resources/loyalty/multipliers.d.ts +39 -2
  116. package/resources/loyalty/multipliers.d.ts.map +1 -1
  117. package/resources/loyalty/multipliers.js +23 -0
  118. package/resources/loyalty/multipliers.js.map +1 -1
  119. package/resources/loyalty/multipliers.mjs +23 -0
  120. package/resources/loyalty/multipliers.mjs.map +1 -1
  121. package/resources/loyalty/questions-responses.d.ts +55 -4
  122. package/resources/loyalty/questions-responses.d.ts.map +1 -1
  123. package/resources/loyalty/questions-responses.js +9 -0
  124. package/resources/loyalty/questions-responses.js.map +1 -1
  125. package/resources/loyalty/questions-responses.mjs +9 -0
  126. package/resources/loyalty/questions-responses.mjs.map +1 -1
  127. package/resources/loyalty/questions.d.ts +52 -6
  128. package/resources/loyalty/questions.d.ts.map +1 -1
  129. package/resources/loyalty/questions.js +31 -0
  130. package/resources/loyalty/questions.js.map +1 -1
  131. package/resources/loyalty/questions.mjs +31 -0
  132. package/resources/loyalty/questions.mjs.map +1 -1
  133. package/resources/loyalty/rule-edits.d.ts +2646 -8
  134. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  135. package/resources/loyalty/rule-edits.js +14 -0
  136. package/resources/loyalty/rule-edits.js.map +1 -1
  137. package/resources/loyalty/rule-edits.mjs +14 -0
  138. package/resources/loyalty/rule-edits.mjs.map +1 -1
  139. package/resources/loyalty/rule-groups.d.ts +283 -64
  140. package/resources/loyalty/rule-groups.d.ts.map +1 -1
  141. package/resources/loyalty/rule-groups.js +38 -2
  142. package/resources/loyalty/rule-groups.js.map +1 -1
  143. package/resources/loyalty/rule-groups.mjs +38 -2
  144. package/resources/loyalty/rule-groups.mjs.map +1 -1
  145. package/resources/loyalty/rules.d.ts +1930 -269
  146. package/resources/loyalty/rules.d.ts.map +1 -1
  147. package/resources/loyalty/rules.js +40 -9
  148. package/resources/loyalty/rules.js.map +1 -1
  149. package/resources/loyalty/rules.mjs +40 -9
  150. package/resources/loyalty/rules.mjs.map +1 -1
  151. package/resources/loyalty/transactions/index.d.ts +3 -0
  152. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  153. package/resources/loyalty/transactions/index.js +9 -0
  154. package/resources/loyalty/transactions/index.js.map +1 -0
  155. package/resources/loyalty/transactions/index.mjs +4 -0
  156. package/resources/loyalty/transactions/index.mjs.map +1 -0
  157. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  158. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  159. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  160. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  161. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  162. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  163. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  164. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  165. package/resources/loyalty/transactions/transactions.js +76 -0
  166. package/resources/loyalty/transactions/transactions.js.map +1 -0
  167. package/resources/loyalty/transactions/transactions.mjs +49 -0
  168. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  169. package/resources/loyalty/transactions.d.ts +1 -247
  170. package/resources/loyalty/transactions.d.ts.map +1 -1
  171. package/resources/loyalty/transactions.js +15 -18
  172. package/resources/loyalty/transactions.js.map +1 -1
  173. package/resources/loyalty/transactions.mjs +1 -16
  174. package/resources/loyalty/transactions.mjs.map +1 -1
  175. package/resources/minting.d.ts +5 -5
  176. package/resources/minting.d.ts.map +1 -1
  177. package/resources/referral/referral.d.ts +11 -3
  178. package/resources/referral/referral.d.ts.map +1 -1
  179. package/resources/referral/referral.js +11 -5
  180. package/resources/referral/referral.js.map +1 -1
  181. package/resources/referral/referral.mjs +11 -5
  182. package/resources/referral/referral.mjs.map +1 -1
  183. package/resources/referral/users.d.ts +29 -3
  184. package/resources/referral/users.d.ts.map +1 -1
  185. package/resources/referral/users.js +12 -4
  186. package/resources/referral/users.js.map +1 -1
  187. package/resources/referral/users.mjs +12 -4
  188. package/resources/referral/users.mjs.map +1 -1
  189. package/resources/users/index.d.ts +1 -1
  190. package/resources/users/index.d.ts.map +1 -1
  191. package/resources/users/index.js.map +1 -1
  192. package/resources/users/index.mjs.map +1 -1
  193. package/resources/users/metadatas.d.ts +36 -3
  194. package/resources/users/metadatas.d.ts.map +1 -1
  195. package/resources/users/metadatas.js.map +1 -1
  196. package/resources/users/metadatas.mjs.map +1 -1
  197. package/resources/users/users.d.ts +184 -35
  198. package/resources/users/users.d.ts.map +1 -1
  199. package/resources/users/users.js +58 -1
  200. package/resources/users/users.js.map +1 -1
  201. package/resources/users/users.mjs +58 -1
  202. package/resources/users/users.mjs.map +1 -1
  203. package/resources/websites/website-collections.d.ts +22 -1
  204. package/resources/websites/website-collections.d.ts.map +1 -1
  205. package/resources/websites/website-collections.js +21 -0
  206. package/resources/websites/website-collections.js.map +1 -1
  207. package/resources/websites/website-collections.mjs +21 -0
  208. package/resources/websites/website-collections.mjs.map +1 -1
  209. package/resources/websites/website-user-roles.d.ts +24 -1
  210. package/resources/websites/website-user-roles.d.ts.map +1 -1
  211. package/resources/websites/website-user-roles.js +23 -0
  212. package/resources/websites/website-user-roles.js.map +1 -1
  213. package/resources/websites/website-user-roles.mjs +23 -0
  214. package/resources/websites/website-user-roles.mjs.map +1 -1
  215. package/resources/websites/websites.d.ts +12 -0
  216. package/resources/websites/websites.d.ts.map +1 -1
  217. package/resources/websites/websites.js +7 -0
  218. package/resources/websites/websites.js.map +1 -1
  219. package/resources/websites/websites.mjs +7 -0
  220. package/resources/websites/websites.mjs.map +1 -1
  221. package/src/core.ts +39 -16
  222. package/src/index.ts +31 -2
  223. package/src/resource.ts +1 -1
  224. package/src/resources/assets.ts +18 -3
  225. package/src/resources/auctions/auctions.ts +561 -0
  226. package/src/resources/auctions/index.ts +19 -0
  227. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  228. package/src/resources/auctions/website-user-attributes/values.ts +170 -0
  229. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +212 -0
  230. package/src/resources/auctions/website-user-attributes.ts +3 -0
  231. package/src/resources/auctions.ts +1 -207
  232. package/src/resources/auth.ts +21 -5
  233. package/src/resources/index.ts +12 -1
  234. package/src/resources/loyalty/account-streaks.ts +110 -0
  235. package/src/resources/loyalty/accounts.ts +65 -18
  236. package/src/resources/loyalty/badges.ts +790 -146
  237. package/src/resources/loyalty/currencies.ts +19 -0
  238. package/src/resources/loyalty/index.ts +19 -3
  239. package/src/resources/loyalty/loyalty.ts +39 -15
  240. package/src/resources/loyalty/multipliers.ts +43 -4
  241. package/src/resources/loyalty/questions-responses.ts +64 -4
  242. package/src/resources/loyalty/questions.ts +56 -6
  243. package/src/resources/loyalty/rule-edits.ts +3854 -100
  244. package/src/resources/loyalty/rule-groups.ts +500 -76
  245. package/src/resources/loyalty/rules.ts +3040 -318
  246. package/src/resources/loyalty/transactions/index.ts +18 -0
  247. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  248. package/src/resources/loyalty/transactions/transactions.ts +689 -0
  249. package/src/resources/loyalty/transactions.ts +1 -330
  250. package/src/resources/minting.ts +25 -5
  251. package/src/resources/referral/referral.ts +13 -11
  252. package/src/resources/referral/users.ts +43 -5
  253. package/src/resources/users/index.ts +4 -0
  254. package/src/resources/users/metadatas.ts +61 -3
  255. package/src/resources/users/users.ts +249 -38
  256. package/src/resources/websites/website-collections.ts +42 -1
  257. package/src/resources/websites/website-user-roles.ts +25 -1
  258. package/src/resources/websites/websites.ts +12 -0
  259. package/src/version.ts +1 -1
  260. package/version.d.ts +1 -1
  261. package/version.d.ts.map +1 -1
  262. package/version.js +1 -1
  263. package/version.js.map +1 -1
  264. package/version.mjs +1 -1
  265. package/version.mjs.map +1 -1
  266. package/resources/loyalty/rule-chains.d.ts +0 -34
  267. package/resources/loyalty/rule-chains.d.ts.map +0 -1
  268. package/resources/loyalty/rule-chains.js +0 -15
  269. package/resources/loyalty/rule-chains.js.map +0 -1
  270. package/resources/loyalty/rule-chains.mjs +0 -11
  271. package/resources/loyalty/rule-chains.mjs.map +0 -1
  272. 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,
54
+ options?: Core.RequestOptions,
55
+ ): Core.APIPromise<RuleGroupGetRuleGroupsResponse>;
56
+ getRuleGroups(options?: Core.RequestOptions): Core.APIPromise<RuleGroupGetRuleGroupsResponse>;
57
+ getRuleGroups(
58
+ query: RuleGroupGetRuleGroupsParams | Core.RequestOptions = {},
15
59
  options?: Core.RequestOptions,
16
- ): Core.APIPromise<RuleGroupGetResponse> {
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
+ }
22
97
  }
23
98
 
24
- export interface RuleGroupGetResponse {
25
- data: Array<RuleGroupGetResponse.Data>;
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;
119
+ }
120
+
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,43 @@ 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
+ | 'discord_role_grant';
143
262
  }
144
263
 
145
264
  export namespace LoyaltyRule {
265
+ export interface LoyaltyBadge {
266
+ id: string;
267
+
268
+ description: string | null;
269
+
270
+ imageUrl: string | null;
271
+
272
+ name: string;
273
+ }
274
+
146
275
  export interface Metadata {
276
+ /**
277
+ * Number of tokens per batch.
278
+ */
279
+ batchSize?: number | null;
280
+
147
281
  /**
148
282
  * Text displayed on the action button.
149
283
  */
@@ -167,7 +301,7 @@ export namespace RuleGroupGetResponse {
167
301
  /**
168
302
  * Text to check in the Twitter post, username, or bio.
169
303
  */
170
- checkText?: string | null;
304
+ checkText?: string | Array<string> | null;
171
305
 
172
306
  /**
173
307
  * Array of collections associated with the rule.
@@ -177,7 +311,12 @@ export namespace RuleGroupGetResponse {
177
311
  /**
178
312
  * Conditions for completing the profile.
179
313
  */
180
- completeProfileConditions?: Record<string, boolean> | null;
314
+ completeProfileConditions?: { [key: string]: boolean } | null;
315
+
316
+ /**
317
+ * Description of the external rule condition (only for external rules)
318
+ */
319
+ conditionDescription?: string;
181
320
 
182
321
  /**
183
322
  * Object containing details for the call-to-action.
@@ -189,6 +328,11 @@ export namespace RuleGroupGetResponse {
189
328
  */
190
329
  customRewardsApiKey?: string;
191
330
 
331
+ /**
332
+ * Flag indicating if the rule should use direct RPC to get the balance of tokens.
333
+ */
334
+ directRpc?: boolean;
335
+
192
336
  /**
193
337
  * Array of Discord servers, channels, and roles to join.
194
338
  */
@@ -214,6 +358,11 @@ export namespace RuleGroupGetResponse {
214
358
  */
215
359
  enableVerifiedMultiplier?: boolean;
216
360
 
361
+ /**
362
+ * Type of ERC20 token for the loyalty rule.
363
+ */
364
+ erc20Type?: 'erc20' | 'native';
365
+
217
366
  /**
218
367
  * Fill source of the order for the token sale
219
368
  */
@@ -224,6 +373,11 @@ export namespace RuleGroupGetResponse {
224
373
  */
225
374
  firstReferralReward?: number | null;
226
375
 
376
+ /**
377
+ * URL of the GitHub repository to check for star.
378
+ */
379
+ githubRepoUrl?: string | null;
380
+
227
381
  /**
228
382
  * Flag indicating whether the fill source is included.
229
383
  */
@@ -234,11 +388,6 @@ export namespace RuleGroupGetResponse {
234
388
  */
235
389
  hasNeverSold?: boolean;
236
390
 
237
- /**
238
- * Flag indicating whether the order source is included.
239
- */
240
- hasOrderSource?: boolean;
241
-
242
391
  /**
243
392
  * Indicates if the full royalty has been paid for items.
244
393
  */
@@ -259,11 +408,21 @@ export namespace RuleGroupGetResponse {
259
408
  */
260
409
  imageUrl?: string | null;
261
410
 
411
+ /**
412
+ * If enabled, the first transaction done on the platform will complete this rule
413
+ */
414
+ isCheckInOnEveryTxn?: boolean;
415
+
262
416
  /**
263
417
  * Indicates if the multiplier has been applied to rewards.
264
418
  */
265
419
  isMultiplierApplied?: boolean;
266
420
 
421
+ /**
422
+ * Flag indicating if the rule is restricted to new users.
423
+ */
424
+ isRestrictedToNewUsers?: boolean;
425
+
267
426
  /**
268
427
  * Flag indicating if rewards are applied retroactively.
269
428
  */
@@ -279,6 +438,11 @@ export namespace RuleGroupGetResponse {
279
438
  */
280
439
  link?: string | null;
281
440
 
441
+ /**
442
+ * Liquidity pool details.
443
+ */
444
+ liquidity?: Metadata.Liquidity;
445
+
282
446
  /**
283
447
  * Maximum quantity constraint for token holding.
284
448
  */
@@ -320,14 +484,24 @@ export namespace RuleGroupGetResponse {
320
484
  onlyRewardSingleTokenOwnership?: boolean | null;
321
485
 
322
486
  /**
323
- * Order source of the order for the token sale
487
+ * Promotional code associated with the rule.
324
488
  */
325
- orderSource?: string;
489
+ promoCode?: string;
326
490
 
327
491
  /**
328
- * Promotional code associated with the rule.
492
+ * URL of the CSV file containing promo codes.
329
493
  */
330
- promoCode?: string;
494
+ promoCodeCsvUrl?: string;
495
+
496
+ /**
497
+ * Numbers of the promotional code to be generated.
498
+ */
499
+ promoCodeLength?: number | null;
500
+
501
+ /**
502
+ * Type of the promotional code.
503
+ */
504
+ promoCodeType?: 'code' | 'csv' | 'generate';
331
505
 
332
506
  /**
333
507
  * Array defining ranges and corresponding rewards.
@@ -344,11 +518,62 @@ export namespace RuleGroupGetResponse {
344
518
  */
345
519
  referrerReward?: number | null;
346
520
 
521
+ /**
522
+ * Loyalty currency ID of the referrer reward.
523
+ */
524
+ referrerRewardLoyaltyCurrencyId?: string | null;
525
+
526
+ /**
527
+ * Flag indicating if the post link is required.
528
+ */
529
+ requirePostLink?: boolean | null;
530
+
531
+ /**
532
+ * Flag indicating if media metadata is required.
533
+ */
534
+ requirePostMediaLink?: boolean | null;
535
+
536
+ /**
537
+ * Flag indicating if the rule can also reward badges per range.
538
+ */
539
+ rewardBadgePerRange?: boolean;
540
+
541
+ /**
542
+ * Flag indicating if the reward is rewarded by batch.
543
+ */
544
+ rewardByBatch?: boolean | null;
545
+
546
+ /**
547
+ * Criteria to evaluate the reward.
548
+ */
549
+ rewardCriteria?: 'IMPRESSIONS_COUNT' | 'ELIGIBLE_POST' | null;
550
+
551
+ /**
552
+ * Flag indicating if the reward is rewarded per action.
553
+ */
554
+ rewardPerAction?: boolean | null;
555
+
347
556
  /**
348
557
  * Flag indicating if rewards are given per impression.
349
558
  */
350
559
  rewardPerImpression?: boolean | null;
351
560
 
561
+ /**
562
+ * Flag indicating if the rule should reward based on value of traded tokens
563
+ * instead of count.
564
+ */
565
+ rewardPerValue?: boolean;
566
+
567
+ /**
568
+ * Wallet address of the user can only be used if userId is not provided
569
+ */
570
+ royaltyAddress?: string;
571
+
572
+ /**
573
+ * Royalty percentage of the item.
574
+ */
575
+ royaltyPercentage?: number;
576
+
352
577
  /**
353
578
  * Currency associated with sales.
354
579
  */
@@ -388,6 +613,8 @@ export namespace RuleGroupGetResponse {
388
613
  | 'Twitch'
389
614
  | 'X(Twitter)'
390
615
  | 'YouTube'
616
+ | 'Google'
617
+ | 'GitHub'
391
618
  | null;
392
619
 
393
620
  /**
@@ -400,11 +627,21 @@ export namespace RuleGroupGetResponse {
400
627
  */
401
628
  socialPlatformName?: string | null;
402
629
 
630
+ /**
631
+ * ID of the Steam app.
632
+ */
633
+ steamAppId?: string | null;
634
+
403
635
  /**
404
636
  * Array of streak milestones and corresponding rewards.
405
637
  */
406
638
  streakArray?: Array<Metadata.StreakArray> | null;
407
639
 
640
+ /**
641
+ * Metadata for swap loyalty rules
642
+ */
643
+ swap?: Metadata.Swap;
644
+
408
645
  /**
409
646
  * ID of the Telegram channel.
410
647
  */
@@ -420,6 +657,12 @@ export namespace RuleGroupGetResponse {
420
657
  */
421
658
  trackAllContracts?: boolean | null;
422
659
 
660
+ /**
661
+ * Flag indicating if the progress is tracked. If enabled, the rule can only be
662
+ * completed once the progress is 100%.
663
+ */
664
+ trackProgress?: boolean | null;
665
+
423
666
  /**
424
667
  * URL of the associated Twitter account.
425
668
  */
@@ -463,7 +706,28 @@ export namespace RuleGroupGetResponse {
463
706
  /**
464
707
  * Type of wallet associated with the rule.
465
708
  */
466
- walletType?: 'evm' | 'solana' | 'imx' | 'sui' | 'ton' | null;
709
+ walletType?:
710
+ | 'evm'
711
+ | 'solana'
712
+ | 'imx'
713
+ | 'sui'
714
+ | 'ton'
715
+ | 'cosmos'
716
+ | 'ultra'
717
+ | 'agw'
718
+ | 'flow_cadence'
719
+ | 'substrate'
720
+ | null;
721
+
722
+ /**
723
+ * ID of the Youtube channel.
724
+ */
725
+ youtubeChannelId?: string | null;
726
+
727
+ /**
728
+ * ID of the Youtube video.
729
+ */
730
+ youtubeVideoId?: string | null;
467
731
  }
468
732
 
469
733
  export namespace Metadata {
@@ -482,13 +746,17 @@ export namespace RuleGroupGetResponse {
482
746
  * Blockchain network of the collection.
483
747
  */
484
748
  network?:
749
+ | 'abstract'
750
+ | 'abstractTestnet'
485
751
  | 'apechain'
486
752
  | 'arbitrum'
487
753
  | 'avalanche'
488
754
  | 'avalancheFuji'
489
755
  | 'base'
490
756
  | 'baseSepolia'
757
+ | 'berachain'
491
758
  | 'berachainArtio'
759
+ | 'berachainBepolia'
492
760
  | 'binance'
493
761
  | 'bscTestnet'
494
762
  | 'campTestnet'
@@ -496,18 +764,30 @@ export namespace RuleGroupGetResponse {
496
764
  | 'fantomTestnet'
497
765
  | 'flowMainnet'
498
766
  | 'mainnet'
767
+ | 'nexusTestnet'
499
768
  | 'optimism'
500
769
  | 'polygon'
501
770
  | 'polygon_mumbai'
502
771
  | 'skaleNebula'
772
+ | 'skaleEuropa'
773
+ | 'skaleCalypso'
503
774
  | 'solana'
504
775
  | 'sophon'
776
+ | 'sophonTestnet'
505
777
  | 'sui'
506
778
  | 'superseed'
507
779
  | 'superseedSepolia'
508
780
  | 'vanar'
509
781
  | 'xai'
510
782
  | 'zksync'
783
+ | 'coti'
784
+ | 'cotiTestnet'
785
+ | 'morph'
786
+ | 'morphTestnet'
787
+ | 'morphHolesky'
788
+ | 'ultra'
789
+ | 'ultraTestnet'
790
+ | 'nitrograph'
511
791
  | 'sepolia'
512
792
  | 'optimism_sepolia'
513
793
  | 'arbitrumSepolia'
@@ -515,7 +795,11 @@ export namespace RuleGroupGetResponse {
515
795
  | 'optimism_goerli'
516
796
  | 'arbitrumGoerli'
517
797
  | 'basecamp'
518
- | 'abstract';
798
+ | 'somnia'
799
+ | 'zkverify'
800
+ | 'polkadot'
801
+ | 'kusama'
802
+ | 'flow_cadence';
519
803
  }
520
804
 
521
805
  /**
@@ -592,6 +876,111 @@ export namespace RuleGroupGetResponse {
592
876
  id: string;
593
877
  }
594
878
 
879
+ /**
880
+ * Liquidity pool details.
881
+ */
882
+ export interface Liquidity {
883
+ /**
884
+ * Calculation type of the liquidity pool.
885
+ */
886
+ calculationType?: 'fixed' | 'custom';
887
+
888
+ /**
889
+ * Custom function to calculate the the reward amount based on the liquidity
890
+ * provided per day. X is the reward amount, Y is the liquidity provided per day in
891
+ * USD.
892
+ */
893
+ customFunction?: string;
894
+
895
+ /**
896
+ * Liquidity provided per day in USD
897
+ */
898
+ liquidityPerDay?: number;
899
+
900
+ /**
901
+ * Blockchain network of the liquidity pool.
902
+ */
903
+ network?:
904
+ | 'abstract'
905
+ | 'abstractTestnet'
906
+ | 'apechain'
907
+ | 'arbitrum'
908
+ | 'avalanche'
909
+ | 'avalancheFuji'
910
+ | 'base'
911
+ | 'baseSepolia'
912
+ | 'berachain'
913
+ | 'berachainArtio'
914
+ | 'berachainBepolia'
915
+ | 'binance'
916
+ | 'bscTestnet'
917
+ | 'campTestnet'
918
+ | 'fantom'
919
+ | 'fantomTestnet'
920
+ | 'flowMainnet'
921
+ | 'mainnet'
922
+ | 'nexusTestnet'
923
+ | 'optimism'
924
+ | 'polygon'
925
+ | 'polygon_mumbai'
926
+ | 'skaleNebula'
927
+ | 'skaleEuropa'
928
+ | 'skaleCalypso'
929
+ | 'solana'
930
+ | 'sophon'
931
+ | 'sophonTestnet'
932
+ | 'sui'
933
+ | 'superseed'
934
+ | 'superseedSepolia'
935
+ | 'vanar'
936
+ | 'xai'
937
+ | 'zksync'
938
+ | 'coti'
939
+ | 'cotiTestnet'
940
+ | 'morph'
941
+ | 'morphTestnet'
942
+ | 'morphHolesky'
943
+ | 'ultra'
944
+ | 'ultraTestnet'
945
+ | 'nitrograph'
946
+ | 'sepolia'
947
+ | 'optimism_sepolia'
948
+ | 'arbitrumSepolia'
949
+ | 'goerli'
950
+ | 'optimism_goerli'
951
+ | 'arbitrumGoerli'
952
+ | 'basecamp'
953
+ | 'somnia'
954
+ | 'zkverify'
955
+ | 'polkadot'
956
+ | 'kusama'
957
+ | 'flow_cadence';
958
+
959
+ /**
960
+ * Indicates if only in-range liquidity is rewarded.
961
+ */
962
+ onlyRewardInRangeLiquidity?: boolean;
963
+
964
+ /**
965
+ * Array of liquidity pools associated with the rule.
966
+ */
967
+ pools?: Array<Liquidity.Pool>;
968
+
969
+ /**
970
+ * Protocol of the liquidity pool.
971
+ */
972
+ protocol?: string;
973
+ }
974
+
975
+ export namespace Liquidity {
976
+ export interface Pool {
977
+ /**
978
+ * Unique identifier of the liquidity pool.
979
+ */
980
+ id: string;
981
+ }
982
+ }
983
+
595
984
  export interface Range {
596
985
  /**
597
986
  * Reward amount for this range.
@@ -607,6 +996,16 @@ export namespace RuleGroupGetResponse {
607
996
  * Start value of the range.
608
997
  */
609
998
  startRange: number;
999
+
1000
+ /**
1001
+ * ID of the loyalty badge for this range.
1002
+ */
1003
+ loyaltyBadgeId?: string;
1004
+
1005
+ /**
1006
+ * Amount of the loyalty multiplier for this range.
1007
+ */
1008
+ loyaltyMultiplierAmount?: number;
610
1009
  }
611
1010
 
612
1011
  /**
@@ -659,20 +1058,15 @@ export namespace RuleGroupGetResponse {
659
1058
  * Object containing details of the associated smart contract.
660
1059
  */
661
1060
  export interface SmartContract {
662
- /**
663
- * ABI of the smart contract.
664
- */
665
- abi?: string | null;
666
-
667
1061
  /**
668
1062
  * Mapping of addresses for the smart contract.
669
1063
  */
670
1064
  addressMapping?: string | null;
671
1065
 
672
1066
  /**
673
- * Array of bonus details applied to the rule.
1067
+ * Object containing details of the amount multiplier from the event.
674
1068
  */
675
- bonus?: Array<SmartContract.Bonus> | null;
1069
+ amountMultiplier?: SmartContract.AmountMultiplier | null;
676
1070
 
677
1071
  /**
678
1072
  * ID of the smart contract.
@@ -684,68 +1078,31 @@ export namespace RuleGroupGetResponse {
684
1078
  */
685
1079
  criteria?: 'everyEvent' | 'byParameter' | null;
686
1080
 
687
- /**
688
- * Time range applied to the rule.
689
- */
690
- customRange?: SmartContract.CustomRange | null;
691
-
692
1081
  /**
693
1082
  * Event emitted by the smart contract.
694
1083
  */
695
1084
  event?: string | null;
696
1085
 
697
- /**
698
- * Maximum value allowed for the parameter.
699
- */
700
- max?: number | null;
701
-
702
1086
  /**
703
1087
  * Array of parameters for the smart contract.
704
1088
  */
705
1089
  params?: Array<SmartContract.Param> | null;
706
1090
 
707
1091
  /**
708
- * Flag indicating if a bonus is applied.
1092
+ * Type of the smart contract interaction.
709
1093
  */
710
- withBonus?: boolean | null;
711
-
712
- /**
713
- * Flag indicating if a custom range is applied.
714
- */
715
- withCustomRange?: boolean | null;
716
-
717
- /**
718
- * Flag indicating if a maximum limit is applied.
719
- */
720
- withMax?: boolean | null;
1094
+ type?: 'function' | 'event' | null;
721
1095
  }
722
1096
 
723
1097
  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
1098
  /**
737
- * Time range applied to the rule.
1099
+ * Object containing details of the amount multiplier from the event.
738
1100
  */
739
- export interface CustomRange {
740
- /**
741
- * End time of the custom range.
742
- */
743
- endsAt?: string | null;
744
-
1101
+ export interface AmountMultiplier {
745
1102
  /**
746
- * Start time of the custom range.
1103
+ * Mapping of the value for the smart contract.
747
1104
  */
748
- startsAt?: string | null;
1105
+ valueMapping?: string | null;
749
1106
  }
750
1107
 
751
1108
  export interface Param {
@@ -789,13 +1146,64 @@ export namespace RuleGroupGetResponse {
789
1146
  */
790
1147
  streakMilestone: number;
791
1148
  }
1149
+
1150
+ /**
1151
+ * Metadata for swap loyalty rules
1152
+ */
1153
+ export interface Swap {
1154
+ provider?: 'any' | 'relay' | 'lifi';
1155
+
1156
+ relayReferrerId?: string;
1157
+
1158
+ requireCrossChainSwap?: boolean;
1159
+
1160
+ swappedToChain?: 'any' | number | string;
1161
+
1162
+ swappedToTokens?: Array<Swap.SwappedToToken>;
1163
+
1164
+ tokenMode?: 'any' | 'specific';
1165
+
1166
+ trackTokenAmount?: boolean;
1167
+ }
1168
+
1169
+ export namespace Swap {
1170
+ export interface SwappedToToken {
1171
+ address: string;
1172
+
1173
+ chainId: string;
1174
+ }
1175
+ }
792
1176
  }
793
1177
  }
794
1178
  }
795
1179
  }
796
1180
  }
797
1181
 
798
- export interface RuleGroupGetParams {
1182
+ export interface RuleGroupUpdateRuleGroupResponse {
1183
+ isCollapsible?: boolean;
1184
+
1185
+ name?: string;
1186
+
1187
+ subTitle?: string;
1188
+ }
1189
+
1190
+ export interface RuleGroupCreateRuleGroupParams {
1191
+ name: string;
1192
+
1193
+ organizationId: string;
1194
+
1195
+ websiteId: string;
1196
+
1197
+ isCollapsible?: boolean;
1198
+
1199
+ isRequired?: boolean;
1200
+
1201
+ sortId?: number;
1202
+
1203
+ subTitle?: string;
1204
+ }
1205
+
1206
+ export interface RuleGroupGetRuleGroupsParams {
799
1207
  excludeHidden?: string;
800
1208
 
801
1209
  limit?: number;
@@ -807,6 +1215,22 @@ export interface RuleGroupGetParams {
807
1215
  websiteId?: string;
808
1216
  }
809
1217
 
1218
+ export interface RuleGroupUpdateRuleGroupParams {
1219
+ isCollapsible?: boolean;
1220
+
1221
+ name?: string | null;
1222
+
1223
+ subtitle?: string | null;
1224
+ }
1225
+
810
1226
  export declare namespace RuleGroups {
811
- export { type RuleGroupGetResponse as RuleGroupGetResponse, type RuleGroupGetParams as RuleGroupGetParams };
1227
+ export {
1228
+ type RuleGroupCreateRuleGroupResponse as RuleGroupCreateRuleGroupResponse,
1229
+ type RuleGroupDeleteRuleGroupResponse as RuleGroupDeleteRuleGroupResponse,
1230
+ type RuleGroupGetRuleGroupsResponse as RuleGroupGetRuleGroupsResponse,
1231
+ type RuleGroupUpdateRuleGroupResponse as RuleGroupUpdateRuleGroupResponse,
1232
+ type RuleGroupCreateRuleGroupParams as RuleGroupCreateRuleGroupParams,
1233
+ type RuleGroupGetRuleGroupsParams as RuleGroupGetRuleGroupsParams,
1234
+ type RuleGroupUpdateRuleGroupParams as RuleGroupUpdateRuleGroupParams,
1235
+ };
812
1236
  }