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,629 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AdReportRetrieveResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::AdReportRetrieveResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Per-day breakdown over the date range, ordered ascending. Null when
15
+ # `includeDaily` is false.
16
+ sig do
17
+ returns(
18
+ T.nilable(T::Array[WhopSDK::Models::AdReportRetrieveResponse::Daily])
19
+ )
20
+ end
21
+ attr_accessor :daily
22
+
23
+ # Aggregate totals and rates over the date range.
24
+ sig { returns(WhopSDK::Models::AdReportRetrieveResponse::Summary) }
25
+ attr_reader :summary
26
+
27
+ sig do
28
+ params(
29
+ summary: WhopSDK::Models::AdReportRetrieveResponse::Summary::OrHash
30
+ ).void
31
+ end
32
+ attr_writer :summary
33
+
34
+ # An ads performance report. Returns a summary; daily breakdown is included when
35
+ # `includeDaily` is true.
36
+ sig do
37
+ params(
38
+ daily:
39
+ T.nilable(
40
+ T::Array[WhopSDK::Models::AdReportRetrieveResponse::Daily::OrHash]
41
+ ),
42
+ summary: WhopSDK::Models::AdReportRetrieveResponse::Summary::OrHash
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Per-day breakdown over the date range, ordered ascending. Null when
47
+ # `includeDaily` is false.
48
+ daily:,
49
+ # Aggregate totals and rates over the date range.
50
+ summary:
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ daily:
58
+ T.nilable(
59
+ T::Array[WhopSDK::Models::AdReportRetrieveResponse::Daily]
60
+ ),
61
+ summary: WhopSDK::Models::AdReportRetrieveResponse::Summary
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+
68
+ class Daily < WhopSDK::Internal::Type::BaseModel
69
+ OrHash =
70
+ T.type_alias do
71
+ T.any(
72
+ WhopSDK::Models::AdReportRetrieveResponse::Daily,
73
+ WhopSDK::Internal::AnyHash
74
+ )
75
+ end
76
+
77
+ # Clicks on this date.
78
+ sig { returns(Integer) }
79
+ attr_accessor :clicks
80
+
81
+ # Impressions on this date.
82
+ sig { returns(Integer) }
83
+ attr_accessor :impressions
84
+
85
+ # Unique users reached on this date.
86
+ sig { returns(Integer) }
87
+ attr_accessor :reach
88
+
89
+ # Count of the primary optimization result on this date.
90
+ sig { returns(T.nilable(Integer)) }
91
+ attr_accessor :result_count
92
+
93
+ # Types of optimization results tracked from external ad platforms
94
+ sig do
95
+ returns(
96
+ T.nilable(
97
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
98
+ )
99
+ )
100
+ end
101
+ attr_accessor :result_label_key
102
+
103
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
104
+ sig { returns(T.nilable(String)) }
105
+ attr_accessor :result_label_override
106
+
107
+ # Charged spend on this date in the requested reporting currency — the amount
108
+ # billed including platform fees, not the platform-side net spend.
109
+ sig { returns(Float) }
110
+ attr_accessor :spend
111
+
112
+ # Currency of the `spend` value.
113
+ sig { returns(WhopSDK::Currency::TaggedSymbol) }
114
+ attr_accessor :spend_currency
115
+
116
+ # The date these stats cover (midnight UTC).
117
+ sig { returns(Time) }
118
+ attr_accessor :stat_date
119
+
120
+ # Per-day ad performance for an ad campaign, ad group, or ad.
121
+ sig do
122
+ params(
123
+ clicks: Integer,
124
+ impressions: Integer,
125
+ reach: Integer,
126
+ result_count: T.nilable(Integer),
127
+ result_label_key:
128
+ T.nilable(
129
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::OrSymbol
130
+ ),
131
+ result_label_override: T.nilable(String),
132
+ spend: Float,
133
+ spend_currency: WhopSDK::Currency::OrSymbol,
134
+ stat_date: Time
135
+ ).returns(T.attached_class)
136
+ end
137
+ def self.new(
138
+ # Clicks on this date.
139
+ clicks:,
140
+ # Impressions on this date.
141
+ impressions:,
142
+ # Unique users reached on this date.
143
+ reach:,
144
+ # Count of the primary optimization result on this date.
145
+ result_count:,
146
+ # Types of optimization results tracked from external ad platforms
147
+ result_label_key:,
148
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
149
+ result_label_override:,
150
+ # Charged spend on this date in the requested reporting currency — the amount
151
+ # billed including platform fees, not the platform-side net spend.
152
+ spend:,
153
+ # Currency of the `spend` value.
154
+ spend_currency:,
155
+ # The date these stats cover (midnight UTC).
156
+ stat_date:
157
+ )
158
+ end
159
+
160
+ sig do
161
+ override.returns(
162
+ {
163
+ clicks: Integer,
164
+ impressions: Integer,
165
+ reach: Integer,
166
+ result_count: T.nilable(Integer),
167
+ result_label_key:
168
+ T.nilable(
169
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
170
+ ),
171
+ result_label_override: T.nilable(String),
172
+ spend: Float,
173
+ spend_currency: WhopSDK::Currency::TaggedSymbol,
174
+ stat_date: Time
175
+ }
176
+ )
177
+ end
178
+ def to_hash
179
+ end
180
+
181
+ # Types of optimization results tracked from external ad platforms
182
+ module ResultLabelKey
183
+ extend WhopSDK::Internal::Type::Enum
184
+
185
+ TaggedSymbol =
186
+ T.type_alias do
187
+ T.all(
188
+ Symbol,
189
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey
190
+ )
191
+ end
192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
193
+
194
+ APP_INSTALLS =
195
+ T.let(
196
+ :app_installs,
197
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
198
+ )
199
+ MESSAGING_CONVERSATIONS_STARTED =
200
+ T.let(
201
+ :messaging_conversations_started,
202
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
203
+ )
204
+ POST_ENGAGEMENT =
205
+ T.let(
206
+ :post_engagement,
207
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
208
+ )
209
+ EVENT_RESPONSES =
210
+ T.let(
211
+ :event_responses,
212
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
213
+ )
214
+ IMPRESSIONS =
215
+ T.let(
216
+ :impressions,
217
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
218
+ )
219
+ WEBSITE_PURCHASES =
220
+ T.let(
221
+ :website_purchases,
222
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
223
+ )
224
+ LANDING_PAGE_VIEWS =
225
+ T.let(
226
+ :landing_page_views,
227
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
228
+ )
229
+ LEADS =
230
+ T.let(
231
+ :leads,
232
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
233
+ )
234
+ LINK_CLICKS =
235
+ T.let(
236
+ :link_clicks,
237
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
238
+ )
239
+ QUALITY_CALLS =
240
+ T.let(
241
+ :quality_calls,
242
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
243
+ )
244
+ APPOINTMENTS_BOOKED =
245
+ T.let(
246
+ :appointments_booked,
247
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
248
+ )
249
+ MESSAGING_PURCHASES =
250
+ T.let(
251
+ :messaging_purchases,
252
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
253
+ )
254
+ PAGE_LIKES =
255
+ T.let(
256
+ :page_likes,
257
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
258
+ )
259
+ INSTAGRAM_PROFILE_VISITS =
260
+ T.let(
261
+ :instagram_profile_visits,
262
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
263
+ )
264
+ REACH =
265
+ T.let(
266
+ :reach,
267
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
268
+ )
269
+ REMINDERS_SET =
270
+ T.let(
271
+ :reminders_set,
272
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
273
+ )
274
+ NEW_SUBSCRIBERS =
275
+ T.let(
276
+ :new_subscribers,
277
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
278
+ )
279
+ VIDEO_VIEWS =
280
+ T.let(
281
+ :video_views,
282
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
283
+ )
284
+ REGISTRATIONS =
285
+ T.let(
286
+ :registrations,
287
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
288
+ )
289
+ CONTENT_VIEWS =
290
+ T.let(
291
+ :content_views,
292
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
293
+ )
294
+ SEARCHES =
295
+ T.let(
296
+ :searches,
297
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
298
+ )
299
+ WEBSITE_SCHEDULES =
300
+ T.let(
301
+ :website_schedules,
302
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
303
+ )
304
+ WEBSITE_SUBMIT_APPLICATIONS =
305
+ T.let(
306
+ :website_submit_applications,
307
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
308
+ )
309
+ CUSTOM =
310
+ T.let(
311
+ :custom,
312
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
313
+ )
314
+
315
+ sig do
316
+ override.returns(
317
+ T::Array[
318
+ WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey::TaggedSymbol
319
+ ]
320
+ )
321
+ end
322
+ def self.values
323
+ end
324
+ end
325
+ end
326
+
327
+ class Summary < WhopSDK::Internal::Type::BaseModel
328
+ OrHash =
329
+ T.type_alias do
330
+ T.any(
331
+ WhopSDK::Models::AdReportRetrieveResponse::Summary,
332
+ WhopSDK::Internal::AnyHash
333
+ )
334
+ end
335
+
336
+ # Total clicks over the date range.
337
+ sig { returns(Integer) }
338
+ attr_accessor :clicks
339
+
340
+ # Spend divided by `resultCount`. Null when there are no results.
341
+ sig { returns(T.nilable(Float)) }
342
+ attr_accessor :cost_per_result
343
+
344
+ # Cost per click in the requested reporting currency.
345
+ sig { returns(Float) }
346
+ attr_accessor :cpc
347
+
348
+ # Cost per thousand impressions in the requested reporting currency.
349
+ sig { returns(T.nilable(Float)) }
350
+ attr_accessor :cpm
351
+
352
+ # Click-through rate (clicks / impressions).
353
+ sig { returns(Float) }
354
+ attr_accessor :ctr
355
+
356
+ # Average number of times each reached user saw an ad.
357
+ sig { returns(T.nilable(Float)) }
358
+ attr_accessor :frequency
359
+
360
+ # Total impressions over the date range.
361
+ sig { returns(Integer) }
362
+ attr_accessor :impressions
363
+
364
+ # Unique users reached, deduplicated by the external ad platform.
365
+ sig { returns(Integer) }
366
+ attr_accessor :reach
367
+
368
+ # Count of the campaign's primary optimization result (purchases, clicks, etc.) —
369
+ # see `resultLabelKey`.
370
+ sig { returns(T.nilable(Integer)) }
371
+ attr_accessor :result_count
372
+
373
+ # Types of optimization results tracked from external ad platforms
374
+ sig do
375
+ returns(
376
+ T.nilable(
377
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
378
+ )
379
+ )
380
+ end
381
+ attr_accessor :result_label_key
382
+
383
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
384
+ sig { returns(T.nilable(String)) }
385
+ attr_accessor :result_label_override
386
+
387
+ # Alias for `purchaseRoas` — return on ad spend for purchases, as reported by the
388
+ # external ad platform.
389
+ sig { returns(T.nilable(Float)) }
390
+ attr_accessor :roas
391
+
392
+ # Total spend over the date range in the requested reporting currency.
393
+ sig { returns(Float) }
394
+ attr_accessor :spend
395
+
396
+ # The available currencies on the platform
397
+ sig { returns(T.nilable(WhopSDK::Currency::TaggedSymbol)) }
398
+ attr_accessor :spend_currency
399
+
400
+ # Aggregate totals and rates over the date range.
401
+ sig do
402
+ params(
403
+ clicks: Integer,
404
+ cost_per_result: T.nilable(Float),
405
+ cpc: Float,
406
+ cpm: T.nilable(Float),
407
+ ctr: Float,
408
+ frequency: T.nilable(Float),
409
+ impressions: Integer,
410
+ reach: Integer,
411
+ result_count: T.nilable(Integer),
412
+ result_label_key:
413
+ T.nilable(
414
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::OrSymbol
415
+ ),
416
+ result_label_override: T.nilable(String),
417
+ roas: T.nilable(Float),
418
+ spend: Float,
419
+ spend_currency: T.nilable(WhopSDK::Currency::OrSymbol)
420
+ ).returns(T.attached_class)
421
+ end
422
+ def self.new(
423
+ # Total clicks over the date range.
424
+ clicks:,
425
+ # Spend divided by `resultCount`. Null when there are no results.
426
+ cost_per_result:,
427
+ # Cost per click in the requested reporting currency.
428
+ cpc:,
429
+ # Cost per thousand impressions in the requested reporting currency.
430
+ cpm:,
431
+ # Click-through rate (clicks / impressions).
432
+ ctr:,
433
+ # Average number of times each reached user saw an ad.
434
+ frequency:,
435
+ # Total impressions over the date range.
436
+ impressions:,
437
+ # Unique users reached, deduplicated by the external ad platform.
438
+ reach:,
439
+ # Count of the campaign's primary optimization result (purchases, clicks, etc.) —
440
+ # see `resultLabelKey`.
441
+ result_count:,
442
+ # Types of optimization results tracked from external ad platforms
443
+ result_label_key:,
444
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
445
+ result_label_override:,
446
+ # Alias for `purchaseRoas` — return on ad spend for purchases, as reported by the
447
+ # external ad platform.
448
+ roas:,
449
+ # Total spend over the date range in the requested reporting currency.
450
+ spend:,
451
+ # The available currencies on the platform
452
+ spend_currency:
453
+ )
454
+ end
455
+
456
+ sig do
457
+ override.returns(
458
+ {
459
+ clicks: Integer,
460
+ cost_per_result: T.nilable(Float),
461
+ cpc: Float,
462
+ cpm: T.nilable(Float),
463
+ ctr: Float,
464
+ frequency: T.nilable(Float),
465
+ impressions: Integer,
466
+ reach: Integer,
467
+ result_count: T.nilable(Integer),
468
+ result_label_key:
469
+ T.nilable(
470
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
471
+ ),
472
+ result_label_override: T.nilable(String),
473
+ roas: T.nilable(Float),
474
+ spend: Float,
475
+ spend_currency: T.nilable(WhopSDK::Currency::TaggedSymbol)
476
+ }
477
+ )
478
+ end
479
+ def to_hash
480
+ end
481
+
482
+ # Types of optimization results tracked from external ad platforms
483
+ module ResultLabelKey
484
+ extend WhopSDK::Internal::Type::Enum
485
+
486
+ TaggedSymbol =
487
+ T.type_alias do
488
+ T.all(
489
+ Symbol,
490
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey
491
+ )
492
+ end
493
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
494
+
495
+ APP_INSTALLS =
496
+ T.let(
497
+ :app_installs,
498
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
499
+ )
500
+ MESSAGING_CONVERSATIONS_STARTED =
501
+ T.let(
502
+ :messaging_conversations_started,
503
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
504
+ )
505
+ POST_ENGAGEMENT =
506
+ T.let(
507
+ :post_engagement,
508
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
509
+ )
510
+ EVENT_RESPONSES =
511
+ T.let(
512
+ :event_responses,
513
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
514
+ )
515
+ IMPRESSIONS =
516
+ T.let(
517
+ :impressions,
518
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
519
+ )
520
+ WEBSITE_PURCHASES =
521
+ T.let(
522
+ :website_purchases,
523
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
524
+ )
525
+ LANDING_PAGE_VIEWS =
526
+ T.let(
527
+ :landing_page_views,
528
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
529
+ )
530
+ LEADS =
531
+ T.let(
532
+ :leads,
533
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
534
+ )
535
+ LINK_CLICKS =
536
+ T.let(
537
+ :link_clicks,
538
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
539
+ )
540
+ QUALITY_CALLS =
541
+ T.let(
542
+ :quality_calls,
543
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
544
+ )
545
+ APPOINTMENTS_BOOKED =
546
+ T.let(
547
+ :appointments_booked,
548
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
549
+ )
550
+ MESSAGING_PURCHASES =
551
+ T.let(
552
+ :messaging_purchases,
553
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
554
+ )
555
+ PAGE_LIKES =
556
+ T.let(
557
+ :page_likes,
558
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
559
+ )
560
+ INSTAGRAM_PROFILE_VISITS =
561
+ T.let(
562
+ :instagram_profile_visits,
563
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
564
+ )
565
+ REACH =
566
+ T.let(
567
+ :reach,
568
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
569
+ )
570
+ REMINDERS_SET =
571
+ T.let(
572
+ :reminders_set,
573
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
574
+ )
575
+ NEW_SUBSCRIBERS =
576
+ T.let(
577
+ :new_subscribers,
578
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
579
+ )
580
+ VIDEO_VIEWS =
581
+ T.let(
582
+ :video_views,
583
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
584
+ )
585
+ REGISTRATIONS =
586
+ T.let(
587
+ :registrations,
588
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
589
+ )
590
+ CONTENT_VIEWS =
591
+ T.let(
592
+ :content_views,
593
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
594
+ )
595
+ SEARCHES =
596
+ T.let(
597
+ :searches,
598
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
599
+ )
600
+ WEBSITE_SCHEDULES =
601
+ T.let(
602
+ :website_schedules,
603
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
604
+ )
605
+ WEBSITE_SUBMIT_APPLICATIONS =
606
+ T.let(
607
+ :website_submit_applications,
608
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
609
+ )
610
+ CUSTOM =
611
+ T.let(
612
+ :custom,
613
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
614
+ )
615
+
616
+ sig do
617
+ override.returns(
618
+ T::Array[
619
+ WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey::TaggedSymbol
620
+ ]
621
+ )
622
+ end
623
+ def self.values
624
+ end
625
+ end
626
+ end
627
+ end
628
+ end
629
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AdRetrieveParams < 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::AdRetrieveParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig do
18
+ params(
19
+ id: String,
20
+ request_options: WhopSDK::RequestOptions::OrHash
21
+ ).returns(T.attached_class)
22
+ end
23
+ def self.new(id:, request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns(
28
+ { id: String, request_options: WhopSDK::RequestOptions }
29
+ )
30
+ end
31
+ def to_hash
32
+ end
33
+ end
34
+ end
35
+ end