whop-sdk 0.0.2__py3-none-any.whl → 0.0.3__py3-none-any.whl

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.

Potentially problematic release.


This version of whop-sdk might be problematic. Click here for more details.

Files changed (86) hide show
  1. whop_sdk/_client.py +47 -2
  2. whop_sdk/_version.py +1 -1
  3. whop_sdk/resources/__init__.py +70 -0
  4. whop_sdk/resources/checkout_configurations.py +4 -0
  5. whop_sdk/resources/course_chapters.py +602 -0
  6. whop_sdk/resources/course_lessons.py +722 -0
  7. whop_sdk/resources/courses.py +713 -0
  8. whop_sdk/resources/experiences.py +107 -0
  9. whop_sdk/resources/forum_posts.py +123 -1
  10. whop_sdk/resources/members.py +8 -0
  11. whop_sdk/resources/memberships.py +16 -8
  12. whop_sdk/resources/messages.py +113 -1
  13. whop_sdk/resources/payments.py +3 -26
  14. whop_sdk/resources/plans.py +74 -2
  15. whop_sdk/resources/products.py +8 -16
  16. whop_sdk/resources/promo_codes.py +652 -0
  17. whop_sdk/resources/reviews.py +315 -0
  18. whop_sdk/types/__init__.py +39 -0
  19. whop_sdk/types/assessment_question_types.py +7 -0
  20. whop_sdk/types/billing_reasons.py +9 -0
  21. whop_sdk/types/card_brands.py +24 -0
  22. whop_sdk/types/checkout_configuration_create_params.py +65 -2
  23. whop_sdk/types/checkout_configuration_list_response.py +4 -1
  24. whop_sdk/types/course.py +109 -0
  25. whop_sdk/types/course_chapter.py +32 -0
  26. whop_sdk/types/course_chapter_create_params.py +16 -0
  27. whop_sdk/types/course_chapter_delete_response.py +7 -0
  28. whop_sdk/types/course_chapter_list_params.py +25 -0
  29. whop_sdk/types/course_chapter_list_response.py +16 -0
  30. whop_sdk/types/course_chapter_update_params.py +12 -0
  31. whop_sdk/types/course_create_params.py +41 -0
  32. whop_sdk/types/course_delete_response.py +7 -0
  33. whop_sdk/types/course_lesson_create_params.py +27 -0
  34. whop_sdk/types/course_lesson_delete_response.py +7 -0
  35. whop_sdk/types/course_lesson_list_params.py +28 -0
  36. whop_sdk/types/course_lesson_list_response.py +35 -0
  37. whop_sdk/types/course_lesson_update_params.py +144 -0
  38. whop_sdk/types/course_list_params.py +28 -0
  39. whop_sdk/types/course_list_response.py +77 -0
  40. whop_sdk/types/course_update_params.py +89 -0
  41. whop_sdk/types/experience_duplicate_params.py +13 -0
  42. whop_sdk/types/forum_post_list_response.py +7 -0
  43. whop_sdk/types/forum_post_update_params.py +41 -0
  44. whop_sdk/types/languages.py +30 -0
  45. whop_sdk/types/ledger_account_retrieve_response.py +15 -1
  46. whop_sdk/types/lesson.py +159 -0
  47. whop_sdk/types/lesson_types.py +7 -0
  48. whop_sdk/types/lesson_visibilities.py +7 -0
  49. whop_sdk/types/member_list_params.py +3 -0
  50. whop_sdk/types/membership_list_params.py +7 -4
  51. whop_sdk/types/membership_list_response.py +12 -1
  52. whop_sdk/types/message_update_params.py +35 -0
  53. whop_sdk/types/payment_list_params.py +2 -7
  54. whop_sdk/types/payment_list_response.py +23 -13
  55. whop_sdk/types/payment_method_types.py +92 -0
  56. whop_sdk/types/plan_create_params.py +19 -1
  57. whop_sdk/types/plan_list_response.py +9 -0
  58. whop_sdk/types/plan_update_params.py +18 -0
  59. whop_sdk/types/product_create_params.py +1 -24
  60. whop_sdk/types/product_update_params.py +12 -1
  61. whop_sdk/types/promo_code.py +90 -0
  62. whop_sdk/types/promo_code_create_params.py +70 -0
  63. whop_sdk/types/promo_code_delete_response.py +7 -0
  64. whop_sdk/types/promo_code_list_params.py +37 -0
  65. whop_sdk/types/promo_code_list_response.py +79 -0
  66. whop_sdk/types/promo_code_status.py +7 -0
  67. whop_sdk/types/promo_duration.py +7 -0
  68. whop_sdk/types/review_list_params.py +31 -0
  69. whop_sdk/types/review_list_response.py +78 -0
  70. whop_sdk/types/review_retrieve_response.py +103 -0
  71. whop_sdk/types/review_status.py +7 -0
  72. whop_sdk/types/shared/checkout_configuration.py +4 -1
  73. whop_sdk/types/shared/forum_post.py +7 -0
  74. whop_sdk/types/shared/invoice.py +4 -1
  75. whop_sdk/types/shared/invoice_list_item.py +4 -1
  76. whop_sdk/types/shared/membership.py +12 -1
  77. whop_sdk/types/shared/payment.py +23 -13
  78. whop_sdk/types/shared/plan.py +9 -0
  79. whop_sdk/types/shared/product.py +8 -0
  80. whop_sdk/types/shared/product_list_item.py +8 -0
  81. whop_sdk/types/shared_params/__init__.py +1 -0
  82. whop_sdk/types/shared_params/promo_type.py +9 -0
  83. {whop_sdk-0.0.2.dist-info → whop_sdk-0.0.3.dist-info}/METADATA +1 -1
  84. {whop_sdk-0.0.2.dist-info → whop_sdk-0.0.3.dist-info}/RECORD +86 -41
  85. {whop_sdk-0.0.2.dist-info → whop_sdk-0.0.3.dist-info}/WHEEL +0 -0
  86. {whop_sdk-0.0.2.dist-info → whop_sdk-0.0.3.dist-info}/licenses/LICENSE +0 -0
@@ -22,6 +22,7 @@ from .._response import (
22
22
  from ..pagination import SyncCursorPage, AsyncCursorPage
23
23
  from .._base_client import AsyncPaginator, make_request_options
24
24
  from ..types.shared.payment import Payment
25
+ from ..types.billing_reasons import BillingReasons
25
26
  from ..types.shared.currency import Currency
26
27
  from ..types.shared.direction import Direction
27
28
  from ..types.payment_list_response import PaymentListResponse
@@ -100,19 +101,7 @@ class PaymentsResource(SyncAPIResource):
100
101
  company_id: str,
101
102
  after: Optional[str] | Omit = omit,
102
103
  before: Optional[str] | Omit = omit,
103
- billing_reasons: Optional[
104
- List[
105
- Literal[
106
- "subscription_create",
107
- "subscription_cycle",
108
- "subscription_update",
109
- "one_time",
110
- "manual",
111
- "subscription",
112
- ]
113
- ]
114
- ]
115
- | Omit = omit,
104
+ billing_reasons: Optional[List[BillingReasons]] | Omit = omit,
116
105
  created_after: Union[str, datetime, None] | Omit = omit,
117
106
  created_before: Union[str, datetime, None] | Omit = omit,
118
107
  currencies: Optional[List[Currency]] | Omit = omit,
@@ -422,19 +411,7 @@ class AsyncPaymentsResource(AsyncAPIResource):
422
411
  company_id: str,
423
412
  after: Optional[str] | Omit = omit,
424
413
  before: Optional[str] | Omit = omit,
425
- billing_reasons: Optional[
426
- List[
427
- Literal[
428
- "subscription_create",
429
- "subscription_cycle",
430
- "subscription_update",
431
- "one_time",
432
- "manual",
433
- "subscription",
434
- ]
435
- ]
436
- ]
437
- | Omit = omit,
414
+ billing_reasons: Optional[List[BillingReasons]] | Omit = omit,
438
415
  created_after: Union[str, datetime, None] | Omit = omit,
439
416
  created_before: Union[str, datetime, None] | Omit = omit,
440
417
  currencies: Optional[List[Currency]] | Omit = omit,
@@ -71,8 +71,12 @@ class PlansResource(SyncAPIResource):
71
71
  plan_type: Optional[PlanType] | Omit = omit,
72
72
  release_method: Optional[ReleaseMethod] | Omit = omit,
73
73
  renewal_price: Optional[float] | Omit = omit,
74
+ stock: Optional[int] | Omit = omit,
75
+ strike_through_initial_price: Optional[float] | Omit = omit,
76
+ strike_through_renewal_price: Optional[float] | Omit = omit,
74
77
  title: Optional[str] | Omit = omit,
75
78
  trial_period_days: Optional[int] | Omit = omit,
79
+ unlimited_stock: Optional[bool] | Omit = omit,
76
80
  visibility: Optional[Visibility] | Omit = omit,
77
81
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
78
82
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -95,7 +99,7 @@ class PlansResource(SyncAPIResource):
95
99
 
96
100
  product_id: The product the plan is related to.
97
101
 
98
- billing_period: The interval at which the plan charges (renewal plans).
102
+ billing_period: The interval in days at which the plan charges (renewal plans).
99
103
 
100
104
  currency: The available currencies on the platform
101
105
 
@@ -123,10 +127,20 @@ class PlansResource(SyncAPIResource):
123
127
  renewal_price: The amount the customer is charged every billing period. Use only if a recurring
124
128
  payment. Provided as a number in dollars. Eg: 10.43 for $10.43
125
129
 
130
+ stock: The number of units available for purchase.
131
+
132
+ strike_through_initial_price: The price to display with a strikethrough for the initial price. Provided as a
133
+ number in dollars. Eg: 19.99 for $19.99
134
+
135
+ strike_through_renewal_price: The price to display with a strikethrough for the renewal price. Provided as a
136
+ number in dollars. Eg: 19.99 for $19.99
137
+
126
138
  title: The title of the plan. This will be visible on the product page to customers.
127
139
 
128
140
  trial_period_days: The number of free trial days added before a renewal plan.
129
141
 
142
+ unlimited_stock: Limits/doesn't limit the number of units available for purchase.
143
+
130
144
  visibility: Visibility of a resource
131
145
 
132
146
  extra_headers: Send extra headers
@@ -155,8 +169,12 @@ class PlansResource(SyncAPIResource):
155
169
  "plan_type": plan_type,
156
170
  "release_method": release_method,
157
171
  "renewal_price": renewal_price,
172
+ "stock": stock,
173
+ "strike_through_initial_price": strike_through_initial_price,
174
+ "strike_through_renewal_price": strike_through_renewal_price,
158
175
  "title": title,
159
176
  "trial_period_days": trial_period_days,
177
+ "unlimited_stock": unlimited_stock,
160
178
  "visibility": visibility,
161
179
  },
162
180
  plan_create_params.PlanCreateParams,
@@ -219,8 +237,12 @@ class PlansResource(SyncAPIResource):
219
237
  offer_cancel_discount: Optional[bool] | Omit = omit,
220
238
  override_tax_type: Optional[TaxType] | Omit = omit,
221
239
  renewal_price: Optional[float] | Omit = omit,
240
+ stock: Optional[int] | Omit = omit,
241
+ strike_through_initial_price: Optional[float] | Omit = omit,
242
+ strike_through_renewal_price: Optional[float] | Omit = omit,
222
243
  title: Optional[str] | Omit = omit,
223
244
  trial_period_days: Optional[int] | Omit = omit,
245
+ unlimited_stock: Optional[bool] | Omit = omit,
224
246
  visibility: Optional[Visibility] | Omit = omit,
225
247
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
226
248
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -262,10 +284,20 @@ class PlansResource(SyncAPIResource):
262
284
 
263
285
  renewal_price: The amount the customer is charged every billing period.
264
286
 
287
+ stock: The number of units available for purchase.
288
+
289
+ strike_through_initial_price: The price to display with a strikethrough for the initial price. Provided as a
290
+ number in dollars. Eg: 19.99 for $19.99
291
+
292
+ strike_through_renewal_price: The price to display with a strikethrough for the renewal price. Provided as a
293
+ number in dollars. Eg: 19.99 for $19.99
294
+
265
295
  title: The title of the plan. This will be visible on the product page to customers.
266
296
 
267
297
  trial_period_days: The number of free trial days added before a renewal plan.
268
298
 
299
+ unlimited_stock: Limits/doesn't limit the number of units available for purchase.
300
+
269
301
  visibility: Visibility of a resource
270
302
 
271
303
  extra_headers: Send extra headers
@@ -293,8 +325,12 @@ class PlansResource(SyncAPIResource):
293
325
  "offer_cancel_discount": offer_cancel_discount,
294
326
  "override_tax_type": override_tax_type,
295
327
  "renewal_price": renewal_price,
328
+ "stock": stock,
329
+ "strike_through_initial_price": strike_through_initial_price,
330
+ "strike_through_renewal_price": strike_through_renewal_price,
296
331
  "title": title,
297
332
  "trial_period_days": trial_period_days,
333
+ "unlimited_stock": unlimited_stock,
298
334
  "visibility": visibility,
299
335
  },
300
336
  plan_update_params.PlanUpdateParams,
@@ -468,8 +504,12 @@ class AsyncPlansResource(AsyncAPIResource):
468
504
  plan_type: Optional[PlanType] | Omit = omit,
469
505
  release_method: Optional[ReleaseMethod] | Omit = omit,
470
506
  renewal_price: Optional[float] | Omit = omit,
507
+ stock: Optional[int] | Omit = omit,
508
+ strike_through_initial_price: Optional[float] | Omit = omit,
509
+ strike_through_renewal_price: Optional[float] | Omit = omit,
471
510
  title: Optional[str] | Omit = omit,
472
511
  trial_period_days: Optional[int] | Omit = omit,
512
+ unlimited_stock: Optional[bool] | Omit = omit,
473
513
  visibility: Optional[Visibility] | Omit = omit,
474
514
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
475
515
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -492,7 +532,7 @@ class AsyncPlansResource(AsyncAPIResource):
492
532
 
493
533
  product_id: The product the plan is related to.
494
534
 
495
- billing_period: The interval at which the plan charges (renewal plans).
535
+ billing_period: The interval in days at which the plan charges (renewal plans).
496
536
 
497
537
  currency: The available currencies on the platform
498
538
 
@@ -520,10 +560,20 @@ class AsyncPlansResource(AsyncAPIResource):
520
560
  renewal_price: The amount the customer is charged every billing period. Use only if a recurring
521
561
  payment. Provided as a number in dollars. Eg: 10.43 for $10.43
522
562
 
563
+ stock: The number of units available for purchase.
564
+
565
+ strike_through_initial_price: The price to display with a strikethrough for the initial price. Provided as a
566
+ number in dollars. Eg: 19.99 for $19.99
567
+
568
+ strike_through_renewal_price: The price to display with a strikethrough for the renewal price. Provided as a
569
+ number in dollars. Eg: 19.99 for $19.99
570
+
523
571
  title: The title of the plan. This will be visible on the product page to customers.
524
572
 
525
573
  trial_period_days: The number of free trial days added before a renewal plan.
526
574
 
575
+ unlimited_stock: Limits/doesn't limit the number of units available for purchase.
576
+
527
577
  visibility: Visibility of a resource
528
578
 
529
579
  extra_headers: Send extra headers
@@ -552,8 +602,12 @@ class AsyncPlansResource(AsyncAPIResource):
552
602
  "plan_type": plan_type,
553
603
  "release_method": release_method,
554
604
  "renewal_price": renewal_price,
605
+ "stock": stock,
606
+ "strike_through_initial_price": strike_through_initial_price,
607
+ "strike_through_renewal_price": strike_through_renewal_price,
555
608
  "title": title,
556
609
  "trial_period_days": trial_period_days,
610
+ "unlimited_stock": unlimited_stock,
557
611
  "visibility": visibility,
558
612
  },
559
613
  plan_create_params.PlanCreateParams,
@@ -616,8 +670,12 @@ class AsyncPlansResource(AsyncAPIResource):
616
670
  offer_cancel_discount: Optional[bool] | Omit = omit,
617
671
  override_tax_type: Optional[TaxType] | Omit = omit,
618
672
  renewal_price: Optional[float] | Omit = omit,
673
+ stock: Optional[int] | Omit = omit,
674
+ strike_through_initial_price: Optional[float] | Omit = omit,
675
+ strike_through_renewal_price: Optional[float] | Omit = omit,
619
676
  title: Optional[str] | Omit = omit,
620
677
  trial_period_days: Optional[int] | Omit = omit,
678
+ unlimited_stock: Optional[bool] | Omit = omit,
621
679
  visibility: Optional[Visibility] | Omit = omit,
622
680
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
623
681
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -659,10 +717,20 @@ class AsyncPlansResource(AsyncAPIResource):
659
717
 
660
718
  renewal_price: The amount the customer is charged every billing period.
661
719
 
720
+ stock: The number of units available for purchase.
721
+
722
+ strike_through_initial_price: The price to display with a strikethrough for the initial price. Provided as a
723
+ number in dollars. Eg: 19.99 for $19.99
724
+
725
+ strike_through_renewal_price: The price to display with a strikethrough for the renewal price. Provided as a
726
+ number in dollars. Eg: 19.99 for $19.99
727
+
662
728
  title: The title of the plan. This will be visible on the product page to customers.
663
729
 
664
730
  trial_period_days: The number of free trial days added before a renewal plan.
665
731
 
732
+ unlimited_stock: Limits/doesn't limit the number of units available for purchase.
733
+
666
734
  visibility: Visibility of a resource
667
735
 
668
736
  extra_headers: Send extra headers
@@ -690,8 +758,12 @@ class AsyncPlansResource(AsyncAPIResource):
690
758
  "offer_cancel_discount": offer_cancel_discount,
691
759
  "override_tax_type": override_tax_type,
692
760
  "renewal_price": renewal_price,
761
+ "stock": stock,
762
+ "strike_through_initial_price": strike_through_initial_price,
763
+ "strike_through_renewal_price": strike_through_renewal_price,
693
764
  "title": title,
694
765
  "trial_period_days": trial_period_days,
766
+ "unlimited_stock": unlimited_stock,
695
767
  "visibility": visibility,
696
768
  },
697
769
  plan_update_params.PlanUpdateParams,
@@ -60,8 +60,6 @@ class ProductsResource(SyncAPIResource):
60
60
  *,
61
61
  company_id: str,
62
62
  title: str,
63
- access_pass_type: Optional[AccessPassType] | Omit = omit,
64
- banner_image: Optional[product_create_params.BannerImage] | Omit = omit,
65
63
  business_type: Optional[BusinessTypes] | Omit = omit,
66
64
  collect_shipping_address: Optional[bool] | Omit = omit,
67
65
  custom_cta: Optional[CustomCta] | Omit = omit,
@@ -101,10 +99,6 @@ class ProductsResource(SyncAPIResource):
101
99
 
102
100
  title: The title of the product.
103
101
 
104
- access_pass_type: The different types an access pass can be.
105
-
106
- banner_image: A banner image for the product in png, jpeg format
107
-
108
102
  business_type: The different business types a company can be.
109
103
 
110
104
  collect_shipping_address: Whether or not to collect shipping information at checkout from the customer.
@@ -159,8 +153,6 @@ class ProductsResource(SyncAPIResource):
159
153
  {
160
154
  "company_id": company_id,
161
155
  "title": title,
162
- "access_pass_type": access_pass_type,
163
- "banner_image": banner_image,
164
156
  "business_type": business_type,
165
157
  "collect_shipping_address": collect_shipping_address,
166
158
  "custom_cta": custom_cta,
@@ -246,6 +238,7 @@ class ProductsResource(SyncAPIResource):
246
238
  product_tax_code_id: Optional[str] | Omit = omit,
247
239
  redirect_purchase_url: Optional[str] | Omit = omit,
248
240
  route: Optional[str] | Omit = omit,
241
+ store_page_config: Optional[product_update_params.StorePageConfig] | Omit = omit,
249
242
  title: Optional[str] | Omit = omit,
250
243
  visibility: Optional[Visibility] | Omit = omit,
251
244
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -298,6 +291,8 @@ class ProductsResource(SyncAPIResource):
298
291
 
299
292
  route: The route of the product.
300
293
 
294
+ store_page_config: Configuration for a product on the company's store page.
295
+
301
296
  title: The title of the product.
302
297
 
303
298
  visibility: Visibility of a resource
@@ -332,6 +327,7 @@ class ProductsResource(SyncAPIResource):
332
327
  "product_tax_code_id": product_tax_code_id,
333
328
  "redirect_purchase_url": redirect_purchase_url,
334
329
  "route": route,
330
+ "store_page_config": store_page_config,
335
331
  "title": title,
336
332
  "visibility": visibility,
337
333
  },
@@ -485,8 +481,6 @@ class AsyncProductsResource(AsyncAPIResource):
485
481
  *,
486
482
  company_id: str,
487
483
  title: str,
488
- access_pass_type: Optional[AccessPassType] | Omit = omit,
489
- banner_image: Optional[product_create_params.BannerImage] | Omit = omit,
490
484
  business_type: Optional[BusinessTypes] | Omit = omit,
491
485
  collect_shipping_address: Optional[bool] | Omit = omit,
492
486
  custom_cta: Optional[CustomCta] | Omit = omit,
@@ -526,10 +520,6 @@ class AsyncProductsResource(AsyncAPIResource):
526
520
 
527
521
  title: The title of the product.
528
522
 
529
- access_pass_type: The different types an access pass can be.
530
-
531
- banner_image: A banner image for the product in png, jpeg format
532
-
533
523
  business_type: The different business types a company can be.
534
524
 
535
525
  collect_shipping_address: Whether or not to collect shipping information at checkout from the customer.
@@ -584,8 +574,6 @@ class AsyncProductsResource(AsyncAPIResource):
584
574
  {
585
575
  "company_id": company_id,
586
576
  "title": title,
587
- "access_pass_type": access_pass_type,
588
- "banner_image": banner_image,
589
577
  "business_type": business_type,
590
578
  "collect_shipping_address": collect_shipping_address,
591
579
  "custom_cta": custom_cta,
@@ -671,6 +659,7 @@ class AsyncProductsResource(AsyncAPIResource):
671
659
  product_tax_code_id: Optional[str] | Omit = omit,
672
660
  redirect_purchase_url: Optional[str] | Omit = omit,
673
661
  route: Optional[str] | Omit = omit,
662
+ store_page_config: Optional[product_update_params.StorePageConfig] | Omit = omit,
674
663
  title: Optional[str] | Omit = omit,
675
664
  visibility: Optional[Visibility] | Omit = omit,
676
665
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -723,6 +712,8 @@ class AsyncProductsResource(AsyncAPIResource):
723
712
 
724
713
  route: The route of the product.
725
714
 
715
+ store_page_config: Configuration for a product on the company's store page.
716
+
726
717
  title: The title of the product.
727
718
 
728
719
  visibility: Visibility of a resource
@@ -757,6 +748,7 @@ class AsyncProductsResource(AsyncAPIResource):
757
748
  "product_tax_code_id": product_tax_code_id,
758
749
  "redirect_purchase_url": redirect_purchase_url,
759
750
  "route": route,
751
+ "store_page_config": store_page_config,
760
752
  "title": title,
761
753
  "visibility": visibility,
762
754
  },