whop-sdk 0.0.1__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 (212) hide show
  1. whop_sdk/__init__.py +94 -0
  2. whop_sdk/_base_client.py +1995 -0
  3. whop_sdk/_client.py +664 -0
  4. whop_sdk/_compat.py +219 -0
  5. whop_sdk/_constants.py +14 -0
  6. whop_sdk/_exceptions.py +112 -0
  7. whop_sdk/_files.py +123 -0
  8. whop_sdk/_models.py +835 -0
  9. whop_sdk/_qs.py +150 -0
  10. whop_sdk/_resource.py +43 -0
  11. whop_sdk/_response.py +830 -0
  12. whop_sdk/_streaming.py +333 -0
  13. whop_sdk/_types.py +260 -0
  14. whop_sdk/_utils/__init__.py +64 -0
  15. whop_sdk/_utils/_compat.py +45 -0
  16. whop_sdk/_utils/_datetime_parse.py +136 -0
  17. whop_sdk/_utils/_logs.py +25 -0
  18. whop_sdk/_utils/_proxy.py +65 -0
  19. whop_sdk/_utils/_reflection.py +42 -0
  20. whop_sdk/_utils/_resources_proxy.py +24 -0
  21. whop_sdk/_utils/_streams.py +12 -0
  22. whop_sdk/_utils/_sync.py +86 -0
  23. whop_sdk/_utils/_transform.py +457 -0
  24. whop_sdk/_utils/_typing.py +156 -0
  25. whop_sdk/_utils/_utils.py +421 -0
  26. whop_sdk/_version.py +4 -0
  27. whop_sdk/lib/.keep +4 -0
  28. whop_sdk/pagination.py +61 -0
  29. whop_sdk/py.typed +0 -0
  30. whop_sdk/resources/__init__.py +316 -0
  31. whop_sdk/resources/app_builds.py +562 -0
  32. whop_sdk/resources/apps.py +665 -0
  33. whop_sdk/resources/authorized_users.py +336 -0
  34. whop_sdk/resources/chat_channels.py +469 -0
  35. whop_sdk/resources/checkout_configurations.py +464 -0
  36. whop_sdk/resources/companies.py +171 -0
  37. whop_sdk/resources/course_lesson_interactions.py +343 -0
  38. whop_sdk/resources/entries.py +539 -0
  39. whop_sdk/resources/experiences.py +859 -0
  40. whop_sdk/resources/forum_posts.py +512 -0
  41. whop_sdk/resources/invoices.py +633 -0
  42. whop_sdk/resources/ledger_accounts.py +171 -0
  43. whop_sdk/resources/memberships.py +810 -0
  44. whop_sdk/resources/messages.py +446 -0
  45. whop_sdk/resources/payments.py +761 -0
  46. whop_sdk/resources/plans.py +906 -0
  47. whop_sdk/resources/products.py +969 -0
  48. whop_sdk/resources/reactions.py +423 -0
  49. whop_sdk/resources/shipments.py +451 -0
  50. whop_sdk/resources/support_channels.py +455 -0
  51. whop_sdk/resources/transfers.py +488 -0
  52. whop_sdk/resources/users.py +248 -0
  53. whop_sdk/resources/webhooks.py +69 -0
  54. whop_sdk/types/__init__.py +135 -0
  55. whop_sdk/types/app_build_create_params.py +59 -0
  56. whop_sdk/types/app_build_list_params.py +34 -0
  57. whop_sdk/types/app_build_list_response.py +50 -0
  58. whop_sdk/types/app_create_params.py +19 -0
  59. whop_sdk/types/app_list_params.py +54 -0
  60. whop_sdk/types/app_list_response.py +91 -0
  61. whop_sdk/types/app_update_params.py +58 -0
  62. whop_sdk/types/authorized_user_list_params.py +33 -0
  63. whop_sdk/types/authorized_user_list_response.py +33 -0
  64. whop_sdk/types/authorized_user_retrieve_response.py +33 -0
  65. whop_sdk/types/chat_channel_list_params.py +28 -0
  66. whop_sdk/types/chat_channel_list_response.py +43 -0
  67. whop_sdk/types/chat_channel_update_params.py +32 -0
  68. whop_sdk/types/checkout_configuration_create_params.py +129 -0
  69. whop_sdk/types/checkout_configuration_list_params.py +33 -0
  70. whop_sdk/types/checkout_configuration_list_response.py +66 -0
  71. whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
  72. whop_sdk/types/entry_approve_response.py +10 -0
  73. whop_sdk/types/entry_list_params.py +44 -0
  74. whop_sdk/types/entry_list_response.py +56 -0
  75. whop_sdk/types/experience_attach_params.py +12 -0
  76. whop_sdk/types/experience_create_params.py +22 -0
  77. whop_sdk/types/experience_delete_response.py +7 -0
  78. whop_sdk/types/experience_detach_params.py +12 -0
  79. whop_sdk/types/experience_list_params.py +31 -0
  80. whop_sdk/types/experience_list_response.py +47 -0
  81. whop_sdk/types/experience_update_params.py +41 -0
  82. whop_sdk/types/forum_post_create_params.py +85 -0
  83. whop_sdk/types/forum_post_list_params.py +31 -0
  84. whop_sdk/types/forum_post_list_response.py +53 -0
  85. whop_sdk/types/invoice_create_params.py +137 -0
  86. whop_sdk/types/invoice_create_response.py +16 -0
  87. whop_sdk/types/invoice_created_webhook_event.py +26 -0
  88. whop_sdk/types/invoice_list_params.py +50 -0
  89. whop_sdk/types/invoice_paid_webhook_event.py +26 -0
  90. whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
  91. whop_sdk/types/invoice_void_response.py +7 -0
  92. whop_sdk/types/invoice_voided_webhook_event.py +26 -0
  93. whop_sdk/types/ledger_account_retrieve_response.py +78 -0
  94. whop_sdk/types/membership_cancel_params.py +13 -0
  95. whop_sdk/types/membership_list_params.py +70 -0
  96. whop_sdk/types/membership_list_response.py +117 -0
  97. whop_sdk/types/membership_pause_params.py +16 -0
  98. whop_sdk/types/membership_update_params.py +13 -0
  99. whop_sdk/types/message_create_params.py +51 -0
  100. whop_sdk/types/message_list_params.py +30 -0
  101. whop_sdk/types/message_list_response.py +90 -0
  102. whop_sdk/types/payment_list_params.py +72 -0
  103. whop_sdk/types/payment_list_response.py +221 -0
  104. whop_sdk/types/payment_refund_params.py +13 -0
  105. whop_sdk/types/plan_create_params.py +106 -0
  106. whop_sdk/types/plan_delete_response.py +7 -0
  107. whop_sdk/types/plan_list_params.py +49 -0
  108. whop_sdk/types/plan_list_response.py +92 -0
  109. whop_sdk/types/plan_update_params.py +95 -0
  110. whop_sdk/types/product_create_params.py +170 -0
  111. whop_sdk/types/product_delete_response.py +7 -0
  112. whop_sdk/types/product_list_params.py +41 -0
  113. whop_sdk/types/product_update_params.py +90 -0
  114. whop_sdk/types/reaction_create_params.py +19 -0
  115. whop_sdk/types/reaction_list_params.py +25 -0
  116. whop_sdk/types/reaction_list_response.py +32 -0
  117. whop_sdk/types/shared/__init__.py +55 -0
  118. whop_sdk/types/shared/access_pass_type.py +7 -0
  119. whop_sdk/types/shared/app.py +159 -0
  120. whop_sdk/types/shared/app_build.py +50 -0
  121. whop_sdk/types/shared/app_build_platforms.py +7 -0
  122. whop_sdk/types/shared/app_build_statuses.py +7 -0
  123. whop_sdk/types/shared/app_statuses.py +7 -0
  124. whop_sdk/types/shared/app_view_type.py +7 -0
  125. whop_sdk/types/shared/authorized_user_roles.py +9 -0
  126. whop_sdk/types/shared/business_types.py +22 -0
  127. whop_sdk/types/shared/chat_channel.py +43 -0
  128. whop_sdk/types/shared/checkout_configuration.py +66 -0
  129. whop_sdk/types/shared/collection_method.py +7 -0
  130. whop_sdk/types/shared/company.py +71 -0
  131. whop_sdk/types/shared/course_lesson_interaction.py +44 -0
  132. whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
  133. whop_sdk/types/shared/currency.py +92 -0
  134. whop_sdk/types/shared/custom_cta.py +21 -0
  135. whop_sdk/types/shared/direction.py +7 -0
  136. whop_sdk/types/shared/dms_post_types.py +7 -0
  137. whop_sdk/types/shared/entry.py +70 -0
  138. whop_sdk/types/shared/entry_status.py +7 -0
  139. whop_sdk/types/shared/experience.py +66 -0
  140. whop_sdk/types/shared/forum_post.py +53 -0
  141. whop_sdk/types/shared/friendly_receipt_status.py +24 -0
  142. whop_sdk/types/shared/global_affiliate_status.py +7 -0
  143. whop_sdk/types/shared/industry_types.py +67 -0
  144. whop_sdk/types/shared/invoice.py +61 -0
  145. whop_sdk/types/shared/invoice_list_item.py +61 -0
  146. whop_sdk/types/shared/invoice_status.py +7 -0
  147. whop_sdk/types/shared/membership.py +117 -0
  148. whop_sdk/types/shared/membership_status.py +9 -0
  149. whop_sdk/types/shared/message.py +90 -0
  150. whop_sdk/types/shared/page_info.py +21 -0
  151. whop_sdk/types/shared/payment.py +211 -0
  152. whop_sdk/types/shared/plan.py +123 -0
  153. whop_sdk/types/shared/plan_type.py +7 -0
  154. whop_sdk/types/shared/product.py +124 -0
  155. whop_sdk/types/shared/product_list_item.py +49 -0
  156. whop_sdk/types/shared/promo_type.py +7 -0
  157. whop_sdk/types/shared/reaction.py +32 -0
  158. whop_sdk/types/shared/receipt_status.py +7 -0
  159. whop_sdk/types/shared/release_method.py +7 -0
  160. whop_sdk/types/shared/shipment.py +48 -0
  161. whop_sdk/types/shared/shipment_carrier.py +84 -0
  162. whop_sdk/types/shared/shipment_status.py +18 -0
  163. whop_sdk/types/shared/shipment_substatus.py +36 -0
  164. whop_sdk/types/shared/support_channel.py +39 -0
  165. whop_sdk/types/shared/tax_type.py +7 -0
  166. whop_sdk/types/shared/transfer.py +109 -0
  167. whop_sdk/types/shared/visibility.py +7 -0
  168. whop_sdk/types/shared/visibility_filter.py +9 -0
  169. whop_sdk/types/shared/who_can_post.py +7 -0
  170. whop_sdk/types/shared/who_can_react.py +7 -0
  171. whop_sdk/types/shared_params/__init__.py +27 -0
  172. whop_sdk/types/shared_params/access_pass_type.py +9 -0
  173. whop_sdk/types/shared_params/app_build_platforms.py +9 -0
  174. whop_sdk/types/shared_params/app_build_statuses.py +9 -0
  175. whop_sdk/types/shared_params/app_statuses.py +9 -0
  176. whop_sdk/types/shared_params/app_view_type.py +9 -0
  177. whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
  178. whop_sdk/types/shared_params/business_types.py +24 -0
  179. whop_sdk/types/shared_params/collection_method.py +9 -0
  180. whop_sdk/types/shared_params/currency.py +94 -0
  181. whop_sdk/types/shared_params/custom_cta.py +23 -0
  182. whop_sdk/types/shared_params/direction.py +9 -0
  183. whop_sdk/types/shared_params/entry_status.py +9 -0
  184. whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
  185. whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
  186. whop_sdk/types/shared_params/industry_types.py +69 -0
  187. whop_sdk/types/shared_params/invoice_status.py +9 -0
  188. whop_sdk/types/shared_params/membership_status.py +11 -0
  189. whop_sdk/types/shared_params/plan_type.py +9 -0
  190. whop_sdk/types/shared_params/receipt_status.py +9 -0
  191. whop_sdk/types/shared_params/release_method.py +9 -0
  192. whop_sdk/types/shared_params/tax_type.py +9 -0
  193. whop_sdk/types/shared_params/visibility.py +9 -0
  194. whop_sdk/types/shared_params/visibility_filter.py +11 -0
  195. whop_sdk/types/shared_params/who_can_post.py +9 -0
  196. whop_sdk/types/shared_params/who_can_react.py +9 -0
  197. whop_sdk/types/shipment_create_params.py +18 -0
  198. whop_sdk/types/shipment_list_params.py +31 -0
  199. whop_sdk/types/shipment_list_response.py +48 -0
  200. whop_sdk/types/support_channel_create_params.py +15 -0
  201. whop_sdk/types/support_channel_list_params.py +40 -0
  202. whop_sdk/types/support_channel_list_response.py +39 -0
  203. whop_sdk/types/transfer_create_params.py +36 -0
  204. whop_sdk/types/transfer_list_params.py +42 -0
  205. whop_sdk/types/transfer_list_response.py +35 -0
  206. whop_sdk/types/unwrap_webhook_event.py +15 -0
  207. whop_sdk/types/user_check_access_response.py +15 -0
  208. whop_sdk/types/user_retrieve_response.py +25 -0
  209. whop_sdk-0.0.1.dist-info/METADATA +522 -0
  210. whop_sdk-0.0.1.dist-info/RECORD +212 -0
  211. whop_sdk-0.0.1.dist-info/WHEEL +4 -0
  212. whop_sdk-0.0.1.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,123 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .currency import Currency
8
+ from .tax_type import TaxType
9
+ from ..._models import BaseModel
10
+ from .plan_type import PlanType
11
+ from .visibility import Visibility
12
+ from .release_method import ReleaseMethod
13
+
14
+ __all__ = ["Plan", "Company", "CustomField", "Invoice", "Product"]
15
+
16
+
17
+ class Company(BaseModel):
18
+ id: str
19
+ """The ID (tag) of the company."""
20
+
21
+ title: str
22
+ """The title of the company."""
23
+
24
+
25
+ class CustomField(BaseModel):
26
+ id: str
27
+ """The internal ID of the given custom field"""
28
+
29
+ field_type: Literal["text"]
30
+ """What type of input field to use."""
31
+
32
+ name: str
33
+ """The title/header of the custom field."""
34
+
35
+ order: Optional[int] = None
36
+ """How the custom field should be ordered when rendered on the checkout page."""
37
+
38
+ placeholder: Optional[str] = None
39
+ """An example response displayed in the input field."""
40
+
41
+ required: bool
42
+ """Whether or not the custom field is required."""
43
+
44
+
45
+ class Invoice(BaseModel):
46
+ id: str
47
+ """The ID of the invoice."""
48
+
49
+
50
+ class Product(BaseModel):
51
+ id: str
52
+ """The internal ID of the public product."""
53
+
54
+ title: str
55
+ """The title of the product. Use for Whop 4.0."""
56
+
57
+
58
+ class Plan(BaseModel):
59
+ id: str
60
+ """The internal ID of the plan."""
61
+
62
+ billing_period: Optional[int] = None
63
+ """The interval at which the plan charges (renewal plans)."""
64
+
65
+ collect_tax: bool
66
+ """Whether or not the plan collects tax."""
67
+
68
+ company: Optional[Company] = None
69
+ """The company for the plan."""
70
+
71
+ created_at: datetime
72
+ """When the plan was created."""
73
+
74
+ currency: Currency
75
+ """The respective currency identifier for the plan."""
76
+
77
+ custom_fields: List[CustomField]
78
+ """The custom fields for the plan."""
79
+
80
+ description: Optional[str] = None
81
+ """The description of the plan."""
82
+
83
+ expiration_days: Optional[int] = None
84
+ """The interval at which the plan charges (expiration plans)."""
85
+
86
+ initial_price: float
87
+ """The price a person has to pay for a plan on the initial purchase."""
88
+
89
+ internal_notes: Optional[str] = None
90
+ """A personal description or notes section for the business."""
91
+
92
+ invoice: Optional[Invoice] = None
93
+ """The invoice associated with this plan."""
94
+
95
+ member_count: Optional[int] = None
96
+ """The number of members for the plan."""
97
+
98
+ plan_type: PlanType
99
+ """Indicates if the plan is a one time payment or recurring."""
100
+
101
+ product: Optional[Product] = None
102
+ """The access pass for the plan."""
103
+
104
+ purchase_url: str
105
+ """The direct link to purchase the product."""
106
+
107
+ release_method: ReleaseMethod
108
+ """This is the release method the business uses to sell this plan."""
109
+
110
+ renewal_price: float
111
+ """The price a person has to pay for a plan on the renewal purchase."""
112
+
113
+ tax_type: TaxType
114
+ """The tax type for the plan."""
115
+
116
+ trial_period_days: Optional[int] = None
117
+ """The number of free trial days added before a renewal plan."""
118
+
119
+ updated_at: datetime
120
+ """When the plan was last updated."""
121
+
122
+ visibility: Visibility
123
+ """Shows or hides the plan from public/business view."""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["PlanType"]
6
+
7
+ PlanType: TypeAlias = Literal["renewal", "one_time"]
@@ -0,0 +1,124 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from ..._models import BaseModel
8
+ from .custom_cta import CustomCta
9
+ from .visibility import Visibility
10
+ from .business_types import BusinessTypes
11
+ from .industry_types import IndustryTypes
12
+ from .global_affiliate_status import GlobalAffiliateStatus
13
+
14
+ __all__ = ["Product", "Company", "OwnerUser", "ProductTaxCode"]
15
+
16
+
17
+ class Company(BaseModel):
18
+ id: str
19
+ """The ID (tag) of the company."""
20
+
21
+ route: str
22
+ """The slug/route of the company on the Whop site."""
23
+
24
+ title: str
25
+ """The title of the company."""
26
+
27
+
28
+ class OwnerUser(BaseModel):
29
+ id: str
30
+ """The internal ID of the user."""
31
+
32
+ name: Optional[str] = None
33
+ """The name of the user from their Whop account."""
34
+
35
+ username: str
36
+ """The username of the user from their Whop account."""
37
+
38
+
39
+ class ProductTaxCode(BaseModel):
40
+ id: str
41
+ """The internal ID of the product tax code."""
42
+
43
+ name: str
44
+ """The name of the product tax code."""
45
+
46
+ product_type: Literal["physical", "digital", "services"]
47
+ """The type of product this tax code applies to."""
48
+
49
+
50
+ class Product(BaseModel):
51
+ id: str
52
+ """The internal ID of the public product."""
53
+
54
+ business_type: Optional[BusinessTypes] = None
55
+ """The different business types a company can be."""
56
+
57
+ company: Company
58
+ """A short type of the company that this product belongs to."""
59
+
60
+ created_at: datetime
61
+ """When the product was created."""
62
+
63
+ custom_cta: CustomCta
64
+ """The custom call to action for the product."""
65
+
66
+ custom_cta_url: Optional[str] = None
67
+ """The custom call to action URL for the product, if any."""
68
+
69
+ custom_statement_descriptor: Optional[str] = None
70
+ """The custom statement descriptor for the product."""
71
+
72
+ description: Optional[str] = None
73
+ """A short description of what the company offers or does."""
74
+
75
+ global_affiliate_percentage: Optional[float] = None
76
+ """
77
+ The percentage of a transaction a user is eligible to earn from the whop
78
+ marketplace global affiliate program.
79
+ """
80
+
81
+ global_affiliate_status: GlobalAffiliateStatus
82
+ """The status of the global affiliate program for this product."""
83
+
84
+ headline: Optional[str] = None
85
+ """The headline of the product."""
86
+
87
+ industry_type: Optional[IndustryTypes] = None
88
+ """The different industry types a company can be in."""
89
+
90
+ member_affiliate_percentage: Optional[float] = None
91
+ """
92
+ The percentage of a transaction a user is eligible to earn from the whop
93
+ marketplace member affiliate program.
94
+ """
95
+
96
+ member_affiliate_status: GlobalAffiliateStatus
97
+ """The status of the member affiliate program for this product."""
98
+
99
+ member_count: int
100
+ """The number of active users for this product."""
101
+
102
+ owner_user: OwnerUser
103
+ """The user that owns the product (company owner)."""
104
+
105
+ product_tax_code: Optional[ProductTaxCode] = None
106
+ """The product tax code for the product, if any."""
107
+
108
+ published_reviews_count: int
109
+ """The number of reviews that have been published for the product."""
110
+
111
+ route: str
112
+ """The route of the product."""
113
+
114
+ title: str
115
+ """The title of the product. Use for Whop 4.0."""
116
+
117
+ updated_at: datetime
118
+ """When the product was updated."""
119
+
120
+ verified: bool
121
+ """Whether this product is Whop verified."""
122
+
123
+ visibility: Visibility
124
+ """This product will/will not be displayed publicly."""
@@ -0,0 +1,49 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+ from .visibility import Visibility
8
+ from .business_types import BusinessTypes
9
+ from .industry_types import IndustryTypes
10
+
11
+ __all__ = ["ProductListItem"]
12
+
13
+
14
+ class ProductListItem(BaseModel):
15
+ id: str
16
+ """The internal ID of the public product."""
17
+
18
+ business_type: Optional[BusinessTypes] = None
19
+ """The different business types a company can be."""
20
+
21
+ created_at: datetime
22
+ """When the product was created."""
23
+
24
+ headline: Optional[str] = None
25
+ """The headline of the product."""
26
+
27
+ industry_type: Optional[IndustryTypes] = None
28
+ """The different industry types a company can be in."""
29
+
30
+ member_count: int
31
+ """The number of active users for this product."""
32
+
33
+ published_reviews_count: int
34
+ """The number of reviews that have been published for the product."""
35
+
36
+ route: str
37
+ """The route of the product."""
38
+
39
+ title: str
40
+ """The title of the product. Use for Whop 4.0."""
41
+
42
+ updated_at: datetime
43
+ """When the product was updated."""
44
+
45
+ verified: bool
46
+ """Whether this product is Whop verified."""
47
+
48
+ visibility: Visibility
49
+ """This product will/will not be displayed publicly."""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["PromoType"]
6
+
7
+ PromoType: TypeAlias = Literal["percentage", "flat_amount"]
@@ -0,0 +1,32 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["Reaction", "User"]
8
+
9
+
10
+ class User(BaseModel):
11
+ id: str
12
+ """The internal ID of the user."""
13
+
14
+ name: Optional[str] = None
15
+ """The name of the user from their Whop account."""
16
+
17
+ username: str
18
+ """The username of the user from their Whop account."""
19
+
20
+
21
+ class Reaction(BaseModel):
22
+ id: str
23
+ """The unique identifier for the entity"""
24
+
25
+ emoji: Optional[str] = None
26
+ """The emoji that was used in shortcode format (:heart:)"""
27
+
28
+ resource_id: str
29
+ """The ID of the post this reaction belongs to"""
30
+
31
+ user: User
32
+ """The user who reacted to the post"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ReceiptStatus"]
6
+
7
+ ReceiptStatus: TypeAlias = Literal["draft", "open", "paid", "pending", "uncollectible", "unresolved", "void"]
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ReleaseMethod"]
6
+
7
+ ReleaseMethod: TypeAlias = Literal["buy_now", "waitlist"]
@@ -0,0 +1,48 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+ from .shipment_status import ShipmentStatus
8
+ from .shipment_carrier import ShipmentCarrier
9
+ from .shipment_substatus import ShipmentSubstatus
10
+
11
+ __all__ = ["Shipment", "Payment"]
12
+
13
+
14
+ class Payment(BaseModel):
15
+ id: str
16
+ """The payment ID"""
17
+
18
+
19
+ class Shipment(BaseModel):
20
+ id: str
21
+ """The ID of the shipment"""
22
+
23
+ carrier: ShipmentCarrier
24
+ """The carrier of the shipment"""
25
+
26
+ created_at: datetime
27
+ """The date and time the shipment was created"""
28
+
29
+ delivery_estimate: Optional[datetime] = None
30
+ """The delivery estimate of the shipment"""
31
+
32
+ payment: Payment
33
+ """The payment of the shipment"""
34
+
35
+ service: Optional[str] = None
36
+ """The service of the shipment"""
37
+
38
+ status: ShipmentStatus
39
+ """The status of the shipment"""
40
+
41
+ substatus: Optional[ShipmentSubstatus] = None
42
+ """The substatus of a shipment"""
43
+
44
+ tracking_code: str
45
+ """The tracking code of the shipment"""
46
+
47
+ updated_at: datetime
48
+ """The date and time the shipment was last updated"""
@@ -0,0 +1,84 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ShipmentCarrier"]
6
+
7
+ ShipmentCarrier: TypeAlias = Literal[
8
+ "accurate",
9
+ "amazon_mws",
10
+ "amazon_shipping",
11
+ "apc",
12
+ "asendia_usa",
13
+ "australia_post",
14
+ "axlehire_v3",
15
+ "better_trucks",
16
+ "canada_post",
17
+ "canpar",
18
+ "columbus_last_mile",
19
+ "chronopost",
20
+ "cloud_sort",
21
+ "courier_express",
22
+ "couriers_please",
23
+ "cs_logistics",
24
+ "dai_post",
25
+ "deutsche_post_uk",
26
+ "deutsche_post",
27
+ "dhl_ecommerce_asia",
28
+ "dhl_ecs",
29
+ "dhl_express",
30
+ "dhl_paket",
31
+ "door_dash",
32
+ "dpd_nl",
33
+ "dpd_uk",
34
+ "dpd",
35
+ "epost_global",
36
+ "estafeta",
37
+ "evri",
38
+ "fastway",
39
+ "fedex_cross_border",
40
+ "fedex_default",
41
+ "fedex_mailview",
42
+ "fedex_smartpost",
43
+ "fedex",
44
+ "first_choice",
45
+ "first_mile",
46
+ "flexport",
47
+ "gio",
48
+ "gio_express",
49
+ "gso",
50
+ "hailify",
51
+ "henry",
52
+ "interlink_express",
53
+ "jet",
54
+ "kuroneko_yamato",
55
+ "la_post",
56
+ "lasership_v2",
57
+ "loomis_express",
58
+ "lso",
59
+ "ontrac",
60
+ "optima",
61
+ "osm_worldwide",
62
+ "parcelforce",
63
+ "parcll",
64
+ "passport_global",
65
+ "post_nl",
66
+ "purolator",
67
+ "quick",
68
+ "royal_mail",
69
+ "omni_parcel",
70
+ "sendle",
71
+ "sf_express",
72
+ "smart_kargo",
73
+ "sonic",
74
+ "spee_dee",
75
+ "swyft",
76
+ "tforce",
77
+ "uds",
78
+ "ups_iparcel",
79
+ "ups_mail_innovations",
80
+ "ups",
81
+ "usps",
82
+ "veho",
83
+ "yanwen",
84
+ ]
@@ -0,0 +1,18 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ShipmentStatus"]
6
+
7
+ ShipmentStatus: TypeAlias = Literal[
8
+ "unknown",
9
+ "pre_transit",
10
+ "in_transit",
11
+ "out_for_delivery",
12
+ "delivered",
13
+ "available_for_pickup",
14
+ "return_to_sender",
15
+ "failure",
16
+ "cancelled",
17
+ "error",
18
+ ]
@@ -0,0 +1,36 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["ShipmentSubstatus"]
6
+
7
+ ShipmentSubstatus: TypeAlias = Literal[
8
+ "address_correction",
9
+ "arrived_at_destination",
10
+ "arrived_at_facility",
11
+ "arrived_at_pickup_location",
12
+ "awaiting_information",
13
+ "substatus_cancelled",
14
+ "damaged",
15
+ "delayed",
16
+ "delivery_exception",
17
+ "departed_facility",
18
+ "departed_origin_facility",
19
+ "expired",
20
+ "substatus_failure",
21
+ "held",
22
+ "substatus_in_transit",
23
+ "label_created",
24
+ "lost",
25
+ "missorted",
26
+ "substatus_out_for_delivery",
27
+ "received_at_destination_facility",
28
+ "received_at_origin_facility",
29
+ "refused",
30
+ "return",
31
+ "status_update",
32
+ "transferred_to_destination_carrier",
33
+ "transit_exception",
34
+ "substatus_unknown",
35
+ "weather_delay",
36
+ ]
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["SupportChannel", "CustomerUser"]
9
+
10
+
11
+ class CustomerUser(BaseModel):
12
+ id: str
13
+ """The internal ID of the user."""
14
+
15
+ name: Optional[str] = None
16
+ """The name of the user from their Whop account."""
17
+
18
+ username: str
19
+ """The username of the user from their Whop account."""
20
+
21
+
22
+ class SupportChannel(BaseModel):
23
+ id: str
24
+ """The unique identifier for the entity"""
25
+
26
+ company_id: Optional[str] = None
27
+ """The bot ID if this is a support chat"""
28
+
29
+ custom_name: Optional[str] = None
30
+ """The custom name of the DM channel, if any"""
31
+
32
+ customer_user: Optional[CustomerUser] = None
33
+ """The customer user if this is a support chat"""
34
+
35
+ last_message_at: Optional[datetime] = None
36
+ """When the last message was sent"""
37
+
38
+ resolved_at: Optional[datetime] = None
39
+ """When the support ticket was resolved (null if unresolved)"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["TaxType"]
6
+
7
+ TaxType: TypeAlias = Literal["inclusive", "exclusive", "unspecified"]