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,126 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdCampaigns#list
6
+ class AdCampaignListResponse < 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::AdCampaignListResponse::BudgetType, nil]
23
+ required :budget_type, enum: -> { WhopSDK::Models::AdCampaignListResponse::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 platform
32
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
33
+ #
34
+ # @return [Symbol, WhopSDK::Models::AdCampaignListResponse::Platform]
35
+ required :platform, enum: -> { WhopSDK::Models::AdCampaignListResponse::Platform }
36
+
37
+ # @!attribute status
38
+ # Current status of the campaign (active, paused, or inactive).
39
+ #
40
+ # @return [Symbol, WhopSDK::Models::AdCampaignListResponse::Status]
41
+ required :status, enum: -> { WhopSDK::Models::AdCampaignListResponse::Status }
42
+
43
+ # @!attribute title
44
+ # The campaign name shown in the Whop dashboard.
45
+ #
46
+ # @return [String]
47
+ required :title, String
48
+
49
+ # @!attribute total_spend
50
+ # Total amount spent in dollars.
51
+ #
52
+ # @return [Float]
53
+ required :total_spend, Float
54
+
55
+ # @!attribute updated_at
56
+ # When the ad campaign was last updated.
57
+ #
58
+ # @return [Time]
59
+ required :updated_at, Time
60
+
61
+ # @!method initialize(id:, budget:, budget_type:, created_at:, platform:, status:, title:, total_spend:, updated_at:)
62
+ # An advertising campaign running on an external platform or within Whop.
63
+ #
64
+ # @param id [String] The unique identifier for this ad campaign.
65
+ #
66
+ # @param budget [Float, nil] Total budget in dollars.
67
+ #
68
+ # @param budget_type [Symbol, WhopSDK::Models::AdCampaignListResponse::BudgetType, nil] The budget type for an ad campaign or ad group.
69
+ #
70
+ # @param created_at [Time] When the ad campaign was created.
71
+ #
72
+ # @param platform [Symbol, WhopSDK::Models::AdCampaignListResponse::Platform] The external ad platform this campaign is running on (e.g., meta, tiktok).
73
+ #
74
+ # @param status [Symbol, WhopSDK::Models::AdCampaignListResponse::Status] Current status of the campaign (active, paused, or inactive).
75
+ #
76
+ # @param title [String] The campaign name shown in the Whop dashboard.
77
+ #
78
+ # @param total_spend [Float] Total amount spent in dollars.
79
+ #
80
+ # @param updated_at [Time] When the ad campaign was last updated.
81
+
82
+ # The budget type for an ad campaign or ad group.
83
+ #
84
+ # @see WhopSDK::Models::AdCampaignListResponse#budget_type
85
+ module BudgetType
86
+ extend WhopSDK::Internal::Type::Enum
87
+
88
+ DAILY = :daily
89
+ LIFETIME = :lifetime
90
+
91
+ # @!method self.values
92
+ # @return [Array<Symbol>]
93
+ end
94
+
95
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
96
+ #
97
+ # @see WhopSDK::Models::AdCampaignListResponse#platform
98
+ module Platform
99
+ extend WhopSDK::Internal::Type::Enum
100
+
101
+ META = :meta
102
+ TIKTOK = :tiktok
103
+
104
+ # @!method self.values
105
+ # @return [Array<Symbol>]
106
+ end
107
+
108
+ # Current status of the campaign (active, paused, or inactive).
109
+ #
110
+ # @see WhopSDK::Models::AdCampaignListResponse#status
111
+ module Status
112
+ extend WhopSDK::Internal::Type::Enum
113
+
114
+ ACTIVE = :active
115
+ PAUSED = :paused
116
+ PAYMENT_FAILED = :payment_failed
117
+ DRAFT = :draft
118
+ IN_REVIEW = :in_review
119
+ FLAGGED = :flagged
120
+
121
+ # @!method self.values
122
+ # @return [Array<Symbol>]
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdCampaigns#pause
6
+ class AdCampaignPauseParams < 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,328 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdCampaigns#pause
6
+ class AdCampaignPauseResponse < 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::AdCampaignPauseResponse::BudgetType, nil]
23
+ required :budget_type, enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::CreatedByUser]
35
+ required :created_by_user, -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::MetaConfig, nil]
42
+ required :meta_config, -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::Platform]
48
+ required :platform, enum: -> { WhopSDK::Models::AdCampaignPauseResponse::Platform }
49
+
50
+ # @!attribute status
51
+ # Current status of the campaign (active, paused, or inactive).
52
+ #
53
+ # @return [Symbol, WhopSDK::Models::AdCampaignPauseResponse::Status]
54
+ required :status, enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse} 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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::CreatedByUser] The user who created this ad campaign.
89
+ #
90
+ # @param meta_config [WhopSDK::Models::AdCampaignPauseResponse::MetaConfig, nil] Meta-specific campaign configuration (objective, budget mode, etc.). Null for no
91
+ #
92
+ # @param platform [Symbol, WhopSDK::Models::AdCampaignPauseResponse::Platform] The external ad platform this campaign is running on (e.g., meta, tiktok).
93
+ #
94
+ # @param status [Symbol, WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse#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::AdCampaignPauseResponse#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::AdCampaignPauseResponse#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::AdCampaignPauseResponse::MetaConfig::BidStrategy, nil]
157
+ required :bid_strategy,
158
+ enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::MetaConfig::EffectiveStatus, nil]
173
+ required :effective_status,
174
+ enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::MetaConfig::Objective, nil]
187
+ required :objective,
188
+ enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::MetaConfig::Status, nil]
208
+ required :status, enum: -> { WhopSDK::Models::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse::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::AdCampaignPauseResponse#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::AdCampaignPauseResponse#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::AdCampaigns#retrieve
6
+ class AdCampaignRetrieveParams < 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