@snagsolutions/sdk 0.1.0-alpha.11 → 0.1.0-alpha.110

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 (378) hide show
  1. package/CHANGELOG.md +970 -0
  2. package/README.md +24 -28
  3. package/_shims/index.d.ts +2 -0
  4. package/_shims/index.js +5 -1
  5. package/_shims/index.mjs +5 -1
  6. package/core.d.ts +19 -5
  7. package/core.d.ts.map +1 -1
  8. package/core.js +35 -19
  9. package/core.js.map +1 -1
  10. package/core.mjs +36 -20
  11. package/core.mjs.map +1 -1
  12. package/index.d.mts +25 -16
  13. package/index.d.ts +25 -16
  14. package/index.d.ts.map +1 -1
  15. package/index.js +20 -10
  16. package/index.js.map +1 -1
  17. package/index.mjs +21 -11
  18. package/index.mjs.map +1 -1
  19. package/package.json +4 -5
  20. package/resource.d.ts +1 -1
  21. package/resource.d.ts.map +1 -1
  22. package/resource.js.map +1 -1
  23. package/resource.mjs.map +1 -1
  24. package/resources/assets.d.ts +22 -8
  25. package/resources/assets.d.ts.map +1 -1
  26. package/resources/assets.js +12 -4
  27. package/resources/assets.js.map +1 -1
  28. package/resources/assets.mjs +12 -4
  29. package/resources/assets.mjs.map +1 -1
  30. package/resources/auctions/auctions.d.ts +285 -0
  31. package/resources/auctions/auctions.d.ts.map +1 -0
  32. package/resources/auctions/auctions.js +76 -0
  33. package/resources/auctions/auctions.js.map +1 -0
  34. package/resources/auctions/auctions.mjs +49 -0
  35. package/resources/auctions/auctions.mjs.map +1 -0
  36. package/resources/auctions/index.d.ts +3 -0
  37. package/resources/auctions/index.d.ts.map +1 -0
  38. package/resources/auctions/index.js +9 -0
  39. package/resources/auctions/index.js.map +1 -0
  40. package/resources/auctions/index.mjs +4 -0
  41. package/resources/auctions/index.mjs.map +1 -0
  42. package/resources/auctions/website-user-attributes/index.d.ts +3 -0
  43. package/resources/auctions/website-user-attributes/index.d.ts.map +1 -0
  44. package/resources/auctions/website-user-attributes/index.js +9 -0
  45. package/resources/auctions/website-user-attributes/index.js.map +1 -0
  46. package/resources/auctions/website-user-attributes/index.mjs +4 -0
  47. package/resources/auctions/website-user-attributes/index.mjs.map +1 -0
  48. package/resources/auctions/website-user-attributes/values.d.ts +122 -0
  49. package/resources/auctions/website-user-attributes/values.d.ts.map +1 -0
  50. package/resources/auctions/website-user-attributes/values.js +49 -0
  51. package/resources/auctions/website-user-attributes/values.js.map +1 -0
  52. package/resources/auctions/website-user-attributes/values.mjs +45 -0
  53. package/resources/auctions/website-user-attributes/values.mjs.map +1 -0
  54. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts +132 -0
  55. package/resources/auctions/website-user-attributes/website-user-attributes.d.ts.map +1 -0
  56. package/resources/auctions/website-user-attributes/website-user-attributes.js +76 -0
  57. package/resources/auctions/website-user-attributes/website-user-attributes.js.map +1 -0
  58. package/resources/auctions/website-user-attributes/website-user-attributes.mjs +49 -0
  59. package/resources/auctions/website-user-attributes/website-user-attributes.mjs.map +1 -0
  60. package/resources/auctions/website-user-attributes.d.ts +2 -0
  61. package/resources/auctions/website-user-attributes.d.ts.map +1 -0
  62. package/resources/auctions/website-user-attributes.js +19 -0
  63. package/resources/auctions/website-user-attributes.js.map +1 -0
  64. package/resources/auctions/website-user-attributes.mjs +3 -0
  65. package/resources/auctions/website-user-attributes.mjs.map +1 -0
  66. package/resources/auctions.d.ts +2 -0
  67. package/resources/auctions.d.ts.map +1 -0
  68. package/resources/auctions.js +19 -0
  69. package/resources/auctions.js.map +1 -0
  70. package/resources/auctions.mjs +3 -0
  71. package/resources/auctions.mjs.map +1 -0
  72. package/resources/auth.d.ts +44 -0
  73. package/resources/auth.d.ts.map +1 -0
  74. package/resources/auth.js +16 -0
  75. package/resources/auth.js.map +1 -0
  76. package/resources/auth.mjs +12 -0
  77. package/resources/auth.mjs.map +1 -0
  78. package/resources/index.d.ts +7 -5
  79. package/resources/index.d.ts.map +1 -1
  80. package/resources/index.js +10 -6
  81. package/resources/index.js.map +1 -1
  82. package/resources/index.mjs +6 -4
  83. package/resources/index.mjs.map +1 -1
  84. package/resources/loyalty/account-streaks.d.ts +81 -0
  85. package/resources/loyalty/account-streaks.d.ts.map +1 -0
  86. package/resources/loyalty/account-streaks.js +24 -0
  87. package/resources/loyalty/account-streaks.js.map +1 -0
  88. package/resources/loyalty/account-streaks.mjs +20 -0
  89. package/resources/loyalty/account-streaks.mjs.map +1 -0
  90. package/resources/loyalty/accounts.d.ts +62 -15
  91. package/resources/loyalty/accounts.d.ts.map +1 -1
  92. package/resources/loyalty/accounts.js +22 -1
  93. package/resources/loyalty/accounts.js.map +1 -1
  94. package/resources/loyalty/accounts.mjs +22 -1
  95. package/resources/loyalty/accounts.mjs.map +1 -1
  96. package/resources/loyalty/badges.d.ts +876 -77
  97. package/resources/loyalty/badges.d.ts.map +1 -1
  98. package/resources/loyalty/badges.js +19 -1
  99. package/resources/loyalty/badges.js.map +1 -1
  100. package/resources/loyalty/badges.mjs +19 -1
  101. package/resources/loyalty/badges.mjs.map +1 -1
  102. package/resources/loyalty/currencies.d.ts +20 -1
  103. package/resources/loyalty/currencies.d.ts.map +1 -1
  104. package/resources/loyalty/currencies.js +19 -0
  105. package/resources/loyalty/currencies.js.map +1 -1
  106. package/resources/loyalty/currencies.mjs +19 -0
  107. package/resources/loyalty/currencies.mjs.map +1 -1
  108. package/resources/loyalty/index.d.ts +9 -5
  109. package/resources/loyalty/index.d.ts.map +1 -1
  110. package/resources/loyalty/index.js +11 -3
  111. package/resources/loyalty/index.js.map +1 -1
  112. package/resources/loyalty/index.mjs +6 -2
  113. package/resources/loyalty/index.mjs.map +1 -1
  114. package/resources/loyalty/loyalty.d.ts +33 -17
  115. package/resources/loyalty/loyalty.d.ts.map +1 -1
  116. package/resources/loyalty/loyalty.js +28 -12
  117. package/resources/loyalty/loyalty.js.map +1 -1
  118. package/resources/loyalty/loyalty.mjs +29 -13
  119. package/resources/loyalty/loyalty.mjs.map +1 -1
  120. package/resources/loyalty/multipliers.d.ts +97 -4
  121. package/resources/loyalty/multipliers.d.ts.map +1 -1
  122. package/resources/loyalty/multipliers.js +29 -0
  123. package/resources/loyalty/multipliers.js.map +1 -1
  124. package/resources/loyalty/multipliers.mjs +29 -0
  125. package/resources/loyalty/multipliers.mjs.map +1 -1
  126. package/resources/loyalty/questions-responses.d.ts +112 -0
  127. package/resources/loyalty/questions-responses.d.ts.map +1 -0
  128. package/resources/loyalty/questions-responses.js +31 -0
  129. package/resources/loyalty/questions-responses.js.map +1 -0
  130. package/resources/loyalty/questions-responses.mjs +27 -0
  131. package/resources/loyalty/questions-responses.mjs.map +1 -0
  132. package/resources/loyalty/questions.d.ts +183 -0
  133. package/resources/loyalty/questions.d.ts.map +1 -0
  134. package/resources/loyalty/questions.js +60 -0
  135. package/resources/loyalty/questions.js.map +1 -0
  136. package/resources/loyalty/questions.mjs +56 -0
  137. package/resources/loyalty/questions.mjs.map +1 -0
  138. package/resources/loyalty/rule-edits.d.ts +2489 -11
  139. package/resources/loyalty/rule-edits.d.ts.map +1 -1
  140. package/resources/loyalty/rule-edits.js +16 -2
  141. package/resources/loyalty/rule-edits.js.map +1 -1
  142. package/resources/loyalty/rule-edits.mjs +16 -2
  143. package/resources/loyalty/rule-edits.mjs.map +1 -1
  144. package/resources/loyalty/rule-groups.d.ts +738 -0
  145. package/resources/loyalty/rule-groups.d.ts.map +1 -0
  146. package/resources/loyalty/rule-groups.js +52 -0
  147. package/resources/loyalty/rule-groups.js.map +1 -0
  148. package/resources/loyalty/rule-groups.mjs +48 -0
  149. package/resources/loyalty/rule-groups.mjs.map +1 -0
  150. package/resources/loyalty/rules.d.ts +1717 -280
  151. package/resources/loyalty/rules.d.ts.map +1 -1
  152. package/resources/loyalty/rules.js +40 -9
  153. package/resources/loyalty/rules.js.map +1 -1
  154. package/resources/loyalty/rules.mjs +40 -9
  155. package/resources/loyalty/rules.mjs.map +1 -1
  156. package/resources/loyalty/transactions/index.d.ts +3 -0
  157. package/resources/loyalty/transactions/index.d.ts.map +1 -0
  158. package/resources/loyalty/transactions/index.js +9 -0
  159. package/resources/loyalty/transactions/index.js.map +1 -0
  160. package/resources/loyalty/transactions/index.mjs +4 -0
  161. package/resources/loyalty/transactions/index.mjs.map +1 -0
  162. package/resources/loyalty/transactions/rule-statuses.d.ts +120 -0
  163. package/resources/loyalty/transactions/rule-statuses.d.ts.map +1 -0
  164. package/resources/loyalty/transactions/rule-statuses.js +30 -0
  165. package/resources/loyalty/transactions/rule-statuses.js.map +1 -0
  166. package/resources/loyalty/transactions/rule-statuses.mjs +26 -0
  167. package/resources/loyalty/transactions/rule-statuses.mjs.map +1 -0
  168. package/resources/loyalty/transactions/transactions.d.ts +410 -0
  169. package/resources/loyalty/transactions/transactions.d.ts.map +1 -0
  170. package/resources/loyalty/transactions/transactions.js +76 -0
  171. package/resources/loyalty/transactions/transactions.js.map +1 -0
  172. package/resources/loyalty/transactions/transactions.mjs +49 -0
  173. package/resources/loyalty/transactions/transactions.mjs.map +1 -0
  174. package/resources/loyalty/transactions.d.ts +2 -0
  175. package/resources/loyalty/transactions.d.ts.map +1 -0
  176. package/resources/loyalty/transactions.js +19 -0
  177. package/resources/loyalty/transactions.js.map +1 -0
  178. package/resources/loyalty/transactions.mjs +3 -0
  179. package/resources/loyalty/transactions.mjs.map +1 -0
  180. package/resources/loyalty.d.ts +2 -0
  181. package/resources/loyalty.d.ts.map +1 -0
  182. package/resources/loyalty.js +19 -0
  183. package/resources/loyalty.js.map +1 -0
  184. package/resources/loyalty.mjs +3 -0
  185. package/resources/loyalty.mjs.map +1 -0
  186. package/resources/minting.d.ts +95 -0
  187. package/resources/minting.d.ts.map +1 -0
  188. package/resources/minting.js +15 -0
  189. package/resources/minting.js.map +1 -0
  190. package/resources/minting.mjs +11 -0
  191. package/resources/minting.mjs.map +1 -0
  192. package/resources/referral/index.d.ts +3 -0
  193. package/resources/referral/index.d.ts.map +1 -0
  194. package/resources/referral/index.js +9 -0
  195. package/resources/referral/index.js.map +1 -0
  196. package/resources/referral/index.mjs +4 -0
  197. package/resources/referral/index.mjs.map +1 -0
  198. package/resources/referral/referral.d.ts +39 -0
  199. package/resources/referral/referral.d.ts.map +1 -0
  200. package/resources/{drip/drip.js → referral/referral.js} +21 -12
  201. package/resources/referral/referral.js.map +1 -0
  202. package/resources/referral/referral.mjs +25 -0
  203. package/resources/referral/referral.mjs.map +1 -0
  204. package/resources/referral/users.d.ts +83 -0
  205. package/resources/referral/users.d.ts.map +1 -0
  206. package/resources/referral/users.js +35 -0
  207. package/resources/referral/users.js.map +1 -0
  208. package/resources/referral/users.mjs +31 -0
  209. package/resources/referral/users.mjs.map +1 -0
  210. package/resources/referral.d.ts +2 -0
  211. package/resources/referral.d.ts.map +1 -0
  212. package/resources/referral.js +19 -0
  213. package/resources/referral.js.map +1 -0
  214. package/resources/referral.mjs +3 -0
  215. package/resources/referral.mjs.map +1 -0
  216. package/resources/users/index.d.ts +2 -3
  217. package/resources/users/index.d.ts.map +1 -1
  218. package/resources/users/index.js +1 -3
  219. package/resources/users/index.js.map +1 -1
  220. package/resources/users/index.mjs +2 -3
  221. package/resources/users/index.mjs.map +1 -1
  222. package/resources/users/metadatas.d.ts +109 -9
  223. package/resources/users/metadatas.d.ts.map +1 -1
  224. package/resources/users/metadatas.js +6 -0
  225. package/resources/users/metadatas.js.map +1 -1
  226. package/resources/users/metadatas.mjs +6 -0
  227. package/resources/users/metadatas.mjs.map +1 -1
  228. package/resources/users/users.d.ts +414 -6
  229. package/resources/users/users.d.ts.map +1 -1
  230. package/resources/users/users.js +77 -4
  231. package/resources/users/users.js.map +1 -1
  232. package/resources/users/users.mjs +78 -5
  233. package/resources/users/users.mjs.map +1 -1
  234. package/resources/users.d.ts +2 -0
  235. package/resources/users.d.ts.map +1 -0
  236. package/resources/users.js +19 -0
  237. package/resources/users.js.map +1 -0
  238. package/resources/users.mjs +3 -0
  239. package/resources/users.mjs.map +1 -0
  240. package/resources/websites/index.d.ts +4 -0
  241. package/resources/websites/index.d.ts.map +1 -0
  242. package/resources/websites/index.js +11 -0
  243. package/resources/websites/index.js.map +1 -0
  244. package/resources/websites/index.mjs +5 -0
  245. package/resources/websites/index.mjs.map +1 -0
  246. package/resources/websites/website-collections.d.ts +94 -0
  247. package/resources/websites/website-collections.d.ts.map +1 -0
  248. package/resources/websites/website-collections.js +46 -0
  249. package/resources/websites/website-collections.js.map +1 -0
  250. package/resources/websites/website-collections.mjs +42 -0
  251. package/resources/websites/website-collections.mjs.map +1 -0
  252. package/resources/websites/website-user-roles.d.ts +96 -0
  253. package/resources/websites/website-user-roles.d.ts.map +1 -0
  254. package/resources/websites/website-user-roles.js +45 -0
  255. package/resources/websites/website-user-roles.js.map +1 -0
  256. package/resources/websites/website-user-roles.mjs +41 -0
  257. package/resources/websites/website-user-roles.mjs.map +1 -0
  258. package/resources/websites/websites.d.ts +223 -0
  259. package/resources/websites/websites.d.ts.map +1 -0
  260. package/resources/websites/websites.js +63 -0
  261. package/resources/websites/websites.js.map +1 -0
  262. package/resources/websites/websites.mjs +36 -0
  263. package/resources/websites/websites.mjs.map +1 -0
  264. package/resources/websites.d.ts +1 -202
  265. package/resources/websites.d.ts.map +1 -1
  266. package/resources/websites.js +15 -18
  267. package/resources/websites.js.map +1 -1
  268. package/resources/websites.mjs +1 -16
  269. package/resources/websites.mjs.map +1 -1
  270. package/resources.d.ts +2 -0
  271. package/resources.d.ts.map +1 -0
  272. package/resources.js +18 -0
  273. package/resources.js.map +1 -0
  274. package/resources.mjs +2 -0
  275. package/resources.mjs.map +1 -0
  276. package/src/_shims/index.d.ts +2 -0
  277. package/src/_shims/index.js +5 -1
  278. package/src/_shims/index.mjs +5 -1
  279. package/src/core.ts +56 -20
  280. package/src/index.ts +96 -24
  281. package/src/resource.ts +1 -1
  282. package/src/resources/assets.ts +29 -8
  283. package/src/resources/auctions/auctions.ts +436 -0
  284. package/src/resources/auctions/index.ts +18 -0
  285. package/src/resources/auctions/website-user-attributes/index.ts +18 -0
  286. package/src/resources/auctions/website-user-attributes/values.ts +165 -0
  287. package/src/resources/auctions/website-user-attributes/website-user-attributes.ts +207 -0
  288. package/src/resources/auctions/website-user-attributes.ts +3 -0
  289. package/src/resources/auctions.ts +3 -0
  290. package/src/resources/auth.ts +74 -0
  291. package/src/resources/index.ts +31 -5
  292. package/src/resources/loyalty/account-streaks.ts +110 -0
  293. package/src/resources/loyalty/accounts.ts +79 -16
  294. package/src/resources/loyalty/badges.ts +1055 -83
  295. package/src/resources/loyalty/currencies.ts +20 -1
  296. package/src/resources/loyalty/index.ts +53 -9
  297. package/src/resources/loyalty/loyalty.ts +160 -60
  298. package/src/resources/loyalty/multipliers.ts +124 -4
  299. package/src/resources/loyalty/questions-responses.ts +161 -0
  300. package/src/resources/loyalty/questions.ts +241 -0
  301. package/src/resources/loyalty/rule-edits.ts +3486 -63
  302. package/src/resources/loyalty/rule-groups.ts +1145 -0
  303. package/src/resources/loyalty/rules.ts +2854 -579
  304. package/src/resources/loyalty/transactions/index.ts +18 -0
  305. package/src/resources/loyalty/transactions/rule-statuses.ts +178 -0
  306. package/src/resources/loyalty/transactions/transactions.ts +671 -0
  307. package/src/resources/loyalty/transactions.ts +3 -0
  308. package/src/resources/loyalty.ts +3 -0
  309. package/src/resources/minting.ts +168 -0
  310. package/src/resources/referral/index.ts +10 -0
  311. package/src/resources/referral/referral.ts +72 -0
  312. package/src/resources/referral/users.ts +122 -0
  313. package/src/resources/referral.ts +3 -0
  314. package/src/resources/users/index.ts +21 -9
  315. package/src/resources/users/metadatas.ts +161 -8
  316. package/src/resources/users/users.ts +581 -17
  317. package/src/resources/users.ts +3 -0
  318. package/src/resources/websites/index.ts +22 -0
  319. package/src/resources/websites/website-collections.ts +180 -0
  320. package/src/resources/websites/website-user-roles.ts +130 -0
  321. package/src/resources/websites/websites.ts +311 -0
  322. package/src/resources/websites.ts +1 -257
  323. package/src/resources.ts +1 -0
  324. package/src/version.ts +1 -1
  325. package/version.d.ts +1 -1
  326. package/version.d.ts.map +1 -1
  327. package/version.js +1 -1
  328. package/version.js.map +1 -1
  329. package/version.mjs +1 -1
  330. package/version.mjs.map +1 -1
  331. package/resources/auction-bids.d.ts +0 -81
  332. package/resources/auction-bids.d.ts.map +0 -1
  333. package/resources/auction-bids.js +0 -30
  334. package/resources/auction-bids.js.map +0 -1
  335. package/resources/auction-bids.mjs +0 -26
  336. package/resources/auction-bids.mjs.map +0 -1
  337. package/resources/drip/drip.d.ts +0 -14
  338. package/resources/drip/drip.d.ts.map +0 -1
  339. package/resources/drip/drip.js.map +0 -1
  340. package/resources/drip/drip.mjs +0 -16
  341. package/resources/drip/drip.mjs.map +0 -1
  342. package/resources/drip/index.d.ts +0 -4
  343. package/resources/drip/index.d.ts.map +0 -1
  344. package/resources/drip/index.js +0 -11
  345. package/resources/drip/index.js.map +0 -1
  346. package/resources/drip/index.mjs +0 -5
  347. package/resources/drip/index.mjs.map +0 -1
  348. package/resources/drip/quests.d.ts +0 -168
  349. package/resources/drip/quests.d.ts.map +0 -1
  350. package/resources/drip/quests.js +0 -17
  351. package/resources/drip/quests.js.map +0 -1
  352. package/resources/drip/quests.mjs +0 -13
  353. package/resources/drip/quests.mjs.map +0 -1
  354. package/resources/drip/status.d.ts +0 -26
  355. package/resources/drip/status.d.ts.map +0 -1
  356. package/resources/drip/status.js +0 -16
  357. package/resources/drip/status.js.map +0 -1
  358. package/resources/drip/status.mjs +0 -12
  359. package/resources/drip/status.mjs.map +0 -1
  360. package/resources/loyalty/transaction-entries.d.ts +0 -175
  361. package/resources/loyalty/transaction-entries.d.ts.map +0 -1
  362. package/resources/loyalty/transaction-entries.js +0 -16
  363. package/resources/loyalty/transaction-entries.js.map +0 -1
  364. package/resources/loyalty/transaction-entries.mjs +0 -12
  365. package/resources/loyalty/transaction-entries.mjs.map +0 -1
  366. package/resources/users/wallets.d.ts +0 -193
  367. package/resources/users/wallets.d.ts.map +0 -1
  368. package/resources/users/wallets.js +0 -28
  369. package/resources/users/wallets.js.map +0 -1
  370. package/resources/users/wallets.mjs +0 -24
  371. package/resources/users/wallets.mjs.map +0 -1
  372. package/src/resources/auction-bids.ts +0 -123
  373. package/src/resources/drip/drip.ts +0 -25
  374. package/src/resources/drip/index.ts +0 -5
  375. package/src/resources/drip/quests.ts +0 -210
  376. package/src/resources/drip/status.ts +0 -33
  377. package/src/resources/loyalty/transaction-entries.ts +0 -229
  378. package/src/resources/users/wallets.ts +0 -271
@@ -0,0 +1,161 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../resource';
4
+ import { isRequestOptions } from '../../core';
5
+ import * as Core from '../../core';
6
+
7
+ export class QuestionsResponses extends APIResource {
8
+ /**
9
+ * Retrieve responses submitted by the authenticated user, optionally filtered by
10
+ * question IDs
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const questionsResponses =
15
+ * await client.loyalty.questionsResponses.list();
16
+ * ```
17
+ */
18
+ list(
19
+ query?: QuestionsResponseListParams,
20
+ options?: Core.RequestOptions,
21
+ ): Core.APIPromise<QuestionsResponseListResponse>;
22
+ list(options?: Core.RequestOptions): Core.APIPromise<QuestionsResponseListResponse>;
23
+ list(
24
+ query: QuestionsResponseListParams | Core.RequestOptions = {},
25
+ options?: Core.RequestOptions,
26
+ ): Core.APIPromise<QuestionsResponseListResponse> {
27
+ if (isRequestOptions(query)) {
28
+ return this.list({}, query);
29
+ }
30
+ return this._client.get('/api/loyalty/questions_responses', { query, ...options });
31
+ }
32
+
33
+ /**
34
+ * This endpoint allows you to submit a response to a question.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const response =
39
+ * await client.loyalty.questionsResponses.submit({
40
+ * loyaltyQuestionChoiceId:
41
+ * '123e4567-e89b-12d3-a456-426614174001',
42
+ * });
43
+ * ```
44
+ */
45
+ submit(
46
+ body: QuestionsResponseSubmitParams,
47
+ options?: Core.RequestOptions,
48
+ ): Core.APIPromise<QuestionsResponseSubmitResponse> {
49
+ return this._client.post('/api/loyalty/questions_responses', { body, ...options });
50
+ }
51
+ }
52
+
53
+ /**
54
+ * List of question responses with details
55
+ */
56
+ export interface QuestionsResponseListResponse {
57
+ responses: Array<QuestionsResponseListResponse.Response>;
58
+ }
59
+
60
+ export namespace QuestionsResponseListResponse {
61
+ /**
62
+ * Response details including the question and choice information
63
+ */
64
+ export interface Response {
65
+ id: string;
66
+
67
+ createdAt: string;
68
+
69
+ isCorrect: boolean;
70
+
71
+ loyaltyQuestionChoiceId: string;
72
+
73
+ loyaltyQuestionId: string;
74
+
75
+ question: Response.Question;
76
+
77
+ userId: string;
78
+ }
79
+
80
+ export namespace Response {
81
+ export interface Question {
82
+ loyaltyQuestionChoices: Array<Question.LoyaltyQuestionChoice>;
83
+
84
+ text: string;
85
+ }
86
+
87
+ export namespace Question {
88
+ export interface LoyaltyQuestionChoice {
89
+ id: string;
90
+
91
+ isCorrect: boolean;
92
+
93
+ text: string;
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Response returned when submitting an answer to a question
101
+ */
102
+ export interface QuestionsResponseSubmitResponse {
103
+ /**
104
+ * Whether the user had already submitted an answer to this question
105
+ */
106
+ alreadySubmitted: boolean;
107
+
108
+ /**
109
+ * Whether the submitted answer was correct
110
+ */
111
+ isCorrect: boolean;
112
+
113
+ response: QuestionsResponseSubmitResponse.Response;
114
+ }
115
+
116
+ export namespace QuestionsResponseSubmitResponse {
117
+ export interface Response {
118
+ /**
119
+ * UUID of the response
120
+ */
121
+ id: string;
122
+
123
+ /**
124
+ * UUID of the selected choice
125
+ */
126
+ loyaltyQuestionChoiceId: string;
127
+
128
+ /**
129
+ * UUID of the question being answered
130
+ */
131
+ loyaltyQuestionId: string;
132
+
133
+ /**
134
+ * UUID of the user who submitted the response
135
+ */
136
+ userId: string;
137
+ }
138
+ }
139
+
140
+ export interface QuestionsResponseListParams {
141
+ /**
142
+ * UUID(s) of the questions to filter responses
143
+ */
144
+ questionsId?: string | Array<string>;
145
+ }
146
+
147
+ export interface QuestionsResponseSubmitParams {
148
+ /**
149
+ * UUID of the selected choice
150
+ */
151
+ loyaltyQuestionChoiceId: string;
152
+ }
153
+
154
+ export declare namespace QuestionsResponses {
155
+ export {
156
+ type QuestionsResponseListResponse as QuestionsResponseListResponse,
157
+ type QuestionsResponseSubmitResponse as QuestionsResponseSubmitResponse,
158
+ type QuestionsResponseListParams as QuestionsResponseListParams,
159
+ type QuestionsResponseSubmitParams as QuestionsResponseSubmitParams,
160
+ };
161
+ }
@@ -0,0 +1,241 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../resource';
4
+ import * as Core from '../../core';
5
+
6
+ export class Questions extends APIResource {
7
+ /**
8
+ * This endpoint allows you to create a new question.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * const question = await client.loyalty.questions.create({
13
+ * loyaltyQuestionAnswers: [
14
+ * { isCorrect: true, sortIdentifier: 1, text: 'Red' },
15
+ * ],
16
+ * loyaltyRuleId: '123e4567-e89b-12d3-a456-426614174000',
17
+ * questionText: 'What is your favorite color?',
18
+ * });
19
+ * ```
20
+ */
21
+ create(body: QuestionCreateParams, options?: Core.RequestOptions): Core.APIPromise<QuestionCreateResponse> {
22
+ return this._client.post('/api/loyalty/questions', { body, ...options });
23
+ }
24
+
25
+ /**
26
+ * This endpoint allows you to update an existing question.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const question = await client.loyalty.questions.update(
31
+ * 'id',
32
+ * {
33
+ * loyaltyQuestionAnswers: [
34
+ * { isCorrect: true, sortIdentifier: 1, text: 'Red' },
35
+ * ],
36
+ * questionText: 'What is your favorite color?',
37
+ * },
38
+ * );
39
+ * ```
40
+ */
41
+ update(
42
+ id: string,
43
+ body: QuestionUpdateParams,
44
+ options?: Core.RequestOptions,
45
+ ): Core.APIPromise<QuestionUpdateResponse> {
46
+ return this._client.post(`/api/loyalty/questions/${id}`, { body, ...options });
47
+ }
48
+
49
+ /**
50
+ * This endpoint allows you to fetch questions for a loyalty rule.
51
+ *
52
+ * @example
53
+ * ```ts
54
+ * const questions = await client.loyalty.questions.list({
55
+ * loyaltyRuleIds: '123e4567-e89b-12d3-a456-426614174000',
56
+ * organizationId: '123e4567-e89b-12d3-a456-426614174002',
57
+ * websiteId: '123e4567-e89b-12d3-a456-426614174001',
58
+ * });
59
+ * ```
60
+ */
61
+ list(query: QuestionListParams, options?: Core.RequestOptions): Core.APIPromise<QuestionListResponse> {
62
+ return this._client.get('/api/loyalty/questions', { query, ...options });
63
+ }
64
+ }
65
+
66
+ /**
67
+ * Response returned for a question
68
+ */
69
+ export interface QuestionCreateResponse {
70
+ id: string;
71
+
72
+ loyaltyQuestionChoices: Array<QuestionCreateResponse.LoyaltyQuestionChoice>;
73
+
74
+ text: string;
75
+ }
76
+
77
+ export namespace QuestionCreateResponse {
78
+ export interface LoyaltyQuestionChoice {
79
+ id: string;
80
+
81
+ sortIdentifier: number;
82
+
83
+ text: string;
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Response returned for a question
89
+ */
90
+ export interface QuestionUpdateResponse {
91
+ id: string;
92
+
93
+ loyaltyQuestionChoices: Array<QuestionUpdateResponse.LoyaltyQuestionChoice>;
94
+
95
+ text: string;
96
+ }
97
+
98
+ export namespace QuestionUpdateResponse {
99
+ export interface LoyaltyQuestionChoice {
100
+ id: string;
101
+
102
+ sortIdentifier: number;
103
+
104
+ text: string;
105
+ }
106
+ }
107
+
108
+ export type QuestionListResponse = Array<QuestionListResponse.QuestionListResponseItem>;
109
+
110
+ export namespace QuestionListResponse {
111
+ /**
112
+ * Response returned for a question
113
+ */
114
+ export interface QuestionListResponseItem {
115
+ id: string;
116
+
117
+ loyaltyQuestionChoices: Array<QuestionListResponseItem.LoyaltyQuestionChoice>;
118
+
119
+ text: string;
120
+ }
121
+
122
+ export namespace QuestionListResponseItem {
123
+ export interface LoyaltyQuestionChoice {
124
+ id: string;
125
+
126
+ sortIdentifier: number;
127
+
128
+ text: string;
129
+ }
130
+ }
131
+ }
132
+
133
+ export interface QuestionCreateParams {
134
+ /**
135
+ * Array of choices for the question
136
+ */
137
+ loyaltyQuestionAnswers: Array<QuestionCreateParams.LoyaltyQuestionAnswer>;
138
+
139
+ /**
140
+ * UUID of the loyalty rule
141
+ */
142
+ loyaltyRuleId: string;
143
+
144
+ /**
145
+ * The text of the question
146
+ */
147
+ questionText: string;
148
+
149
+ /**
150
+ * Whether the question allows multiple attempts
151
+ */
152
+ allowMultipleAttempts?: boolean;
153
+ }
154
+
155
+ export namespace QuestionCreateParams {
156
+ export interface LoyaltyQuestionAnswer {
157
+ /**
158
+ * Whether this choice is correct
159
+ */
160
+ isCorrect: boolean;
161
+
162
+ /**
163
+ * The order in which to display the choice
164
+ */
165
+ sortIdentifier: number;
166
+
167
+ /**
168
+ * The text of the choice
169
+ */
170
+ text: string;
171
+
172
+ /**
173
+ * UUID of the choice (optional for new choices)
174
+ */
175
+ id?: string;
176
+ }
177
+ }
178
+
179
+ export interface QuestionUpdateParams {
180
+ /**
181
+ * Array of choices for the question
182
+ */
183
+ loyaltyQuestionAnswers: Array<QuestionUpdateParams.LoyaltyQuestionAnswer>;
184
+
185
+ /**
186
+ * The text of the question
187
+ */
188
+ questionText: string;
189
+ }
190
+
191
+ export namespace QuestionUpdateParams {
192
+ export interface LoyaltyQuestionAnswer {
193
+ /**
194
+ * Whether this choice is correct
195
+ */
196
+ isCorrect: boolean;
197
+
198
+ /**
199
+ * The order in which to display the choice
200
+ */
201
+ sortIdentifier: number;
202
+
203
+ /**
204
+ * The text of the choice
205
+ */
206
+ text: string;
207
+
208
+ /**
209
+ * UUID of the choice (optional for new choices)
210
+ */
211
+ id?: string;
212
+ }
213
+ }
214
+
215
+ export interface QuestionListParams {
216
+ /**
217
+ * UUID of the loyalty rule to fetch questions for
218
+ */
219
+ loyaltyRuleIds: string | Array<string>;
220
+
221
+ /**
222
+ * UUID of the organization to fetch questions for
223
+ */
224
+ organizationId: string;
225
+
226
+ /**
227
+ * UUID of the website to fetch questions for
228
+ */
229
+ websiteId: string;
230
+ }
231
+
232
+ export declare namespace Questions {
233
+ export {
234
+ type QuestionCreateResponse as QuestionCreateResponse,
235
+ type QuestionUpdateResponse as QuestionUpdateResponse,
236
+ type QuestionListResponse as QuestionListResponse,
237
+ type QuestionCreateParams as QuestionCreateParams,
238
+ type QuestionUpdateParams as QuestionUpdateParams,
239
+ type QuestionListParams as QuestionListParams,
240
+ };
241
+ }