whop_sdk 0.0.20 → 0.0.23

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 (247) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +10 -1
  4. data/lib/whop_sdk/client.rb +16 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/whop_sdk/internal/util.rb +7 -2
  7. data/lib/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rb +9 -1
  8. data/lib/whop_sdk/models/dispute_created_webhook_event.rb +9 -1
  9. data/lib/whop_sdk/models/dispute_updated_webhook_event.rb +9 -1
  10. data/lib/whop_sdk/models/entry_approved_webhook_event.rb +9 -1
  11. data/lib/whop_sdk/models/entry_created_webhook_event.rb +9 -1
  12. data/lib/whop_sdk/models/entry_deleted_webhook_event.rb +9 -1
  13. data/lib/whop_sdk/models/entry_denied_webhook_event.rb +9 -1
  14. data/lib/whop_sdk/models/file_create_params.rb +22 -0
  15. data/lib/whop_sdk/models/file_create_response.rb +90 -0
  16. data/lib/whop_sdk/models/file_retrieve_params.rb +14 -0
  17. data/lib/whop_sdk/models/file_retrieve_response.rb +74 -0
  18. data/lib/whop_sdk/models/invoice_created_webhook_event.rb +9 -1
  19. data/lib/whop_sdk/models/invoice_paid_webhook_event.rb +9 -1
  20. data/lib/whop_sdk/models/invoice_past_due_webhook_event.rb +9 -1
  21. data/lib/whop_sdk/models/invoice_voided_webhook_event.rb +9 -1
  22. data/lib/whop_sdk/models/lead_create_params.rb +58 -0
  23. data/lib/whop_sdk/models/lead_create_response.rb +149 -0
  24. data/lib/whop_sdk/models/lead_list_params.rb +78 -0
  25. data/lib/whop_sdk/models/lead_list_response.rb +149 -0
  26. data/lib/whop_sdk/models/lead_retrieve_params.rb +14 -0
  27. data/lib/whop_sdk/models/lead_retrieve_response.rb +149 -0
  28. data/lib/whop_sdk/models/lead_update_params.rb +30 -0
  29. data/lib/whop_sdk/models/lead_update_response.rb +149 -0
  30. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +106 -1
  31. data/lib/whop_sdk/models/membership_activated_webhook_event.rb +9 -1
  32. data/lib/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rb +61 -0
  33. data/lib/whop_sdk/models/membership_deactivated_webhook_event.rb +9 -1
  34. data/lib/whop_sdk/models/membership_status.rb +1 -0
  35. data/lib/whop_sdk/models/payment.rb +3 -3
  36. data/lib/whop_sdk/models/payment_create_params.rb +9 -1
  37. data/lib/whop_sdk/models/payment_created_webhook_event.rb +9 -1
  38. data/lib/whop_sdk/models/payment_failed_webhook_event.rb +9 -1
  39. data/lib/whop_sdk/models/payment_list_fees_response.rb +1 -0
  40. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  41. data/lib/whop_sdk/models/payment_method_list_params.rb +16 -8
  42. data/lib/whop_sdk/models/payment_method_retrieve_params.rb +13 -5
  43. data/lib/whop_sdk/models/payment_method_types.rb +30 -30
  44. data/lib/whop_sdk/models/payment_pending_webhook_event.rb +9 -1
  45. data/lib/whop_sdk/models/payment_succeeded_webhook_event.rb +9 -1
  46. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +176 -0
  47. data/lib/whop_sdk/models/payout_method_list_response.rb +31 -1
  48. data/lib/whop_sdk/models/payout_method_retrieve_params.rb +14 -0
  49. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +125 -0
  50. data/lib/whop_sdk/models/plan_create_params.rb +9 -1
  51. data/lib/whop_sdk/models/plan_update_params.rb +9 -1
  52. data/lib/whop_sdk/models/refund_created_webhook_event.rb +9 -1
  53. data/lib/whop_sdk/models/refund_updated_webhook_event.rb +9 -1
  54. data/lib/whop_sdk/models/setup_intent_canceled_webhook_event.rb +9 -1
  55. data/lib/whop_sdk/models/setup_intent_requires_action_webhook_event.rb +9 -1
  56. data/lib/whop_sdk/models/setup_intent_succeeded_webhook_event.rb +9 -1
  57. data/lib/whop_sdk/models/support_channel_create_params.rb +2 -2
  58. data/lib/whop_sdk/models/topup_create_params.rb +46 -0
  59. data/lib/whop_sdk/models/topup_create_response.rb +67 -0
  60. data/lib/whop_sdk/models/unwrap_webhook_event.rb +8 -1
  61. data/lib/whop_sdk/models/verification_retrieve_params.rb +14 -0
  62. data/lib/whop_sdk/models/verification_retrieve_response.rb +99 -0
  63. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +150 -0
  64. data/lib/whop_sdk/models/webhook_create_params.rb +117 -0
  65. data/lib/whop_sdk/models/webhook_create_response.rb +184 -0
  66. data/lib/whop_sdk/models/webhook_delete_params.rb +14 -0
  67. data/lib/whop_sdk/models/webhook_delete_response.rb +8 -0
  68. data/lib/whop_sdk/models/webhook_list_params.rb +54 -0
  69. data/lib/whop_sdk/models/webhook_list_response.rb +123 -0
  70. data/lib/whop_sdk/models/webhook_retrieve_params.rb +14 -0
  71. data/lib/whop_sdk/models/webhook_retrieve_response.rb +176 -0
  72. data/lib/whop_sdk/models/webhook_update_params.rb +104 -0
  73. data/lib/whop_sdk/models/webhook_update_response.rb +176 -0
  74. data/lib/whop_sdk/models/withdrawal_created_webhook_event.rb +9 -1
  75. data/lib/whop_sdk/models/withdrawal_updated_webhook_event.rb +9 -1
  76. data/lib/whop_sdk/models.rb +35 -0
  77. data/lib/whop_sdk/resources/files.rb +56 -0
  78. data/lib/whop_sdk/resources/leads.rb +158 -0
  79. data/lib/whop_sdk/resources/payment_methods.rb +12 -8
  80. data/lib/whop_sdk/resources/payments.rb +3 -1
  81. data/lib/whop_sdk/resources/payout_methods.rb +24 -0
  82. data/lib/whop_sdk/resources/plans.rb +6 -2
  83. data/lib/whop_sdk/resources/support_channels.rb +1 -1
  84. data/lib/whop_sdk/resources/topups.rb +46 -0
  85. data/lib/whop_sdk/resources/verifications.rb +38 -0
  86. data/lib/whop_sdk/resources/webhooks.rb +159 -1
  87. data/lib/whop_sdk/version.rb +1 -1
  88. data/lib/whop_sdk.rb +35 -0
  89. data/rbi/whop_sdk/client.rbi +12 -0
  90. data/rbi/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rbi +9 -1
  91. data/rbi/whop_sdk/models/dispute_created_webhook_event.rbi +9 -1
  92. data/rbi/whop_sdk/models/dispute_updated_webhook_event.rbi +9 -1
  93. data/rbi/whop_sdk/models/entry_approved_webhook_event.rbi +9 -1
  94. data/rbi/whop_sdk/models/entry_created_webhook_event.rbi +9 -1
  95. data/rbi/whop_sdk/models/entry_deleted_webhook_event.rbi +9 -1
  96. data/rbi/whop_sdk/models/entry_denied_webhook_event.rbi +9 -1
  97. data/rbi/whop_sdk/models/file_create_params.rbi +40 -0
  98. data/rbi/whop_sdk/models/file_create_response.rbi +140 -0
  99. data/rbi/whop_sdk/models/file_retrieve_params.rbi +27 -0
  100. data/rbi/whop_sdk/models/file_retrieve_response.rbi +129 -0
  101. data/rbi/whop_sdk/models/invoice_created_webhook_event.rbi +9 -1
  102. data/rbi/whop_sdk/models/invoice_paid_webhook_event.rbi +9 -1
  103. data/rbi/whop_sdk/models/invoice_past_due_webhook_event.rbi +9 -1
  104. data/rbi/whop_sdk/models/invoice_voided_webhook_event.rbi +9 -1
  105. data/rbi/whop_sdk/models/lead_create_params.rbi +77 -0
  106. data/rbi/whop_sdk/models/lead_create_response.rbi +234 -0
  107. data/rbi/whop_sdk/models/lead_list_params.rbi +99 -0
  108. data/rbi/whop_sdk/models/lead_list_response.rbi +230 -0
  109. data/rbi/whop_sdk/models/lead_retrieve_params.rbi +27 -0
  110. data/rbi/whop_sdk/models/lead_retrieve_response.rbi +238 -0
  111. data/rbi/whop_sdk/models/lead_update_params.rbi +51 -0
  112. data/rbi/whop_sdk/models/lead_update_response.rbi +234 -0
  113. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +318 -0
  114. data/rbi/whop_sdk/models/membership_activated_webhook_event.rbi +9 -1
  115. data/rbi/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbi +85 -0
  116. data/rbi/whop_sdk/models/membership_deactivated_webhook_event.rbi +9 -1
  117. data/rbi/whop_sdk/models/membership_status.rbi +1 -0
  118. data/rbi/whop_sdk/models/payment.rbi +4 -4
  119. data/rbi/whop_sdk/models/payment_create_params.rbi +8 -0
  120. data/rbi/whop_sdk/models/payment_created_webhook_event.rbi +9 -1
  121. data/rbi/whop_sdk/models/payment_failed_webhook_event.rbi +9 -1
  122. data/rbi/whop_sdk/models/payment_list_fees_response.rbi +5 -0
  123. data/rbi/whop_sdk/models/payment_list_response.rbi +4 -4
  124. data/rbi/whop_sdk/models/payment_method_list_params.rbi +16 -8
  125. data/rbi/whop_sdk/models/payment_method_retrieve_params.rbi +17 -6
  126. data/rbi/whop_sdk/models/payment_method_types.rbi +33 -33
  127. data/rbi/whop_sdk/models/payment_pending_webhook_event.rbi +9 -1
  128. data/rbi/whop_sdk/models/payment_succeeded_webhook_event.rbi +9 -1
  129. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +348 -0
  130. data/rbi/whop_sdk/models/payout_method_list_response.rbi +58 -0
  131. data/rbi/whop_sdk/models/payout_method_retrieve_params.rbi +27 -0
  132. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +262 -0
  133. data/rbi/whop_sdk/models/plan_create_params.rbi +8 -0
  134. data/rbi/whop_sdk/models/plan_update_params.rbi +8 -0
  135. data/rbi/whop_sdk/models/refund_created_webhook_event.rbi +9 -1
  136. data/rbi/whop_sdk/models/refund_updated_webhook_event.rbi +9 -1
  137. data/rbi/whop_sdk/models/setup_intent_canceled_webhook_event.rbi +9 -1
  138. data/rbi/whop_sdk/models/setup_intent_requires_action_webhook_event.rbi +9 -1
  139. data/rbi/whop_sdk/models/setup_intent_succeeded_webhook_event.rbi +9 -1
  140. data/rbi/whop_sdk/models/support_channel_create_params.rbi +2 -2
  141. data/rbi/whop_sdk/models/topup_create_params.rbi +67 -0
  142. data/rbi/whop_sdk/models/topup_create_response.rbi +89 -0
  143. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +4 -1
  144. data/rbi/whop_sdk/models/verification_retrieve_params.rbi +27 -0
  145. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +290 -0
  146. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +375 -0
  147. data/rbi/whop_sdk/models/webhook_create_params.rbi +275 -0
  148. data/rbi/whop_sdk/models/webhook_create_response.rbi +494 -0
  149. data/rbi/whop_sdk/models/webhook_delete_params.rbi +27 -0
  150. data/rbi/whop_sdk/models/webhook_delete_response.rbi +8 -0
  151. data/rbi/whop_sdk/models/webhook_list_params.rbi +75 -0
  152. data/rbi/whop_sdk/models/webhook_list_response.rbi +297 -0
  153. data/rbi/whop_sdk/models/webhook_retrieve_params.rbi +27 -0
  154. data/rbi/whop_sdk/models/webhook_retrieve_response.rbi +491 -0
  155. data/rbi/whop_sdk/models/webhook_update_params.rbi +263 -0
  156. data/rbi/whop_sdk/models/webhook_update_response.rbi +486 -0
  157. data/rbi/whop_sdk/models/withdrawal_created_webhook_event.rbi +9 -1
  158. data/rbi/whop_sdk/models/withdrawal_updated_webhook_event.rbi +9 -1
  159. data/rbi/whop_sdk/models.rbi +37 -0
  160. data/rbi/whop_sdk/resources/files.rbi +40 -0
  161. data/rbi/whop_sdk/resources/leads.rbi +138 -0
  162. data/rbi/whop_sdk/resources/payment_methods.rbi +13 -7
  163. data/rbi/whop_sdk/resources/payments.rbi +3 -0
  164. data/rbi/whop_sdk/resources/payout_methods.rbi +18 -0
  165. data/rbi/whop_sdk/resources/plans.rbi +6 -0
  166. data/rbi/whop_sdk/resources/support_channels.rbi +1 -1
  167. data/rbi/whop_sdk/resources/topups.rbi +39 -0
  168. data/rbi/whop_sdk/resources/verifications.rbi +30 -0
  169. data/rbi/whop_sdk/resources/webhooks.rbi +144 -1
  170. data/sig/whop_sdk/client.rbs +8 -0
  171. data/sig/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rbs +7 -2
  172. data/sig/whop_sdk/models/dispute_created_webhook_event.rbs +7 -2
  173. data/sig/whop_sdk/models/dispute_updated_webhook_event.rbs +7 -2
  174. data/sig/whop_sdk/models/entry_approved_webhook_event.rbs +7 -2
  175. data/sig/whop_sdk/models/entry_created_webhook_event.rbs +7 -2
  176. data/sig/whop_sdk/models/entry_deleted_webhook_event.rbs +7 -2
  177. data/sig/whop_sdk/models/entry_denied_webhook_event.rbs +7 -2
  178. data/sig/whop_sdk/models/file_create_params.rbs +23 -0
  179. data/sig/whop_sdk/models/file_create_response.rbs +68 -0
  180. data/sig/whop_sdk/models/file_retrieve_params.rbs +15 -0
  181. data/sig/whop_sdk/models/file_retrieve_response.rbs +58 -0
  182. data/sig/whop_sdk/models/invoice_created_webhook_event.rbs +7 -2
  183. data/sig/whop_sdk/models/invoice_paid_webhook_event.rbs +7 -2
  184. data/sig/whop_sdk/models/invoice_past_due_webhook_event.rbs +7 -2
  185. data/sig/whop_sdk/models/invoice_voided_webhook_event.rbs +7 -2
  186. data/sig/whop_sdk/models/lead_create_params.rbs +46 -0
  187. data/sig/whop_sdk/models/lead_create_response.rbs +104 -0
  188. data/sig/whop_sdk/models/lead_list_params.rbs +61 -0
  189. data/sig/whop_sdk/models/lead_list_response.rbs +104 -0
  190. data/sig/whop_sdk/models/lead_retrieve_params.rbs +15 -0
  191. data/sig/whop_sdk/models/lead_retrieve_response.rbs +104 -0
  192. data/sig/whop_sdk/models/lead_update_params.rbs +28 -0
  193. data/sig/whop_sdk/models/lead_update_response.rbs +104 -0
  194. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +119 -0
  195. data/sig/whop_sdk/models/membership_activated_webhook_event.rbs +7 -2
  196. data/sig/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbs +45 -0
  197. data/sig/whop_sdk/models/membership_deactivated_webhook_event.rbs +7 -2
  198. data/sig/whop_sdk/models/membership_status.rbs +2 -0
  199. data/sig/whop_sdk/models/payment_create_params.rbs +5 -0
  200. data/sig/whop_sdk/models/payment_created_webhook_event.rbs +7 -2
  201. data/sig/whop_sdk/models/payment_failed_webhook_event.rbs +7 -2
  202. data/sig/whop_sdk/models/payment_list_fees_response.rbs +2 -0
  203. data/sig/whop_sdk/models/payment_method_list_params.rbs +11 -6
  204. data/sig/whop_sdk/models/payment_method_retrieve_params.rbs +9 -4
  205. data/sig/whop_sdk/models/payment_method_types.rbs +61 -61
  206. data/sig/whop_sdk/models/payment_pending_webhook_event.rbs +7 -2
  207. data/sig/whop_sdk/models/payment_succeeded_webhook_event.rbs +7 -2
  208. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +145 -0
  209. data/sig/whop_sdk/models/payout_method_list_response.rbs +20 -0
  210. data/sig/whop_sdk/models/payout_method_retrieve_params.rbs +15 -0
  211. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +103 -0
  212. data/sig/whop_sdk/models/plan_create_params.rbs +5 -0
  213. data/sig/whop_sdk/models/plan_update_params.rbs +5 -0
  214. data/sig/whop_sdk/models/refund_created_webhook_event.rbs +7 -2
  215. data/sig/whop_sdk/models/refund_updated_webhook_event.rbs +7 -2
  216. data/sig/whop_sdk/models/setup_intent_canceled_webhook_event.rbs +7 -2
  217. data/sig/whop_sdk/models/setup_intent_requires_action_webhook_event.rbs +7 -2
  218. data/sig/whop_sdk/models/setup_intent_succeeded_webhook_event.rbs +7 -2
  219. data/sig/whop_sdk/models/topup_create_params.rbs +41 -0
  220. data/sig/whop_sdk/models/topup_create_response.rbs +50 -0
  221. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +3 -0
  222. data/sig/whop_sdk/models/verification_retrieve_params.rbs +15 -0
  223. data/sig/whop_sdk/models/verification_retrieve_response.rbs +117 -0
  224. data/sig/whop_sdk/models/verification_succeeded_webhook_event.rbs +159 -0
  225. data/sig/whop_sdk/models/webhook_create_params.rbs +126 -0
  226. data/sig/whop_sdk/models/webhook_create_response.rbs +203 -0
  227. data/sig/whop_sdk/models/webhook_delete_params.rbs +15 -0
  228. data/sig/whop_sdk/models/webhook_delete_response.rbs +5 -0
  229. data/sig/whop_sdk/models/webhook_list_params.rbs +46 -0
  230. data/sig/whop_sdk/models/webhook_list_response.rbs +125 -0
  231. data/sig/whop_sdk/models/webhook_retrieve_params.rbs +15 -0
  232. data/sig/whop_sdk/models/webhook_retrieve_response.rbs +198 -0
  233. data/sig/whop_sdk/models/webhook_update_params.rbs +121 -0
  234. data/sig/whop_sdk/models/webhook_update_response.rbs +198 -0
  235. data/sig/whop_sdk/models/withdrawal_created_webhook_event.rbs +7 -2
  236. data/sig/whop_sdk/models/withdrawal_updated_webhook_event.rbs +7 -2
  237. data/sig/whop_sdk/models.rbs +34 -0
  238. data/sig/whop_sdk/resources/files.rbs +17 -0
  239. data/sig/whop_sdk/resources/leads.rbs +40 -0
  240. data/sig/whop_sdk/resources/payment_methods.rbs +4 -2
  241. data/sig/whop_sdk/resources/payments.rbs +1 -0
  242. data/sig/whop_sdk/resources/payout_methods.rbs +5 -0
  243. data/sig/whop_sdk/resources/plans.rbs +2 -0
  244. data/sig/whop_sdk/resources/topups.rbs +15 -0
  245. data/sig/whop_sdk/resources/verifications.rbs +12 -0
  246. data/sig/whop_sdk/resources/webhooks.rbs +40 -1
  247. metadata +107 -2
@@ -0,0 +1,138 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Leads
6
+ # Creates a new lead
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `lead:manage`
11
+ # - `member:email:read`
12
+ # - `access_pass:basic:read`
13
+ # - `member:basic:read`
14
+ sig do
15
+ params(
16
+ company_id: String,
17
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
18
+ product_id: T.nilable(String),
19
+ referrer: T.nilable(String),
20
+ user_id: T.nilable(String),
21
+ request_options: WhopSDK::RequestOptions::OrHash
22
+ ).returns(WhopSDK::Models::LeadCreateResponse)
23
+ end
24
+ def create(
25
+ # The ID of the company to create a lead for.
26
+ company_id:,
27
+ # Custom metadata for the lead.
28
+ metadata: nil,
29
+ # The ID of the product the lead is interested in.
30
+ product_id: nil,
31
+ # The url referrer of the lead, if any.
32
+ referrer: nil,
33
+ # The ID of the user to create a lead for. If the request is made by a user, that
34
+ # user will be used.
35
+ user_id: nil,
36
+ request_options: {}
37
+ )
38
+ end
39
+
40
+ # Retrieves a lead by ID
41
+ #
42
+ # Required permissions:
43
+ #
44
+ # - `lead:basic:read`
45
+ # - `member:email:read`
46
+ # - `access_pass:basic:read`
47
+ # - `member:basic:read`
48
+ sig do
49
+ params(
50
+ id: String,
51
+ request_options: WhopSDK::RequestOptions::OrHash
52
+ ).returns(WhopSDK::Models::LeadRetrieveResponse)
53
+ end
54
+ def retrieve(
55
+ # The ID of the lead
56
+ id,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ # Updates a lead
62
+ #
63
+ # Required permissions:
64
+ #
65
+ # - `lead:manage`
66
+ # - `member:email:read`
67
+ # - `access_pass:basic:read`
68
+ # - `member:basic:read`
69
+ sig do
70
+ params(
71
+ id: String,
72
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
73
+ referrer: T.nilable(String),
74
+ request_options: WhopSDK::RequestOptions::OrHash
75
+ ).returns(WhopSDK::Models::LeadUpdateResponse)
76
+ end
77
+ def update(
78
+ # The ID of the lead to update.
79
+ id,
80
+ # Custom metadata for the lead.
81
+ metadata: nil,
82
+ # The url referrer of the lead.
83
+ referrer: nil,
84
+ request_options: {}
85
+ )
86
+ end
87
+
88
+ # Lists leads for a company
89
+ #
90
+ # Required permissions:
91
+ #
92
+ # - `lead:basic:read`
93
+ # - `member:email:read`
94
+ # - `access_pass:basic:read`
95
+ # - `member:basic:read`
96
+ sig do
97
+ params(
98
+ company_id: String,
99
+ after: T.nilable(String),
100
+ before: T.nilable(String),
101
+ created_after: T.nilable(Time),
102
+ created_before: T.nilable(Time),
103
+ first: T.nilable(Integer),
104
+ last: T.nilable(Integer),
105
+ product_ids: T.nilable(T::Array[String]),
106
+ request_options: WhopSDK::RequestOptions::OrHash
107
+ ).returns(
108
+ WhopSDK::Internal::CursorPage[WhopSDK::Models::LeadListResponse]
109
+ )
110
+ end
111
+ def list(
112
+ # The ID of the company to list leads for
113
+ company_id:,
114
+ # Returns the elements in the list that come after the specified cursor.
115
+ after: nil,
116
+ # Returns the elements in the list that come before the specified cursor.
117
+ before: nil,
118
+ # The minimum creation date to filter by
119
+ created_after: nil,
120
+ # The maximum creation date to filter by
121
+ created_before: nil,
122
+ # Returns the first _n_ elements from the list.
123
+ first: nil,
124
+ # Returns the last _n_ elements from the list.
125
+ last: nil,
126
+ # The product IDs to filter the leads by
127
+ product_ids: nil,
128
+ request_options: {}
129
+ )
130
+ end
131
+
132
+ # @api private
133
+ sig { params(client: WhopSDK::Client).returns(T.attached_class) }
134
+ def self.new(client:)
135
+ end
136
+ end
137
+ end
138
+ end
@@ -7,7 +7,7 @@ module WhopSDK
7
7
  # such as a card, bank account, or digital wallet. It holds the necessary billing
8
8
  # details and can be attached to a member for future one-time or recurring
9
9
  # charges. This lets you reuse the same payment credentials across multiple
10
- # payments.
10
+ # payments. You must provide exactly one of company_id or member_id.
11
11
  #
12
12
  # Required permissions:
13
13
  #
@@ -15,15 +15,18 @@ module WhopSDK
15
15
  sig do
16
16
  params(
17
17
  id: String,
18
- member_id: String,
18
+ company_id: T.nilable(String),
19
+ member_id: T.nilable(String),
19
20
  request_options: WhopSDK::RequestOptions::OrHash
20
21
  ).returns(WhopSDK::Models::PaymentMethodRetrieveResponse::Variants)
21
22
  end
22
23
  def retrieve(
23
24
  # The ID of the PaymentMethod
24
25
  id,
25
- # The ID of the Member associated with the PaymentMethod
26
- member_id:,
26
+ # The ID of the Company. Provide either this or member_id (not both).
27
+ company_id: nil,
28
+ # The ID of the Member. Provide either this or company_id (not both).
29
+ member_id: nil,
27
30
  request_options: {}
28
31
  )
29
32
  end
@@ -39,14 +42,15 @@ module WhopSDK
39
42
  # - `member:payment_methods:read`
40
43
  sig do
41
44
  params(
42
- member_id: String,
43
45
  after: T.nilable(String),
44
46
  before: T.nilable(String),
47
+ company_id: T.nilable(String),
45
48
  created_after: T.nilable(Time),
46
49
  created_before: T.nilable(Time),
47
50
  direction: T.nilable(WhopSDK::Direction::OrSymbol),
48
51
  first: T.nilable(Integer),
49
52
  last: T.nilable(Integer),
53
+ member_id: T.nilable(String),
50
54
  request_options: WhopSDK::RequestOptions::OrHash
51
55
  ).returns(
52
56
  WhopSDK::Internal::CursorPage[
@@ -55,12 +59,12 @@ module WhopSDK
55
59
  )
56
60
  end
57
61
  def list(
58
- # The ID of the Member to list payment methods for
59
- member_id:,
60
62
  # Returns the elements in the list that come after the specified cursor.
61
63
  after: nil,
62
64
  # Returns the elements in the list that come before the specified cursor.
63
65
  before: nil,
66
+ # The ID of the Company. Provide either this or member_id (not both).
67
+ company_id: nil,
64
68
  # The minimum creation date to filter by
65
69
  created_after: nil,
66
70
  # The maximum creation date to filter by
@@ -71,6 +75,8 @@ module WhopSDK
71
75
  first: nil,
72
76
  # Returns the last _n_ elements from the list.
73
77
  last: nil,
78
+ # The ID of the Member to list payment methods for
79
+ member_id: nil,
74
80
  request_options: {}
75
81
  )
76
82
  end
@@ -28,6 +28,7 @@ module WhopSDK
28
28
  payment_method_id: String,
29
29
  plan: WhopSDK::PaymentCreateParams::Plan::OrHash,
30
30
  plan_id: String,
31
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
31
32
  request_options: WhopSDK::RequestOptions::OrHash
32
33
  ).returns(WhopSDK::Payment)
33
34
  end
@@ -43,6 +44,8 @@ module WhopSDK
43
44
  plan:,
44
45
  # An ID of an existing plan to use for the payment.
45
46
  plan_id:,
47
+ # Custom metadata to attach to the payment.
48
+ metadata: nil,
46
49
  request_options: {}
47
50
  )
48
51
  end
@@ -3,6 +3,24 @@
3
3
  module WhopSDK
4
4
  module Resources
5
5
  class PayoutMethods
6
+ # Retrieves a payout method by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payout:destination:read`
11
+ sig do
12
+ params(
13
+ id: String,
14
+ request_options: WhopSDK::RequestOptions::OrHash
15
+ ).returns(WhopSDK::Models::PayoutMethodRetrieveResponse)
16
+ end
17
+ def retrieve(
18
+ # The ID of the payout method
19
+ id,
20
+ request_options: {}
21
+ )
22
+ end
23
+
6
24
  # Lists payout destinations for a company
7
25
  #
8
26
  # Required permissions:
@@ -29,6 +29,7 @@ module WhopSDK
29
29
  ),
30
30
  initial_price: T.nilable(Float),
31
31
  internal_notes: T.nilable(String),
32
+ legacy_payment_method_controls: T.nilable(T::Boolean),
32
33
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
33
34
  payment_method_configuration:
34
35
  T.nilable(
@@ -69,6 +70,8 @@ module WhopSDK
69
70
  initial_price: nil,
70
71
  # A personal description or notes section for the business.
71
72
  internal_notes: nil,
73
+ # Whether this plan uses legacy payment method controls
74
+ legacy_payment_method_controls: nil,
72
75
  # Whether or not the tax is included in a plan's price (or if it hasn't been set
73
76
  # up)
74
77
  override_tax_type: nil,
@@ -141,6 +144,7 @@ module WhopSDK
141
144
  ),
142
145
  initial_price: T.nilable(Float),
143
146
  internal_notes: T.nilable(String),
147
+ legacy_payment_method_controls: T.nilable(T::Boolean),
144
148
  offer_cancel_discount: T.nilable(T::Boolean),
145
149
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
146
150
  payment_method_configuration:
@@ -177,6 +181,8 @@ module WhopSDK
177
181
  initial_price: nil,
178
182
  # A personal description or notes section for the business.
179
183
  internal_notes: nil,
184
+ # Whether this plan uses legacy payment method controls
185
+ legacy_payment_method_controls: nil,
180
186
  # Whether or not to offer a discount to cancel a subscription.
181
187
  offer_cancel_discount: nil,
182
188
  # Whether or not the tax is included in a plan's price (or if it hasn't been set
@@ -19,7 +19,7 @@ module WhopSDK
19
19
  def create(
20
20
  # The ID of the company to create the support chat in
21
21
  company_id:,
22
- # The ID of the user to create the support chat for
22
+ # The ID (user_xxx) or username of the user to create the support chat for
23
23
  user_id:,
24
24
  request_options: {}
25
25
  )
@@ -0,0 +1,39 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Topups
6
+ # Add funds to your platform balance by charging a stored payment method.
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payment:charge`
11
+ sig do
12
+ params(
13
+ amount: Float,
14
+ company_id: String,
15
+ currency: WhopSDK::Currency::OrSymbol,
16
+ payment_method_id: String,
17
+ request_options: WhopSDK::RequestOptions::OrHash
18
+ ).returns(WhopSDK::Models::TopupCreateResponse)
19
+ end
20
+ def create(
21
+ # The amount to add to the balance.
22
+ amount:,
23
+ # The ID of the company to add funds to.
24
+ company_id:,
25
+ # The currency of the top-up.
26
+ currency:,
27
+ # The ID of the payment method to charge for the top-up.
28
+ payment_method_id:,
29
+ request_options: {}
30
+ )
31
+ end
32
+
33
+ # @api private
34
+ sig { params(client: WhopSDK::Client).returns(T.attached_class) }
35
+ def self.new(client:)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Verifications
6
+ # Retrieves a verification by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payout:account:read`
11
+ sig do
12
+ params(
13
+ id: String,
14
+ request_options: WhopSDK::RequestOptions::OrHash
15
+ ).returns(WhopSDK::Models::VerificationRetrieveResponse)
16
+ end
17
+ def retrieve(
18
+ # The ID of the verification
19
+ id,
20
+ request_options: {}
21
+ )
22
+ end
23
+
24
+ # @api private
25
+ sig { params(client: WhopSDK::Client).returns(T.attached_class) }
26
+ def self.new(client:)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -3,6 +3,146 @@
3
3
  module WhopSDK
4
4
  module Resources
5
5
  class Webhooks
6
+ # Creates a new webhook
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `developer:manage_webhook`
11
+ sig do
12
+ params(
13
+ url: String,
14
+ api_version:
15
+ T.nilable(WhopSDK::WebhookCreateParams::APIVersion::OrSymbol),
16
+ child_resource_events: T.nilable(T::Boolean),
17
+ enabled: T.nilable(T::Boolean),
18
+ events:
19
+ T.nilable(T::Array[WhopSDK::WebhookCreateParams::Event::OrSymbol]),
20
+ resource_id: T.nilable(String),
21
+ request_options: WhopSDK::RequestOptions::OrHash
22
+ ).returns(WhopSDK::Models::WebhookCreateResponse)
23
+ end
24
+ def create(
25
+ # The URL to send the webhook to.
26
+ url:,
27
+ # The different API versions
28
+ api_version: nil,
29
+ # Whether or not to send events for child resources. For example, if the webhook
30
+ # is created for a Company, enabling this will only send events from the Company's
31
+ # sub-merchants (child companies).
32
+ child_resource_events: nil,
33
+ # Whether or not the webhook is enabled.
34
+ enabled: nil,
35
+ # The events to send the webhook for.
36
+ events: nil,
37
+ # The resource to create the webhook for. By default this will use current company
38
+ resource_id: nil,
39
+ request_options: {}
40
+ )
41
+ end
42
+
43
+ # Retrieves a webhook by ID
44
+ #
45
+ # Required permissions:
46
+ #
47
+ # - `developer:manage_webhook`
48
+ sig do
49
+ params(
50
+ id: String,
51
+ request_options: WhopSDK::RequestOptions::OrHash
52
+ ).returns(WhopSDK::Models::WebhookRetrieveResponse)
53
+ end
54
+ def retrieve(
55
+ # The ID of the webhook
56
+ id,
57
+ request_options: {}
58
+ )
59
+ end
60
+
61
+ # Updates a webhook
62
+ #
63
+ # Required permissions:
64
+ #
65
+ # - `developer:manage_webhook`
66
+ sig do
67
+ params(
68
+ id: String,
69
+ api_version:
70
+ T.nilable(WhopSDK::WebhookUpdateParams::APIVersion::OrSymbol),
71
+ child_resource_events: T.nilable(T::Boolean),
72
+ enabled: T.nilable(T::Boolean),
73
+ events:
74
+ T.nilable(T::Array[WhopSDK::WebhookUpdateParams::Event::OrSymbol]),
75
+ url: T.nilable(String),
76
+ request_options: WhopSDK::RequestOptions::OrHash
77
+ ).returns(WhopSDK::Models::WebhookUpdateResponse)
78
+ end
79
+ def update(
80
+ # The ID of the Webhook to update
81
+ id,
82
+ # The different API versions
83
+ api_version: nil,
84
+ # Whether or not to send events for child resources.
85
+ child_resource_events: nil,
86
+ # Whether or not the webhook is enabled.
87
+ enabled: nil,
88
+ # The events to send the webhook for.
89
+ events: nil,
90
+ # The URL to send the webhook to.
91
+ url: nil,
92
+ request_options: {}
93
+ )
94
+ end
95
+
96
+ # Lists webhooks for a company
97
+ #
98
+ # Required permissions:
99
+ #
100
+ # - `developer:manage_webhook`
101
+ sig do
102
+ params(
103
+ company_id: String,
104
+ after: T.nilable(String),
105
+ before: T.nilable(String),
106
+ first: T.nilable(Integer),
107
+ last: T.nilable(Integer),
108
+ request_options: WhopSDK::RequestOptions::OrHash
109
+ ).returns(
110
+ WhopSDK::Internal::CursorPage[WhopSDK::Models::WebhookListResponse]
111
+ )
112
+ end
113
+ def list(
114
+ # The ID of the company to list webhooks for
115
+ company_id:,
116
+ # Returns the elements in the list that come after the specified cursor.
117
+ after: nil,
118
+ # Returns the elements in the list that come before the specified cursor.
119
+ before: nil,
120
+ # Returns the first _n_ elements from the list.
121
+ first: nil,
122
+ # Returns the last _n_ elements from the list.
123
+ last: nil,
124
+ request_options: {}
125
+ )
126
+ end
127
+
128
+ # Deletes a webhook
129
+ #
130
+ # Required permissions:
131
+ #
132
+ # - `developer:manage_webhook`
133
+ sig do
134
+ params(
135
+ id: String,
136
+ request_options: WhopSDK::RequestOptions::OrHash
137
+ ).returns(T::Boolean)
138
+ end
139
+ def delete(
140
+ # The ID of the webhook to delete.
141
+ id,
142
+ request_options: {}
143
+ )
144
+ end
145
+
6
146
  sig do
7
147
  params(payload: String).returns(
8
148
  T.any(
@@ -22,6 +162,8 @@ module WhopSDK
22
162
  WhopSDK::WithdrawalCreatedWebhookEvent,
23
163
  WhopSDK::WithdrawalUpdatedWebhookEvent,
24
164
  WhopSDK::CourseLessonInteractionCompletedWebhookEvent,
165
+ WhopSDK::PayoutMethodCreatedWebhookEvent,
166
+ WhopSDK::VerificationSucceededWebhookEvent,
25
167
  WhopSDK::PaymentCreatedWebhookEvent,
26
168
  WhopSDK::PaymentSucceededWebhookEvent,
27
169
  WhopSDK::PaymentFailedWebhookEvent,
@@ -29,7 +171,8 @@ module WhopSDK
29
171
  WhopSDK::DisputeCreatedWebhookEvent,
30
172
  WhopSDK::DisputeUpdatedWebhookEvent,
31
173
  WhopSDK::RefundCreatedWebhookEvent,
32
- WhopSDK::RefundUpdatedWebhookEvent
174
+ WhopSDK::RefundUpdatedWebhookEvent,
175
+ WhopSDK::MembershipCancelAtPeriodEndChangedWebhookEvent
33
176
  )
34
177
  )
35
178
  end
@@ -94,6 +94,14 @@ module WhopSDK
94
94
 
95
95
  attr_reader payout_methods: WhopSDK::Resources::PayoutMethods
96
96
 
97
+ attr_reader verifications: WhopSDK::Resources::Verifications
98
+
99
+ attr_reader leads: WhopSDK::Resources::Leads
100
+
101
+ attr_reader topups: WhopSDK::Resources::Topups
102
+
103
+ attr_reader files: WhopSDK::Resources::Files
104
+
97
105
  private def auth_headers: -> ::Hash[String, String]
98
106
 
99
107
  def initialize: (
@@ -6,7 +6,8 @@ module WhopSDK
6
6
  api_version: :v1,
7
7
  data: WhopSDK::CourseLessonInteraction,
8
8
  timestamp: Time,
9
- type: :"course_lesson_interaction.completed"
9
+ type: :"course_lesson_interaction.completed",
10
+ company_id: String?
10
11
  }
11
12
 
12
13
  class CourseLessonInteractionCompletedWebhookEvent < WhopSDK::Internal::Type::BaseModel
@@ -20,10 +21,13 @@ module WhopSDK
20
21
 
21
22
  attr_accessor type: :"course_lesson_interaction.completed"
22
23
 
24
+ attr_accessor company_id: String?
25
+
23
26
  def initialize: (
24
27
  id: String,
25
28
  data: WhopSDK::CourseLessonInteraction,
26
29
  timestamp: Time,
30
+ ?company_id: String?,
27
31
  ?api_version: :v1,
28
32
  ?type: :"course_lesson_interaction.completed"
29
33
  ) -> void
@@ -33,7 +37,8 @@ module WhopSDK
33
37
  api_version: :v1,
34
38
  data: WhopSDK::CourseLessonInteraction,
35
39
  timestamp: Time,
36
- type: :"course_lesson_interaction.completed"
40
+ type: :"course_lesson_interaction.completed",
41
+ company_id: String?
37
42
  }
38
43
  end
39
44
  end
@@ -6,7 +6,8 @@ module WhopSDK
6
6
  api_version: :v1,
7
7
  data: WhopSDK::Dispute,
8
8
  timestamp: Time,
9
- type: :"dispute.created"
9
+ type: :"dispute.created",
10
+ company_id: String?
10
11
  }
11
12
 
12
13
  class DisputeCreatedWebhookEvent < WhopSDK::Internal::Type::BaseModel
@@ -20,10 +21,13 @@ module WhopSDK
20
21
 
21
22
  attr_accessor type: :"dispute.created"
22
23
 
24
+ attr_accessor company_id: String?
25
+
23
26
  def initialize: (
24
27
  id: String,
25
28
  data: WhopSDK::Dispute,
26
29
  timestamp: Time,
30
+ ?company_id: String?,
27
31
  ?api_version: :v1,
28
32
  ?type: :"dispute.created"
29
33
  ) -> void
@@ -33,7 +37,8 @@ module WhopSDK
33
37
  api_version: :v1,
34
38
  data: WhopSDK::Dispute,
35
39
  timestamp: Time,
36
- type: :"dispute.created"
40
+ type: :"dispute.created",
41
+ company_id: String?
37
42
  }
38
43
  end
39
44
  end
@@ -6,7 +6,8 @@ module WhopSDK
6
6
  api_version: :v1,
7
7
  data: WhopSDK::Dispute,
8
8
  timestamp: Time,
9
- type: :"dispute.updated"
9
+ type: :"dispute.updated",
10
+ company_id: String?
10
11
  }
11
12
 
12
13
  class DisputeUpdatedWebhookEvent < WhopSDK::Internal::Type::BaseModel
@@ -20,10 +21,13 @@ module WhopSDK
20
21
 
21
22
  attr_accessor type: :"dispute.updated"
22
23
 
24
+ attr_accessor company_id: String?
25
+
23
26
  def initialize: (
24
27
  id: String,
25
28
  data: WhopSDK::Dispute,
26
29
  timestamp: Time,
30
+ ?company_id: String?,
27
31
  ?api_version: :v1,
28
32
  ?type: :"dispute.updated"
29
33
  ) -> void
@@ -33,7 +37,8 @@ module WhopSDK
33
37
  api_version: :v1,
34
38
  data: WhopSDK::Dispute,
35
39
  timestamp: Time,
36
- type: :"dispute.updated"
40
+ type: :"dispute.updated",
41
+ company_id: String?
37
42
  }
38
43
  end
39
44
  end
@@ -6,7 +6,8 @@ module WhopSDK
6
6
  api_version: :v1,
7
7
  data: WhopSDK::Entry,
8
8
  timestamp: Time,
9
- type: :"entry.approved"
9
+ type: :"entry.approved",
10
+ company_id: String?
10
11
  }
11
12
 
12
13
  class EntryApprovedWebhookEvent < WhopSDK::Internal::Type::BaseModel
@@ -20,10 +21,13 @@ module WhopSDK
20
21
 
21
22
  attr_accessor type: :"entry.approved"
22
23
 
24
+ attr_accessor company_id: String?
25
+
23
26
  def initialize: (
24
27
  id: String,
25
28
  data: WhopSDK::Entry,
26
29
  timestamp: Time,
30
+ ?company_id: String?,
27
31
  ?api_version: :v1,
28
32
  ?type: :"entry.approved"
29
33
  ) -> void
@@ -33,7 +37,8 @@ module WhopSDK
33
37
  api_version: :v1,
34
38
  data: WhopSDK::Entry,
35
39
  timestamp: Time,
36
- type: :"entry.approved"
40
+ type: :"entry.approved",
41
+ company_id: String?
37
42
  }
38
43
  end
39
44
  end