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,675 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AdCampaignUnpauseResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::AdCampaignUnpauseResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The unique identifier for this ad campaign.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # Total budget in dollars.
19
+ sig { returns(T.nilable(Float)) }
20
+ attr_accessor :budget
21
+
22
+ # The budget type for an ad campaign or ad group.
23
+ sig do
24
+ returns(
25
+ T.nilable(
26
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::TaggedSymbol
27
+ )
28
+ )
29
+ end
30
+ attr_accessor :budget_type
31
+
32
+ # When the ad campaign was created.
33
+ sig { returns(Time) }
34
+ attr_accessor :created_at
35
+
36
+ # The user who created this ad campaign.
37
+ sig { returns(WhopSDK::Models::AdCampaignUnpauseResponse::CreatedByUser) }
38
+ attr_reader :created_by_user
39
+
40
+ sig do
41
+ params(
42
+ created_by_user:
43
+ WhopSDK::Models::AdCampaignUnpauseResponse::CreatedByUser::OrHash
44
+ ).void
45
+ end
46
+ attr_writer :created_by_user
47
+
48
+ # Meta-specific campaign configuration (objective, budget mode, etc.). Null for
49
+ # non-Meta campaigns.
50
+ sig do
51
+ returns(
52
+ T.nilable(WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig)
53
+ )
54
+ end
55
+ attr_reader :meta_config
56
+
57
+ sig do
58
+ params(
59
+ meta_config:
60
+ T.nilable(
61
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::OrHash
62
+ )
63
+ ).void
64
+ end
65
+ attr_writer :meta_config
66
+
67
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
68
+ sig do
69
+ returns(
70
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::TaggedSymbol
71
+ )
72
+ end
73
+ attr_accessor :platform
74
+
75
+ # Current status of the campaign (active, paused, or inactive).
76
+ sig do
77
+ returns(
78
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
79
+ )
80
+ end
81
+ attr_accessor :status
82
+
83
+ # The campaign name shown in the Whop dashboard.
84
+ sig { returns(String) }
85
+ attr_accessor :title
86
+
87
+ # Total amount spent in dollars.
88
+ sig { returns(Float) }
89
+ attr_accessor :total_spend
90
+
91
+ # When the ad campaign was last updated.
92
+ sig { returns(Time) }
93
+ attr_accessor :updated_at
94
+
95
+ # An advertising campaign running on an external platform or within Whop.
96
+ sig do
97
+ params(
98
+ id: String,
99
+ budget: T.nilable(Float),
100
+ budget_type:
101
+ T.nilable(
102
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::OrSymbol
103
+ ),
104
+ created_at: Time,
105
+ created_by_user:
106
+ WhopSDK::Models::AdCampaignUnpauseResponse::CreatedByUser::OrHash,
107
+ meta_config:
108
+ T.nilable(
109
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::OrHash
110
+ ),
111
+ platform:
112
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::OrSymbol,
113
+ status: WhopSDK::Models::AdCampaignUnpauseResponse::Status::OrSymbol,
114
+ title: String,
115
+ total_spend: Float,
116
+ updated_at: Time
117
+ ).returns(T.attached_class)
118
+ end
119
+ def self.new(
120
+ # The unique identifier for this ad campaign.
121
+ id:,
122
+ # Total budget in dollars.
123
+ budget:,
124
+ # The budget type for an ad campaign or ad group.
125
+ budget_type:,
126
+ # When the ad campaign was created.
127
+ created_at:,
128
+ # The user who created this ad campaign.
129
+ created_by_user:,
130
+ # Meta-specific campaign configuration (objective, budget mode, etc.). Null for
131
+ # non-Meta campaigns.
132
+ meta_config:,
133
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
134
+ platform:,
135
+ # Current status of the campaign (active, paused, or inactive).
136
+ status:,
137
+ # The campaign name shown in the Whop dashboard.
138
+ title:,
139
+ # Total amount spent in dollars.
140
+ total_spend:,
141
+ # When the ad campaign was last updated.
142
+ updated_at:
143
+ )
144
+ end
145
+
146
+ sig do
147
+ override.returns(
148
+ {
149
+ id: String,
150
+ budget: T.nilable(Float),
151
+ budget_type:
152
+ T.nilable(
153
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::TaggedSymbol
154
+ ),
155
+ created_at: Time,
156
+ created_by_user:
157
+ WhopSDK::Models::AdCampaignUnpauseResponse::CreatedByUser,
158
+ meta_config:
159
+ T.nilable(WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig),
160
+ platform:
161
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::TaggedSymbol,
162
+ status:
163
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol,
164
+ title: String,
165
+ total_spend: Float,
166
+ updated_at: Time
167
+ }
168
+ )
169
+ end
170
+ def to_hash
171
+ end
172
+
173
+ # The budget type for an ad campaign or ad group.
174
+ module BudgetType
175
+ extend WhopSDK::Internal::Type::Enum
176
+
177
+ TaggedSymbol =
178
+ T.type_alias do
179
+ T.all(
180
+ Symbol,
181
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType
182
+ )
183
+ end
184
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
185
+
186
+ DAILY =
187
+ T.let(
188
+ :daily,
189
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::TaggedSymbol
190
+ )
191
+ LIFETIME =
192
+ T.let(
193
+ :lifetime,
194
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::TaggedSymbol
195
+ )
196
+
197
+ sig do
198
+ override.returns(
199
+ T::Array[
200
+ WhopSDK::Models::AdCampaignUnpauseResponse::BudgetType::TaggedSymbol
201
+ ]
202
+ )
203
+ end
204
+ def self.values
205
+ end
206
+ end
207
+
208
+ class CreatedByUser < WhopSDK::Internal::Type::BaseModel
209
+ OrHash =
210
+ T.type_alias do
211
+ T.any(
212
+ WhopSDK::Models::AdCampaignUnpauseResponse::CreatedByUser,
213
+ WhopSDK::Internal::AnyHash
214
+ )
215
+ end
216
+
217
+ # The unique identifier for the user.
218
+ sig { returns(String) }
219
+ attr_accessor :id
220
+
221
+ # The user's display name shown on their public profile.
222
+ sig { returns(T.nilable(String)) }
223
+ attr_accessor :name
224
+
225
+ # The user's unique username shown on their public profile.
226
+ sig { returns(String) }
227
+ attr_accessor :username
228
+
229
+ # The user who created this ad campaign.
230
+ sig do
231
+ params(id: String, name: T.nilable(String), username: String).returns(
232
+ T.attached_class
233
+ )
234
+ end
235
+ def self.new(
236
+ # The unique identifier for the user.
237
+ id:,
238
+ # The user's display name shown on their public profile.
239
+ name:,
240
+ # The user's unique username shown on their public profile.
241
+ username:
242
+ )
243
+ end
244
+
245
+ sig do
246
+ override.returns(
247
+ { id: String, name: T.nilable(String), username: String }
248
+ )
249
+ end
250
+ def to_hash
251
+ end
252
+ end
253
+
254
+ class MetaConfig < WhopSDK::Internal::Type::BaseModel
255
+ OrHash =
256
+ T.type_alias do
257
+ T.any(
258
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig,
259
+ WhopSDK::Internal::AnyHash
260
+ )
261
+ end
262
+
263
+ # Bid cap amount in cents. Only used when bid_strategy is bid_cap.
264
+ sig { returns(T.nilable(Integer)) }
265
+ attr_accessor :bid_amount
266
+
267
+ # The bidding strategy used to optimize spend for this campaign.
268
+ sig do
269
+ returns(
270
+ T.nilable(
271
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
272
+ )
273
+ )
274
+ end
275
+ attr_accessor :bid_strategy
276
+
277
+ # Whether campaign budget optimization (CBO) is enabled, allowing the platform to
278
+ # distribute budget across ad groups.
279
+ sig { returns(T.nilable(T::Boolean)) }
280
+ attr_accessor :budget_optimization
281
+
282
+ # The actual delivery status, accounting for platform overrides (e.g., in_review,
283
+ # rejected).
284
+ sig do
285
+ returns(
286
+ T.nilable(
287
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
288
+ )
289
+ )
290
+ end
291
+ attr_accessor :effective_status
292
+
293
+ # The scheduled end time of the campaign (ISO8601).
294
+ sig { returns(T.nilable(String)) }
295
+ attr_accessor :end_time
296
+
297
+ # The campaign objective that determines how Meta optimizes delivery.
298
+ sig do
299
+ returns(
300
+ T.nilable(
301
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
302
+ )
303
+ )
304
+ end
305
+ attr_accessor :objective
306
+
307
+ # Special ad categories required by the platform (e.g., housing, employment,
308
+ # credit).
309
+ sig { returns(T.nilable(T::Array[String])) }
310
+ attr_accessor :special_categories
311
+
312
+ # The scheduled start time of the campaign (ISO8601).
313
+ sig { returns(T.nilable(String)) }
314
+ attr_accessor :start_time
315
+
316
+ # The campaign status as set by the advertiser (active or paused).
317
+ sig do
318
+ returns(
319
+ T.nilable(
320
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::TaggedSymbol
321
+ )
322
+ )
323
+ end
324
+ attr_accessor :status
325
+
326
+ # Meta-specific campaign configuration (objective, budget mode, etc.). Null for
327
+ # non-Meta campaigns.
328
+ sig do
329
+ params(
330
+ bid_amount: T.nilable(Integer),
331
+ bid_strategy:
332
+ T.nilable(
333
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::OrSymbol
334
+ ),
335
+ budget_optimization: T.nilable(T::Boolean),
336
+ effective_status:
337
+ T.nilable(
338
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::OrSymbol
339
+ ),
340
+ end_time: T.nilable(String),
341
+ objective:
342
+ T.nilable(
343
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::OrSymbol
344
+ ),
345
+ special_categories: T.nilable(T::Array[String]),
346
+ start_time: T.nilable(String),
347
+ status:
348
+ T.nilable(
349
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::OrSymbol
350
+ )
351
+ ).returns(T.attached_class)
352
+ end
353
+ def self.new(
354
+ # Bid cap amount in cents. Only used when bid_strategy is bid_cap.
355
+ bid_amount:,
356
+ # The bidding strategy used to optimize spend for this campaign.
357
+ bid_strategy:,
358
+ # Whether campaign budget optimization (CBO) is enabled, allowing the platform to
359
+ # distribute budget across ad groups.
360
+ budget_optimization:,
361
+ # The actual delivery status, accounting for platform overrides (e.g., in_review,
362
+ # rejected).
363
+ effective_status:,
364
+ # The scheduled end time of the campaign (ISO8601).
365
+ end_time:,
366
+ # The campaign objective that determines how Meta optimizes delivery.
367
+ objective:,
368
+ # Special ad categories required by the platform (e.g., housing, employment,
369
+ # credit).
370
+ special_categories:,
371
+ # The scheduled start time of the campaign (ISO8601).
372
+ start_time:,
373
+ # The campaign status as set by the advertiser (active or paused).
374
+ status:
375
+ )
376
+ end
377
+
378
+ sig do
379
+ override.returns(
380
+ {
381
+ bid_amount: T.nilable(Integer),
382
+ bid_strategy:
383
+ T.nilable(
384
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
385
+ ),
386
+ budget_optimization: T.nilable(T::Boolean),
387
+ effective_status:
388
+ T.nilable(
389
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
390
+ ),
391
+ end_time: T.nilable(String),
392
+ objective:
393
+ T.nilable(
394
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
395
+ ),
396
+ special_categories: T.nilable(T::Array[String]),
397
+ start_time: T.nilable(String),
398
+ status:
399
+ T.nilable(
400
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::TaggedSymbol
401
+ )
402
+ }
403
+ )
404
+ end
405
+ def to_hash
406
+ end
407
+
408
+ # The bidding strategy used to optimize spend for this campaign.
409
+ module BidStrategy
410
+ extend WhopSDK::Internal::Type::Enum
411
+
412
+ TaggedSymbol =
413
+ T.type_alias do
414
+ T.all(
415
+ Symbol,
416
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy
417
+ )
418
+ end
419
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
420
+
421
+ LOWEST_COST =
422
+ T.let(
423
+ :lowest_cost,
424
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
425
+ )
426
+ BID_CAP =
427
+ T.let(
428
+ :bid_cap,
429
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
430
+ )
431
+ COST_CAP =
432
+ T.let(
433
+ :cost_cap,
434
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
435
+ )
436
+
437
+ sig do
438
+ override.returns(
439
+ T::Array[
440
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::BidStrategy::TaggedSymbol
441
+ ]
442
+ )
443
+ end
444
+ def self.values
445
+ end
446
+ end
447
+
448
+ # The actual delivery status, accounting for platform overrides (e.g., in_review,
449
+ # rejected).
450
+ module EffectiveStatus
451
+ extend WhopSDK::Internal::Type::Enum
452
+
453
+ TaggedSymbol =
454
+ T.type_alias do
455
+ T.all(
456
+ Symbol,
457
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus
458
+ )
459
+ end
460
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
461
+
462
+ ACTIVE =
463
+ T.let(
464
+ :active,
465
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
466
+ )
467
+ PAUSED =
468
+ T.let(
469
+ :paused,
470
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
471
+ )
472
+ DELETED =
473
+ T.let(
474
+ :deleted,
475
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
476
+ )
477
+ IN_REVIEW =
478
+ T.let(
479
+ :in_review,
480
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
481
+ )
482
+ REJECTED =
483
+ T.let(
484
+ :rejected,
485
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
486
+ )
487
+ WITH_ISSUES =
488
+ T.let(
489
+ :with_issues,
490
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
491
+ )
492
+
493
+ sig do
494
+ override.returns(
495
+ T::Array[
496
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::EffectiveStatus::TaggedSymbol
497
+ ]
498
+ )
499
+ end
500
+ def self.values
501
+ end
502
+ end
503
+
504
+ # The campaign objective that determines how Meta optimizes delivery.
505
+ module Objective
506
+ extend WhopSDK::Internal::Type::Enum
507
+
508
+ TaggedSymbol =
509
+ T.type_alias do
510
+ T.all(
511
+ Symbol,
512
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective
513
+ )
514
+ end
515
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
516
+
517
+ AWARENESS =
518
+ T.let(
519
+ :awareness,
520
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
521
+ )
522
+ TRAFFIC =
523
+ T.let(
524
+ :traffic,
525
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
526
+ )
527
+ ENGAGEMENT =
528
+ T.let(
529
+ :engagement,
530
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
531
+ )
532
+ LEADS =
533
+ T.let(
534
+ :leads,
535
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
536
+ )
537
+ SALES =
538
+ T.let(
539
+ :sales,
540
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
541
+ )
542
+
543
+ sig do
544
+ override.returns(
545
+ T::Array[
546
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Objective::TaggedSymbol
547
+ ]
548
+ )
549
+ end
550
+ def self.values
551
+ end
552
+ end
553
+
554
+ # The campaign status as set by the advertiser (active or paused).
555
+ module Status
556
+ extend WhopSDK::Internal::Type::Enum
557
+
558
+ TaggedSymbol =
559
+ T.type_alias do
560
+ T.all(
561
+ Symbol,
562
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status
563
+ )
564
+ end
565
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
566
+
567
+ ACTIVE =
568
+ T.let(
569
+ :active,
570
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::TaggedSymbol
571
+ )
572
+ PAUSED =
573
+ T.let(
574
+ :paused,
575
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::TaggedSymbol
576
+ )
577
+
578
+ sig do
579
+ override.returns(
580
+ T::Array[
581
+ WhopSDK::Models::AdCampaignUnpauseResponse::MetaConfig::Status::TaggedSymbol
582
+ ]
583
+ )
584
+ end
585
+ def self.values
586
+ end
587
+ end
588
+ end
589
+
590
+ # The external ad platform this campaign is running on (e.g., meta, tiktok).
591
+ module Platform
592
+ extend WhopSDK::Internal::Type::Enum
593
+
594
+ TaggedSymbol =
595
+ T.type_alias do
596
+ T.all(Symbol, WhopSDK::Models::AdCampaignUnpauseResponse::Platform)
597
+ end
598
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
599
+
600
+ META =
601
+ T.let(
602
+ :meta,
603
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::TaggedSymbol
604
+ )
605
+ TIKTOK =
606
+ T.let(
607
+ :tiktok,
608
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::TaggedSymbol
609
+ )
610
+
611
+ sig do
612
+ override.returns(
613
+ T::Array[
614
+ WhopSDK::Models::AdCampaignUnpauseResponse::Platform::TaggedSymbol
615
+ ]
616
+ )
617
+ end
618
+ def self.values
619
+ end
620
+ end
621
+
622
+ # Current status of the campaign (active, paused, or inactive).
623
+ module Status
624
+ extend WhopSDK::Internal::Type::Enum
625
+
626
+ TaggedSymbol =
627
+ T.type_alias do
628
+ T.all(Symbol, WhopSDK::Models::AdCampaignUnpauseResponse::Status)
629
+ end
630
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
631
+
632
+ ACTIVE =
633
+ T.let(
634
+ :active,
635
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
636
+ )
637
+ PAUSED =
638
+ T.let(
639
+ :paused,
640
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
641
+ )
642
+ PAYMENT_FAILED =
643
+ T.let(
644
+ :payment_failed,
645
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
646
+ )
647
+ DRAFT =
648
+ T.let(
649
+ :draft,
650
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
651
+ )
652
+ IN_REVIEW =
653
+ T.let(
654
+ :in_review,
655
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
656
+ )
657
+ FLAGGED =
658
+ T.let(
659
+ :flagged,
660
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
661
+ )
662
+
663
+ sig do
664
+ override.returns(
665
+ T::Array[
666
+ WhopSDK::Models::AdCampaignUnpauseResponse::Status::TaggedSymbol
667
+ ]
668
+ )
669
+ end
670
+ def self.values
671
+ end
672
+ end
673
+ end
674
+ end
675
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AdCampaignUpdateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::AdCampaignUpdateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ # The campaign budget in dollars. The interpretation (daily or lifetime) follows
18
+ # the campaign's existing budget type.
19
+ sig { returns(T.nilable(Float)) }
20
+ attr_accessor :budget
21
+
22
+ sig do
23
+ params(
24
+ id: String,
25
+ budget: T.nilable(Float),
26
+ request_options: WhopSDK::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ id:,
31
+ # The campaign budget in dollars. The interpretation (daily or lifetime) follows
32
+ # the campaign's existing budget type.
33
+ budget: nil,
34
+ request_options: {}
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ id: String,
42
+ budget: T.nilable(Float),
43
+ request_options: WhopSDK::RequestOptions
44
+ }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end