whop_sdk 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/README.md +1 -1
- data/lib/whop_sdk/client.rb +20 -0
- data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +30 -24
- data/lib/whop_sdk/models/assessment_question_types.rb +18 -0
- data/lib/whop_sdk/models/billing_reasons.rb +20 -0
- data/lib/whop_sdk/models/card_brands.rb +30 -0
- data/lib/whop_sdk/models/checkout_configuration.rb +10 -7
- data/lib/whop_sdk/models/checkout_configuration_create_params.rb +140 -3
- data/lib/whop_sdk/models/checkout_configuration_list_response.rb +10 -7
- data/lib/whop_sdk/models/course.rb +230 -0
- data/lib/whop_sdk/models/course_chapter.rb +72 -0
- data/lib/whop_sdk/models/course_chapter_create_params.rb +30 -0
- data/lib/whop_sdk/models/course_chapter_delete_params.rb +14 -0
- data/lib/whop_sdk/models/course_chapter_delete_response.rb +8 -0
- data/lib/whop_sdk/models/course_chapter_list_params.rb +54 -0
- data/lib/whop_sdk/models/course_chapter_list_response.rb +35 -0
- data/lib/whop_sdk/models/course_chapter_retrieve_params.rb +14 -0
- data/lib/whop_sdk/models/course_chapter_update_params.rb +22 -0
- data/lib/whop_sdk/models/course_create_params.rb +82 -0
- data/lib/whop_sdk/models/course_delete_params.rb +14 -0
- data/lib/whop_sdk/models/course_delete_response.rb +8 -0
- data/lib/whop_sdk/models/course_lesson_create_params.rb +54 -0
- data/lib/whop_sdk/models/course_lesson_delete_params.rb +14 -0
- data/lib/whop_sdk/models/course_lesson_delete_response.rb +8 -0
- data/lib/whop_sdk/models/course_lesson_list_params.rb +62 -0
- data/lib/whop_sdk/models/course_lesson_list_response.rb +71 -0
- data/lib/whop_sdk/models/course_lesson_retrieve_params.rb +14 -0
- data/lib/whop_sdk/models/course_lesson_update_params.rb +278 -0
- data/lib/whop_sdk/models/course_list_params.rb +62 -0
- data/lib/whop_sdk/models/course_list_response.rb +148 -0
- data/lib/whop_sdk/models/course_retrieve_params.rb +14 -0
- data/lib/whop_sdk/models/course_update_params.rb +197 -0
- data/lib/whop_sdk/models/experience_duplicate_params.rb +22 -0
- data/lib/whop_sdk/models/forum_post.rb +17 -1
- data/lib/whop_sdk/models/forum_post_list_response.rb +17 -1
- data/lib/whop_sdk/models/forum_post_update_params.rb +80 -0
- data/lib/whop_sdk/models/invoice.rb +6 -2
- data/lib/whop_sdk/models/invoice_list_item.rb +6 -2
- data/lib/whop_sdk/models/languages.rb +36 -0
- data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +9 -0
- data/lib/whop_sdk/models/lesson.rb +365 -0
- data/lib/whop_sdk/models/lesson_types.rb +20 -0
- data/lib/whop_sdk/models/lesson_visibilities.rb +17 -0
- data/lib/whop_sdk/models/member_list_params.rb +9 -1
- data/lib/whop_sdk/models/membership.rb +31 -1
- data/lib/whop_sdk/models/membership_list_params.rb +16 -8
- data/lib/whop_sdk/models/membership_list_response.rb +31 -1
- data/lib/whop_sdk/models/message_update_params.rb +68 -0
- data/lib/whop_sdk/models/payment.rb +24 -21
- data/lib/whop_sdk/models/payment_list_params.rb +3 -18
- data/lib/whop_sdk/models/payment_list_response.rb +24 -21
- data/lib/whop_sdk/models/payment_method_types.rb +98 -0
- data/lib/whop_sdk/models/plan.rb +25 -1
- data/lib/whop_sdk/models/plan_create_params.rb +37 -3
- data/lib/whop_sdk/models/plan_list_response.rb +25 -1
- data/lib/whop_sdk/models/plan_update_params.rb +35 -1
- data/lib/whop_sdk/models/product.rb +11 -1
- data/lib/whop_sdk/models/product_create_params.rb +1 -45
- data/lib/whop_sdk/models/product_list_item.rb +14 -1
- data/lib/whop_sdk/models/product_update_params.rb +30 -1
- data/lib/whop_sdk/models/promo_code.rb +211 -0
- data/lib/whop_sdk/models/promo_code_create_params.rb +140 -0
- data/lib/whop_sdk/models/promo_code_delete_params.rb +14 -0
- data/lib/whop_sdk/models/promo_code_delete_response.rb +8 -0
- data/lib/whop_sdk/models/promo_code_list_params.rb +78 -0
- data/lib/whop_sdk/models/promo_code_list_response.rb +181 -0
- data/lib/whop_sdk/models/promo_code_retrieve_params.rb +14 -0
- data/lib/whop_sdk/models/promo_code_status.rb +17 -0
- data/lib/whop_sdk/models/promo_duration.rb +17 -0
- data/lib/whop_sdk/models/review_list_params.rb +70 -0
- data/lib/whop_sdk/models/review_list_response.rb +183 -0
- data/lib/whop_sdk/models/review_retrieve_params.rb +14 -0
- data/lib/whop_sdk/models/review_retrieve_response.rb +251 -0
- data/lib/whop_sdk/models/review_status.rb +17 -0
- data/lib/whop_sdk/models.rb +76 -0
- data/lib/whop_sdk/resources/checkout_configurations.rb +2 -0
- data/lib/whop_sdk/resources/course_chapters.rb +151 -0
- data/lib/whop_sdk/resources/course_lessons.rb +178 -0
- data/lib/whop_sdk/resources/courses.rb +178 -0
- data/lib/whop_sdk/resources/experiences.rb +33 -0
- data/lib/whop_sdk/resources/forum_posts.rb +33 -0
- data/lib/whop_sdk/resources/members.rb +3 -1
- data/lib/whop_sdk/resources/memberships.rb +6 -4
- data/lib/whop_sdk/resources/messages.rb +28 -0
- data/lib/whop_sdk/resources/payments.rb +1 -1
- data/lib/whop_sdk/resources/plans.rb +19 -3
- data/lib/whop_sdk/resources/products.rb +4 -6
- data/lib/whop_sdk/resources/promo_codes.rb +161 -0
- data/lib/whop_sdk/resources/reviews.rb +68 -0
- data/lib/whop_sdk/version.rb +1 -1
- data/lib/whop_sdk.rb +53 -0
- data/rbi/whop_sdk/client.rbi +15 -0
- data/rbi/whop_sdk/models/assessment_question_types.rbi +31 -0
- data/rbi/whop_sdk/models/billing_reasons.rbi +27 -0
- data/rbi/whop_sdk/models/card_brands.rbi +35 -0
- data/rbi/whop_sdk/models/checkout_configuration.rbi +4 -2
- data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +183 -2
- data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +4 -2
- data/rbi/whop_sdk/models/course.rbi +313 -0
- data/rbi/whop_sdk/models/course_chapter.rbi +101 -0
- data/rbi/whop_sdk/models/course_chapter_create_params.rbi +51 -0
- data/rbi/whop_sdk/models/course_chapter_delete_params.rbi +27 -0
- data/rbi/whop_sdk/models/course_chapter_delete_response.rbi +8 -0
- data/rbi/whop_sdk/models/course_chapter_list_params.rbi +75 -0
- data/rbi/whop_sdk/models/course_chapter_list_response.rbi +47 -0
- data/rbi/whop_sdk/models/course_chapter_retrieve_params.rbi +30 -0
- data/rbi/whop_sdk/models/course_chapter_update_params.rbi +40 -0
- data/rbi/whop_sdk/models/course_create_params.rbi +131 -0
- data/rbi/whop_sdk/models/course_delete_params.rbi +27 -0
- data/rbi/whop_sdk/models/course_delete_response.rbi +7 -0
- data/rbi/whop_sdk/models/course_lesson_create_params.rbi +75 -0
- data/rbi/whop_sdk/models/course_lesson_delete_params.rbi +27 -0
- data/rbi/whop_sdk/models/course_lesson_delete_response.rbi +8 -0
- data/rbi/whop_sdk/models/course_lesson_list_params.rbi +83 -0
- data/rbi/whop_sdk/models/course_lesson_list_response.rbi +91 -0
- data/rbi/whop_sdk/models/course_lesson_retrieve_params.rbi +27 -0
- data/rbi/whop_sdk/models/course_lesson_update_params.rbi +465 -0
- data/rbi/whop_sdk/models/course_list_params.rbi +83 -0
- data/rbi/whop_sdk/models/course_list_response.rbi +198 -0
- data/rbi/whop_sdk/models/course_retrieve_params.rbi +27 -0
- data/rbi/whop_sdk/models/course_update_params.rbi +293 -0
- data/rbi/whop_sdk/models/experience_duplicate_params.rbi +40 -0
- data/rbi/whop_sdk/models/forum_post.rbi +16 -0
- data/rbi/whop_sdk/models/forum_post_list_response.rbi +16 -0
- data/rbi/whop_sdk/models/forum_post_update_params.rbi +124 -0
- data/rbi/whop_sdk/models/invoice.rbi +4 -2
- data/rbi/whop_sdk/models/invoice_list_item.rbi +4 -2
- data/rbi/whop_sdk/models/languages.rbi +40 -0
- data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +45 -0
- data/rbi/whop_sdk/models/lesson.rbi +517 -0
- data/rbi/whop_sdk/models/lesson_types.rbi +25 -0
- data/rbi/whop_sdk/models/lesson_visibilities.rbi +23 -0
- data/rbi/whop_sdk/models/member_list_params.rbi +8 -0
- data/rbi/whop_sdk/models/membership.rbi +40 -0
- data/rbi/whop_sdk/models/membership_list_params.rbi +16 -8
- data/rbi/whop_sdk/models/membership_list_response.rbi +47 -0
- data/rbi/whop_sdk/models/message_update_params.rbi +114 -0
- data/rbi/whop_sdk/models/payment.rbi +32 -25
- data/rbi/whop_sdk/models/payment_list_params.rbi +3 -63
- data/rbi/whop_sdk/models/payment_list_response.rbi +32 -25
- data/rbi/whop_sdk/models/payment_method_types.rbi +116 -0
- data/rbi/whop_sdk/models/plan.rbi +24 -0
- data/rbi/whop_sdk/models/plan_create_params.rbi +38 -2
- data/rbi/whop_sdk/models/plan_list_response.rbi +24 -0
- data/rbi/whop_sdk/models/plan_update_params.rbi +36 -0
- data/rbi/whop_sdk/models/product.rbi +12 -0
- data/rbi/whop_sdk/models/product_create_params.rbi +0 -74
- data/rbi/whop_sdk/models/product_list_item.rbi +12 -0
- data/rbi/whop_sdk/models/product_update_params.rbi +59 -0
- data/rbi/whop_sdk/models/promo_code.rbi +248 -0
- data/rbi/whop_sdk/models/promo_code_create_params.rbi +161 -0
- data/rbi/whop_sdk/models/promo_code_delete_params.rbi +27 -0
- data/rbi/whop_sdk/models/promo_code_delete_response.rbi +8 -0
- data/rbi/whop_sdk/models/promo_code_list_params.rbi +99 -0
- data/rbi/whop_sdk/models/promo_code_list_response.rbi +222 -0
- data/rbi/whop_sdk/models/promo_code_retrieve_params.rbi +27 -0
- data/rbi/whop_sdk/models/promo_code_status.rbi +21 -0
- data/rbi/whop_sdk/models/promo_duration.rbi +21 -0
- data/rbi/whop_sdk/models/review_list_params.rbi +91 -0
- data/rbi/whop_sdk/models/review_list_response.rbi +243 -0
- data/rbi/whop_sdk/models/review_retrieve_params.rbi +27 -0
- data/rbi/whop_sdk/models/review_retrieve_response.rbi +354 -0
- data/rbi/whop_sdk/models/review_status.rbi +21 -0
- data/rbi/whop_sdk/models.rbi +76 -0
- data/rbi/whop_sdk/resources/checkout_configurations.rbi +2 -0
- data/rbi/whop_sdk/resources/course_chapters.rbi +115 -0
- data/rbi/whop_sdk/resources/course_lessons.rbi +163 -0
- data/rbi/whop_sdk/resources/courses.rbi +152 -0
- data/rbi/whop_sdk/resources/experiences.rbi +25 -0
- data/rbi/whop_sdk/resources/forum_posts.rbi +29 -0
- data/rbi/whop_sdk/resources/members.rbi +3 -0
- data/rbi/whop_sdk/resources/memberships.rbi +6 -3
- data/rbi/whop_sdk/resources/messages.rbi +25 -0
- data/rbi/whop_sdk/resources/payments.rbi +1 -3
- data/rbi/whop_sdk/resources/plans.rbi +29 -1
- data/rbi/whop_sdk/resources/products.rbi +4 -7
- data/rbi/whop_sdk/resources/promo_codes.rbi +147 -0
- data/rbi/whop_sdk/resources/reviews.rbi +56 -0
- data/sig/whop_sdk/client.rbs +10 -0
- data/sig/whop_sdk/models/assessment_question_types.rbs +17 -0
- data/sig/whop_sdk/models/billing_reasons.rbs +24 -0
- data/sig/whop_sdk/models/card_brands.rbs +44 -0
- data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +87 -0
- data/sig/whop_sdk/models/course.rbs +171 -0
- data/sig/whop_sdk/models/course_chapter.rbs +49 -0
- data/sig/whop_sdk/models/course_chapter_create_params.rbs +28 -0
- data/sig/whop_sdk/models/course_chapter_delete_params.rbs +15 -0
- data/sig/whop_sdk/models/course_chapter_delete_response.rbs +5 -0
- data/sig/whop_sdk/models/course_chapter_list_params.rbs +46 -0
- data/sig/whop_sdk/models/course_chapter_list_response.rbs +18 -0
- data/sig/whop_sdk/models/course_chapter_retrieve_params.rbs +15 -0
- data/sig/whop_sdk/models/course_chapter_update_params.rbs +23 -0
- data/sig/whop_sdk/models/course_create_params.rbs +58 -0
- data/sig/whop_sdk/models/course_delete_params.rbs +15 -0
- data/sig/whop_sdk/models/course_delete_response.rbs +5 -0
- data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
- data/sig/whop_sdk/models/course_lesson_delete_params.rbs +15 -0
- data/sig/whop_sdk/models/course_lesson_delete_response.rbs +5 -0
- data/sig/whop_sdk/models/course_lesson_list_params.rbs +51 -0
- data/sig/whop_sdk/models/course_lesson_list_response.rbs +50 -0
- data/sig/whop_sdk/models/course_lesson_retrieve_params.rbs +15 -0
- data/sig/whop_sdk/models/course_lesson_update_params.rbs +162 -0
- data/sig/whop_sdk/models/course_list_params.rbs +51 -0
- data/sig/whop_sdk/models/course_list_response.rbs +102 -0
- data/sig/whop_sdk/models/course_retrieve_params.rbs +15 -0
- data/sig/whop_sdk/models/course_update_params.rbs +137 -0
- data/sig/whop_sdk/models/experience_duplicate_params.rbs +23 -0
- data/sig/whop_sdk/models/forum_post.rbs +10 -0
- data/sig/whop_sdk/models/forum_post_list_response.rbs +10 -0
- data/sig/whop_sdk/models/forum_post_update_params.rbs +53 -0
- data/sig/whop_sdk/models/languages.rbs +56 -0
- data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +20 -1
- data/sig/whop_sdk/models/lesson.rbs +248 -0
- data/sig/whop_sdk/models/lesson_types.rbs +19 -0
- data/sig/whop_sdk/models/lesson_visibilities.rbs +14 -0
- data/sig/whop_sdk/models/member_list_params.rbs +6 -1
- data/sig/whop_sdk/models/membership.rbs +17 -0
- data/sig/whop_sdk/models/membership_list_params.rbs +11 -6
- data/sig/whop_sdk/models/membership_list_response.rbs +17 -0
- data/sig/whop_sdk/models/message_update_params.rbs +48 -0
- data/sig/whop_sdk/models/payment.rbs +12 -12
- data/sig/whop_sdk/models/payment_list_params.rbs +4 -25
- data/sig/whop_sdk/models/payment_list_response.rbs +12 -12
- data/sig/whop_sdk/models/payment_method_types.rbs +180 -0
- data/sig/whop_sdk/models/plan.rbs +15 -0
- data/sig/whop_sdk/models/plan_create_params.rbs +20 -0
- data/sig/whop_sdk/models/plan_list_response.rbs +15 -0
- data/sig/whop_sdk/models/plan_update_params.rbs +20 -0
- data/sig/whop_sdk/models/product.rbs +5 -0
- data/sig/whop_sdk/models/product_create_params.rbs +0 -22
- data/sig/whop_sdk/models/product_list_item.rbs +5 -0
- data/sig/whop_sdk/models/product_update_params.rbs +17 -0
- data/sig/whop_sdk/models/promo_code.rbs +134 -0
- data/sig/whop_sdk/models/promo_code_create_params.rbs +96 -0
- data/sig/whop_sdk/models/promo_code_delete_params.rbs +15 -0
- data/sig/whop_sdk/models/promo_code_delete_response.rbs +5 -0
- data/sig/whop_sdk/models/promo_code_list_params.rbs +61 -0
- data/sig/whop_sdk/models/promo_code_list_response.rbs +117 -0
- data/sig/whop_sdk/models/promo_code_retrieve_params.rbs +15 -0
- data/sig/whop_sdk/models/promo_code_status.rbs +15 -0
- data/sig/whop_sdk/models/promo_duration.rbs +15 -0
- data/sig/whop_sdk/models/review_list_params.rbs +56 -0
- data/sig/whop_sdk/models/review_list_response.rbs +116 -0
- data/sig/whop_sdk/models/review_retrieve_params.rbs +15 -0
- data/sig/whop_sdk/models/review_retrieve_response.rbs +152 -0
- data/sig/whop_sdk/models/review_status.rbs +15 -0
- data/sig/whop_sdk/models.rbs +76 -0
- data/sig/whop_sdk/resources/course_chapters.rbs +35 -0
- data/sig/whop_sdk/resources/course_lessons.rbs +47 -0
- data/sig/whop_sdk/resources/courses.rbs +47 -0
- data/sig/whop_sdk/resources/experiences.rbs +6 -0
- data/sig/whop_sdk/resources/forum_posts.rbs +9 -0
- data/sig/whop_sdk/resources/members.rbs +1 -0
- data/sig/whop_sdk/resources/memberships.rbs +2 -1
- data/sig/whop_sdk/resources/messages.rbs +8 -0
- data/sig/whop_sdk/resources/payments.rbs +1 -1
- data/sig/whop_sdk/resources/plans.rbs +8 -0
- data/sig/whop_sdk/resources/products.rbs +1 -2
- data/sig/whop_sdk/resources/promo_codes.rbs +45 -0
- data/sig/whop_sdk/resources/reviews.rbs +23 -0
- metadata +189 -2
|
@@ -51,6 +51,14 @@ module WhopSDK
|
|
|
51
51
|
# @return [String, nil]
|
|
52
52
|
required :description, String, nil?: true
|
|
53
53
|
|
|
54
|
+
# @!attribute external_identifier
|
|
55
|
+
# A unique identifier used to create or update products. When provided on product
|
|
56
|
+
# creation endpoints, we’ll look up an existing product by this identifier — if it
|
|
57
|
+
# exists, we’ll update it; if not, we’ll create a new one.
|
|
58
|
+
#
|
|
59
|
+
# @return [String, nil]
|
|
60
|
+
required :external_identifier, String, nil?: true
|
|
61
|
+
|
|
54
62
|
# @!attribute global_affiliate_percentage
|
|
55
63
|
# The percentage of a transaction a user is eligible to earn from the whop
|
|
56
64
|
# marketplace global affiliate program.
|
|
@@ -143,7 +151,7 @@ module WhopSDK
|
|
|
143
151
|
# @return [Symbol, WhopSDK::Models::Visibility]
|
|
144
152
|
required :visibility, enum: -> { WhopSDK::Visibility }
|
|
145
153
|
|
|
146
|
-
# @!method initialize(id:, business_type:, company:, created_at:, custom_cta:, custom_cta_url:, custom_statement_descriptor:, description:, global_affiliate_percentage:, global_affiliate_status:, headline:, industry_type:, member_affiliate_percentage:, member_affiliate_status:, member_count:, owner_user:, product_tax_code:, published_reviews_count:, route:, title:, updated_at:, verified:, visibility:)
|
|
154
|
+
# @!method initialize(id:, business_type:, company:, created_at:, custom_cta:, custom_cta_url:, custom_statement_descriptor:, description:, external_identifier:, global_affiliate_percentage:, global_affiliate_status:, headline:, industry_type:, member_affiliate_percentage:, member_affiliate_status:, member_count:, owner_user:, product_tax_code:, published_reviews_count:, route:, title:, updated_at:, verified:, visibility:)
|
|
147
155
|
# Some parameter documentations has been truncated, see {WhopSDK::Models::Product}
|
|
148
156
|
# for more details.
|
|
149
157
|
#
|
|
@@ -165,6 +173,8 @@ module WhopSDK
|
|
|
165
173
|
#
|
|
166
174
|
# @param description [String, nil] A short description of what the company offers or does.
|
|
167
175
|
#
|
|
176
|
+
# @param external_identifier [String, nil] A unique identifier used to create or update products. When provided on product
|
|
177
|
+
#
|
|
168
178
|
# @param global_affiliate_percentage [Float, nil] The percentage of a transaction a user is eligible to earn from the whop marketp
|
|
169
179
|
#
|
|
170
180
|
# @param global_affiliate_status [Symbol, WhopSDK::Models::GlobalAffiliateStatus] The status of the global affiliate program for this product.
|
|
@@ -19,18 +19,6 @@ module WhopSDK
|
|
|
19
19
|
# @return [String]
|
|
20
20
|
required :title, String
|
|
21
21
|
|
|
22
|
-
# @!attribute access_pass_type
|
|
23
|
-
# The different types an access pass can be.
|
|
24
|
-
#
|
|
25
|
-
# @return [Symbol, WhopSDK::Models::AccessPassType, nil]
|
|
26
|
-
optional :access_pass_type, enum: -> { WhopSDK::AccessPassType }, nil?: true
|
|
27
|
-
|
|
28
|
-
# @!attribute banner_image
|
|
29
|
-
# A banner image for the product in png, jpeg format
|
|
30
|
-
#
|
|
31
|
-
# @return [WhopSDK::Models::ProductCreateParams::BannerImage, nil]
|
|
32
|
-
optional :banner_image, -> { WhopSDK::ProductCreateParams::BannerImage }, nil?: true
|
|
33
|
-
|
|
34
22
|
# @!attribute business_type
|
|
35
23
|
# The different business types a company can be.
|
|
36
24
|
#
|
|
@@ -149,7 +137,7 @@ module WhopSDK
|
|
|
149
137
|
# @return [Symbol, WhopSDK::Models::Visibility, nil]
|
|
150
138
|
optional :visibility, enum: -> { WhopSDK::Visibility }, nil?: true
|
|
151
139
|
|
|
152
|
-
# @!method initialize(company_id:, title:,
|
|
140
|
+
# @!method initialize(company_id:, title:, business_type: nil, collect_shipping_address: nil, custom_cta: nil, custom_cta_url: nil, custom_statement_descriptor: nil, description: nil, experience_ids: nil, global_affiliate_percentage: nil, global_affiliate_status: nil, headline: nil, industry_type: nil, member_affiliate_percentage: nil, member_affiliate_status: nil, plan_options: nil, product_highlights: nil, product_tax_code_id: nil, redirect_purchase_url: nil, route: nil, visibility: nil, request_options: {})
|
|
153
141
|
# Some parameter documentations has been truncated, see
|
|
154
142
|
# {WhopSDK::Models::ProductCreateParams} for more details.
|
|
155
143
|
#
|
|
@@ -157,10 +145,6 @@ module WhopSDK
|
|
|
157
145
|
#
|
|
158
146
|
# @param title [String] The title of the product.
|
|
159
147
|
#
|
|
160
|
-
# @param access_pass_type [Symbol, WhopSDK::Models::AccessPassType, nil] The different types an access pass can be.
|
|
161
|
-
#
|
|
162
|
-
# @param banner_image [WhopSDK::Models::ProductCreateParams::BannerImage, nil] A banner image for the product in png, jpeg format
|
|
163
|
-
#
|
|
164
148
|
# @param business_type [Symbol, WhopSDK::Models::BusinessTypes, nil] The different business types a company can be.
|
|
165
149
|
#
|
|
166
150
|
# @param collect_shipping_address [Boolean, nil] Whether or not to collect shipping information at checkout from the customer.
|
|
@@ -202,34 +186,6 @@ module WhopSDK
|
|
|
202
186
|
#
|
|
203
187
|
# @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
|
|
204
188
|
|
|
205
|
-
class BannerImage < WhopSDK::Internal::Type::BaseModel
|
|
206
|
-
# @!attribute id
|
|
207
|
-
# The ID of an existing attachment object. Use this when updating a resource and
|
|
208
|
-
# keeping a subset of the attachments. Don't use this unless you know what you're
|
|
209
|
-
# doing.
|
|
210
|
-
#
|
|
211
|
-
# @return [String, nil]
|
|
212
|
-
optional :id, String, nil?: true
|
|
213
|
-
|
|
214
|
-
# @!attribute direct_upload_id
|
|
215
|
-
# This ID should be used the first time you upload an attachment. It is the ID of
|
|
216
|
-
# the direct upload that was created when uploading the file to S3 via the
|
|
217
|
-
# mediaDirectUpload mutation.
|
|
218
|
-
#
|
|
219
|
-
# @return [String, nil]
|
|
220
|
-
optional :direct_upload_id, String, nil?: true
|
|
221
|
-
|
|
222
|
-
# @!method initialize(id: nil, direct_upload_id: nil)
|
|
223
|
-
# Some parameter documentations has been truncated, see
|
|
224
|
-
# {WhopSDK::Models::ProductCreateParams::BannerImage} for more details.
|
|
225
|
-
#
|
|
226
|
-
# A banner image for the product in png, jpeg format
|
|
227
|
-
#
|
|
228
|
-
# @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
|
|
229
|
-
#
|
|
230
|
-
# @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
|
|
231
|
-
end
|
|
232
|
-
|
|
233
189
|
class PlanOptions < WhopSDK::Internal::Type::BaseModel
|
|
234
190
|
# @!attribute base_currency
|
|
235
191
|
# The available currencies on the platform
|
|
@@ -21,6 +21,14 @@ module WhopSDK
|
|
|
21
21
|
# @return [Time]
|
|
22
22
|
required :created_at, Time
|
|
23
23
|
|
|
24
|
+
# @!attribute external_identifier
|
|
25
|
+
# A unique identifier used to create or update products. When provided on product
|
|
26
|
+
# creation endpoints, we’ll look up an existing product by this identifier — if it
|
|
27
|
+
# exists, we’ll update it; if not, we’ll create a new one.
|
|
28
|
+
#
|
|
29
|
+
# @return [String, nil]
|
|
30
|
+
required :external_identifier, String, nil?: true
|
|
31
|
+
|
|
24
32
|
# @!attribute headline
|
|
25
33
|
# The headline of the product.
|
|
26
34
|
#
|
|
@@ -75,7 +83,10 @@ module WhopSDK
|
|
|
75
83
|
# @return [Symbol, WhopSDK::Models::Visibility]
|
|
76
84
|
required :visibility, enum: -> { WhopSDK::Visibility }
|
|
77
85
|
|
|
78
|
-
# @!method initialize(id:, business_type:, created_at:, headline:, industry_type:, member_count:, published_reviews_count:, route:, title:, updated_at:, verified:, visibility:)
|
|
86
|
+
# @!method initialize(id:, business_type:, created_at:, external_identifier:, headline:, industry_type:, member_count:, published_reviews_count:, route:, title:, updated_at:, verified:, visibility:)
|
|
87
|
+
# Some parameter documentations has been truncated, see
|
|
88
|
+
# {WhopSDK::Models::ProductListItem} for more details.
|
|
89
|
+
#
|
|
79
90
|
# An object representing a (sanitized) access pass.
|
|
80
91
|
#
|
|
81
92
|
# @param id [String] The internal ID of the public product.
|
|
@@ -84,6 +95,8 @@ module WhopSDK
|
|
|
84
95
|
#
|
|
85
96
|
# @param created_at [Time] When the product was created.
|
|
86
97
|
#
|
|
98
|
+
# @param external_identifier [String, nil] A unique identifier used to create or update products. When provided on product
|
|
99
|
+
#
|
|
87
100
|
# @param headline [String, nil] The headline of the product.
|
|
88
101
|
#
|
|
89
102
|
# @param industry_type [Symbol, WhopSDK::Models::IndustryTypes, nil] The different industry types a company can be in.
|
|
@@ -105,6 +105,12 @@ module WhopSDK
|
|
|
105
105
|
# @return [String, nil]
|
|
106
106
|
optional :route, String, nil?: true
|
|
107
107
|
|
|
108
|
+
# @!attribute store_page_config
|
|
109
|
+
# Configuration for a product on the company's store page.
|
|
110
|
+
#
|
|
111
|
+
# @return [WhopSDK::Models::ProductUpdateParams::StorePageConfig, nil]
|
|
112
|
+
optional :store_page_config, -> { WhopSDK::ProductUpdateParams::StorePageConfig }, nil?: true
|
|
113
|
+
|
|
108
114
|
# @!attribute title
|
|
109
115
|
# The title of the product.
|
|
110
116
|
#
|
|
@@ -117,7 +123,7 @@ module WhopSDK
|
|
|
117
123
|
# @return [Symbol, WhopSDK::Models::Visibility, nil]
|
|
118
124
|
optional :visibility, enum: -> { WhopSDK::Visibility }, nil?: true
|
|
119
125
|
|
|
120
|
-
# @!method initialize(banner_image: nil, business_type: nil, collect_shipping_address: nil, custom_cta: nil, custom_cta_url: nil, custom_statement_descriptor: nil, description: nil, global_affiliate_percentage: nil, global_affiliate_status: nil, headline: nil, industry_type: nil, member_affiliate_percentage: nil, member_affiliate_status: nil, product_tax_code_id: nil, redirect_purchase_url: nil, route: nil, title: nil, visibility: nil, request_options: {})
|
|
126
|
+
# @!method initialize(banner_image: nil, business_type: nil, collect_shipping_address: nil, custom_cta: nil, custom_cta_url: nil, custom_statement_descriptor: nil, description: nil, global_affiliate_percentage: nil, global_affiliate_status: nil, headline: nil, industry_type: nil, member_affiliate_percentage: nil, member_affiliate_status: nil, product_tax_code_id: nil, redirect_purchase_url: nil, route: nil, store_page_config: nil, title: nil, visibility: nil, request_options: {})
|
|
121
127
|
# Some parameter documentations has been truncated, see
|
|
122
128
|
# {WhopSDK::Models::ProductUpdateParams} for more details.
|
|
123
129
|
#
|
|
@@ -154,6 +160,8 @@ module WhopSDK
|
|
|
154
160
|
#
|
|
155
161
|
# @param route [String, nil] The route of the product.
|
|
156
162
|
#
|
|
163
|
+
# @param store_page_config [WhopSDK::Models::ProductUpdateParams::StorePageConfig, nil] Configuration for a product on the company's store page.
|
|
164
|
+
#
|
|
157
165
|
# @param title [String, nil] The title of the product.
|
|
158
166
|
#
|
|
159
167
|
# @param visibility [Symbol, WhopSDK::Models::Visibility, nil] Visibility of a resource
|
|
@@ -187,6 +195,27 @@ module WhopSDK
|
|
|
187
195
|
#
|
|
188
196
|
# @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
|
|
189
197
|
end
|
|
198
|
+
|
|
199
|
+
class StorePageConfig < WhopSDK::Internal::Type::BaseModel
|
|
200
|
+
# @!attribute custom_cta
|
|
201
|
+
# Custom call-to-action text for the product's store page.
|
|
202
|
+
#
|
|
203
|
+
# @return [String, nil]
|
|
204
|
+
optional :custom_cta, String, nil?: true
|
|
205
|
+
|
|
206
|
+
# @!attribute show_price
|
|
207
|
+
# Whether or not to show the price on the product's store page.
|
|
208
|
+
#
|
|
209
|
+
# @return [Boolean, nil]
|
|
210
|
+
optional :show_price, WhopSDK::Internal::Type::Boolean, nil?: true
|
|
211
|
+
|
|
212
|
+
# @!method initialize(custom_cta: nil, show_price: nil)
|
|
213
|
+
# Configuration for a product on the company's store page.
|
|
214
|
+
#
|
|
215
|
+
# @param custom_cta [String, nil] Custom call-to-action text for the product's store page.
|
|
216
|
+
#
|
|
217
|
+
# @param show_price [Boolean, nil] Whether or not to show the price on the product's store page.
|
|
218
|
+
end
|
|
190
219
|
end
|
|
191
220
|
end
|
|
192
221
|
end
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module WhopSDK
|
|
4
|
+
module Models
|
|
5
|
+
# @see WhopSDK::Resources::PromoCodes#create
|
|
6
|
+
class PromoCode < WhopSDK::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
# The ID of the promo.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute amount_off
|
|
14
|
+
# The amount off (% or flat amount) for the promo.
|
|
15
|
+
#
|
|
16
|
+
# @return [Float]
|
|
17
|
+
required :amount_off, Float
|
|
18
|
+
|
|
19
|
+
# @!attribute churned_users_only
|
|
20
|
+
# Restricts promo use to only users who have churned from the company before.
|
|
21
|
+
#
|
|
22
|
+
# @return [Boolean]
|
|
23
|
+
required :churned_users_only, WhopSDK::Internal::Type::Boolean
|
|
24
|
+
|
|
25
|
+
# @!attribute code
|
|
26
|
+
# The specific code used to apply the promo at checkout.
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
required :code, String, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!attribute company
|
|
32
|
+
# The company for the promo code.
|
|
33
|
+
#
|
|
34
|
+
# @return [WhopSDK::Models::PromoCode::Company]
|
|
35
|
+
required :company, -> { WhopSDK::PromoCode::Company }
|
|
36
|
+
|
|
37
|
+
# @!attribute created_at
|
|
38
|
+
# The timestamp of when the promo was created.
|
|
39
|
+
#
|
|
40
|
+
# @return [Time]
|
|
41
|
+
required :created_at, Time
|
|
42
|
+
|
|
43
|
+
# @!attribute currency
|
|
44
|
+
# The monetary currency of the promo code.
|
|
45
|
+
#
|
|
46
|
+
# @return [Symbol, WhopSDK::Models::Currency]
|
|
47
|
+
required :currency, enum: -> { WhopSDK::Currency }
|
|
48
|
+
|
|
49
|
+
# @!attribute duration
|
|
50
|
+
# The duration setting for the promo code
|
|
51
|
+
#
|
|
52
|
+
# @return [Symbol, WhopSDK::Models::PromoDuration, nil]
|
|
53
|
+
required :duration, enum: -> { WhopSDK::PromoDuration }, nil?: true
|
|
54
|
+
|
|
55
|
+
# @!attribute existing_memberships_only
|
|
56
|
+
# Restricts promo use to only be applied to already purchased memberships.
|
|
57
|
+
#
|
|
58
|
+
# @return [Boolean]
|
|
59
|
+
required :existing_memberships_only, WhopSDK::Internal::Type::Boolean
|
|
60
|
+
|
|
61
|
+
# @!attribute expires_at
|
|
62
|
+
# The date/time of when the promo expires.
|
|
63
|
+
#
|
|
64
|
+
# @return [Time, nil]
|
|
65
|
+
required :expires_at, Time, nil?: true
|
|
66
|
+
|
|
67
|
+
# @!attribute new_users_only
|
|
68
|
+
# Restricts promo use to only users who have never purchased from the company
|
|
69
|
+
# before.
|
|
70
|
+
#
|
|
71
|
+
# @return [Boolean]
|
|
72
|
+
required :new_users_only, WhopSDK::Internal::Type::Boolean
|
|
73
|
+
|
|
74
|
+
# @!attribute one_per_customer
|
|
75
|
+
# Restricts promo use to only be applied once per customer.
|
|
76
|
+
#
|
|
77
|
+
# @return [Boolean]
|
|
78
|
+
required :one_per_customer, WhopSDK::Internal::Type::Boolean
|
|
79
|
+
|
|
80
|
+
# @!attribute product
|
|
81
|
+
# The access pass associated with the promo code.
|
|
82
|
+
#
|
|
83
|
+
# @return [WhopSDK::Models::PromoCode::Product, nil]
|
|
84
|
+
required :product, -> { WhopSDK::PromoCode::Product }, nil?: true
|
|
85
|
+
|
|
86
|
+
# @!attribute promo_duration_months
|
|
87
|
+
# The number of months the promo is applied for.
|
|
88
|
+
#
|
|
89
|
+
# @return [Integer, nil]
|
|
90
|
+
required :promo_duration_months, Integer, nil?: true
|
|
91
|
+
|
|
92
|
+
# @!attribute promo_type
|
|
93
|
+
# The type (% or flat amount) of the promo.
|
|
94
|
+
#
|
|
95
|
+
# @return [Symbol, WhopSDK::Models::PromoType]
|
|
96
|
+
required :promo_type, enum: -> { WhopSDK::PromoType }
|
|
97
|
+
|
|
98
|
+
# @!attribute status
|
|
99
|
+
# Indicates if the promo code is live or disabled.
|
|
100
|
+
#
|
|
101
|
+
# @return [Symbol, WhopSDK::Models::PromoCodeStatus]
|
|
102
|
+
required :status, enum: -> { WhopSDK::PromoCodeStatus }
|
|
103
|
+
|
|
104
|
+
# @!attribute stock
|
|
105
|
+
# The quantity limit on the number of uses.
|
|
106
|
+
#
|
|
107
|
+
# @return [Integer]
|
|
108
|
+
required :stock, Integer
|
|
109
|
+
|
|
110
|
+
# @!attribute unlimited_stock
|
|
111
|
+
# Whether or not the promo code has unlimited stock.
|
|
112
|
+
#
|
|
113
|
+
# @return [Boolean]
|
|
114
|
+
required :unlimited_stock, WhopSDK::Internal::Type::Boolean
|
|
115
|
+
|
|
116
|
+
# @!attribute uses
|
|
117
|
+
# The amount of times the promo codes has been used.
|
|
118
|
+
#
|
|
119
|
+
# @return [Integer]
|
|
120
|
+
required :uses, Integer
|
|
121
|
+
|
|
122
|
+
# @!method initialize(id:, amount_off:, churned_users_only:, code:, company:, created_at:, currency:, duration:, existing_memberships_only:, expires_at:, new_users_only:, one_per_customer:, product:, promo_duration_months:, promo_type:, status:, stock:, unlimited_stock:, uses:)
|
|
123
|
+
# Some parameter documentations has been truncated, see
|
|
124
|
+
# {WhopSDK::Models::PromoCode} for more details.
|
|
125
|
+
#
|
|
126
|
+
# An object representing a promo code for a plan.
|
|
127
|
+
#
|
|
128
|
+
# @param id [String] The ID of the promo.
|
|
129
|
+
#
|
|
130
|
+
# @param amount_off [Float] The amount off (% or flat amount) for the promo.
|
|
131
|
+
#
|
|
132
|
+
# @param churned_users_only [Boolean] Restricts promo use to only users who have churned from the company before.
|
|
133
|
+
#
|
|
134
|
+
# @param code [String, nil] The specific code used to apply the promo at checkout.
|
|
135
|
+
#
|
|
136
|
+
# @param company [WhopSDK::Models::PromoCode::Company] The company for the promo code.
|
|
137
|
+
#
|
|
138
|
+
# @param created_at [Time] The timestamp of when the promo was created.
|
|
139
|
+
#
|
|
140
|
+
# @param currency [Symbol, WhopSDK::Models::Currency] The monetary currency of the promo code.
|
|
141
|
+
#
|
|
142
|
+
# @param duration [Symbol, WhopSDK::Models::PromoDuration, nil] The duration setting for the promo code
|
|
143
|
+
#
|
|
144
|
+
# @param existing_memberships_only [Boolean] Restricts promo use to only be applied to already purchased memberships.
|
|
145
|
+
#
|
|
146
|
+
# @param expires_at [Time, nil] The date/time of when the promo expires.
|
|
147
|
+
#
|
|
148
|
+
# @param new_users_only [Boolean] Restricts promo use to only users who have never purchased from the company befo
|
|
149
|
+
#
|
|
150
|
+
# @param one_per_customer [Boolean] Restricts promo use to only be applied once per customer.
|
|
151
|
+
#
|
|
152
|
+
# @param product [WhopSDK::Models::PromoCode::Product, nil] The access pass associated with the promo code.
|
|
153
|
+
#
|
|
154
|
+
# @param promo_duration_months [Integer, nil] The number of months the promo is applied for.
|
|
155
|
+
#
|
|
156
|
+
# @param promo_type [Symbol, WhopSDK::Models::PromoType] The type (% or flat amount) of the promo.
|
|
157
|
+
#
|
|
158
|
+
# @param status [Symbol, WhopSDK::Models::PromoCodeStatus] Indicates if the promo code is live or disabled.
|
|
159
|
+
#
|
|
160
|
+
# @param stock [Integer] The quantity limit on the number of uses.
|
|
161
|
+
#
|
|
162
|
+
# @param unlimited_stock [Boolean] Whether or not the promo code has unlimited stock.
|
|
163
|
+
#
|
|
164
|
+
# @param uses [Integer] The amount of times the promo codes has been used.
|
|
165
|
+
|
|
166
|
+
# @see WhopSDK::Models::PromoCode#company
|
|
167
|
+
class Company < WhopSDK::Internal::Type::BaseModel
|
|
168
|
+
# @!attribute id
|
|
169
|
+
# The ID of the company
|
|
170
|
+
#
|
|
171
|
+
# @return [String]
|
|
172
|
+
required :id, String
|
|
173
|
+
|
|
174
|
+
# @!attribute title
|
|
175
|
+
# The written name of the company.
|
|
176
|
+
#
|
|
177
|
+
# @return [String]
|
|
178
|
+
required :title, String
|
|
179
|
+
|
|
180
|
+
# @!method initialize(id:, title:)
|
|
181
|
+
# The company for the promo code.
|
|
182
|
+
#
|
|
183
|
+
# @param id [String] The ID of the company
|
|
184
|
+
#
|
|
185
|
+
# @param title [String] The written name of the company.
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# @see WhopSDK::Models::PromoCode#product
|
|
189
|
+
class Product < WhopSDK::Internal::Type::BaseModel
|
|
190
|
+
# @!attribute id
|
|
191
|
+
# The internal ID of the public product.
|
|
192
|
+
#
|
|
193
|
+
# @return [String]
|
|
194
|
+
required :id, String
|
|
195
|
+
|
|
196
|
+
# @!attribute title
|
|
197
|
+
# The title of the product. Use for Whop 4.0.
|
|
198
|
+
#
|
|
199
|
+
# @return [String]
|
|
200
|
+
required :title, String
|
|
201
|
+
|
|
202
|
+
# @!method initialize(id:, title:)
|
|
203
|
+
# The access pass associated with the promo code.
|
|
204
|
+
#
|
|
205
|
+
# @param id [String] The internal ID of the public product.
|
|
206
|
+
#
|
|
207
|
+
# @param title [String] The title of the product. Use for Whop 4.0.
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module WhopSDK
|
|
4
|
+
module Models
|
|
5
|
+
# @see WhopSDK::Resources::PromoCodes#create
|
|
6
|
+
class PromoCodeCreateParams < WhopSDK::Internal::Type::BaseModel
|
|
7
|
+
extend WhopSDK::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include WhopSDK::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute amount_off
|
|
11
|
+
# The amount off (% or flat amount) for the promo.
|
|
12
|
+
#
|
|
13
|
+
# @return [Float]
|
|
14
|
+
required :amount_off, Float
|
|
15
|
+
|
|
16
|
+
# @!attribute base_currency
|
|
17
|
+
# The monetary currency of the promo code.
|
|
18
|
+
#
|
|
19
|
+
# @return [Symbol, WhopSDK::Models::Currency]
|
|
20
|
+
required :base_currency, enum: -> { WhopSDK::Currency }
|
|
21
|
+
|
|
22
|
+
# @!attribute code
|
|
23
|
+
# The specific code used to apply the promo at checkout.
|
|
24
|
+
#
|
|
25
|
+
# @return [String]
|
|
26
|
+
required :code, String
|
|
27
|
+
|
|
28
|
+
# @!attribute company_id
|
|
29
|
+
# The id of the company to create the promo code for.
|
|
30
|
+
#
|
|
31
|
+
# @return [String]
|
|
32
|
+
required :company_id, String
|
|
33
|
+
|
|
34
|
+
# @!attribute new_users_only
|
|
35
|
+
# Restricts promo use to only users who have never purchased from the company
|
|
36
|
+
# before.
|
|
37
|
+
#
|
|
38
|
+
# @return [Boolean]
|
|
39
|
+
required :new_users_only, WhopSDK::Internal::Type::Boolean
|
|
40
|
+
|
|
41
|
+
# @!attribute promo_duration_months
|
|
42
|
+
# The number of months this promo code is applied and valid for.
|
|
43
|
+
#
|
|
44
|
+
# @return [Integer]
|
|
45
|
+
required :promo_duration_months, Integer
|
|
46
|
+
|
|
47
|
+
# @!attribute promo_type
|
|
48
|
+
# The type (% or flat amount) of the promo.
|
|
49
|
+
#
|
|
50
|
+
# @return [Symbol, WhopSDK::Models::PromoType]
|
|
51
|
+
required :promo_type, enum: -> { WhopSDK::PromoType }
|
|
52
|
+
|
|
53
|
+
# @!attribute churned_users_only
|
|
54
|
+
# Restricts promo use to only users who have churned from the company before.
|
|
55
|
+
#
|
|
56
|
+
# @return [Boolean, nil]
|
|
57
|
+
optional :churned_users_only, WhopSDK::Internal::Type::Boolean, nil?: true
|
|
58
|
+
|
|
59
|
+
# @!attribute existing_memberships_only
|
|
60
|
+
# Whether this promo code is for existing memberships only (cancelations)
|
|
61
|
+
#
|
|
62
|
+
# @return [Boolean, nil]
|
|
63
|
+
optional :existing_memberships_only, WhopSDK::Internal::Type::Boolean, nil?: true
|
|
64
|
+
|
|
65
|
+
# @!attribute expires_at
|
|
66
|
+
# The date/time of when the promo expires.
|
|
67
|
+
#
|
|
68
|
+
# @return [Time, nil]
|
|
69
|
+
optional :expires_at, Time, nil?: true
|
|
70
|
+
|
|
71
|
+
# @!attribute one_per_customer
|
|
72
|
+
# Restricts promo use to only be applied once per customer.
|
|
73
|
+
#
|
|
74
|
+
# @return [Boolean, nil]
|
|
75
|
+
optional :one_per_customer, WhopSDK::Internal::Type::Boolean, nil?: true
|
|
76
|
+
|
|
77
|
+
# @!attribute plan_ids
|
|
78
|
+
# The IDs of the plans that the promo code applies to. If product_id is provided,
|
|
79
|
+
# it will only apply to plans attached to that product
|
|
80
|
+
#
|
|
81
|
+
# @return [Array<String>, nil]
|
|
82
|
+
optional :plan_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
|
|
83
|
+
|
|
84
|
+
# @!attribute product_id
|
|
85
|
+
# The product to lock the promo code to, if any. If provided will filter out any
|
|
86
|
+
# plan ids not attached to this product
|
|
87
|
+
#
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
optional :product_id, String, nil?: true
|
|
90
|
+
|
|
91
|
+
# @!attribute stock
|
|
92
|
+
# The quantity limit on the number of uses.
|
|
93
|
+
#
|
|
94
|
+
# @return [Integer, nil]
|
|
95
|
+
optional :stock, Integer, nil?: true
|
|
96
|
+
|
|
97
|
+
# @!attribute unlimited_stock
|
|
98
|
+
# Whether or not the promo code should have unlimited stock.
|
|
99
|
+
#
|
|
100
|
+
# @return [Boolean, nil]
|
|
101
|
+
optional :unlimited_stock, WhopSDK::Internal::Type::Boolean, nil?: true
|
|
102
|
+
|
|
103
|
+
# @!method initialize(amount_off:, base_currency:, code:, company_id:, new_users_only:, promo_duration_months:, promo_type:, churned_users_only: nil, existing_memberships_only: nil, expires_at: nil, one_per_customer: nil, plan_ids: nil, product_id: nil, stock: nil, unlimited_stock: nil, request_options: {})
|
|
104
|
+
# Some parameter documentations has been truncated, see
|
|
105
|
+
# {WhopSDK::Models::PromoCodeCreateParams} for more details.
|
|
106
|
+
#
|
|
107
|
+
# @param amount_off [Float] The amount off (% or flat amount) for the promo.
|
|
108
|
+
#
|
|
109
|
+
# @param base_currency [Symbol, WhopSDK::Models::Currency] The monetary currency of the promo code.
|
|
110
|
+
#
|
|
111
|
+
# @param code [String] The specific code used to apply the promo at checkout.
|
|
112
|
+
#
|
|
113
|
+
# @param company_id [String] The id of the company to create the promo code for.
|
|
114
|
+
#
|
|
115
|
+
# @param new_users_only [Boolean] Restricts promo use to only users who have never purchased from the company befo
|
|
116
|
+
#
|
|
117
|
+
# @param promo_duration_months [Integer] The number of months this promo code is applied and valid for.
|
|
118
|
+
#
|
|
119
|
+
# @param promo_type [Symbol, WhopSDK::Models::PromoType] The type (% or flat amount) of the promo.
|
|
120
|
+
#
|
|
121
|
+
# @param churned_users_only [Boolean, nil] Restricts promo use to only users who have churned from the company before.
|
|
122
|
+
#
|
|
123
|
+
# @param existing_memberships_only [Boolean, nil] Whether this promo code is for existing memberships only (cancelations)
|
|
124
|
+
#
|
|
125
|
+
# @param expires_at [Time, nil] The date/time of when the promo expires.
|
|
126
|
+
#
|
|
127
|
+
# @param one_per_customer [Boolean, nil] Restricts promo use to only be applied once per customer.
|
|
128
|
+
#
|
|
129
|
+
# @param plan_ids [Array<String>, nil] The IDs of the plans that the promo code applies to. If product_id is provided,
|
|
130
|
+
#
|
|
131
|
+
# @param product_id [String, nil] The product to lock the promo code to, if any. If provided will filter out any p
|
|
132
|
+
#
|
|
133
|
+
# @param stock [Integer, nil] The quantity limit on the number of uses.
|
|
134
|
+
#
|
|
135
|
+
# @param unlimited_stock [Boolean, nil] Whether or not the promo code should have unlimited stock.
|
|
136
|
+
#
|
|
137
|
+
# @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module WhopSDK
|
|
4
|
+
module Models
|
|
5
|
+
# @see WhopSDK::Resources::PromoCodes#delete
|
|
6
|
+
class PromoCodeDeleteParams < WhopSDK::Internal::Type::BaseModel
|
|
7
|
+
extend WhopSDK::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include WhopSDK::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!method initialize(request_options: {})
|
|
11
|
+
# @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module WhopSDK
|
|
4
|
+
module Models
|
|
5
|
+
# @see WhopSDK::Resources::PromoCodes#list
|
|
6
|
+
class PromoCodeListParams < WhopSDK::Internal::Type::BaseModel
|
|
7
|
+
extend WhopSDK::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include WhopSDK::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute company_id
|
|
11
|
+
# The ID of the company to list promo codes for
|
|
12
|
+
#
|
|
13
|
+
# @return [String]
|
|
14
|
+
required :company_id, String
|
|
15
|
+
|
|
16
|
+
# @!attribute after
|
|
17
|
+
# Returns the elements in the list that come after the specified cursor.
|
|
18
|
+
#
|
|
19
|
+
# @return [String, nil]
|
|
20
|
+
optional :after, String, nil?: true
|
|
21
|
+
|
|
22
|
+
# @!attribute before
|
|
23
|
+
# Returns the elements in the list that come before the specified cursor.
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :before, String, nil?: true
|
|
27
|
+
|
|
28
|
+
# @!attribute first
|
|
29
|
+
# Returns the first _n_ elements from the list.
|
|
30
|
+
#
|
|
31
|
+
# @return [Integer, nil]
|
|
32
|
+
optional :first, Integer, nil?: true
|
|
33
|
+
|
|
34
|
+
# @!attribute last
|
|
35
|
+
# Returns the last _n_ elements from the list.
|
|
36
|
+
#
|
|
37
|
+
# @return [Integer, nil]
|
|
38
|
+
optional :last, Integer, nil?: true
|
|
39
|
+
|
|
40
|
+
# @!attribute plan_ids
|
|
41
|
+
# Filter promo codes by plan ID(s)
|
|
42
|
+
#
|
|
43
|
+
# @return [Array<String>, nil]
|
|
44
|
+
optional :plan_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
|
|
45
|
+
|
|
46
|
+
# @!attribute product_ids
|
|
47
|
+
# Filter promo codes by product ID(s)
|
|
48
|
+
#
|
|
49
|
+
# @return [Array<String>, nil]
|
|
50
|
+
optional :product_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
|
|
51
|
+
|
|
52
|
+
# @!attribute status
|
|
53
|
+
# Statuses for promo codes
|
|
54
|
+
#
|
|
55
|
+
# @return [Symbol, WhopSDK::Models::PromoCodeStatus, nil]
|
|
56
|
+
optional :status, enum: -> { WhopSDK::PromoCodeStatus }, nil?: true
|
|
57
|
+
|
|
58
|
+
# @!method initialize(company_id:, after: nil, before: nil, first: nil, last: nil, plan_ids: nil, product_ids: nil, status: nil, request_options: {})
|
|
59
|
+
# @param company_id [String] The ID of the company to list promo codes for
|
|
60
|
+
#
|
|
61
|
+
# @param after [String, nil] Returns the elements in the list that come after the specified cursor.
|
|
62
|
+
#
|
|
63
|
+
# @param before [String, nil] Returns the elements in the list that come before the specified cursor.
|
|
64
|
+
#
|
|
65
|
+
# @param first [Integer, nil] Returns the first _n_ elements from the list.
|
|
66
|
+
#
|
|
67
|
+
# @param last [Integer, nil] Returns the last _n_ elements from the list.
|
|
68
|
+
#
|
|
69
|
+
# @param plan_ids [Array<String>, nil] Filter promo codes by plan ID(s)
|
|
70
|
+
#
|
|
71
|
+
# @param product_ids [Array<String>, nil] Filter promo codes by product ID(s)
|
|
72
|
+
#
|
|
73
|
+
# @param status [Symbol, WhopSDK::Models::PromoCodeStatus, nil] Statuses for promo codes
|
|
74
|
+
#
|
|
75
|
+
# @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|