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
@@ -0,0 +1,113 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class NotificationCreateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::NotificationCreateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The id of the company to target. Only team members of this company will receive
15
+ # the notification. When clicked will take the user to your dashboard app view.
16
+ sig { returns(String) }
17
+ attr_accessor :company_id
18
+
19
+ # The content of the notification
20
+ sig { returns(String) }
21
+ attr_accessor :content
22
+
23
+ # The title of the notification
24
+ sig { returns(String) }
25
+ attr_accessor :title
26
+
27
+ # Optional: ID of a Whop user whose profile picture will be used as the
28
+ # notification icon. If not provided, defaults to the experience or company
29
+ # avatar.
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :icon_user_id
32
+
33
+ # The rest path to append to the generated deep link that opens your app. Use
34
+ # [restPath] in your app path in the dashboard to read this parameter.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :rest_path
37
+
38
+ # The subtitle of the notification
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :subtitle
41
+
42
+ # If provided, this will only send to these users if they are also in the main
43
+ # scope (experience or company)
44
+ sig { returns(T.nilable(T::Array[String])) }
45
+ attr_accessor :user_ids
46
+
47
+ # The id of the experience to target. All users with access to this experience
48
+ # (customers and admins) will receive the notification. When clicked, open your
49
+ # experience view.
50
+ sig { returns(String) }
51
+ attr_accessor :experience_id
52
+
53
+ sig do
54
+ params(
55
+ company_id: String,
56
+ content: String,
57
+ title: String,
58
+ experience_id: String,
59
+ icon_user_id: T.nilable(String),
60
+ rest_path: T.nilable(String),
61
+ subtitle: T.nilable(String),
62
+ user_ids: T.nilable(T::Array[String]),
63
+ request_options: WhopSDK::RequestOptions::OrHash
64
+ ).returns(T.attached_class)
65
+ end
66
+ def self.new(
67
+ # The id of the company to target. Only team members of this company will receive
68
+ # the notification. When clicked will take the user to your dashboard app view.
69
+ company_id:,
70
+ # The content of the notification
71
+ content:,
72
+ # The title of the notification
73
+ title:,
74
+ # The id of the experience to target. All users with access to this experience
75
+ # (customers and admins) will receive the notification. When clicked, open your
76
+ # experience view.
77
+ experience_id:,
78
+ # Optional: ID of a Whop user whose profile picture will be used as the
79
+ # notification icon. If not provided, defaults to the experience or company
80
+ # avatar.
81
+ icon_user_id: nil,
82
+ # The rest path to append to the generated deep link that opens your app. Use
83
+ # [restPath] in your app path in the dashboard to read this parameter.
84
+ rest_path: nil,
85
+ # The subtitle of the notification
86
+ subtitle: nil,
87
+ # If provided, this will only send to these users if they are also in the main
88
+ # scope (experience or company)
89
+ user_ids: nil,
90
+ request_options: {}
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ company_id: String,
98
+ content: String,
99
+ title: String,
100
+ icon_user_id: T.nilable(String),
101
+ rest_path: T.nilable(String),
102
+ subtitle: T.nilable(String),
103
+ user_ids: T.nilable(T::Array[String]),
104
+ experience_id: String,
105
+ request_options: WhopSDK::RequestOptions
106
+ }
107
+ )
108
+ end
109
+ def to_hash
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,31 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class NotificationCreateResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::NotificationCreateResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Whether the notification was successfully queued for delivery
15
+ sig { returns(T::Boolean) }
16
+ attr_accessor :success
17
+
18
+ # Response from queuing a notification
19
+ sig { params(success: T::Boolean).returns(T.attached_class) }
20
+ def self.new(
21
+ # Whether the notification was successfully queued for delivery
22
+ success:
23
+ )
24
+ end
25
+
26
+ sig { override.returns({ success: T::Boolean }) }
27
+ def to_hash
28
+ end
29
+ end
30
+ end
31
+ end
@@ -104,7 +104,7 @@ module WhopSDK
104
104
  sig { params(plan: T.nilable(WhopSDK::Payment::Plan::OrHash)).void }
105
105
  attr_writer :plan
106
106
 
107
- # The access pass attached to this payment.
107
+ # The product this payment was made for
108
108
  sig { returns(T.nilable(WhopSDK::Payment::Product)) }
109
109
  attr_reader :product
110
110
 
@@ -248,7 +248,7 @@ module WhopSDK
248
248
  payment_method_type:,
249
249
  # The plan attached to this payment.
250
250
  plan:,
251
- # The access pass attached to this payment.
251
+ # The product this payment was made for
252
252
  product:,
253
253
  # The promo code used for this payment.
254
254
  promo_code:,
@@ -553,7 +553,7 @@ module WhopSDK
553
553
  sig { returns(String) }
554
554
  attr_accessor :title
555
555
 
556
- # The access pass attached to this payment.
556
+ # The product this payment was made for
557
557
  sig do
558
558
  params(id: String, route: String, title: String).returns(
559
559
  T.attached_class
@@ -133,7 +133,7 @@ module WhopSDK
133
133
  end
134
134
  attr_writer :plan
135
135
 
136
- # The access pass attached to this payment.
136
+ # The product this payment was made for
137
137
  sig { returns(T.nilable(WhopSDK::Models::PaymentListResponse::Product)) }
138
138
  attr_reader :product
139
139
 
@@ -299,7 +299,7 @@ module WhopSDK
299
299
  payment_method_type:,
300
300
  # The plan attached to this payment.
301
301
  plan:,
302
- # The access pass attached to this payment.
302
+ # The product this payment was made for
303
303
  product:,
304
304
  # The promo code used for this payment.
305
305
  promo_code:,
@@ -625,7 +625,7 @@ module WhopSDK
625
625
  sig { returns(String) }
626
626
  attr_accessor :title
627
627
 
628
- # The access pass attached to this payment.
628
+ # The product this payment was made for
629
629
  sig do
630
630
  params(id: String, route: String, title: String).returns(
631
631
  T.attached_class
@@ -79,7 +79,7 @@ module WhopSDK
79
79
  sig { returns(WhopSDK::PlanType::TaggedSymbol) }
80
80
  attr_accessor :plan_type
81
81
 
82
- # The access pass for the plan.
82
+ # The product that this plan belongs to.
83
83
  sig { returns(T.nilable(WhopSDK::Plan::Product)) }
84
84
  attr_reader :product
85
85
 
@@ -126,7 +126,9 @@ module WhopSDK
126
126
  sig { returns(WhopSDK::Visibility::TaggedSymbol) }
127
127
  attr_accessor :visibility
128
128
 
129
- # An object representing a (sanitized) plan of an access pass.
129
+ # A plan for an product. Plans define the core parameters that define a checkout
130
+ # and payment on whop. Use plans to create different ways to price your products
131
+ # (Eg renewal / one_time)
130
132
  sig do
131
133
  params(
132
134
  id: String,
@@ -189,7 +191,7 @@ module WhopSDK
189
191
  payment_method_configuration:,
190
192
  # Indicates if the plan is a one time payment or recurring.
191
193
  plan_type:,
192
- # The access pass for the plan.
194
+ # The product that this plan belongs to.
193
195
  product:,
194
196
  # The direct link to purchase the product.
195
197
  purchase_url:,
@@ -453,7 +455,7 @@ module WhopSDK
453
455
  sig { returns(String) }
454
456
  attr_accessor :title
455
457
 
456
- # The access pass for the plan.
458
+ # The product that this plan belongs to.
457
459
  sig { params(id: String, title: String).returns(T.attached_class) }
458
460
  def self.new(
459
461
  # The internal ID of the public product.
@@ -88,7 +88,7 @@ module WhopSDK
88
88
  end
89
89
  attr_writer :payment_method_configuration
90
90
 
91
- # The type of plan that can be attached to an access pass
91
+ # The type of plan that can be attached to a product
92
92
  sig { returns(T.nilable(WhopSDK::PlanType::OrSymbol)) }
93
93
  attr_accessor :plan_type
94
94
 
@@ -197,7 +197,7 @@ module WhopSDK
197
197
  # The explicit payment method configuration for the plan. If not provided, the
198
198
  # platform or company's defaults will apply.
199
199
  payment_method_configuration: nil,
200
- # The type of plan that can be attached to an access pass
200
+ # The type of plan that can be attached to a product
201
201
  plan_type: nil,
202
202
  # The methods of how a plan can be released.
203
203
  release_method: nil,
@@ -90,7 +90,7 @@ module WhopSDK
90
90
  sig { returns(WhopSDK::PlanType::TaggedSymbol) }
91
91
  attr_accessor :plan_type
92
92
 
93
- # The access pass for the plan.
93
+ # The product that this plan belongs to.
94
94
  sig { returns(T.nilable(WhopSDK::Models::PlanListResponse::Product)) }
95
95
  attr_reader :product
96
96
 
@@ -137,7 +137,9 @@ module WhopSDK
137
137
  sig { returns(WhopSDK::Visibility::TaggedSymbol) }
138
138
  attr_accessor :visibility
139
139
 
140
- # An object representing a (sanitized) plan of an access pass.
140
+ # A plan for an product. Plans define the core parameters that define a checkout
141
+ # and payment on whop. Use plans to create different ways to price your products
142
+ # (Eg renewal / one_time)
141
143
  sig do
142
144
  params(
143
145
  id: String,
@@ -198,7 +200,7 @@ module WhopSDK
198
200
  payment_method_configuration:,
199
201
  # Indicates if the plan is a one time payment or recurring.
200
202
  plan_type:,
201
- # The access pass for the plan.
203
+ # The product that this plan belongs to.
202
204
  product:,
203
205
  # The direct link to purchase the product.
204
206
  purchase_url:,
@@ -395,7 +397,7 @@ module WhopSDK
395
397
  sig { returns(String) }
396
398
  attr_accessor :title
397
399
 
398
- # The access pass for the plan.
400
+ # The product that this plan belongs to.
399
401
  sig { params(id: String, title: String).returns(T.attached_class) }
400
402
  def self.new(
401
403
  # The internal ID of the public product.
@@ -2,7 +2,7 @@
2
2
 
3
3
  module WhopSDK
4
4
  module Models
5
- # The type of plan that can be attached to an access pass
5
+ # The type of plan that can be attached to a product
6
6
  module PlanType
7
7
  extend WhopSDK::Internal::Type::Enum
8
8
 
@@ -119,7 +119,7 @@ module WhopSDK
119
119
  sig { returns(WhopSDK::Visibility::TaggedSymbol) }
120
120
  attr_accessor :visibility
121
121
 
122
- # An object representing a (sanitized) access pass.
122
+ # Represents a product on whop. Use products to sell anything on the platform.
123
123
  sig do
124
124
  params(
125
125
  id: String,
@@ -53,7 +53,7 @@ module WhopSDK
53
53
  sig { returns(T.nilable(Float)) }
54
54
  attr_accessor :global_affiliate_percentage
55
55
 
56
- # The different statuses of the global affiliate program for an access pass.
56
+ # The different statuses of the global affiliate program for a product.
57
57
  sig { returns(T.nilable(WhopSDK::GlobalAffiliateStatus::OrSymbol)) }
58
58
  attr_accessor :global_affiliate_status
59
59
 
@@ -69,7 +69,7 @@ module WhopSDK
69
69
  sig { returns(T.nilable(Float)) }
70
70
  attr_accessor :member_affiliate_percentage
71
71
 
72
- # The different statuses of the global affiliate program for an access pass.
72
+ # The different statuses of the global affiliate program for a product.
73
73
  sig { returns(T.nilable(WhopSDK::GlobalAffiliateStatus::OrSymbol)) }
74
74
  attr_accessor :member_affiliate_status
75
75
 
@@ -164,7 +164,7 @@ module WhopSDK
164
164
  experience_ids: nil,
165
165
  # The percentage of the revenue that goes to the global affiliate program.
166
166
  global_affiliate_percentage: nil,
167
- # The different statuses of the global affiliate program for an access pass.
167
+ # The different statuses of the global affiliate program for a product.
168
168
  global_affiliate_status: nil,
169
169
  # The headline of the product.
170
170
  headline: nil,
@@ -172,7 +172,7 @@ module WhopSDK
172
172
  industry_type: nil,
173
173
  # The percentage of the revenue that goes to the member affiliate program.
174
174
  member_affiliate_percentage: nil,
175
- # The different statuses of the global affiliate program for an access pass.
175
+ # The different statuses of the global affiliate program for a product.
176
176
  member_affiliate_status: nil,
177
177
  # The details to assign an autogenerated plan.
178
178
  plan_options: nil,
@@ -257,7 +257,7 @@ module WhopSDK
257
257
  sig { returns(T.nilable(Float)) }
258
258
  attr_accessor :initial_price
259
259
 
260
- # The type of plan that can be attached to an access pass
260
+ # The type of plan that can be attached to a product
261
261
  sig { returns(T.nilable(WhopSDK::PlanType::OrSymbol)) }
262
262
  attr_accessor :plan_type
263
263
 
@@ -300,7 +300,7 @@ module WhopSDK
300
300
  custom_fields: nil,
301
301
  # An additional amount charged upon first purchase.
302
302
  initial_price: nil,
303
- # The type of plan that can be attached to an access pass
303
+ # The type of plan that can be attached to a product
304
304
  plan_type: nil,
305
305
  # The methods of how a plan can be released.
306
306
  release_method: nil,
@@ -62,7 +62,7 @@ module WhopSDK
62
62
  sig { returns(WhopSDK::Visibility::TaggedSymbol) }
63
63
  attr_accessor :visibility
64
64
 
65
- # An object representing a (sanitized) access pass.
65
+ # Represents a product on whop. Use products to sell anything on the platform.
66
66
  sig do
67
67
  params(
68
68
  id: String,
@@ -54,7 +54,7 @@ module WhopSDK
54
54
  sig { returns(T.nilable(Float)) }
55
55
  attr_accessor :global_affiliate_percentage
56
56
 
57
- # The different statuses of the global affiliate program for an access pass.
57
+ # The different statuses of the global affiliate program for a product.
58
58
  sig { returns(T.nilable(WhopSDK::GlobalAffiliateStatus::OrSymbol)) }
59
59
  attr_accessor :global_affiliate_status
60
60
 
@@ -70,7 +70,7 @@ module WhopSDK
70
70
  sig { returns(T.nilable(Float)) }
71
71
  attr_accessor :member_affiliate_percentage
72
72
 
73
- # The different statuses of the global affiliate program for an access pass.
73
+ # The different statuses of the global affiliate program for a product.
74
74
  sig { returns(T.nilable(WhopSDK::GlobalAffiliateStatus::OrSymbol)) }
75
75
  attr_accessor :member_affiliate_status
76
76
 
@@ -158,7 +158,7 @@ module WhopSDK
158
158
  description: nil,
159
159
  # The percentage of the revenue that goes to the global affiliate program.
160
160
  global_affiliate_percentage: nil,
161
- # The different statuses of the global affiliate program for an access pass.
161
+ # The different statuses of the global affiliate program for a product.
162
162
  global_affiliate_status: nil,
163
163
  # The headline of the product.
164
164
  headline: nil,
@@ -166,7 +166,7 @@ module WhopSDK
166
166
  industry_type: nil,
167
167
  # The percentage of the revenue that goes to the member affiliate program.
168
168
  member_affiliate_percentage: nil,
169
- # The different statuses of the global affiliate program for an access pass.
169
+ # The different statuses of the global affiliate program for a product.
170
170
  member_affiliate_status: nil,
171
171
  # The ID of the product tax code to apply to this product.
172
172
  product_tax_code_id: nil,
@@ -58,7 +58,7 @@ module WhopSDK
58
58
  sig { returns(T::Boolean) }
59
59
  attr_accessor :one_per_customer
60
60
 
61
- # The access pass associated with the promo code.
61
+ # The product this promo code applies to
62
62
  sig { returns(T.nilable(WhopSDK::PromoCode::Product)) }
63
63
  attr_reader :product
64
64
 
@@ -141,7 +141,7 @@ module WhopSDK
141
141
  new_users_only:,
142
142
  # Restricts promo use to only be applied once per customer.
143
143
  one_per_customer:,
144
- # The access pass associated with the promo code.
144
+ # The product this promo code applies to
145
145
  product:,
146
146
  # The number of months the promo is applied for.
147
147
  promo_duration_months:,
@@ -229,7 +229,7 @@ module WhopSDK
229
229
  sig { returns(String) }
230
230
  attr_accessor :title
231
231
 
232
- # The access pass associated with the promo code.
232
+ # The product this promo code applies to
233
233
  sig { params(id: String, title: String).returns(T.attached_class) }
234
234
  def self.new(
235
235
  # The internal ID of the public product.
@@ -56,7 +56,7 @@ module WhopSDK
56
56
  sig { returns(T::Boolean) }
57
57
  attr_accessor :one_per_customer
58
58
 
59
- # The access pass associated with the promo code.
59
+ # The product this promo code applies to
60
60
  sig do
61
61
  returns(T.nilable(WhopSDK::Models::PromoCodeListResponse::Product))
62
62
  end
@@ -142,7 +142,7 @@ module WhopSDK
142
142
  new_users_only:,
143
143
  # Restricts promo use to only be applied once per customer.
144
144
  one_per_customer:,
145
- # The access pass associated with the promo code.
145
+ # The product this promo code applies to
146
146
  product:,
147
147
  # The number of months the promo is applied for.
148
148
  promo_duration_months:,
@@ -203,7 +203,7 @@ module WhopSDK
203
203
  sig { returns(String) }
204
204
  attr_accessor :title
205
205
 
206
- # The access pass associated with the promo code.
206
+ # The product this promo code applies to
207
207
  sig { params(id: String, title: String).returns(T.attached_class) }
208
208
  def self.new(
209
209
  # The internal ID of the public product.
@@ -21,7 +21,9 @@ module WhopSDK
21
21
  WhopSDK::CourseLessonInteractionCompletedWebhookEvent,
22
22
  WhopSDK::PaymentSucceededWebhookEvent,
23
23
  WhopSDK::PaymentFailedWebhookEvent,
24
- WhopSDK::PaymentPendingWebhookEvent
24
+ WhopSDK::PaymentPendingWebhookEvent,
25
+ WhopSDK::DisputeCreatedWebhookEvent,
26
+ WhopSDK::DisputeUpdatedWebhookEvent
25
27
  )
26
28
  end
27
29
 
@@ -5,6 +5,8 @@ module WhopSDK
5
5
 
6
6
  AccessPassType = WhopSDK::Models::AccessPassType
7
7
 
8
+ AccessTokenCreateParams = WhopSDK::Models::AccessTokenCreateParams
9
+
8
10
  App = WhopSDK::Models::App
9
11
 
10
12
  AppBuild = WhopSDK::Models::AppBuild
@@ -128,16 +130,36 @@ module WhopSDK
128
130
 
129
131
  CourseUpdateParams = WhopSDK::Models::CourseUpdateParams
130
132
 
133
+ CourseVisibilities = WhopSDK::Models::CourseVisibilities
134
+
131
135
  Currency = WhopSDK::Models::Currency
132
136
 
133
137
  CustomCta = WhopSDK::Models::CustomCta
134
138
 
135
139
  Direction = WhopSDK::Models::Direction
136
140
 
141
+ Dispute = WhopSDK::Models::Dispute
142
+
143
+ DisputeCreatedWebhookEvent = WhopSDK::Models::DisputeCreatedWebhookEvent
144
+
145
+ DisputeListParams = WhopSDK::Models::DisputeListParams
146
+
147
+ DisputeRetrieveParams = WhopSDK::Models::DisputeRetrieveParams
148
+
149
+ DisputeStatuses = WhopSDK::Models::DisputeStatuses
150
+
151
+ DisputeSubmitEvidenceParams = WhopSDK::Models::DisputeSubmitEvidenceParams
152
+
153
+ DisputeUpdatedWebhookEvent = WhopSDK::Models::DisputeUpdatedWebhookEvent
154
+
155
+ DisputeUpdateEvidenceParams = WhopSDK::Models::DisputeUpdateEvidenceParams
156
+
137
157
  DmsPostTypes = WhopSDK::Models::DmsPostTypes
138
158
 
139
159
  EmailNotificationPreferences = WhopSDK::Models::EmailNotificationPreferences
140
160
 
161
+ EmbedType = WhopSDK::Models::EmbedType
162
+
141
163
  Entry = WhopSDK::Models::Entry
142
164
 
143
165
  EntryApprovedWebhookEvent = WhopSDK::Models::EntryApprovedWebhookEvent
@@ -272,6 +294,8 @@ module WhopSDK
272
294
 
273
295
  MessageUpdateParams = WhopSDK::Models::MessageUpdateParams
274
296
 
297
+ NotificationCreateParams = WhopSDK::Models::NotificationCreateParams
298
+
275
299
  PageInfo = WhopSDK::Models::PageInfo
276
300
 
277
301
  Payment = WhopSDK::Models::Payment
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class AccessTokens
6
+ # Creates an access token for a user to access a specific resource. These access
7
+ # tokens are designed to be used with Whop's embedded components.
8
+ sig do
9
+ params(
10
+ scoped_actions: T::Array[String],
11
+ target_resource_id: String,
12
+ target_resource_type:
13
+ WhopSDK::AccessTokenCreateParams::TargetResourceType::OrSymbol,
14
+ expires_at: T.nilable(Time),
15
+ request_options: WhopSDK::RequestOptions::OrHash
16
+ ).returns(WhopSDK::Models::AccessTokenCreateResponse)
17
+ end
18
+ def create(
19
+ # Array of desired scoped actions for the access token. This list must be a subset
20
+ # of the API keys's existing permissions. Otherwise, an error will be raised.
21
+ scoped_actions:,
22
+ # The ID of the target resource (Company, User, etc.) for which the access token
23
+ # is being created.
24
+ target_resource_id:,
25
+ # The type of the target resource (company, user, product, experience, etc.).
26
+ target_resource_type:,
27
+ # The expiration timestamp for the access token. If not provided, a default
28
+ # expiration time of 1 hour will be used. The expiration can be set to a maximum
29
+ # of 3 hours from the current time.
30
+ expires_at: nil,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # @api private
36
+ sig { params(client: WhopSDK::Client).returns(T.attached_class) }
37
+ def self.new(client:)
38
+ end
39
+ end
40
+ end
41
+ end
@@ -55,7 +55,11 @@ module WhopSDK
55
55
  request_options: WhopSDK::RequestOptions::OrHash
56
56
  ).returns(WhopSDK::AppBuild)
57
57
  end
58
- def retrieve(id, request_options: {})
58
+ def retrieve(
59
+ # The ID of the app build
60
+ id,
61
+ request_options: {}
62
+ )
59
63
  end
60
64
 
61
65
  # Lists app builds for an app
@@ -107,7 +111,11 @@ module WhopSDK
107
111
  request_options: WhopSDK::RequestOptions::OrHash
108
112
  ).returns(WhopSDK::AppBuild)
109
113
  end
110
- def promote(id, request_options: {})
114
+ def promote(
115
+ # The ID of the app build to promote.
116
+ id,
117
+ request_options: {}
118
+ )
111
119
  end
112
120
 
113
121
  # @api private
@@ -39,7 +39,11 @@ module WhopSDK
39
39
  request_options: WhopSDK::RequestOptions::OrHash
40
40
  ).returns(WhopSDK::App)
41
41
  end
42
- def retrieve(id, request_options: {})
42
+ def retrieve(
43
+ # The ID of the app
44
+ id,
45
+ request_options: {}
46
+ )
43
47
  end
44
48
 
45
49
  # Update an existing App
@@ -74,6 +78,7 @@ module WhopSDK
74
78
  ).returns(WhopSDK::App)
75
79
  end
76
80
  def update(
81
+ # The ID of the app
77
82
  id,
78
83
  # The description of the app for the app store in-depth app view.
79
84
  app_store_description: nil,
@@ -15,7 +15,11 @@ module WhopSDK
15
15
  request_options: WhopSDK::RequestOptions::OrHash
16
16
  ).returns(WhopSDK::Models::AuthorizedUserRetrieveResponse)
17
17
  end
18
- def retrieve(id, request_options: {})
18
+ def retrieve(
19
+ # The ID of the authorized user
20
+ id,
21
+ request_options: {}
22
+ )
19
23
  end
20
24
 
21
25
  # Lists authorized users
@@ -14,7 +14,12 @@ module WhopSDK
14
14
  request_options: WhopSDK::RequestOptions::OrHash
15
15
  ).returns(WhopSDK::ChatChannel)
16
16
  end
17
- def retrieve(id, request_options: {})
17
+ def retrieve(
18
+ # The ID of the chat channel to fetch, it can be an experience ID or a chat
19
+ # channel ID
20
+ id,
21
+ request_options: {}
22
+ )
18
23
  end
19
24
 
20
25
  # Updates a chat channel
@@ -35,6 +40,8 @@ module WhopSDK
35
40
  ).returns(WhopSDK::ChatChannel)
36
41
  end
37
42
  def update(
43
+ # The ID of the chat channel to update. Can be an experience ID or a chat feed
44
+ # external ID.
38
45
  id,
39
46
  # Whether media uploads are banned in this chat
40
47
  ban_media: nil,