@snagsolutions/sdk 0.1.0-alpha.13 → 0.1.0-alpha.131

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 +1133 -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 +23 -9
  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 +980 -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 +136 -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 +185 -0
  133. package/resources/loyalty/questions.d.ts.map +1 -0
  134. package/resources/loyalty/questions.js +58 -0
  135. package/resources/loyalty/questions.js.map +1 -0
  136. package/resources/loyalty/questions.mjs +54 -0
  137. package/resources/loyalty/questions.mjs.map +1 -0
  138. package/resources/loyalty/rule-edits.d.ts +2585 -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 +762 -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 +1871 -296
  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 +112 -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 +97 -24
  281. package/src/resource.ts +1 -1
  282. package/src/resources/assets.ts +31 -9
  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 +1192 -92
  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 +191 -0
  300. package/src/resources/loyalty/questions.ts +244 -0
  301. package/src/resources/loyalty/rule-edits.ts +3622 -63
  302. package/src/resources/loyalty/rule-groups.ts +1181 -0
  303. package/src/resources/loyalty/rules.ts +3068 -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 +675 -0
  307. package/src/resources/loyalty/transactions.ts +3 -0
  308. package/src/resources/loyalty.ts +3 -0
  309. package/src/resources/minting.ts +170 -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 +167 -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 +182 -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,191 @@
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 of the organization to filter responses
143
+ */
144
+ organizationId?: string;
145
+
146
+ /**
147
+ * UUID(s) of the questions to filter responses
148
+ */
149
+ questionsId?: string | Array<string>;
150
+
151
+ /**
152
+ * UUID of the user to filter responses
153
+ */
154
+ userId?: string;
155
+
156
+ /**
157
+ * UUID of the website to filter responses
158
+ */
159
+ websiteId?: string;
160
+ }
161
+
162
+ export interface QuestionsResponseSubmitParams {
163
+ /**
164
+ * UUID of the selected choice
165
+ */
166
+ loyaltyQuestionChoiceId: string;
167
+
168
+ /**
169
+ * UUID of the organization to filter responses
170
+ */
171
+ organizationId?: string;
172
+
173
+ /**
174
+ * UUID of the user who submitted the response
175
+ */
176
+ userId?: string;
177
+
178
+ /**
179
+ * UUID of the website to filter responses
180
+ */
181
+ websiteId?: string;
182
+ }
183
+
184
+ export declare namespace QuestionsResponses {
185
+ export {
186
+ type QuestionsResponseListResponse as QuestionsResponseListResponse,
187
+ type QuestionsResponseSubmitResponse as QuestionsResponseSubmitResponse,
188
+ type QuestionsResponseListParams as QuestionsResponseListParams,
189
+ type QuestionsResponseSubmitParams as QuestionsResponseSubmitParams,
190
+ };
191
+ }
@@ -0,0 +1,244 @@
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
+ * });
57
+ * ```
58
+ */
59
+ list(query: QuestionListParams, options?: Core.RequestOptions): Core.APIPromise<QuestionListResponse> {
60
+ return this._client.get('/api/loyalty/questions', { query, ...options });
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Response returned for a question
66
+ */
67
+ export interface QuestionCreateResponse {
68
+ id: string;
69
+
70
+ loyaltyQuestionChoices: Array<QuestionCreateResponse.LoyaltyQuestionChoice>;
71
+
72
+ text: string;
73
+ }
74
+
75
+ export namespace QuestionCreateResponse {
76
+ export interface LoyaltyQuestionChoice {
77
+ id: string;
78
+
79
+ sortIdentifier: number;
80
+
81
+ text: string;
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Response returned for a question
87
+ */
88
+ export interface QuestionUpdateResponse {
89
+ id: string;
90
+
91
+ loyaltyQuestionChoices: Array<QuestionUpdateResponse.LoyaltyQuestionChoice>;
92
+
93
+ text: string;
94
+ }
95
+
96
+ export namespace QuestionUpdateResponse {
97
+ export interface LoyaltyQuestionChoice {
98
+ id: string;
99
+
100
+ sortIdentifier: number;
101
+
102
+ text: string;
103
+ }
104
+ }
105
+
106
+ export type QuestionListResponse = Array<QuestionListResponse.QuestionListResponseItem>;
107
+
108
+ export namespace QuestionListResponse {
109
+ /**
110
+ * Response returned for a question
111
+ */
112
+ export interface QuestionListResponseItem {
113
+ id: string;
114
+
115
+ loyaltyQuestionChoices: Array<QuestionListResponseItem.LoyaltyQuestionChoice>;
116
+
117
+ text: string;
118
+ }
119
+
120
+ export namespace QuestionListResponseItem {
121
+ export interface LoyaltyQuestionChoice {
122
+ id: string;
123
+
124
+ sortIdentifier: number;
125
+
126
+ text: string;
127
+ }
128
+ }
129
+ }
130
+
131
+ export interface QuestionCreateParams {
132
+ /**
133
+ * Array of choices for the question
134
+ */
135
+ loyaltyQuestionAnswers: Array<QuestionCreateParams.LoyaltyQuestionAnswer>;
136
+
137
+ /**
138
+ * UUID of the loyalty rule
139
+ */
140
+ loyaltyRuleId: string;
141
+
142
+ /**
143
+ * The text of the question
144
+ */
145
+ questionText: string;
146
+
147
+ /**
148
+ * Whether the question allows multiple attempts
149
+ */
150
+ allowMultipleAttempts?: boolean;
151
+ }
152
+
153
+ export namespace QuestionCreateParams {
154
+ export interface LoyaltyQuestionAnswer {
155
+ /**
156
+ * Whether this choice is correct
157
+ */
158
+ isCorrect: boolean;
159
+
160
+ /**
161
+ * The order in which to display the choice
162
+ */
163
+ sortIdentifier: number;
164
+
165
+ /**
166
+ * The text of the choice
167
+ */
168
+ text: string;
169
+
170
+ /**
171
+ * UUID of the choice (optional for new choices)
172
+ */
173
+ id?: string;
174
+ }
175
+ }
176
+
177
+ export interface QuestionUpdateParams {
178
+ /**
179
+ * Array of choices for the question
180
+ */
181
+ loyaltyQuestionAnswers: Array<QuestionUpdateParams.LoyaltyQuestionAnswer>;
182
+
183
+ /**
184
+ * The text of the question
185
+ */
186
+ questionText: string;
187
+ }
188
+
189
+ export namespace QuestionUpdateParams {
190
+ export interface LoyaltyQuestionAnswer {
191
+ /**
192
+ * Whether this choice is correct
193
+ */
194
+ isCorrect: boolean;
195
+
196
+ /**
197
+ * The order in which to display the choice
198
+ */
199
+ sortIdentifier: number;
200
+
201
+ /**
202
+ * The text of the choice
203
+ */
204
+ text: string;
205
+
206
+ /**
207
+ * UUID of the choice (optional for new choices)
208
+ */
209
+ id?: string;
210
+ }
211
+ }
212
+
213
+ export interface QuestionListParams {
214
+ /**
215
+ * UUID of the loyalty rule to fetch questions for
216
+ */
217
+ loyaltyRuleIds: string | Array<string>;
218
+
219
+ /**
220
+ * UUID of the organization to fetch questions for
221
+ */
222
+ organizationId?: string;
223
+
224
+ /**
225
+ * UUID of the user to fetch questions for
226
+ */
227
+ userId?: string;
228
+
229
+ /**
230
+ * UUID of the website to fetch questions for
231
+ */
232
+ websiteId?: string;
233
+ }
234
+
235
+ export declare namespace Questions {
236
+ export {
237
+ type QuestionCreateResponse as QuestionCreateResponse,
238
+ type QuestionUpdateResponse as QuestionUpdateResponse,
239
+ type QuestionListResponse as QuestionListResponse,
240
+ type QuestionCreateParams as QuestionCreateParams,
241
+ type QuestionUpdateParams as QuestionUpdateParams,
242
+ type QuestionListParams as QuestionListParams,
243
+ };
244
+ }