whop_sdk 0.0.37 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +76 -10
  5. data/lib/whop_sdk/helpers/verify_user_token.rb +166 -34
  6. data/lib/whop_sdk/models/ad_campaign_list_params.rb +101 -0
  7. data/lib/whop_sdk/models/ad_campaign_list_response.rb +126 -0
  8. data/lib/whop_sdk/models/ad_campaign_pause_params.rb +20 -0
  9. data/lib/whop_sdk/models/ad_campaign_pause_response.rb +328 -0
  10. data/lib/whop_sdk/models/ad_campaign_retrieve_params.rb +20 -0
  11. data/lib/whop_sdk/models/ad_campaign_retrieve_response.rb +328 -0
  12. data/lib/whop_sdk/models/ad_campaign_unpause_params.rb +20 -0
  13. data/lib/whop_sdk/models/ad_campaign_unpause_response.rb +328 -0
  14. data/lib/whop_sdk/models/ad_campaign_update_params.rb +33 -0
  15. data/lib/whop_sdk/models/ad_campaign_update_response.rb +328 -0
  16. data/lib/whop_sdk/models/ad_group_delete_params.rb +20 -0
  17. data/lib/whop_sdk/models/ad_group_delete_response.rb +8 -0
  18. data/lib/whop_sdk/models/ad_group_list_params.rb +109 -0
  19. data/lib/whop_sdk/models/ad_group_list_response.rb +118 -0
  20. data/lib/whop_sdk/models/ad_group_retrieve_params.rb +20 -0
  21. data/lib/whop_sdk/models/ad_group_retrieve_response.rb +140 -0
  22. data/lib/whop_sdk/models/ad_group_update_params.rb +3207 -0
  23. data/lib/whop_sdk/models/ad_group_update_response.rb +140 -0
  24. data/lib/whop_sdk/models/ad_list_params.rb +115 -0
  25. data/lib/whop_sdk/models/ad_list_response.rb +89 -0
  26. data/lib/whop_sdk/models/ad_report_retrieve_params.rb +77 -0
  27. data/lib/whop_sdk/models/ad_report_retrieve_response.rb +312 -0
  28. data/lib/whop_sdk/models/ad_retrieve_params.rb +20 -0
  29. data/lib/whop_sdk/models/ad_retrieve_response.rb +133 -0
  30. data/lib/whop_sdk/models/authorized_user_roles.rb +1 -0
  31. data/lib/whop_sdk/models/bounty_create_params.rb +105 -0
  32. data/lib/whop_sdk/models/bounty_create_response.rb +126 -0
  33. data/lib/whop_sdk/models/bounty_list_params.rb +85 -0
  34. data/lib/whop_sdk/models/bounty_list_response.rb +126 -0
  35. data/lib/whop_sdk/models/bounty_retrieve_params.rb +20 -0
  36. data/lib/whop_sdk/models/bounty_retrieve_response.rb +126 -0
  37. data/lib/whop_sdk/models/checkout_configuration.rb +20 -2
  38. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +97 -23
  39. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +20 -2
  40. data/lib/whop_sdk/models/company_create_api_key_params.rb +109 -0
  41. data/lib/whop_sdk/models/company_create_api_key_response.rb +35 -0
  42. data/lib/whop_sdk/models/conversion_create_params.rb +462 -0
  43. data/lib/whop_sdk/models/conversion_create_response.rb +19 -0
  44. data/lib/whop_sdk/models/currency.rb +1 -0
  45. data/lib/whop_sdk/models/file_create_params.rb +22 -1
  46. data/lib/whop_sdk/models/file_create_response.rb +26 -3
  47. data/lib/whop_sdk/models/file_retrieve_response.rb +26 -3
  48. data/lib/whop_sdk/models/forum_post_list_params.rb +9 -1
  49. data/lib/whop_sdk/models/forum_update_params.rb +10 -1
  50. data/lib/whop_sdk/models/invoice_create_params.rb +36 -18
  51. data/lib/whop_sdk/models/invoice_update_params.rb +29 -7
  52. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +2 -2
  53. data/lib/whop_sdk/models/membership.rb +11 -1
  54. data/lib/whop_sdk/models/membership_list_response.rb +11 -1
  55. data/lib/whop_sdk/models/payment.rb +47 -2
  56. data/lib/whop_sdk/models/payment_list_response.rb +29 -2
  57. data/lib/whop_sdk/models/payment_method_types.rb +16 -0
  58. data/lib/whop_sdk/models/payment_refund_params.rb +4 -3
  59. data/lib/whop_sdk/models/payout_account_retrieve_response.rb +2 -2
  60. data/lib/whop_sdk/models/payout_account_status_updated_webhook_event.rb +2 -2
  61. data/lib/whop_sdk/models/plan.rb +12 -3
  62. data/lib/whop_sdk/models/plan_create_params.rb +26 -6
  63. data/lib/whop_sdk/models/plan_list_response.rb +12 -3
  64. data/lib/whop_sdk/models/plan_update_params.rb +26 -6
  65. data/lib/whop_sdk/models/support_channel_list_params.rb +31 -9
  66. data/lib/whop_sdk/models/user_retrieve_params.rb +14 -1
  67. data/lib/whop_sdk/models/{user_update_profile_params.rb → user_update_params.rb} +24 -7
  68. data/lib/whop_sdk/models/verification_list_response.rb +2 -2
  69. data/lib/whop_sdk/models/verification_retrieve_response.rb +2 -2
  70. data/lib/whop_sdk/models/verification_status.rb +1 -0
  71. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +2 -2
  72. data/lib/whop_sdk/models.rb +35 -1
  73. data/lib/whop_sdk/resources/ad_campaigns.rb +163 -0
  74. data/lib/whop_sdk/resources/ad_groups.rb +151 -0
  75. data/lib/whop_sdk/resources/ad_reports.rb +59 -0
  76. data/lib/whop_sdk/resources/ads.rb +88 -0
  77. data/lib/whop_sdk/resources/bounties.rb +124 -0
  78. data/lib/whop_sdk/resources/companies.rb +34 -0
  79. data/lib/whop_sdk/resources/conversions.rb +67 -0
  80. data/lib/whop_sdk/resources/files.rb +3 -1
  81. data/lib/whop_sdk/resources/forum_posts.rb +3 -1
  82. data/lib/whop_sdk/resources/forums.rb +3 -1
  83. data/lib/whop_sdk/resources/invoices.rb +9 -2
  84. data/lib/whop_sdk/resources/payments.rb +1 -1
  85. data/lib/whop_sdk/resources/plans.rb +6 -2
  86. data/lib/whop_sdk/resources/support_channels.rb +6 -4
  87. data/lib/whop_sdk/resources/users.rb +49 -37
  88. data/lib/whop_sdk/version.rb +1 -1
  89. data/lib/whop_sdk.rb +41 -1
  90. data/rbi/whop_sdk/client.rbi +24 -0
  91. data/rbi/whop_sdk/models/ad_campaign_list_params.rbi +142 -0
  92. data/rbi/whop_sdk/models/ad_campaign_list_response.rbi +239 -0
  93. data/rbi/whop_sdk/models/ad_campaign_pause_params.rbi +35 -0
  94. data/rbi/whop_sdk/models/ad_campaign_pause_response.rbi +668 -0
  95. data/rbi/whop_sdk/models/ad_campaign_retrieve_params.rbi +35 -0
  96. data/rbi/whop_sdk/models/ad_campaign_retrieve_response.rbi +679 -0
  97. data/rbi/whop_sdk/models/ad_campaign_unpause_params.rbi +35 -0
  98. data/rbi/whop_sdk/models/ad_campaign_unpause_response.rbi +675 -0
  99. data/rbi/whop_sdk/models/ad_campaign_update_params.rbi +51 -0
  100. data/rbi/whop_sdk/models/ad_campaign_update_response.rbi +670 -0
  101. data/rbi/whop_sdk/models/ad_group_delete_params.rbi +35 -0
  102. data/rbi/whop_sdk/models/ad_group_delete_response.rbi +8 -0
  103. data/rbi/whop_sdk/models/ad_group_list_params.rbi +145 -0
  104. data/rbi/whop_sdk/models/ad_group_list_response.rbi +228 -0
  105. data/rbi/whop_sdk/models/ad_group_retrieve_params.rbi +35 -0
  106. data/rbi/whop_sdk/models/ad_group_retrieve_response.rbi +277 -0
  107. data/rbi/whop_sdk/models/ad_group_update_params.rbi +6133 -0
  108. data/rbi/whop_sdk/models/ad_group_update_response.rbi +274 -0
  109. data/rbi/whop_sdk/models/ad_list_params.rbi +146 -0
  110. data/rbi/whop_sdk/models/ad_list_response.rbi +146 -0
  111. data/rbi/whop_sdk/models/ad_report_retrieve_params.rbi +99 -0
  112. data/rbi/whop_sdk/models/ad_report_retrieve_response.rbi +629 -0
  113. data/rbi/whop_sdk/models/ad_retrieve_params.rbi +35 -0
  114. data/rbi/whop_sdk/models/ad_retrieve_response.rbi +245 -0
  115. data/rbi/whop_sdk/models/authorized_user_roles.rbi +2 -0
  116. data/rbi/whop_sdk/models/bounty_create_params.rbi +129 -0
  117. data/rbi/whop_sdk/models/bounty_create_response.rbi +196 -0
  118. data/rbi/whop_sdk/models/bounty_list_params.rbi +115 -0
  119. data/rbi/whop_sdk/models/bounty_list_response.rbi +189 -0
  120. data/rbi/whop_sdk/models/bounty_retrieve_params.rbi +35 -0
  121. data/rbi/whop_sdk/models/bounty_retrieve_response.rbi +199 -0
  122. data/rbi/whop_sdk/models/checkout_configuration.rbi +20 -0
  123. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +84 -16
  124. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +20 -0
  125. data/rbi/whop_sdk/models/company_create_api_key_params.rbi +184 -0
  126. data/rbi/whop_sdk/models/company_create_api_key_response.rbi +51 -0
  127. data/rbi/whop_sdk/models/conversion_create_params.rbi +661 -0
  128. data/rbi/whop_sdk/models/conversion_create_response.rbi +31 -0
  129. data/rbi/whop_sdk/models/currency.rbi +1 -0
  130. data/rbi/whop_sdk/models/file_create_params.rbi +41 -1
  131. data/rbi/whop_sdk/models/file_create_response.rbi +52 -5
  132. data/rbi/whop_sdk/models/file_retrieve_response.rbi +53 -5
  133. data/rbi/whop_sdk/models/forum_post_list_params.rbi +8 -0
  134. data/rbi/whop_sdk/models/forum_update_params.rbi +10 -0
  135. data/rbi/whop_sdk/models/invoice_create_params.rbi +46 -26
  136. data/rbi/whop_sdk/models/invoice_update_params.rbi +28 -6
  137. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +2 -2
  138. data/rbi/whop_sdk/models/membership.rbi +12 -0
  139. data/rbi/whop_sdk/models/membership_list_response.rbi +12 -0
  140. data/rbi/whop_sdk/models/payment.rbi +57 -3
  141. data/rbi/whop_sdk/models/payment_list_response.rbi +37 -3
  142. data/rbi/whop_sdk/models/payment_method_types.rbi +31 -0
  143. data/rbi/whop_sdk/models/payment_refund_params.rbi +6 -4
  144. data/rbi/whop_sdk/models/payout_account_retrieve_response.rbi +2 -2
  145. data/rbi/whop_sdk/models/payout_account_status_updated_webhook_event.rbi +2 -2
  146. data/rbi/whop_sdk/models/plan.rbi +12 -2
  147. data/rbi/whop_sdk/models/plan_create_params.rbi +22 -4
  148. data/rbi/whop_sdk/models/plan_list_response.rbi +12 -2
  149. data/rbi/whop_sdk/models/plan_update_params.rbi +22 -4
  150. data/rbi/whop_sdk/models/support_channel_list_params.rbi +50 -8
  151. data/rbi/whop_sdk/models/user_retrieve_params.rbi +18 -2
  152. data/rbi/whop_sdk/models/{user_update_profile_params.rbi → user_update_params.rbi} +25 -9
  153. data/rbi/whop_sdk/models/verification_list_response.rbi +2 -2
  154. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +2 -2
  155. data/rbi/whop_sdk/models/verification_status.rbi +2 -0
  156. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +2 -2
  157. data/rbi/whop_sdk/models.rbi +35 -1
  158. data/rbi/whop_sdk/resources/ad_campaigns.rbi +134 -0
  159. data/rbi/whop_sdk/resources/ad_groups.rbi +139 -0
  160. data/rbi/whop_sdk/resources/ad_reports.rbi +55 -0
  161. data/rbi/whop_sdk/resources/ads.rbi +81 -0
  162. data/rbi/whop_sdk/resources/bounties.rbi +116 -0
  163. data/rbi/whop_sdk/resources/companies.rbi +32 -0
  164. data/rbi/whop_sdk/resources/conversions.rbi +71 -0
  165. data/rbi/whop_sdk/resources/files.rbi +5 -0
  166. data/rbi/whop_sdk/resources/forum_posts.rbi +3 -0
  167. data/rbi/whop_sdk/resources/forums.rbi +4 -0
  168. data/rbi/whop_sdk/resources/invoices.rbi +10 -1
  169. data/rbi/whop_sdk/resources/payments.rbi +3 -2
  170. data/rbi/whop_sdk/resources/plans.rbi +6 -0
  171. data/rbi/whop_sdk/resources/support_channels.rbi +8 -3
  172. data/rbi/whop_sdk/resources/users.rbi +42 -29
  173. data/sig/whop_sdk/client.rbs +12 -0
  174. data/sig/whop_sdk/models/ad_campaign_list_params.rbs +82 -0
  175. data/sig/whop_sdk/models/ad_campaign_list_response.rbs +98 -0
  176. data/sig/whop_sdk/models/ad_campaign_pause_params.rbs +20 -0
  177. data/sig/whop_sdk/models/ad_campaign_pause_response.rbs +232 -0
  178. data/sig/whop_sdk/models/ad_campaign_retrieve_params.rbs +20 -0
  179. data/sig/whop_sdk/models/ad_campaign_retrieve_response.rbs +232 -0
  180. data/sig/whop_sdk/models/ad_campaign_unpause_params.rbs +20 -0
  181. data/sig/whop_sdk/models/ad_campaign_unpause_response.rbs +232 -0
  182. data/sig/whop_sdk/models/ad_campaign_update_params.rbs +28 -0
  183. data/sig/whop_sdk/models/ad_campaign_update_response.rbs +232 -0
  184. data/sig/whop_sdk/models/ad_group_delete_params.rbs +20 -0
  185. data/sig/whop_sdk/models/ad_group_delete_response.rbs +5 -0
  186. data/sig/whop_sdk/models/ad_group_list_params.rbs +87 -0
  187. data/sig/whop_sdk/models/ad_group_list_response.rbs +93 -0
  188. data/sig/whop_sdk/models/ad_group_retrieve_params.rbs +20 -0
  189. data/sig/whop_sdk/models/ad_group_retrieve_response.rbs +108 -0
  190. data/sig/whop_sdk/models/ad_group_update_params.rbs +2439 -0
  191. data/sig/whop_sdk/models/ad_group_update_response.rbs +108 -0
  192. data/sig/whop_sdk/models/ad_list_params.rbs +87 -0
  193. data/sig/whop_sdk/models/ad_list_response.rbs +72 -0
  194. data/sig/whop_sdk/models/ad_report_retrieve_params.rbs +56 -0
  195. data/sig/whop_sdk/models/ad_report_retrieve_response.rbs +278 -0
  196. data/sig/whop_sdk/models/ad_retrieve_params.rbs +20 -0
  197. data/sig/whop_sdk/models/ad_retrieve_response.rbs +102 -0
  198. data/sig/whop_sdk/models/authorized_user_roles.rbs +2 -0
  199. data/sig/whop_sdk/models/bounty_create_params.rbs +71 -0
  200. data/sig/whop_sdk/models/bounty_create_response.rbs +93 -0
  201. data/sig/whop_sdk/models/bounty_list_params.rbs +67 -0
  202. data/sig/whop_sdk/models/bounty_list_response.rbs +93 -0
  203. data/sig/whop_sdk/models/bounty_retrieve_params.rbs +20 -0
  204. data/sig/whop_sdk/models/bounty_retrieve_response.rbs +93 -0
  205. data/sig/whop_sdk/models/checkout_configuration.rbs +10 -0
  206. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +51 -16
  207. data/sig/whop_sdk/models/checkout_configuration_list_response.rbs +10 -0
  208. data/sig/whop_sdk/models/company_create_api_key_params.rbs +83 -0
  209. data/sig/whop_sdk/models/company_create_api_key_response.rbs +18 -0
  210. data/sig/whop_sdk/models/conversion_create_params.rbs +349 -0
  211. data/sig/whop_sdk/models/conversion_create_response.rbs +13 -0
  212. data/sig/whop_sdk/models/currency.rbs +2 -0
  213. data/sig/whop_sdk/models/file_create_params.rbs +20 -1
  214. data/sig/whop_sdk/models/file_create_response.rbs +19 -3
  215. data/sig/whop_sdk/models/file_retrieve_response.rbs +19 -3
  216. data/sig/whop_sdk/models/forum_post_list_params.rbs +5 -0
  217. data/sig/whop_sdk/models/forum_update_params.rbs +5 -0
  218. data/sig/whop_sdk/models/invoice_create_params.rbs +24 -14
  219. data/sig/whop_sdk/models/invoice_update_params.rbs +15 -5
  220. data/sig/whop_sdk/models/membership.rbs +5 -0
  221. data/sig/whop_sdk/models/membership_list_response.rbs +5 -0
  222. data/sig/whop_sdk/models/payment.rbs +25 -3
  223. data/sig/whop_sdk/models/payment_list_response.rbs +15 -3
  224. data/sig/whop_sdk/models/payment_method_types.rbs +32 -0
  225. data/sig/whop_sdk/models/plan.rbs +5 -0
  226. data/sig/whop_sdk/models/plan_create_params.rbs +14 -4
  227. data/sig/whop_sdk/models/plan_list_response.rbs +5 -0
  228. data/sig/whop_sdk/models/plan_update_params.rbs +14 -4
  229. data/sig/whop_sdk/models/support_channel_list_params.rbs +23 -6
  230. data/sig/whop_sdk/models/user_retrieve_params.rbs +10 -2
  231. data/sig/whop_sdk/models/{user_update_profile_params.rbs → user_update_params.rbs} +16 -6
  232. data/sig/whop_sdk/models/verification_status.rbs +2 -0
  233. data/sig/whop_sdk/models.rbs +35 -1
  234. data/sig/whop_sdk/resources/ad_campaigns.rbs +41 -0
  235. data/sig/whop_sdk/resources/ad_groups.rbs +40 -0
  236. data/sig/whop_sdk/resources/ad_reports.rbs +18 -0
  237. data/sig/whop_sdk/resources/ads.rbs +26 -0
  238. data/sig/whop_sdk/resources/bounties.rbs +37 -0
  239. data/sig/whop_sdk/resources/companies.rbs +9 -0
  240. data/sig/whop_sdk/resources/conversions.rbs +25 -0
  241. data/sig/whop_sdk/resources/files.rbs +1 -0
  242. data/sig/whop_sdk/resources/forum_posts.rbs +1 -0
  243. data/sig/whop_sdk/resources/forums.rbs +1 -0
  244. data/sig/whop_sdk/resources/invoices.rbs +2 -0
  245. data/sig/whop_sdk/resources/plans.rbs +2 -0
  246. data/sig/whop_sdk/resources/support_channels.rbs +2 -1
  247. data/sig/whop_sdk/resources/users.rbs +11 -8
  248. metadata +125 -5
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdCampaigns#update
6
+ class AdCampaignUpdateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute budget
16
+ # The campaign budget in dollars. The interpretation (daily or lifetime) follows
17
+ # the campaign's existing budget type.
18
+ #
19
+ # @return [Float, nil]
20
+ optional :budget, Float, nil?: true
21
+
22
+ # @!method initialize(id:, budget: nil, request_options: {})
23
+ # Some parameter documentations has been truncated, see
24
+ # {WhopSDK::Models::AdCampaignUpdateParams} for more details.
25
+ #
26
+ # @param id [String]
27
+ #
28
+ # @param budget [Float, nil] The campaign budget in dollars. The interpretation (daily or lifetime) follows t
29
+ #
30
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,328 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdCampaigns#update
6
+ class AdCampaignUpdateResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique identifier for this ad campaign.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute budget
14
+ # Total budget in dollars.
15
+ #
16
+ # @return [Float, nil]
17
+ required :budget, Float, nil?: true
18
+
19
+ # @!attribute budget_type
20
+ # The budget type for an ad campaign or ad group.
21
+ #
22
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::BudgetType, nil]
23
+ required :budget_type, enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::BudgetType }, nil?: true
24
+
25
+ # @!attribute created_at
26
+ # When the ad campaign was created.
27
+ #
28
+ # @return [Time]
29
+ required :created_at, Time
30
+
31
+ # @!attribute created_by_user
32
+ # The user who created this ad campaign.
33
+ #
34
+ # @return [WhopSDK::Models::AdCampaignUpdateResponse::CreatedByUser]
35
+ required :created_by_user, -> { WhopSDK::Models::AdCampaignUpdateResponse::CreatedByUser }
36
+
37
+ # @!attribute meta_config
38
+ # Meta-specific campaign configuration (objective, budget mode, etc.). Null for
39
+ # non-Meta campaigns.
40
+ #
41
+ # @return [WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig, nil]
42
+ required :meta_config, -> { WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig }, nil?: true
43
+
44
+ # @!attribute platform
45
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
46
+ #
47
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::Platform]
48
+ required :platform, enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::Platform }
49
+
50
+ # @!attribute status
51
+ # Current status of the campaign (active, paused, or inactive).
52
+ #
53
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::Status]
54
+ required :status, enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::Status }
55
+
56
+ # @!attribute title
57
+ # The campaign name shown in the Whop dashboard.
58
+ #
59
+ # @return [String]
60
+ required :title, String
61
+
62
+ # @!attribute total_spend
63
+ # Total amount spent in dollars.
64
+ #
65
+ # @return [Float]
66
+ required :total_spend, Float
67
+
68
+ # @!attribute updated_at
69
+ # When the ad campaign was last updated.
70
+ #
71
+ # @return [Time]
72
+ required :updated_at, Time
73
+
74
+ # @!method initialize(id:, budget:, budget_type:, created_at:, created_by_user:, meta_config:, platform:, status:, title:, total_spend:, updated_at:)
75
+ # Some parameter documentations has been truncated, see
76
+ # {WhopSDK::Models::AdCampaignUpdateResponse} for more details.
77
+ #
78
+ # An advertising campaign running on an external platform or within Whop.
79
+ #
80
+ # @param id [String] The unique identifier for this ad campaign.
81
+ #
82
+ # @param budget [Float, nil] Total budget in dollars.
83
+ #
84
+ # @param budget_type [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::BudgetType, nil] The budget type for an ad campaign or ad group.
85
+ #
86
+ # @param created_at [Time] When the ad campaign was created.
87
+ #
88
+ # @param created_by_user [WhopSDK::Models::AdCampaignUpdateResponse::CreatedByUser] The user who created this ad campaign.
89
+ #
90
+ # @param meta_config [WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig, nil] Meta-specific campaign configuration (objective, budget mode, etc.). Null for no
91
+ #
92
+ # @param platform [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::Platform] The external ad platform this campaign is running on (e.g., meta, tiktok).
93
+ #
94
+ # @param status [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::Status] Current status of the campaign (active, paused, or inactive).
95
+ #
96
+ # @param title [String] The campaign name shown in the Whop dashboard.
97
+ #
98
+ # @param total_spend [Float] Total amount spent in dollars.
99
+ #
100
+ # @param updated_at [Time] When the ad campaign was last updated.
101
+
102
+ # The budget type for an ad campaign or ad group.
103
+ #
104
+ # @see WhopSDK::Models::AdCampaignUpdateResponse#budget_type
105
+ module BudgetType
106
+ extend WhopSDK::Internal::Type::Enum
107
+
108
+ DAILY = :daily
109
+ LIFETIME = :lifetime
110
+
111
+ # @!method self.values
112
+ # @return [Array<Symbol>]
113
+ end
114
+
115
+ # @see WhopSDK::Models::AdCampaignUpdateResponse#created_by_user
116
+ class CreatedByUser < WhopSDK::Internal::Type::BaseModel
117
+ # @!attribute id
118
+ # The unique identifier for the user.
119
+ #
120
+ # @return [String]
121
+ required :id, String
122
+
123
+ # @!attribute name
124
+ # The user's display name shown on their public profile.
125
+ #
126
+ # @return [String, nil]
127
+ required :name, String, nil?: true
128
+
129
+ # @!attribute username
130
+ # The user's unique username shown on their public profile.
131
+ #
132
+ # @return [String]
133
+ required :username, String
134
+
135
+ # @!method initialize(id:, name:, username:)
136
+ # The user who created this ad campaign.
137
+ #
138
+ # @param id [String] The unique identifier for the user.
139
+ #
140
+ # @param name [String, nil] The user's display name shown on their public profile.
141
+ #
142
+ # @param username [String] The user's unique username shown on their public profile.
143
+ end
144
+
145
+ # @see WhopSDK::Models::AdCampaignUpdateResponse#meta_config
146
+ class MetaConfig < WhopSDK::Internal::Type::BaseModel
147
+ # @!attribute bid_amount
148
+ # Bid cap amount in cents. Only used when bid_strategy is bid_cap.
149
+ #
150
+ # @return [Integer, nil]
151
+ required :bid_amount, Integer, nil?: true
152
+
153
+ # @!attribute bid_strategy
154
+ # The bidding strategy used to optimize spend for this campaign.
155
+ #
156
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::BidStrategy, nil]
157
+ required :bid_strategy,
158
+ enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::BidStrategy },
159
+ nil?: true
160
+
161
+ # @!attribute budget_optimization
162
+ # Whether campaign budget optimization (CBO) is enabled, allowing the platform to
163
+ # distribute budget across ad groups.
164
+ #
165
+ # @return [Boolean, nil]
166
+ required :budget_optimization, WhopSDK::Internal::Type::Boolean, nil?: true
167
+
168
+ # @!attribute effective_status
169
+ # The actual delivery status, accounting for platform overrides (e.g., in_review,
170
+ # rejected).
171
+ #
172
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::EffectiveStatus, nil]
173
+ required :effective_status,
174
+ enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::EffectiveStatus },
175
+ nil?: true
176
+
177
+ # @!attribute end_time
178
+ # The scheduled end time of the campaign (ISO8601).
179
+ #
180
+ # @return [String, nil]
181
+ required :end_time, String, nil?: true
182
+
183
+ # @!attribute objective
184
+ # The campaign objective that determines how Meta optimizes delivery.
185
+ #
186
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Objective, nil]
187
+ required :objective,
188
+ enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Objective },
189
+ nil?: true
190
+
191
+ # @!attribute special_categories
192
+ # Special ad categories required by the platform (e.g., housing, employment,
193
+ # credit).
194
+ #
195
+ # @return [Array<String>, nil]
196
+ required :special_categories, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
197
+
198
+ # @!attribute start_time
199
+ # The scheduled start time of the campaign (ISO8601).
200
+ #
201
+ # @return [String, nil]
202
+ required :start_time, String, nil?: true
203
+
204
+ # @!attribute status
205
+ # The campaign status as set by the advertiser (active or paused).
206
+ #
207
+ # @return [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Status, nil]
208
+ required :status, enum: -> { WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Status }, nil?: true
209
+
210
+ # @!method initialize(bid_amount:, bid_strategy:, budget_optimization:, effective_status:, end_time:, objective:, special_categories:, start_time:, status:)
211
+ # Some parameter documentations has been truncated, see
212
+ # {WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig} for more details.
213
+ #
214
+ # Meta-specific campaign configuration (objective, budget mode, etc.). Null for
215
+ # non-Meta campaigns.
216
+ #
217
+ # @param bid_amount [Integer, nil] Bid cap amount in cents. Only used when bid_strategy is bid_cap.
218
+ #
219
+ # @param bid_strategy [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::BidStrategy, nil] The bidding strategy used to optimize spend for this campaign.
220
+ #
221
+ # @param budget_optimization [Boolean, nil] Whether campaign budget optimization (CBO) is enabled, allowing the platform to
222
+ #
223
+ # @param effective_status [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::EffectiveStatus, nil] The actual delivery status, accounting for platform overrides (e.g., in_review,
224
+ #
225
+ # @param end_time [String, nil] The scheduled end time of the campaign (ISO8601).
226
+ #
227
+ # @param objective [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Objective, nil] The campaign objective that determines how Meta optimizes delivery.
228
+ #
229
+ # @param special_categories [Array<String>, nil] Special ad categories required by the platform (e.g., housing, employment, credi
230
+ #
231
+ # @param start_time [String, nil] The scheduled start time of the campaign (ISO8601).
232
+ #
233
+ # @param status [Symbol, WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig::Status, nil] The campaign status as set by the advertiser (active or paused).
234
+
235
+ # The bidding strategy used to optimize spend for this campaign.
236
+ #
237
+ # @see WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig#bid_strategy
238
+ module BidStrategy
239
+ extend WhopSDK::Internal::Type::Enum
240
+
241
+ LOWEST_COST = :lowest_cost
242
+ BID_CAP = :bid_cap
243
+ COST_CAP = :cost_cap
244
+
245
+ # @!method self.values
246
+ # @return [Array<Symbol>]
247
+ end
248
+
249
+ # The actual delivery status, accounting for platform overrides (e.g., in_review,
250
+ # rejected).
251
+ #
252
+ # @see WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig#effective_status
253
+ module EffectiveStatus
254
+ extend WhopSDK::Internal::Type::Enum
255
+
256
+ ACTIVE = :active
257
+ PAUSED = :paused
258
+ DELETED = :deleted
259
+ IN_REVIEW = :in_review
260
+ REJECTED = :rejected
261
+ WITH_ISSUES = :with_issues
262
+
263
+ # @!method self.values
264
+ # @return [Array<Symbol>]
265
+ end
266
+
267
+ # The campaign objective that determines how Meta optimizes delivery.
268
+ #
269
+ # @see WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig#objective
270
+ module Objective
271
+ extend WhopSDK::Internal::Type::Enum
272
+
273
+ AWARENESS = :awareness
274
+ TRAFFIC = :traffic
275
+ ENGAGEMENT = :engagement
276
+ LEADS = :leads
277
+ SALES = :sales
278
+
279
+ # @!method self.values
280
+ # @return [Array<Symbol>]
281
+ end
282
+
283
+ # The campaign status as set by the advertiser (active or paused).
284
+ #
285
+ # @see WhopSDK::Models::AdCampaignUpdateResponse::MetaConfig#status
286
+ module Status
287
+ extend WhopSDK::Internal::Type::Enum
288
+
289
+ ACTIVE = :active
290
+ PAUSED = :paused
291
+
292
+ # @!method self.values
293
+ # @return [Array<Symbol>]
294
+ end
295
+ end
296
+
297
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
298
+ #
299
+ # @see WhopSDK::Models::AdCampaignUpdateResponse#platform
300
+ module Platform
301
+ extend WhopSDK::Internal::Type::Enum
302
+
303
+ META = :meta
304
+ TIKTOK = :tiktok
305
+
306
+ # @!method self.values
307
+ # @return [Array<Symbol>]
308
+ end
309
+
310
+ # Current status of the campaign (active, paused, or inactive).
311
+ #
312
+ # @see WhopSDK::Models::AdCampaignUpdateResponse#status
313
+ module Status
314
+ extend WhopSDK::Internal::Type::Enum
315
+
316
+ ACTIVE = :active
317
+ PAUSED = :paused
318
+ PAYMENT_FAILED = :payment_failed
319
+ DRAFT = :draft
320
+ IN_REVIEW = :in_review
321
+ FLAGGED = :flagged
322
+
323
+ # @!method self.values
324
+ # @return [Array<Symbol>]
325
+ end
326
+ end
327
+ end
328
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdGroups#delete
6
+ class AdGroupDeleteParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @type [WhopSDK::Internal::Type::Converter]
6
+ AdGroupDeleteResponse = WhopSDK::Internal::Type::Boolean
7
+ end
8
+ end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdGroups#list
6
+ class AdGroupListParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute after
11
+ # Returns the elements in the list that come after the specified cursor.
12
+ #
13
+ # @return [String, nil]
14
+ optional :after, String, nil?: true
15
+
16
+ # @!attribute before
17
+ # Returns the elements in the list that come before the specified cursor.
18
+ #
19
+ # @return [String, nil]
20
+ optional :before, String, nil?: true
21
+
22
+ # @!attribute campaign_id
23
+ # Filter by campaign. Provide exactly one of campaign_id or company_id.
24
+ #
25
+ # @return [String, nil]
26
+ optional :campaign_id, String, nil?: true
27
+
28
+ # @!attribute company_id
29
+ # Filter by company. Provide exactly one of campaign_id or company_id.
30
+ #
31
+ # @return [String, nil]
32
+ optional :company_id, String, nil?: true
33
+
34
+ # @!attribute created_after
35
+ # Only return ad groups created after this timestamp.
36
+ #
37
+ # @return [Time, nil]
38
+ optional :created_after, Time, nil?: true
39
+
40
+ # @!attribute created_before
41
+ # Only return ad groups created before this timestamp.
42
+ #
43
+ # @return [Time, nil]
44
+ optional :created_before, Time, nil?: true
45
+
46
+ # @!attribute first
47
+ # Returns the first _n_ elements from the list.
48
+ #
49
+ # @return [Integer, nil]
50
+ optional :first, Integer, nil?: true
51
+
52
+ # @!attribute last
53
+ # Returns the last _n_ elements from the list.
54
+ #
55
+ # @return [Integer, nil]
56
+ optional :last, Integer, nil?: true
57
+
58
+ # @!attribute query
59
+ # Case-insensitive substring match against the ad group name.
60
+ #
61
+ # @return [String, nil]
62
+ optional :query, String, nil?: true
63
+
64
+ # @!attribute status
65
+ # The status of an external ad group.
66
+ #
67
+ # @return [Symbol, WhopSDK::Models::AdGroupListParams::Status, nil]
68
+ optional :status, enum: -> { WhopSDK::AdGroupListParams::Status }, nil?: true
69
+
70
+ # @!method initialize(after: nil, before: nil, campaign_id: nil, company_id: nil, created_after: nil, created_before: nil, first: nil, last: nil, query: nil, status: nil, request_options: {})
71
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
72
+ #
73
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
74
+ #
75
+ # @param campaign_id [String, nil] Filter by campaign. Provide exactly one of campaign_id or company_id.
76
+ #
77
+ # @param company_id [String, nil] Filter by company. Provide exactly one of campaign_id or company_id.
78
+ #
79
+ # @param created_after [Time, nil] Only return ad groups created after this timestamp.
80
+ #
81
+ # @param created_before [Time, nil] Only return ad groups created before this timestamp.
82
+ #
83
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
84
+ #
85
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
86
+ #
87
+ # @param query [String, nil] Case-insensitive substring match against the ad group name.
88
+ #
89
+ # @param status [Symbol, WhopSDK::Models::AdGroupListParams::Status, nil] The status of an external ad group.
90
+ #
91
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
92
+
93
+ # The status of an external ad group.
94
+ module Status
95
+ extend WhopSDK::Internal::Type::Enum
96
+
97
+ ACTIVE = :active
98
+ PAUSED = :paused
99
+ INACTIVE = :inactive
100
+ IN_REVIEW = :in_review
101
+ REJECTED = :rejected
102
+ FLAGGED = :flagged
103
+
104
+ # @!method self.values
105
+ # @return [Array<Symbol>]
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdGroups#list
6
+ class AdGroupListResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique identifier for this ad group.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute budget
14
+ # Budget amount in dollars.
15
+ #
16
+ # @return [Float, nil]
17
+ required :budget, Float, nil?: true
18
+
19
+ # @!attribute budget_type
20
+ # The budget type for an ad campaign or ad group.
21
+ #
22
+ # @return [Symbol, WhopSDK::Models::AdGroupListResponse::BudgetType, nil]
23
+ required :budget_type, enum: -> { WhopSDK::Models::AdGroupListResponse::BudgetType }, nil?: true
24
+
25
+ # @!attribute created_at
26
+ # When the ad group was created.
27
+ #
28
+ # @return [Time]
29
+ required :created_at, Time
30
+
31
+ # @!attribute platform
32
+ # The external ad platform this ad group is running on (e.g., meta, tiktok).
33
+ #
34
+ # @return [Symbol, WhopSDK::Models::AdGroupListResponse::Platform]
35
+ required :platform, enum: -> { WhopSDK::Models::AdGroupListResponse::Platform }
36
+
37
+ # @!attribute status
38
+ # Current operational status of the ad group.
39
+ #
40
+ # @return [Symbol, WhopSDK::Models::AdGroupListResponse::Status]
41
+ required :status, enum: -> { WhopSDK::Models::AdGroupListResponse::Status }
42
+
43
+ # @!attribute title
44
+ # Human-readable name shown on the external platform.
45
+ #
46
+ # @return [String, nil]
47
+ required :title, String, nil?: true
48
+
49
+ # @!attribute updated_at
50
+ # When the ad group was last updated.
51
+ #
52
+ # @return [Time]
53
+ required :updated_at, Time
54
+
55
+ # @!method initialize(id:, budget:, budget_type:, created_at:, platform:, status:, title:, updated_at:)
56
+ # An ad group (ad set) belonging to an ad campaign.
57
+ #
58
+ # @param id [String] The unique identifier for this ad group.
59
+ #
60
+ # @param budget [Float, nil] Budget amount in dollars.
61
+ #
62
+ # @param budget_type [Symbol, WhopSDK::Models::AdGroupListResponse::BudgetType, nil] The budget type for an ad campaign or ad group.
63
+ #
64
+ # @param created_at [Time] When the ad group was created.
65
+ #
66
+ # @param platform [Symbol, WhopSDK::Models::AdGroupListResponse::Platform] The external ad platform this ad group is running on (e.g., meta, tiktok).
67
+ #
68
+ # @param status [Symbol, WhopSDK::Models::AdGroupListResponse::Status] Current operational status of the ad group.
69
+ #
70
+ # @param title [String, nil] Human-readable name shown on the external platform.
71
+ #
72
+ # @param updated_at [Time] When the ad group was last updated.
73
+
74
+ # The budget type for an ad campaign or ad group.
75
+ #
76
+ # @see WhopSDK::Models::AdGroupListResponse#budget_type
77
+ module BudgetType
78
+ extend WhopSDK::Internal::Type::Enum
79
+
80
+ DAILY = :daily
81
+ LIFETIME = :lifetime
82
+
83
+ # @!method self.values
84
+ # @return [Array<Symbol>]
85
+ end
86
+
87
+ # The external ad platform this ad group is running on (e.g., meta, tiktok).
88
+ #
89
+ # @see WhopSDK::Models::AdGroupListResponse#platform
90
+ module Platform
91
+ extend WhopSDK::Internal::Type::Enum
92
+
93
+ META = :meta
94
+ TIKTOK = :tiktok
95
+
96
+ # @!method self.values
97
+ # @return [Array<Symbol>]
98
+ end
99
+
100
+ # Current operational status of the ad group.
101
+ #
102
+ # @see WhopSDK::Models::AdGroupListResponse#status
103
+ module Status
104
+ extend WhopSDK::Internal::Type::Enum
105
+
106
+ ACTIVE = :active
107
+ PAUSED = :paused
108
+ INACTIVE = :inactive
109
+ IN_REVIEW = :in_review
110
+ REJECTED = :rejected
111
+ FLAGGED = :flagged
112
+
113
+ # @!method self.values
114
+ # @return [Array<Symbol>]
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdGroups#retrieve
6
+ class AdGroupRetrieveParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end