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,312 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AdReports#retrieve
6
+ class AdReportRetrieveResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute daily
8
+ # Per-day breakdown over the date range, ordered ascending. Null when
9
+ # `includeDaily` is false.
10
+ #
11
+ # @return [Array<WhopSDK::Models::AdReportRetrieveResponse::Daily>, nil]
12
+ required :daily,
13
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Models::AdReportRetrieveResponse::Daily] },
14
+ nil?: true
15
+
16
+ # @!attribute summary
17
+ # Aggregate totals and rates over the date range.
18
+ #
19
+ # @return [WhopSDK::Models::AdReportRetrieveResponse::Summary]
20
+ required :summary, -> { WhopSDK::Models::AdReportRetrieveResponse::Summary }
21
+
22
+ # @!method initialize(daily:, summary:)
23
+ # Some parameter documentations has been truncated, see
24
+ # {WhopSDK::Models::AdReportRetrieveResponse} for more details.
25
+ #
26
+ # An ads performance report. Returns a summary; daily breakdown is included when
27
+ # `includeDaily` is true.
28
+ #
29
+ # @param daily [Array<WhopSDK::Models::AdReportRetrieveResponse::Daily>, nil] Per-day breakdown over the date range, ordered ascending. Null when `includeDail
30
+ #
31
+ # @param summary [WhopSDK::Models::AdReportRetrieveResponse::Summary] Aggregate totals and rates over the date range.
32
+
33
+ class Daily < WhopSDK::Internal::Type::BaseModel
34
+ # @!attribute clicks
35
+ # Clicks on this date.
36
+ #
37
+ # @return [Integer]
38
+ required :clicks, Integer
39
+
40
+ # @!attribute impressions
41
+ # Impressions on this date.
42
+ #
43
+ # @return [Integer]
44
+ required :impressions, Integer
45
+
46
+ # @!attribute reach
47
+ # Unique users reached on this date.
48
+ #
49
+ # @return [Integer]
50
+ required :reach, Integer
51
+
52
+ # @!attribute result_count
53
+ # Count of the primary optimization result on this date.
54
+ #
55
+ # @return [Integer, nil]
56
+ required :result_count, Integer, nil?: true
57
+
58
+ # @!attribute result_label_key
59
+ # Types of optimization results tracked from external ad platforms
60
+ #
61
+ # @return [Symbol, WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey, nil]
62
+ required :result_label_key,
63
+ enum: -> { WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey },
64
+ nil?: true
65
+
66
+ # @!attribute result_label_override
67
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
68
+ #
69
+ # @return [String, nil]
70
+ required :result_label_override, String, nil?: true
71
+
72
+ # @!attribute spend
73
+ # Charged spend on this date in the requested reporting currency — the amount
74
+ # billed including platform fees, not the platform-side net spend.
75
+ #
76
+ # @return [Float]
77
+ required :spend, Float
78
+
79
+ # @!attribute spend_currency
80
+ # Currency of the `spend` value.
81
+ #
82
+ # @return [Symbol, WhopSDK::Models::Currency]
83
+ required :spend_currency, enum: -> { WhopSDK::Currency }
84
+
85
+ # @!attribute stat_date
86
+ # The date these stats cover (midnight UTC).
87
+ #
88
+ # @return [Time]
89
+ required :stat_date, Time
90
+
91
+ # @!method initialize(clicks:, impressions:, reach:, result_count:, result_label_key:, result_label_override:, spend:, spend_currency:, stat_date:)
92
+ # Some parameter documentations has been truncated, see
93
+ # {WhopSDK::Models::AdReportRetrieveResponse::Daily} for more details.
94
+ #
95
+ # Per-day ad performance for an ad campaign, ad group, or ad.
96
+ #
97
+ # @param clicks [Integer] Clicks on this date.
98
+ #
99
+ # @param impressions [Integer] Impressions on this date.
100
+ #
101
+ # @param reach [Integer] Unique users reached on this date.
102
+ #
103
+ # @param result_count [Integer, nil] Count of the primary optimization result on this date.
104
+ #
105
+ # @param result_label_key [Symbol, WhopSDK::Models::AdReportRetrieveResponse::Daily::ResultLabelKey, nil] Types of optimization results tracked from external ad platforms
106
+ #
107
+ # @param result_label_override [String, nil] Advertiser-defined label for the result when `resultLabelKey` is `custom`.
108
+ #
109
+ # @param spend [Float] Charged spend on this date in the requested reporting currency — the amount bill
110
+ #
111
+ # @param spend_currency [Symbol, WhopSDK::Models::Currency] Currency of the `spend` value.
112
+ #
113
+ # @param stat_date [Time] The date these stats cover (midnight UTC).
114
+
115
+ # Types of optimization results tracked from external ad platforms
116
+ #
117
+ # @see WhopSDK::Models::AdReportRetrieveResponse::Daily#result_label_key
118
+ module ResultLabelKey
119
+ extend WhopSDK::Internal::Type::Enum
120
+
121
+ APP_INSTALLS = :app_installs
122
+ MESSAGING_CONVERSATIONS_STARTED = :messaging_conversations_started
123
+ POST_ENGAGEMENT = :post_engagement
124
+ EVENT_RESPONSES = :event_responses
125
+ IMPRESSIONS = :impressions
126
+ WEBSITE_PURCHASES = :website_purchases
127
+ LANDING_PAGE_VIEWS = :landing_page_views
128
+ LEADS = :leads
129
+ LINK_CLICKS = :link_clicks
130
+ QUALITY_CALLS = :quality_calls
131
+ APPOINTMENTS_BOOKED = :appointments_booked
132
+ MESSAGING_PURCHASES = :messaging_purchases
133
+ PAGE_LIKES = :page_likes
134
+ INSTAGRAM_PROFILE_VISITS = :instagram_profile_visits
135
+ REACH = :reach
136
+ REMINDERS_SET = :reminders_set
137
+ NEW_SUBSCRIBERS = :new_subscribers
138
+ VIDEO_VIEWS = :video_views
139
+ REGISTRATIONS = :registrations
140
+ CONTENT_VIEWS = :content_views
141
+ SEARCHES = :searches
142
+ WEBSITE_SCHEDULES = :website_schedules
143
+ WEBSITE_SUBMIT_APPLICATIONS = :website_submit_applications
144
+ CUSTOM = :custom
145
+
146
+ # @!method self.values
147
+ # @return [Array<Symbol>]
148
+ end
149
+ end
150
+
151
+ # @see WhopSDK::Models::AdReportRetrieveResponse#summary
152
+ class Summary < WhopSDK::Internal::Type::BaseModel
153
+ # @!attribute clicks
154
+ # Total clicks over the date range.
155
+ #
156
+ # @return [Integer]
157
+ required :clicks, Integer
158
+
159
+ # @!attribute cost_per_result
160
+ # Spend divided by `resultCount`. Null when there are no results.
161
+ #
162
+ # @return [Float, nil]
163
+ required :cost_per_result, Float, nil?: true
164
+
165
+ # @!attribute cpc
166
+ # Cost per click in the requested reporting currency.
167
+ #
168
+ # @return [Float]
169
+ required :cpc, Float
170
+
171
+ # @!attribute cpm
172
+ # Cost per thousand impressions in the requested reporting currency.
173
+ #
174
+ # @return [Float, nil]
175
+ required :cpm, Float, nil?: true
176
+
177
+ # @!attribute ctr
178
+ # Click-through rate (clicks / impressions).
179
+ #
180
+ # @return [Float]
181
+ required :ctr, Float
182
+
183
+ # @!attribute frequency
184
+ # Average number of times each reached user saw an ad.
185
+ #
186
+ # @return [Float, nil]
187
+ required :frequency, Float, nil?: true
188
+
189
+ # @!attribute impressions
190
+ # Total impressions over the date range.
191
+ #
192
+ # @return [Integer]
193
+ required :impressions, Integer
194
+
195
+ # @!attribute reach
196
+ # Unique users reached, deduplicated by the external ad platform.
197
+ #
198
+ # @return [Integer]
199
+ required :reach, Integer
200
+
201
+ # @!attribute result_count
202
+ # Count of the campaign's primary optimization result (purchases, clicks, etc.) —
203
+ # see `resultLabelKey`.
204
+ #
205
+ # @return [Integer, nil]
206
+ required :result_count, Integer, nil?: true
207
+
208
+ # @!attribute result_label_key
209
+ # Types of optimization results tracked from external ad platforms
210
+ #
211
+ # @return [Symbol, WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey, nil]
212
+ required :result_label_key,
213
+ enum: -> { WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey },
214
+ nil?: true
215
+
216
+ # @!attribute result_label_override
217
+ # Advertiser-defined label for the result when `resultLabelKey` is `custom`.
218
+ #
219
+ # @return [String, nil]
220
+ required :result_label_override, String, nil?: true
221
+
222
+ # @!attribute roas
223
+ # Alias for `purchaseRoas` — return on ad spend for purchases, as reported by the
224
+ # external ad platform.
225
+ #
226
+ # @return [Float, nil]
227
+ required :roas, Float, nil?: true
228
+
229
+ # @!attribute spend
230
+ # Total spend over the date range in the requested reporting currency.
231
+ #
232
+ # @return [Float]
233
+ required :spend, Float
234
+
235
+ # @!attribute spend_currency
236
+ # The available currencies on the platform
237
+ #
238
+ # @return [Symbol, WhopSDK::Models::Currency, nil]
239
+ required :spend_currency, enum: -> { WhopSDK::Currency }, nil?: true
240
+
241
+ # @!method initialize(clicks:, cost_per_result:, cpc:, cpm:, ctr:, frequency:, impressions:, reach:, result_count:, result_label_key:, result_label_override:, roas:, spend:, spend_currency:)
242
+ # Some parameter documentations has been truncated, see
243
+ # {WhopSDK::Models::AdReportRetrieveResponse::Summary} for more details.
244
+ #
245
+ # Aggregate totals and rates over the date range.
246
+ #
247
+ # @param clicks [Integer] Total clicks over the date range.
248
+ #
249
+ # @param cost_per_result [Float, nil] Spend divided by `resultCount`. Null when there are no results.
250
+ #
251
+ # @param cpc [Float] Cost per click in the requested reporting currency.
252
+ #
253
+ # @param cpm [Float, nil] Cost per thousand impressions in the requested reporting currency.
254
+ #
255
+ # @param ctr [Float] Click-through rate (clicks / impressions).
256
+ #
257
+ # @param frequency [Float, nil] Average number of times each reached user saw an ad.
258
+ #
259
+ # @param impressions [Integer] Total impressions over the date range.
260
+ #
261
+ # @param reach [Integer] Unique users reached, deduplicated by the external ad platform.
262
+ #
263
+ # @param result_count [Integer, nil] Count of the campaign's primary optimization result (purchases, clicks, etc.) —
264
+ #
265
+ # @param result_label_key [Symbol, WhopSDK::Models::AdReportRetrieveResponse::Summary::ResultLabelKey, nil] Types of optimization results tracked from external ad platforms
266
+ #
267
+ # @param result_label_override [String, nil] Advertiser-defined label for the result when `resultLabelKey` is `custom`.
268
+ #
269
+ # @param roas [Float, nil] Alias for `purchaseRoas` — return on ad spend for purchases, as reported by the
270
+ #
271
+ # @param spend [Float] Total spend over the date range in the requested reporting currency.
272
+ #
273
+ # @param spend_currency [Symbol, WhopSDK::Models::Currency, nil] The available currencies on the platform
274
+
275
+ # Types of optimization results tracked from external ad platforms
276
+ #
277
+ # @see WhopSDK::Models::AdReportRetrieveResponse::Summary#result_label_key
278
+ module ResultLabelKey
279
+ extend WhopSDK::Internal::Type::Enum
280
+
281
+ APP_INSTALLS = :app_installs
282
+ MESSAGING_CONVERSATIONS_STARTED = :messaging_conversations_started
283
+ POST_ENGAGEMENT = :post_engagement
284
+ EVENT_RESPONSES = :event_responses
285
+ IMPRESSIONS = :impressions
286
+ WEBSITE_PURCHASES = :website_purchases
287
+ LANDING_PAGE_VIEWS = :landing_page_views
288
+ LEADS = :leads
289
+ LINK_CLICKS = :link_clicks
290
+ QUALITY_CALLS = :quality_calls
291
+ APPOINTMENTS_BOOKED = :appointments_booked
292
+ MESSAGING_PURCHASES = :messaging_purchases
293
+ PAGE_LIKES = :page_likes
294
+ INSTAGRAM_PROFILE_VISITS = :instagram_profile_visits
295
+ REACH = :reach
296
+ REMINDERS_SET = :reminders_set
297
+ NEW_SUBSCRIBERS = :new_subscribers
298
+ VIDEO_VIEWS = :video_views
299
+ REGISTRATIONS = :registrations
300
+ CONTENT_VIEWS = :content_views
301
+ SEARCHES = :searches
302
+ WEBSITE_SCHEDULES = :website_schedules
303
+ WEBSITE_SUBMIT_APPLICATIONS = :website_submit_applications
304
+ CUSTOM = :custom
305
+
306
+ # @!method self.values
307
+ # @return [Array<Symbol>]
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Ads#retrieve
6
+ class AdRetrieveParams < 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,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Ads#retrieve
6
+ class AdRetrieveResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The unique identifier for this ad.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute ad_campaign
14
+ # The ad campaign this ad belongs to.
15
+ #
16
+ # @return [WhopSDK::Models::AdRetrieveResponse::AdCampaign]
17
+ required :ad_campaign, -> { WhopSDK::Models::AdRetrieveResponse::AdCampaign }
18
+
19
+ # @!attribute ad_group
20
+ # The parent ad group this ad belongs to.
21
+ #
22
+ # @return [WhopSDK::Models::AdRetrieveResponse::AdGroup]
23
+ required :ad_group, -> { WhopSDK::Models::AdRetrieveResponse::AdGroup }
24
+
25
+ # @!attribute created_at
26
+ # When the ad was created.
27
+ #
28
+ # @return [Time]
29
+ required :created_at, Time
30
+
31
+ # @!attribute platform
32
+ # The external ad platform this ad is running on (e.g., meta, tiktok).
33
+ #
34
+ # @return [Symbol, WhopSDK::Models::AdRetrieveResponse::Platform]
35
+ required :platform, enum: -> { WhopSDK::Models::AdRetrieveResponse::Platform }
36
+
37
+ # @!attribute status
38
+ # Current delivery status of the ad.
39
+ #
40
+ # @return [Symbol, WhopSDK::Models::AdRetrieveResponse::Status]
41
+ required :status, enum: -> { WhopSDK::Models::AdRetrieveResponse::Status }
42
+
43
+ # @!attribute title
44
+ # The display title of the ad. Falls back to the creative set caption when unset.
45
+ #
46
+ # @return [String, nil]
47
+ required :title, String, nil?: true
48
+
49
+ # @!attribute updated_at
50
+ # When the ad was last updated.
51
+ #
52
+ # @return [Time]
53
+ required :updated_at, Time
54
+
55
+ # @!method initialize(id:, ad_campaign:, ad_group:, created_at:, platform:, status:, title:, updated_at:)
56
+ # An ad belonging to an ad group.
57
+ #
58
+ # @param id [String] The unique identifier for this ad.
59
+ #
60
+ # @param ad_campaign [WhopSDK::Models::AdRetrieveResponse::AdCampaign] The ad campaign this ad belongs to.
61
+ #
62
+ # @param ad_group [WhopSDK::Models::AdRetrieveResponse::AdGroup] The parent ad group this ad belongs to.
63
+ #
64
+ # @param created_at [Time] When the ad was created.
65
+ #
66
+ # @param platform [Symbol, WhopSDK::Models::AdRetrieveResponse::Platform] The external ad platform this ad is running on (e.g., meta, tiktok).
67
+ #
68
+ # @param status [Symbol, WhopSDK::Models::AdRetrieveResponse::Status] Current delivery status of the ad.
69
+ #
70
+ # @param title [String, nil] The display title of the ad. Falls back to the creative set caption when unset.
71
+ #
72
+ # @param updated_at [Time] When the ad was last updated.
73
+
74
+ # @see WhopSDK::Models::AdRetrieveResponse#ad_campaign
75
+ class AdCampaign < WhopSDK::Internal::Type::BaseModel
76
+ # @!attribute id
77
+ # The unique identifier for this ad campaign.
78
+ #
79
+ # @return [String]
80
+ required :id, String
81
+
82
+ # @!method initialize(id:)
83
+ # The ad campaign this ad belongs to.
84
+ #
85
+ # @param id [String] The unique identifier for this ad campaign.
86
+ end
87
+
88
+ # @see WhopSDK::Models::AdRetrieveResponse#ad_group
89
+ class AdGroup < WhopSDK::Internal::Type::BaseModel
90
+ # @!attribute id
91
+ # The unique identifier for this ad group.
92
+ #
93
+ # @return [String]
94
+ required :id, String
95
+
96
+ # @!method initialize(id:)
97
+ # The parent ad group this ad belongs to.
98
+ #
99
+ # @param id [String] The unique identifier for this ad group.
100
+ end
101
+
102
+ # The external ad platform this ad is running on (e.g., meta, tiktok).
103
+ #
104
+ # @see WhopSDK::Models::AdRetrieveResponse#platform
105
+ module Platform
106
+ extend WhopSDK::Internal::Type::Enum
107
+
108
+ META = :meta
109
+ TIKTOK = :tiktok
110
+
111
+ # @!method self.values
112
+ # @return [Array<Symbol>]
113
+ end
114
+
115
+ # Current delivery status of the ad.
116
+ #
117
+ # @see WhopSDK::Models::AdRetrieveResponse#status
118
+ module Status
119
+ extend WhopSDK::Internal::Type::Enum
120
+
121
+ ACTIVE = :active
122
+ PAUSED = :paused
123
+ INACTIVE = :inactive
124
+ IN_REVIEW = :in_review
125
+ REJECTED = :rejected
126
+ FLAGGED = :flagged
127
+
128
+ # @!method self.values
129
+ # @return [Array<Symbol>]
130
+ end
131
+ end
132
+ end
133
+ end
@@ -10,6 +10,7 @@ module WhopSDK
10
10
  ADMIN = :admin
11
11
  SALES_MANAGER = :sales_manager
12
12
  MODERATOR = :moderator
13
+ ADVERTISER = :advertiser
13
14
  APP_MANAGER = :app_manager
14
15
  SUPPORT = :support
15
16
  MANAGER = :manager
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Bounties#create
6
+ class BountyCreateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute base_unit_amount
11
+ # The amount paid to each approved submission. The total bounty pool funded is
12
+ # this amount times accepted_submissions_limit.
13
+ #
14
+ # @return [Float]
15
+ required :base_unit_amount, Float
16
+
17
+ # @!attribute currency
18
+ # The currency for the bounty pool funding amount.
19
+ #
20
+ # @return [Symbol, WhopSDK::Models::Currency]
21
+ required :currency, enum: -> { WhopSDK::Currency }
22
+
23
+ # @!attribute description
24
+ # The description of the bounty.
25
+ #
26
+ # @return [String]
27
+ required :description, String
28
+
29
+ # @!attribute title
30
+ # The title of the bounty.
31
+ #
32
+ # @return [String]
33
+ required :title, String
34
+
35
+ # @!attribute accepted_submissions_limit
36
+ # The number of submissions that can be approved before the bounty closes.
37
+ # Defaults to 1.
38
+ #
39
+ # @return [Integer, nil]
40
+ optional :accepted_submissions_limit, Integer, nil?: true
41
+
42
+ # @!attribute allowed_country_codes
43
+ # The ISO3166 country codes where this bounty should be visible. Empty means
44
+ # globally visible.
45
+ #
46
+ # @return [Array<String>, nil]
47
+ optional :allowed_country_codes, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
48
+
49
+ # @!attribute experience_id
50
+ # An optional experience to scope the bounty to.
51
+ #
52
+ # @return [String, nil]
53
+ optional :experience_id, String, nil?: true
54
+
55
+ # @!attribute origin_account_id
56
+ # The user (user*\*) or company (biz*\*) tag whose balance funds this bounty pool.
57
+ # Defaults to the requester's personal balance when omitted. The requester must be
58
+ # the user themself or an owner/admin of the company.
59
+ #
60
+ # @return [String, nil]
61
+ optional :origin_account_id, String, nil?: true
62
+
63
+ # @!attribute post_markdown_content
64
+ # Optional markdown body for the anchor forum post. Falls back to the bounty
65
+ # description when omitted.
66
+ #
67
+ # @return [String, nil]
68
+ optional :post_markdown_content, String, nil?: true
69
+
70
+ # @!attribute post_title
71
+ # Optional title for the anchor forum post. Falls back to the bounty title when
72
+ # omitted.
73
+ #
74
+ # @return [String, nil]
75
+ optional :post_title, String, nil?: true
76
+
77
+ # @!method initialize(base_unit_amount:, currency:, description:, title:, accepted_submissions_limit: nil, allowed_country_codes: nil, experience_id: nil, origin_account_id: nil, post_markdown_content: nil, post_title: nil, request_options: {})
78
+ # Some parameter documentations has been truncated, see
79
+ # {WhopSDK::Models::BountyCreateParams} for more details.
80
+ #
81
+ # @param base_unit_amount [Float] The amount paid to each approved submission. The total bounty pool funded is thi
82
+ #
83
+ # @param currency [Symbol, WhopSDK::Models::Currency] The currency for the bounty pool funding amount.
84
+ #
85
+ # @param description [String] The description of the bounty.
86
+ #
87
+ # @param title [String] The title of the bounty.
88
+ #
89
+ # @param accepted_submissions_limit [Integer, nil] The number of submissions that can be approved before the bounty closes. Default
90
+ #
91
+ # @param allowed_country_codes [Array<String>, nil] The ISO3166 country codes where this bounty should be visible. Empty means globa
92
+ #
93
+ # @param experience_id [String, nil] An optional experience to scope the bounty to.
94
+ #
95
+ # @param origin_account_id [String, nil] The user (user*\*) or company (biz*\*) tag whose balance funds this bounty pool.
96
+ # D
97
+ #
98
+ # @param post_markdown_content [String, nil] Optional markdown body for the anchor forum post. Falls back to the bounty descr
99
+ #
100
+ # @param post_title [String, nil] Optional title for the anchor forum post. Falls back to the bounty title when om
101
+ #
102
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
103
+ end
104
+ end
105
+ end