whop_sdk 0.0.4 → 0.0.6

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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +4 -7
  4. data/lib/whop_sdk/client.rb +21 -6
  5. data/lib/whop_sdk/internal/transport/base_client.rb +7 -1
  6. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +6 -2
  7. data/lib/whop_sdk/models/access_level.rb +1 -1
  8. data/lib/whop_sdk/models/access_pass_type.rb +2 -1
  9. data/lib/whop_sdk/models/access_token_create_params.rb +67 -0
  10. data/lib/whop_sdk/models/access_token_create_response.rb +27 -0
  11. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +4 -4
  12. data/lib/whop_sdk/models/company.rb +1 -0
  13. data/lib/whop_sdk/models/course.rb +18 -1
  14. data/lib/whop_sdk/models/course_create_params.rb +20 -1
  15. data/lib/whop_sdk/models/course_lesson_create_params.rb +77 -1
  16. data/lib/whop_sdk/models/course_lesson_list_response.rb +43 -1
  17. data/lib/whop_sdk/models/course_lesson_update_params.rb +77 -1
  18. data/lib/whop_sdk/models/course_list_response.rb +18 -1
  19. data/lib/whop_sdk/models/course_update_params.rb +19 -1
  20. data/lib/whop_sdk/models/course_visibilities.rb +17 -0
  21. data/lib/whop_sdk/models/dispute.rb +672 -0
  22. data/lib/whop_sdk/models/dispute_created_webhook_event.rb +48 -0
  23. data/lib/whop_sdk/models/dispute_list_params.rb +62 -0
  24. data/lib/whop_sdk/models/dispute_list_response.rb +187 -0
  25. data/lib/whop_sdk/models/dispute_retrieve_params.rb +14 -0
  26. data/lib/whop_sdk/models/dispute_statuses.rb +23 -0
  27. data/lib/whop_sdk/models/dispute_submit_evidence_params.rb +14 -0
  28. data/lib/whop_sdk/models/dispute_update_evidence_params.rb +342 -0
  29. data/lib/whop_sdk/models/dispute_updated_webhook_event.rb +48 -0
  30. data/lib/whop_sdk/models/embed_type.rb +16 -0
  31. data/lib/whop_sdk/models/entry.rb +3 -3
  32. data/lib/whop_sdk/models/entry_list_response.rb +3 -3
  33. data/lib/whop_sdk/models/experience.rb +5 -6
  34. data/lib/whop_sdk/models/forum_post.rb +2 -2
  35. data/lib/whop_sdk/models/forum_post_list_response.rb +2 -2
  36. data/lib/whop_sdk/models/global_affiliate_status.rb +1 -1
  37. data/lib/whop_sdk/models/invoice_create_params.rb +2 -2
  38. data/lib/whop_sdk/models/invoice_list_params.rb +27 -40
  39. data/lib/whop_sdk/models/lesson.rb +43 -1
  40. data/lib/whop_sdk/models/member_list_params.rb +11 -11
  41. data/lib/whop_sdk/models/member_list_response.rb +3 -3
  42. data/lib/whop_sdk/models/member_retrieve_response.rb +3 -3
  43. data/lib/whop_sdk/models/membership_list_params.rb +9 -9
  44. data/lib/whop_sdk/models/message.rb +2 -2
  45. data/lib/whop_sdk/models/message_list_response.rb +2 -2
  46. data/lib/whop_sdk/models/notification_create_params.rb +88 -0
  47. data/lib/whop_sdk/models/notification_create_response.rb +19 -0
  48. data/lib/whop_sdk/models/payment.rb +3 -3
  49. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  50. data/lib/whop_sdk/models/plan.rb +6 -4
  51. data/lib/whop_sdk/models/plan_create_params.rb +2 -2
  52. data/lib/whop_sdk/models/plan_list_response.rb +6 -4
  53. data/lib/whop_sdk/models/plan_type.rb +1 -1
  54. data/lib/whop_sdk/models/product.rb +1 -1
  55. data/lib/whop_sdk/models/product_create_params.rb +6 -6
  56. data/lib/whop_sdk/models/product_list_item.rb +1 -1
  57. data/lib/whop_sdk/models/product_update_params.rb +4 -4
  58. data/lib/whop_sdk/models/promo_code.rb +3 -3
  59. data/lib/whop_sdk/models/promo_code_list_response.rb +3 -3
  60. data/lib/whop_sdk/models/unwrap_webhook_event.rb +5 -1
  61. data/lib/whop_sdk/models.rb +24 -0
  62. data/lib/whop_sdk/resources/access_tokens.rb +46 -0
  63. data/lib/whop_sdk/resources/app_builds.rb +4 -2
  64. data/lib/whop_sdk/resources/apps.rb +3 -2
  65. data/lib/whop_sdk/resources/authorized_users.rb +2 -1
  66. data/lib/whop_sdk/resources/chat_channels.rb +9 -2
  67. data/lib/whop_sdk/resources/checkout_configurations.rb +2 -1
  68. data/lib/whop_sdk/resources/companies.rb +2 -1
  69. data/lib/whop_sdk/resources/course_chapters.rb +5 -3
  70. data/lib/whop_sdk/resources/course_lesson_interactions.rb +2 -1
  71. data/lib/whop_sdk/resources/course_lessons.rb +19 -5
  72. data/lib/whop_sdk/resources/course_students.rb +2 -1
  73. data/lib/whop_sdk/resources/courses.rb +15 -5
  74. data/lib/whop_sdk/resources/disputes.rb +182 -0
  75. data/lib/whop_sdk/resources/entries.rb +6 -3
  76. data/lib/whop_sdk/resources/experiences.rb +8 -6
  77. data/lib/whop_sdk/resources/forum_posts.rb +3 -2
  78. data/lib/whop_sdk/resources/forums.rb +3 -2
  79. data/lib/whop_sdk/resources/invoices.rb +11 -5
  80. data/lib/whop_sdk/resources/ledger_accounts.rb +6 -2
  81. data/lib/whop_sdk/resources/members.rb +6 -5
  82. data/lib/whop_sdk/resources/memberships.rb +10 -8
  83. data/lib/whop_sdk/resources/messages.rb +3 -2
  84. data/lib/whop_sdk/resources/notifications.rb +53 -0
  85. data/lib/whop_sdk/resources/payments.rb +7 -4
  86. data/lib/whop_sdk/resources/plans.rb +6 -4
  87. data/lib/whop_sdk/resources/products.rb +9 -7
  88. data/lib/whop_sdk/resources/promo_codes.rb +4 -2
  89. data/lib/whop_sdk/resources/reactions.rb +2 -1
  90. data/lib/whop_sdk/resources/reviews.rb +2 -1
  91. data/lib/whop_sdk/resources/shipments.rb +2 -1
  92. data/lib/whop_sdk/resources/support_channels.rb +2 -1
  93. data/lib/whop_sdk/resources/transfers.rb +2 -1
  94. data/lib/whop_sdk/resources/users.rb +9 -3
  95. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  96. data/lib/whop_sdk/version.rb +1 -1
  97. data/lib/whop_sdk.rb +19 -0
  98. data/manifest.yaml +1 -0
  99. data/rbi/whop_sdk/client.rbi +14 -2
  100. data/rbi/whop_sdk/internal/transport/base_client.rbi +5 -0
  101. data/rbi/whop_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  102. data/rbi/whop_sdk/internal/type/base_model.rbi +8 -4
  103. data/rbi/whop_sdk/models/access_level.rbi +1 -1
  104. data/rbi/whop_sdk/models/access_pass_type.rbi +2 -1
  105. data/rbi/whop_sdk/models/access_token_create_params.rbi +126 -0
  106. data/rbi/whop_sdk/models/access_token_create_response.rbi +37 -0
  107. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +4 -4
  108. data/rbi/whop_sdk/models/company.rbi +2 -0
  109. data/rbi/whop_sdk/models/course.rbi +21 -3
  110. data/rbi/whop_sdk/models/course_create_params.rbi +22 -0
  111. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +126 -0
  112. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +68 -0
  113. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +126 -0
  114. data/rbi/whop_sdk/models/course_list_response.rbi +21 -3
  115. data/rbi/whop_sdk/models/course_update_params.rbi +20 -0
  116. data/rbi/whop_sdk/models/course_visibilities.rbi +23 -0
  117. data/rbi/whop_sdk/models/dispute.rbi +938 -0
  118. data/rbi/whop_sdk/models/dispute_created_webhook_event.rbi +72 -0
  119. data/rbi/whop_sdk/models/dispute_list_params.rbi +83 -0
  120. data/rbi/whop_sdk/models/dispute_list_response.rbi +287 -0
  121. data/rbi/whop_sdk/models/dispute_retrieve_params.rbi +27 -0
  122. data/rbi/whop_sdk/models/dispute_statuses.rbi +32 -0
  123. data/rbi/whop_sdk/models/dispute_submit_evidence_params.rbi +30 -0
  124. data/rbi/whop_sdk/models/dispute_update_evidence_params.rbi +566 -0
  125. data/rbi/whop_sdk/models/dispute_updated_webhook_event.rbi +72 -0
  126. data/rbi/whop_sdk/models/embed_type.rbi +20 -0
  127. data/rbi/whop_sdk/models/entry.rbi +3 -3
  128. data/rbi/whop_sdk/models/entry_list_response.rbi +3 -3
  129. data/rbi/whop_sdk/models/experience.rbi +7 -9
  130. data/rbi/whop_sdk/models/forum_post.rbi +2 -2
  131. data/rbi/whop_sdk/models/forum_post_list_response.rbi +2 -2
  132. data/rbi/whop_sdk/models/global_affiliate_status.rbi +1 -1
  133. data/rbi/whop_sdk/models/invoice_create_params.rbi +2 -2
  134. data/rbi/whop_sdk/models/invoice_list_params.rbi +26 -71
  135. data/rbi/whop_sdk/models/lesson.rbi +54 -0
  136. data/rbi/whop_sdk/models/member_list_params.rbi +10 -10
  137. data/rbi/whop_sdk/models/member_list_response.rbi +6 -6
  138. data/rbi/whop_sdk/models/member_retrieve_response.rbi +6 -6
  139. data/rbi/whop_sdk/models/membership_list_params.rbi +8 -8
  140. data/rbi/whop_sdk/models/message.rbi +2 -2
  141. data/rbi/whop_sdk/models/message_list_response.rbi +2 -2
  142. data/rbi/whop_sdk/models/notification_create_params.rbi +113 -0
  143. data/rbi/whop_sdk/models/notification_create_response.rbi +31 -0
  144. data/rbi/whop_sdk/models/payment.rbi +3 -3
  145. data/rbi/whop_sdk/models/payment_list_response.rbi +3 -3
  146. data/rbi/whop_sdk/models/plan.rbi +6 -4
  147. data/rbi/whop_sdk/models/plan_create_params.rbi +2 -2
  148. data/rbi/whop_sdk/models/plan_list_response.rbi +6 -4
  149. data/rbi/whop_sdk/models/plan_type.rbi +1 -1
  150. data/rbi/whop_sdk/models/product.rbi +1 -1
  151. data/rbi/whop_sdk/models/product_create_params.rbi +6 -6
  152. data/rbi/whop_sdk/models/product_list_item.rbi +1 -1
  153. data/rbi/whop_sdk/models/product_update_params.rbi +4 -4
  154. data/rbi/whop_sdk/models/promo_code.rbi +3 -3
  155. data/rbi/whop_sdk/models/promo_code_list_response.rbi +3 -3
  156. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +3 -1
  157. data/rbi/whop_sdk/models.rbi +24 -0
  158. data/rbi/whop_sdk/resources/access_tokens.rbi +41 -0
  159. data/rbi/whop_sdk/resources/app_builds.rbi +10 -2
  160. data/rbi/whop_sdk/resources/apps.rbi +6 -1
  161. data/rbi/whop_sdk/resources/authorized_users.rbi +5 -1
  162. data/rbi/whop_sdk/resources/chat_channels.rbi +8 -1
  163. data/rbi/whop_sdk/resources/checkout_configurations.rbi +5 -1
  164. data/rbi/whop_sdk/resources/companies.rbi +5 -1
  165. data/rbi/whop_sdk/resources/course_chapters.rbi +11 -2
  166. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +5 -1
  167. data/rbi/whop_sdk/resources/course_lessons.rbi +41 -2
  168. data/rbi/whop_sdk/resources/course_students.rbi +5 -1
  169. data/rbi/whop_sdk/resources/courses.rbi +28 -2
  170. data/rbi/whop_sdk/resources/disputes.rbi +194 -0
  171. data/rbi/whop_sdk/resources/entries.rbi +15 -3
  172. data/rbi/whop_sdk/resources/experiences.rbi +14 -2
  173. data/rbi/whop_sdk/resources/forum_posts.rbi +6 -1
  174. data/rbi/whop_sdk/resources/forums.rbi +6 -1
  175. data/rbi/whop_sdk/resources/invoices.rbi +20 -5
  176. data/rbi/whop_sdk/resources/ledger_accounts.rbi +7 -2
  177. data/rbi/whop_sdk/resources/members.rbi +9 -5
  178. data/rbi/whop_sdk/resources/memberships.rbi +16 -5
  179. data/rbi/whop_sdk/resources/messages.rbi +6 -1
  180. data/rbi/whop_sdk/resources/notifications.rbi +54 -0
  181. data/rbi/whop_sdk/resources/payments.rbi +16 -3
  182. data/rbi/whop_sdk/resources/plans.rbi +12 -3
  183. data/rbi/whop_sdk/resources/products.rbi +15 -6
  184. data/rbi/whop_sdk/resources/promo_codes.rbi +10 -2
  185. data/rbi/whop_sdk/resources/reactions.rbi +5 -1
  186. data/rbi/whop_sdk/resources/reviews.rbi +5 -1
  187. data/rbi/whop_sdk/resources/shipments.rbi +5 -1
  188. data/rbi/whop_sdk/resources/support_channels.rbi +5 -1
  189. data/rbi/whop_sdk/resources/transfers.rbi +5 -1
  190. data/rbi/whop_sdk/resources/users.rbi +13 -2
  191. data/rbi/whop_sdk/resources/webhooks.rbi +3 -1
  192. data/sig/whop_sdk/client.rbs +7 -1
  193. data/sig/whop_sdk/internal/transport/base_client.rbs +2 -0
  194. data/sig/whop_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  195. data/sig/whop_sdk/models/access_token_create_params.rbs +56 -0
  196. data/sig/whop_sdk/models/access_token_create_response.rbs +15 -0
  197. data/sig/whop_sdk/models/company.rbs +2 -0
  198. data/sig/whop_sdk/models/course.rbs +13 -3
  199. data/sig/whop_sdk/models/course_create_params.rbs +11 -1
  200. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  201. data/sig/whop_sdk/models/course_lesson_list_response.rbs +25 -0
  202. data/sig/whop_sdk/models/course_lesson_update_params.rbs +46 -0
  203. data/sig/whop_sdk/models/course_list_response.rbs +13 -3
  204. data/sig/whop_sdk/models/course_update_params.rbs +11 -1
  205. data/sig/whop_sdk/models/course_visibilities.rbs +14 -0
  206. data/sig/whop_sdk/models/dispute.rbs +437 -0
  207. data/sig/whop_sdk/models/dispute_created_webhook_event.rbs +40 -0
  208. data/sig/whop_sdk/models/dispute_list_params.rbs +51 -0
  209. data/sig/whop_sdk/models/dispute_list_response.rbs +124 -0
  210. data/sig/whop_sdk/models/dispute_retrieve_params.rbs +15 -0
  211. data/sig/whop_sdk/models/dispute_statuses.rbs +30 -0
  212. data/sig/whop_sdk/models/dispute_submit_evidence_params.rbs +15 -0
  213. data/sig/whop_sdk/models/dispute_update_evidence_params.rbs +215 -0
  214. data/sig/whop_sdk/models/dispute_updated_webhook_event.rbs +40 -0
  215. data/sig/whop_sdk/models/embed_type.rbs +14 -0
  216. data/sig/whop_sdk/models/invoice_list_params.rbs +16 -33
  217. data/sig/whop_sdk/models/lesson.rbs +25 -0
  218. data/sig/whop_sdk/models/member_list_params.rbs +5 -5
  219. data/sig/whop_sdk/models/membership_list_params.rbs +5 -5
  220. data/sig/whop_sdk/models/notification_create_params.rbs +61 -0
  221. data/sig/whop_sdk/models/notification_create_response.rbs +13 -0
  222. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +2 -0
  223. data/sig/whop_sdk/models.rbs +24 -0
  224. data/sig/whop_sdk/resources/access_tokens.rbs +15 -0
  225. data/sig/whop_sdk/resources/course_lessons.rbs +6 -0
  226. data/sig/whop_sdk/resources/courses.rbs +4 -0
  227. data/sig/whop_sdk/resources/disputes.rbs +46 -0
  228. data/sig/whop_sdk/resources/invoices.rbs +3 -1
  229. data/sig/whop_sdk/resources/members.rbs +1 -1
  230. data/sig/whop_sdk/resources/memberships.rbs +1 -1
  231. data/sig/whop_sdk/resources/notifications.rbs +19 -0
  232. data/sig/whop_sdk/resources/webhooks.rbs +3 -1
  233. metadata +56 -2
@@ -47,7 +47,11 @@ module WhopSDK
47
47
  request_options: WhopSDK::RequestOptions::OrHash
48
48
  ).returns(WhopSDK::CheckoutConfiguration)
49
49
  end
50
- def retrieve(id, request_options: {})
50
+ def retrieve(
51
+ # The ID of the checkout configuration
52
+ id,
53
+ request_options: {}
54
+ )
51
55
  end
52
56
 
53
57
  # Lists checkout configurations
@@ -42,7 +42,11 @@ module WhopSDK
42
42
  request_options: WhopSDK::RequestOptions::OrHash
43
43
  ).returns(WhopSDK::Company)
44
44
  end
45
- def retrieve(id, request_options: {})
45
+ def retrieve(
46
+ # The ID or route of the company
47
+ id,
48
+ request_options: {}
49
+ )
46
50
  end
47
51
 
48
52
  # Lists companies the current user has access to
@@ -35,7 +35,11 @@ module WhopSDK
35
35
  request_options: WhopSDK::RequestOptions::OrHash
36
36
  ).returns(WhopSDK::CourseChapter)
37
37
  end
38
- def retrieve(id, request_options: {})
38
+ def retrieve(
39
+ # The ID of the chapter
40
+ id,
41
+ request_options: {}
42
+ )
39
43
  end
40
44
 
41
45
  # Updates a course chapter
@@ -51,6 +55,7 @@ module WhopSDK
51
55
  ).returns(WhopSDK::CourseChapter)
52
56
  end
53
57
  def update(
58
+ # The ID of the chapter to update
54
59
  id,
55
60
  # The title of the chapter
56
61
  title:,
@@ -103,7 +108,11 @@ module WhopSDK
103
108
  request_options: WhopSDK::RequestOptions::OrHash
104
109
  ).returns(T::Boolean)
105
110
  end
106
- def delete(id, request_options: {})
111
+ def delete(
112
+ # The ID of the chapter to delete
113
+ id,
114
+ request_options: {}
115
+ )
107
116
  end
108
117
 
109
118
  # @api private
@@ -15,7 +15,11 @@ module WhopSDK
15
15
  request_options: WhopSDK::RequestOptions::OrHash
16
16
  ).returns(WhopSDK::CourseLessonInteraction)
17
17
  end
18
- def retrieve(id, request_options: {})
18
+ def retrieve(
19
+ # The ID of the course lesson interaction
20
+ id,
21
+ request_options: {}
22
+ )
19
23
  end
20
24
 
21
25
  # Lists course lesson interactions
@@ -14,6 +14,15 @@ module WhopSDK
14
14
  lesson_type: WhopSDK::LessonTypes::OrSymbol,
15
15
  content: T.nilable(String),
16
16
  days_from_course_start_until_unlock: T.nilable(Integer),
17
+ embed_id: T.nilable(String),
18
+ embed_type: T.nilable(WhopSDK::EmbedType::OrSymbol),
19
+ thumbnail:
20
+ T.nilable(
21
+ T.any(
22
+ WhopSDK::CourseLessonCreateParams::Thumbnail::AttachmentInputWithDirectUploadID::OrHash,
23
+ WhopSDK::CourseLessonCreateParams::Thumbnail::AttachmentInputWithID::OrHash
24
+ )
25
+ ),
17
26
  title: T.nilable(String),
18
27
  request_options: WhopSDK::RequestOptions::OrHash
19
28
  ).returns(WhopSDK::Lesson)
@@ -27,6 +36,12 @@ module WhopSDK
27
36
  content: nil,
28
37
  # Days from course start until unlock
29
38
  days_from_course_start_until_unlock: nil,
39
+ # ID for the embed (YouTube video ID or Loom share ID)
40
+ embed_id: nil,
41
+ # The type of embed for a lesson
42
+ embed_type: nil,
43
+ # The thumbnail for the lesson in png, jpeg, or gif format
44
+ thumbnail: nil,
30
45
  # The title of the lesson
31
46
  title: nil,
32
47
  request_options: {}
@@ -44,7 +59,11 @@ module WhopSDK
44
59
  request_options: WhopSDK::RequestOptions::OrHash
45
60
  ).returns(WhopSDK::Lesson)
46
61
  end
47
- def retrieve(id, request_options: {})
62
+ def retrieve(
63
+ # The ID of the lesson
64
+ id,
65
+ request_options: {}
66
+ )
48
67
  end
49
68
 
50
69
  # Updates a course lesson
@@ -76,6 +95,8 @@ module WhopSDK
76
95
  ),
77
96
  content: T.nilable(String),
78
97
  days_from_course_start_until_unlock: T.nilable(Integer),
98
+ embed_id: T.nilable(String),
99
+ embed_type: T.nilable(WhopSDK::EmbedType::OrSymbol),
79
100
  lesson_type: T.nilable(WhopSDK::LessonTypes::OrSymbol),
80
101
  main_pdf:
81
102
  T.nilable(
@@ -86,12 +107,20 @@ module WhopSDK
86
107
  ),
87
108
  max_attempts: T.nilable(Integer),
88
109
  mux_asset_id: T.nilable(String),
110
+ thumbnail:
111
+ T.nilable(
112
+ T.any(
113
+ WhopSDK::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID::OrHash,
114
+ WhopSDK::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID::OrHash
115
+ )
116
+ ),
89
117
  title: T.nilable(String),
90
118
  visibility: T.nilable(WhopSDK::LessonVisibilities::OrSymbol),
91
119
  request_options: WhopSDK::RequestOptions::OrHash
92
120
  ).returns(WhopSDK::Lesson)
93
121
  end
94
122
  def update(
123
+ # The ID of the lesson to update
95
124
  id,
96
125
  # Completion requirements for quiz/knowledge check lessons
97
126
  assessment_completion_requirement: nil,
@@ -105,6 +134,10 @@ module WhopSDK
105
134
  content: nil,
106
135
  # Days from course start until unlock
107
136
  days_from_course_start_until_unlock: nil,
137
+ # ID for the embed (YouTube video ID or Loom share ID)
138
+ embed_id: nil,
139
+ # The type of embed for a lesson
140
+ embed_type: nil,
108
141
  # The available types for a lesson
109
142
  lesson_type: nil,
110
143
  # The main PDF file for this lesson
@@ -113,6 +146,8 @@ module WhopSDK
113
146
  max_attempts: nil,
114
147
  # The ID of the Mux asset to attach to this lesson for video lessons
115
148
  mux_asset_id: nil,
149
+ # The thumbnail for the lesson in png, jpeg, or gif format
150
+ thumbnail: nil,
116
151
  # The title of the lesson
117
152
  title: nil,
118
153
  # The available visibilities for a lesson. Determines how / whether a lesson is
@@ -170,7 +205,11 @@ module WhopSDK
170
205
  request_options: WhopSDK::RequestOptions::OrHash
171
206
  ).returns(T::Boolean)
172
207
  end
173
- def delete(id, request_options: {})
208
+ def delete(
209
+ # The ID of the lesson to delete
210
+ id,
211
+ request_options: {}
212
+ )
174
213
  end
175
214
 
176
215
  # @api private
@@ -15,7 +15,11 @@ module WhopSDK
15
15
  request_options: WhopSDK::RequestOptions::OrHash
16
16
  ).returns(WhopSDK::Models::CourseStudentRetrieveResponse)
17
17
  end
18
- def retrieve(id, request_options: {})
18
+ def retrieve(
19
+ # The ID of the course student interaction
20
+ id,
21
+ request_options: {}
22
+ )
19
23
  end
20
24
 
21
25
  # Lists students for a course
@@ -14,6 +14,7 @@ module WhopSDK
14
14
  title: String,
15
15
  certificate_after_completion_enabled: T.nilable(T::Boolean),
16
16
  cover_image: T.nilable(String),
17
+ order: T.nilable(String),
17
18
  require_completing_lessons_in_order: T.nilable(T::Boolean),
18
19
  tagline: T.nilable(String),
19
20
  thumbnail:
@@ -23,6 +24,7 @@ module WhopSDK
23
24
  WhopSDK::CourseCreateParams::Thumbnail::AttachmentInputWithID::OrHash
24
25
  )
25
26
  ),
27
+ visibility: T.nilable(WhopSDK::CourseVisibilities::OrSymbol),
26
28
  request_options: WhopSDK::RequestOptions::OrHash
27
29
  ).returns(WhopSDK::Course)
28
30
  end
@@ -36,6 +38,10 @@ module WhopSDK
36
38
  certificate_after_completion_enabled: nil,
37
39
  # The cover image URL of the course
38
40
  cover_image: nil,
41
+ # The decimal order position of the course within its experience. If not provided,
42
+ # it will be set to the next sequential order. Use fractional values (e.g., 1.5)
43
+ # to place between existing courses.
44
+ order: nil,
39
45
  # Whether the course requires students to complete the previous lesson before
40
46
  # moving on to the next one
41
47
  require_completing_lessons_in_order: nil,
@@ -43,6 +49,9 @@ module WhopSDK
43
49
  tagline: nil,
44
50
  # The thumbnail for the course in png, jpeg, or gif format
45
51
  thumbnail: nil,
52
+ # The available visibilities for a course. Determines how / whether a course is
53
+ # visible to users.
54
+ visibility: nil,
46
55
  request_options: {}
47
56
  )
48
57
  end
@@ -58,7 +67,11 @@ module WhopSDK
58
67
  request_options: WhopSDK::RequestOptions::OrHash
59
68
  ).returns(WhopSDK::Course)
60
69
  end
61
- def retrieve(id, request_options: {})
70
+ def retrieve(
71
+ # The ID of the course
72
+ id,
73
+ request_options: {}
74
+ )
62
75
  end
63
76
 
64
77
  # Updates a course
@@ -75,6 +88,7 @@ module WhopSDK
75
88
  cover_image: T.nilable(String),
76
89
  description: T.nilable(String),
77
90
  language: T.nilable(WhopSDK::Languages::OrSymbol),
91
+ order: T.nilable(String),
78
92
  require_completing_lessons_in_order: T.nilable(T::Boolean),
79
93
  tagline: T.nilable(String),
80
94
  thumbnail:
@@ -85,10 +99,12 @@ module WhopSDK
85
99
  )
86
100
  ),
87
101
  title: T.nilable(String),
102
+ visibility: T.nilable(WhopSDK::CourseVisibilities::OrSymbol),
88
103
  request_options: WhopSDK::RequestOptions::OrHash
89
104
  ).returns(WhopSDK::Course)
90
105
  end
91
106
  def update(
107
+ # The ID of the course to update
92
108
  id,
93
109
  # Whether the course will award its students a PDF certificate after completing
94
110
  # all lessons
@@ -101,6 +117,9 @@ module WhopSDK
101
117
  description: nil,
102
118
  # The available languages for a course
103
119
  language: nil,
120
+ # The decimal order position of the course within its experience. Use fractional
121
+ # values (e.g., 1.5) to place between existing courses.
122
+ order: nil,
104
123
  # Whether the course requires students to complete the previous lesson before
105
124
  # moving on to the next one
106
125
  require_completing_lessons_in_order: nil,
@@ -110,6 +129,9 @@ module WhopSDK
110
129
  thumbnail: nil,
111
130
  # The title of the course
112
131
  title: nil,
132
+ # The available visibilities for a course. Determines how / whether a course is
133
+ # visible to users.
134
+ visibility: nil,
113
135
  request_options: {}
114
136
  )
115
137
  end
@@ -160,7 +182,11 @@ module WhopSDK
160
182
  request_options: WhopSDK::RequestOptions::OrHash
161
183
  ).returns(T::Boolean)
162
184
  end
163
- def delete(id, request_options: {})
185
+ def delete(
186
+ # The ID of the course to delete
187
+ id,
188
+ request_options: {}
189
+ )
164
190
  end
165
191
 
166
192
  # @api private
@@ -0,0 +1,194 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Disputes
6
+ # Retrieves a Dispute by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payment:dispute:read`
11
+ # - `plan:basic:read`
12
+ # - `access_pass:basic:read`
13
+ # - `company:basic:read`
14
+ # - `payment:basic:read`
15
+ # - `member:email:read`
16
+ # - `member:basic:read`
17
+ # - `member:phone:read`
18
+ sig do
19
+ params(
20
+ id: String,
21
+ request_options: WhopSDK::RequestOptions::OrHash
22
+ ).returns(WhopSDK::Dispute)
23
+ end
24
+ def retrieve(
25
+ # The ID of the dispute
26
+ id,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ # Lists disputes the current actor has access to
32
+ #
33
+ # Required permissions:
34
+ #
35
+ # - `payment:dispute:read`
36
+ # - `plan:basic:read`
37
+ # - `access_pass:basic:read`
38
+ # - `company:basic:read`
39
+ # - `payment:basic:read`
40
+ sig do
41
+ params(
42
+ company_id: String,
43
+ after: T.nilable(String),
44
+ before: T.nilable(String),
45
+ direction: T.nilable(WhopSDK::Direction::OrSymbol),
46
+ first: T.nilable(Integer),
47
+ last: T.nilable(Integer),
48
+ request_options: WhopSDK::RequestOptions::OrHash
49
+ ).returns(
50
+ WhopSDK::Internal::CursorPage[WhopSDK::Models::DisputeListResponse]
51
+ )
52
+ end
53
+ def list(
54
+ # The ID of the company to list disputes for
55
+ company_id:,
56
+ # Returns the elements in the list that come after the specified cursor.
57
+ after: nil,
58
+ # Returns the elements in the list that come before the specified cursor.
59
+ before: nil,
60
+ # The direction of the sort.
61
+ direction: nil,
62
+ # Returns the first _n_ elements from the list.
63
+ first: nil,
64
+ # Returns the last _n_ elements from the list.
65
+ last: nil,
66
+ request_options: {}
67
+ )
68
+ end
69
+
70
+ # Submit a payment dispute to the payment processor for review. Once submitted, no
71
+ # further edits can be made.
72
+ #
73
+ # Required permissions:
74
+ #
75
+ # - `payment:dispute`
76
+ # - `plan:basic:read`
77
+ # - `access_pass:basic:read`
78
+ # - `company:basic:read`
79
+ # - `payment:basic:read`
80
+ # - `member:email:read`
81
+ # - `member:basic:read`
82
+ # - `member:phone:read`
83
+ sig do
84
+ params(
85
+ id: String,
86
+ request_options: WhopSDK::RequestOptions::OrHash
87
+ ).returns(WhopSDK::Dispute)
88
+ end
89
+ def submit_evidence(
90
+ # The ID of the dispute (Ex. dspt_xxxx) you want to finalize evidence submission
91
+ # for and send to the processor.
92
+ id,
93
+ request_options: {}
94
+ )
95
+ end
96
+
97
+ # Update a dispute with evidence data to attempt to win the dispute.
98
+ #
99
+ # Required permissions:
100
+ #
101
+ # - `payment:dispute`
102
+ # - `plan:basic:read`
103
+ # - `access_pass:basic:read`
104
+ # - `company:basic:read`
105
+ # - `payment:basic:read`
106
+ # - `member:email:read`
107
+ # - `member:basic:read`
108
+ # - `member:phone:read`
109
+ sig do
110
+ params(
111
+ id: String,
112
+ access_activity_log: T.nilable(String),
113
+ billing_address: T.nilable(String),
114
+ cancellation_policy_attachment:
115
+ T.nilable(
116
+ T.any(
117
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID::OrHash,
118
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID::OrHash
119
+ )
120
+ ),
121
+ cancellation_policy_disclosure: T.nilable(String),
122
+ customer_communication_attachment:
123
+ T.nilable(
124
+ T.any(
125
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID::OrHash,
126
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID::OrHash
127
+ )
128
+ ),
129
+ customer_email_address: T.nilable(String),
130
+ customer_name: T.nilable(String),
131
+ notes: T.nilable(String),
132
+ product_description: T.nilable(String),
133
+ refund_policy_attachment:
134
+ T.nilable(
135
+ T.any(
136
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID::OrHash,
137
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID::OrHash
138
+ )
139
+ ),
140
+ refund_policy_disclosure: T.nilable(String),
141
+ refund_refusal_explanation: T.nilable(String),
142
+ service_date: T.nilable(String),
143
+ uncategorized_attachment:
144
+ T.nilable(
145
+ T.any(
146
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID::OrHash,
147
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID::OrHash
148
+ )
149
+ ),
150
+ request_options: WhopSDK::RequestOptions::OrHash
151
+ ).returns(WhopSDK::Dispute)
152
+ end
153
+ def update_evidence(
154
+ # The ID of the dispute you want to update.
155
+ id,
156
+ # An IP access log for the user from Whop.
157
+ access_activity_log: nil,
158
+ # The billing address of the user from their payment details.
159
+ billing_address: nil,
160
+ # A file containing the cancellation policy from the company.
161
+ cancellation_policy_attachment: nil,
162
+ # A cancellation policy disclosure from the company.
163
+ cancellation_policy_disclosure: nil,
164
+ # A file containing the customer communication from the company (An image).
165
+ customer_communication_attachment: nil,
166
+ # The email of the customer from their payment details.
167
+ customer_email_address: nil,
168
+ # The name of the customer from their payment details.
169
+ customer_name: nil,
170
+ # Additional notes the company chooses to submit regarding the dispute.
171
+ notes: nil,
172
+ # The description of the product from the company.
173
+ product_description: nil,
174
+ # A file containing the refund policy from the company.
175
+ refund_policy_attachment: nil,
176
+ # A refund policy disclosure from the company.
177
+ refund_policy_disclosure: nil,
178
+ # A description on why the refund is being refused by the company.
179
+ refund_refusal_explanation: nil,
180
+ # When the product was delivered by the company.
181
+ service_date: nil,
182
+ # A file that does not fit in the other categories.
183
+ uncategorized_attachment: nil,
184
+ request_options: {}
185
+ )
186
+ end
187
+
188
+ # @api private
189
+ sig { params(client: WhopSDK::Client).returns(T.attached_class) }
190
+ def self.new(client:)
191
+ end
192
+ end
193
+ end
194
+ end
@@ -15,7 +15,11 @@ module WhopSDK
15
15
  request_options: WhopSDK::RequestOptions::OrHash
16
16
  ).returns(WhopSDK::Entry)
17
17
  end
18
- def retrieve(id, request_options: {})
18
+ def retrieve(
19
+ # The ID of the entry
20
+ id,
21
+ request_options: {}
22
+ )
19
23
  end
20
24
 
21
25
  # Lists entries for a company
@@ -77,7 +81,11 @@ module WhopSDK
77
81
  request_options: WhopSDK::RequestOptions::OrHash
78
82
  ).returns(WhopSDK::Models::EntryApproveResponse)
79
83
  end
80
- def approve(id, request_options: {})
84
+ def approve(
85
+ # The ID of the entry to approve.
86
+ id,
87
+ request_options: {}
88
+ )
81
89
  end
82
90
 
83
91
  # Deny an entry
@@ -93,7 +101,11 @@ module WhopSDK
93
101
  request_options: WhopSDK::RequestOptions::OrHash
94
102
  ).returns(WhopSDK::Entry)
95
103
  end
96
- def deny(id, request_options: {})
104
+ def deny(
105
+ # The ID of the entry
106
+ id,
107
+ request_options: {}
108
+ )
97
109
  end
98
110
 
99
111
  # @api private
@@ -35,7 +35,11 @@ module WhopSDK
35
35
  request_options: WhopSDK::RequestOptions::OrHash
36
36
  ).returns(WhopSDK::Experience)
37
37
  end
38
- def retrieve(id, request_options: {})
38
+ def retrieve(
39
+ # The ID of the experience
40
+ id,
41
+ request_options: {}
42
+ )
39
43
  end
40
44
 
41
45
  # Required permissions:
@@ -60,6 +64,7 @@ module WhopSDK
60
64
  ).returns(WhopSDK::Experience)
61
65
  end
62
66
  def update(
67
+ # The id of the experience to update.
63
68
  id,
64
69
  # The different access levels for experiences (PUBLIC IS NEVER USED ANYMORE).
65
70
  access_level: nil,
@@ -122,7 +127,11 @@ module WhopSDK
122
127
  request_options: WhopSDK::RequestOptions::OrHash
123
128
  ).returns(T::Boolean)
124
129
  end
125
- def delete(id, request_options: {})
130
+ def delete(
131
+ # The internal ID of the experience to delete.
132
+ id,
133
+ request_options: {}
134
+ )
126
135
  end
127
136
 
128
137
  # Adds an experience to an product, making it accessible to the product's
@@ -139,6 +148,7 @@ module WhopSDK
139
148
  ).returns(WhopSDK::Experience)
140
149
  end
141
150
  def attach(
151
+ # The ID of the Experience to be added to an Access Pass.
142
152
  id,
143
153
  # The ID of the Access Pass to add the Experience to.
144
154
  product_id:,
@@ -160,6 +170,7 @@ module WhopSDK
160
170
  ).returns(WhopSDK::Experience)
161
171
  end
162
172
  def detach(
173
+ # The ID of the Experience to be added to an Access Pass.
163
174
  id,
164
175
  # The ID of the Access Pass to add the Experience to.
165
176
  product_id:,
@@ -185,6 +196,7 @@ module WhopSDK
185
196
  ).returns(WhopSDK::Experience)
186
197
  end
187
198
  def duplicate(
199
+ # The ID of the experience to duplicate
188
200
  id,
189
201
  # The name of the new experience
190
202
  name: nil,
@@ -72,7 +72,11 @@ module WhopSDK
72
72
  request_options: WhopSDK::RequestOptions::OrHash
73
73
  ).returns(WhopSDK::ForumPost)
74
74
  end
75
- def retrieve(id, request_options: {})
75
+ def retrieve(
76
+ # The ID of the forum post
77
+ id,
78
+ request_options: {}
79
+ )
76
80
  end
77
81
 
78
82
  # Update an existing forum post
@@ -95,6 +99,7 @@ module WhopSDK
95
99
  ).returns(WhopSDK::ForumPost)
96
100
  end
97
101
  def update(
102
+ # The ID of the forum post to update
98
103
  id,
99
104
  # The attachments for this post
100
105
  attachments: nil,
@@ -14,7 +14,11 @@ module WhopSDK
14
14
  request_options: WhopSDK::RequestOptions::OrHash
15
15
  ).returns(WhopSDK::Forum)
16
16
  end
17
- def retrieve(id, request_options: {})
17
+ def retrieve(
18
+ # The ID of the forum to fetch, it can be an experience ID or a forum ID
19
+ id,
20
+ request_options: {}
21
+ )
18
22
  end
19
23
 
20
24
  # Updates a forum
@@ -33,6 +37,7 @@ module WhopSDK
33
37
  ).returns(WhopSDK::Forum)
34
38
  end
35
39
  def update(
40
+ # Experience ID (exp\_\*) or Forum external ID
36
41
  id,
37
42
  # Email notification preference option for a forum feed
38
43
  email_notification_preference: nil,
@@ -73,7 +73,11 @@ module WhopSDK
73
73
  request_options: WhopSDK::RequestOptions::OrHash
74
74
  ).returns(WhopSDK::Invoice)
75
75
  end
76
- def retrieve(id, request_options: {})
76
+ def retrieve(
77
+ # The ID of the invoice or a token
78
+ id,
79
+ request_options: {}
80
+ )
77
81
  end
78
82
 
79
83
  # Lists invoices
@@ -87,11 +91,14 @@ module WhopSDK
87
91
  company_id: String,
88
92
  after: T.nilable(String),
89
93
  before: T.nilable(String),
94
+ collection_methods:
95
+ T.nilable(T::Array[WhopSDK::CollectionMethod::OrSymbol]),
90
96
  direction: T.nilable(WhopSDK::Direction::OrSymbol),
91
- filters: T.nilable(WhopSDK::InvoiceListParams::Filters::OrHash),
92
97
  first: T.nilable(Integer),
93
98
  last: T.nilable(Integer),
94
99
  order: T.nilable(WhopSDK::InvoiceListParams::Order::OrSymbol),
100
+ product_ids: T.nilable(T::Array[String]),
101
+ statuses: T.nilable(T::Array[WhopSDK::InvoiceStatus::OrSymbol]),
95
102
  request_options: WhopSDK::RequestOptions::OrHash
96
103
  ).returns(WhopSDK::Internal::CursorPage[WhopSDK::InvoiceListItem])
97
104
  end
@@ -102,16 +109,20 @@ module WhopSDK
102
109
  after: nil,
103
110
  # Returns the elements in the list that come before the specified cursor.
104
111
  before: nil,
112
+ # Filter invoices by their collection method
113
+ collection_methods: nil,
105
114
  # The direction of the sort.
106
115
  direction: nil,
107
- # The filters to apply to the invoices
108
- filters: nil,
109
116
  # Returns the first _n_ elements from the list.
110
117
  first: nil,
111
118
  # Returns the last _n_ elements from the list.
112
119
  last: nil,
113
120
  # Which columns can be used to sort.
114
121
  order: nil,
122
+ # Return only invoices created for these specific product ids
123
+ product_ids: nil,
124
+ # The statuses to filter the invoices by
125
+ statuses: nil,
115
126
  request_options: {}
116
127
  )
117
128
  end
@@ -127,7 +138,11 @@ module WhopSDK
127
138
  request_options: WhopSDK::RequestOptions::OrHash
128
139
  ).returns(T::Boolean)
129
140
  end
130
- def void(id, request_options: {})
141
+ def void(
142
+ # The ID of the invoice to void
143
+ id,
144
+ request_options: {}
145
+ )
131
146
  end
132
147
 
133
148
  # @api private