whop_sdk 0.0.39 → 0.0.41

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 (897) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +3 -3
  4. data/lib/whop_sdk/client.rb +227 -72
  5. data/lib/whop_sdk/internal/transport/base_client.rb +5 -0
  6. data/lib/whop_sdk/internal/type/union.rb +6 -6
  7. data/lib/whop_sdk/models/account.rb +967 -0
  8. data/lib/whop_sdk/models/account_create_params.rb +43 -0
  9. data/lib/whop_sdk/models/account_list_params.rb +83 -0
  10. data/lib/whop_sdk/models/account_me_params.rb +14 -0
  11. data/lib/whop_sdk/models/account_recommend_actions_params.rb +20 -0
  12. data/lib/whop_sdk/models/account_recommend_actions_response.rb +143 -0
  13. data/lib/whop_sdk/models/account_retrieve_params.rb +20 -0
  14. data/lib/whop_sdk/models/account_social_link.rb +60 -0
  15. data/lib/whop_sdk/models/account_update_params.rb +512 -0
  16. data/lib/whop_sdk/models/accounts/preference_retrieve_params.rb +22 -0
  17. data/lib/whop_sdk/models/accounts/preference_retrieve_response.rb +129 -0
  18. data/lib/whop_sdk/models/accounts/preference_update_params.rb +142 -0
  19. data/lib/whop_sdk/models/accounts/preference_update_response.rb +129 -0
  20. data/lib/whop_sdk/models/ad.rb +808 -0
  21. data/lib/whop_sdk/models/ad_campaign.rb +635 -0
  22. data/lib/whop_sdk/models/ad_campaign_create_params.rb +194 -0
  23. data/lib/whop_sdk/models/{payout_method_retrieve_params.rb → ad_campaign_delete_params.rb} +2 -2
  24. data/lib/whop_sdk/models/ad_campaign_delete_response.rb +8 -0
  25. data/lib/whop_sdk/models/ad_campaign_list_params.rb +120 -36
  26. data/lib/whop_sdk/models/ad_campaign_retrieve_params.rb +26 -1
  27. data/lib/whop_sdk/models/ad_campaign_update_params.rb +99 -6
  28. data/lib/whop_sdk/models/ad_create_params.rb +660 -0
  29. data/lib/whop_sdk/models/ad_delete_params.rb +20 -0
  30. data/lib/whop_sdk/models/ad_delete_response.rb +8 -0
  31. data/lib/whop_sdk/models/ad_group.rb +774 -0
  32. data/lib/whop_sdk/models/ad_group_create_params.rb +346 -0
  33. data/lib/whop_sdk/models/ad_group_list_params.rb +114 -44
  34. data/lib/whop_sdk/models/ad_group_pause_params.rb +20 -0
  35. data/lib/whop_sdk/models/ad_group_retrieve_params.rb +26 -1
  36. data/lib/whop_sdk/models/ad_group_unpause_params.rb +20 -0
  37. data/lib/whop_sdk/models/ad_group_update_params.rb +238 -3109
  38. data/lib/whop_sdk/models/ad_list_params.rb +127 -42
  39. data/lib/whop_sdk/models/ad_pause_params.rb +20 -0
  40. data/lib/whop_sdk/models/ad_report_retrieve_params.rb +53 -23
  41. data/lib/whop_sdk/models/ad_report_retrieve_response.rb +403 -130
  42. data/lib/whop_sdk/models/ad_retrieve_params.rb +26 -1
  43. data/lib/whop_sdk/models/ad_unpause_params.rb +20 -0
  44. data/lib/whop_sdk/models/ad_update_params.rb +650 -0
  45. data/lib/whop_sdk/models/app.rb +81 -1
  46. data/lib/whop_sdk/models/app_build_create_params.rb +2 -2
  47. data/lib/whop_sdk/models/app_create_params.rb +10 -1
  48. data/lib/whop_sdk/models/app_list_response.rb +19 -1
  49. data/lib/whop_sdk/models/app_logs_params.rb +103 -0
  50. data/lib/whop_sdk/models/app_logs_response.rb +157 -0
  51. data/lib/whop_sdk/models/app_update_params.rb +21 -1
  52. data/lib/whop_sdk/models/audience.rb +191 -0
  53. data/lib/whop_sdk/models/audience_create_params.rb +96 -0
  54. data/lib/whop_sdk/models/audience_delete_params.rb +20 -0
  55. data/lib/whop_sdk/models/audience_delete_response.rb +16 -0
  56. data/lib/whop_sdk/models/audience_list_params.rb +46 -0
  57. data/lib/whop_sdk/models/authorized_user_create_params.rb +70 -1
  58. data/lib/whop_sdk/models/bounty_create_params.rb +70 -3
  59. data/lib/whop_sdk/models/bounty_create_response.rb +1 -0
  60. data/lib/whop_sdk/models/bounty_list_params.rb +1 -0
  61. data/lib/whop_sdk/models/bounty_list_response.rb +1 -0
  62. data/lib/whop_sdk/models/bounty_retrieve_response.rb +1 -0
  63. data/lib/whop_sdk/models/card_brands.rb +1 -0
  64. data/lib/whop_sdk/models/card_create_params.rb +88 -0
  65. data/lib/whop_sdk/models/card_create_response.rb +277 -0
  66. data/lib/whop_sdk/models/card_list_params.rb +30 -0
  67. data/lib/whop_sdk/models/card_list_response.rb +287 -0
  68. data/lib/whop_sdk/models/card_retrieve_params.rb +37 -0
  69. data/lib/whop_sdk/models/card_retrieve_response.rb +277 -0
  70. data/lib/whop_sdk/models/card_update_params.rb +181 -0
  71. data/lib/whop_sdk/models/card_update_response.rb +277 -0
  72. data/lib/whop_sdk/models/chat_message_created_webhook_event.rb +151 -0
  73. data/lib/whop_sdk/models/chat_reaction_created_webhook_event.rb +159 -0
  74. data/lib/whop_sdk/models/checkout_configuration.rb +35 -24
  75. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +303 -1021
  76. data/lib/whop_sdk/models/checkout_configuration_create_response.rb +275 -0
  77. data/lib/whop_sdk/models/checkout_configuration_delete_params.rb +20 -0
  78. data/lib/whop_sdk/models/checkout_configuration_list_params.rb +50 -41
  79. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +136 -122
  80. data/lib/whop_sdk/models/checkout_configuration_retrieve_response.rb +275 -0
  81. data/lib/whop_sdk/models/company.rb +2 -2
  82. data/lib/whop_sdk/models/company_list_response.rb +2 -2
  83. data/lib/whop_sdk/models/course.rb +2 -2
  84. data/lib/whop_sdk/models/course_list_response.rb +2 -2
  85. data/lib/whop_sdk/models/currency.rb +3 -0
  86. data/lib/whop_sdk/models/deposit_create_params.rb +90 -0
  87. data/lib/whop_sdk/models/deposit_create_response.rb +228 -0
  88. data/lib/whop_sdk/models/deposit_list_params.rb +22 -0
  89. data/lib/whop_sdk/models/deposit_list_response.rb +101 -0
  90. data/lib/whop_sdk/models/dispute.rb +14 -15
  91. data/lib/whop_sdk/models/dispute_alert_created_webhook_event.rb +4 -4
  92. data/lib/whop_sdk/models/dispute_alert_retrieve_response.rb +4 -4
  93. data/lib/whop_sdk/models/dispute_list_response.rb +2 -3
  94. data/lib/whop_sdk/models/{conversion_create_params.rb → event_create_params.rb} +294 -32
  95. data/lib/whop_sdk/models/event_create_response.rb +16 -0
  96. data/lib/whop_sdk/models/event_list_params.rb +75 -0
  97. data/lib/whop_sdk/models/event_list_response.rb +242 -0
  98. data/lib/whop_sdk/models/experience.rb +5 -8
  99. data/lib/whop_sdk/models/experience_list_response.rb +2 -5
  100. data/lib/whop_sdk/models/file_create_params.rb +3 -15
  101. data/lib/whop_sdk/models/file_create_response.rb +3 -16
  102. data/lib/whop_sdk/models/file_retrieve_response.rb +3 -16
  103. data/lib/whop_sdk/models/file_visibility.rb +17 -0
  104. data/lib/whop_sdk/models/financial_activity_list_params.rb +113 -0
  105. data/lib/whop_sdk/models/financial_activity_list_response.rb +1174 -0
  106. data/lib/whop_sdk/models/forum_post.rb +2 -2
  107. data/lib/whop_sdk/models/forum_post_list_response.rb +2 -2
  108. data/lib/whop_sdk/models/granularities.rb +18 -0
  109. data/lib/whop_sdk/models/identity_profile_approved_webhook_event.rb +431 -0
  110. data/lib/whop_sdk/models/identity_profile_needs_action_webhook_event.rb +432 -0
  111. data/lib/whop_sdk/models/identity_profile_rejected_webhook_event.rb +431 -0
  112. data/lib/whop_sdk/models/identity_profile_updated_webhook_event.rb +431 -0
  113. data/lib/whop_sdk/models/invoice_create_params.rb +34 -2
  114. data/lib/whop_sdk/models/invoice_update_params.rb +17 -1
  115. data/lib/whop_sdk/models/ledger_account_funds_available_webhook_event.rb +578 -0
  116. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +67 -7
  117. data/lib/whop_sdk/models/lesson.rb +6 -6
  118. data/lib/whop_sdk/models/media_asset.rb +224 -0
  119. data/lib/whop_sdk/models/media_generate_params.rb +105 -0
  120. data/lib/whop_sdk/models/media_retrieve_params.rb +20 -0
  121. data/lib/whop_sdk/models/member_list_response.rb +3 -2
  122. data/lib/whop_sdk/models/member_retrieve_response.rb +3 -2
  123. data/lib/whop_sdk/models/membership.rb +26 -3
  124. data/lib/whop_sdk/models/membership_list_response.rb +26 -3
  125. data/lib/whop_sdk/models/membership_trial_ending_soon_webhook_event.rb +60 -0
  126. data/lib/whop_sdk/models/payment.rb +213 -26
  127. data/lib/whop_sdk/models/payment_create_params.rb +22 -2
  128. data/lib/whop_sdk/models/payment_list_params.rb +9 -1
  129. data/lib/whop_sdk/models/payment_list_response.rb +118 -17
  130. data/lib/whop_sdk/models/payout_create_params.rb +58 -0
  131. data/lib/whop_sdk/models/payout_create_response.rb +185 -0
  132. data/lib/whop_sdk/models/payout_list_params.rb +70 -0
  133. data/lib/whop_sdk/models/payout_list_response.rb +195 -0
  134. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +20 -3
  135. data/lib/whop_sdk/models/payouts/method_list_params.rb +120 -0
  136. data/lib/whop_sdk/models/payouts/method_list_response.rb +315 -0
  137. data/lib/whop_sdk/models/person_list_params.rb +103 -0
  138. data/lib/whop_sdk/models/person_list_response.rb +167 -0
  139. data/lib/whop_sdk/models/person_retrieve_params.rb +50 -0
  140. data/lib/whop_sdk/models/person_retrieve_response.rb +179 -0
  141. data/lib/whop_sdk/models/plan.rb +311 -246
  142. data/lib/whop_sdk/models/plan_calculate_tax_params.rb +248 -0
  143. data/lib/whop_sdk/models/plan_calculate_tax_response.rb +94 -0
  144. data/lib/whop_sdk/models/plan_create_params.rb +137 -153
  145. data/lib/whop_sdk/models/plan_list_params.rb +54 -47
  146. data/lib/whop_sdk/models/plan_list_response.rb +105 -221
  147. data/lib/whop_sdk/models/plan_update_params.rb +116 -133
  148. data/lib/whop_sdk/models/product.rb +40 -37
  149. data/lib/whop_sdk/models/product_create_params.rb +48 -189
  150. data/lib/whop_sdk/models/product_list_item.rb +20 -11
  151. data/lib/whop_sdk/models/product_list_params.rb +35 -57
  152. data/lib/whop_sdk/models/product_update_params.rb +20 -148
  153. data/lib/whop_sdk/models/referral_referred_users_params.rb +66 -0
  154. data/lib/whop_sdk/models/referral_referred_users_response.rb +127 -0
  155. data/lib/whop_sdk/models/referrals/business_leaderboard_params.rb +45 -0
  156. data/lib/whop_sdk/models/referrals/business_leaderboard_response.rb +284 -0
  157. data/lib/whop_sdk/models/referrals/business_list_params.rb +175 -0
  158. data/lib/whop_sdk/models/referrals/business_list_response.rb +361 -0
  159. data/lib/whop_sdk/models/referrals/business_retrieve_params.rb +22 -0
  160. data/lib/whop_sdk/models/referrals/business_retrieve_response.rb +881 -0
  161. data/lib/whop_sdk/models/referrals/businesses/earning_list_params.rb +131 -0
  162. data/lib/whop_sdk/models/referrals/businesses/earning_list_response.rb +371 -0
  163. data/lib/whop_sdk/models/referrals/partner_create_params.rb +16 -0
  164. data/lib/whop_sdk/models/referrals/partner_create_response.rb +31 -0
  165. data/lib/whop_sdk/models/refund_created_webhook_event.rb +86 -5
  166. data/lib/whop_sdk/models/refund_retrieve_response.rb +84 -5
  167. data/lib/whop_sdk/models/refund_updated_webhook_event.rb +86 -5
  168. data/lib/whop_sdk/models/resolution_center_case_platform_response.rb +0 -1
  169. data/lib/whop_sdk/models/result_label_keys.rb +48 -0
  170. data/lib/whop_sdk/models/review_list_response.rb +2 -2
  171. data/lib/whop_sdk/models/review_retrieve_response.rb +4 -7
  172. data/lib/whop_sdk/models/setup_intent.rb +10 -1
  173. data/lib/whop_sdk/models/social_account.rb +101 -0
  174. data/lib/whop_sdk/models/social_account_connect_params.rb +74 -0
  175. data/lib/whop_sdk/models/social_account_connect_response.rb +17 -0
  176. data/lib/whop_sdk/models/social_account_create_params.rb +45 -0
  177. data/lib/whop_sdk/models/social_account_delete_params.rb +42 -0
  178. data/lib/whop_sdk/models/social_account_delete_response.rb +8 -0
  179. data/lib/whop_sdk/models/social_account_list_params.rb +152 -0
  180. data/lib/whop_sdk/models/social_account_post.rb +99 -0
  181. data/lib/whop_sdk/models/social_account_posts_params.rb +53 -0
  182. data/lib/whop_sdk/models/social_account_posts_response.rb +39 -0
  183. data/lib/whop_sdk/models/stat_list_params.rb +14 -0
  184. data/lib/whop_sdk/models/stat_list_response.rb +89 -0
  185. data/lib/whop_sdk/models/stat_retrieve_params.rb +265 -0
  186. data/lib/whop_sdk/models/stat_retrieve_response.rb +88 -0
  187. data/lib/whop_sdk/models/swap_create_params.rb +101 -0
  188. data/lib/whop_sdk/models/swap_create_quote_params.rb +117 -0
  189. data/lib/whop_sdk/models/swap_create_quote_response.rb +130 -0
  190. data/lib/whop_sdk/models/swap_create_response.rb +82 -0
  191. data/lib/whop_sdk/models/swap_list_params.rb +22 -0
  192. data/lib/whop_sdk/models/swap_list_response.rb +77 -0
  193. data/lib/whop_sdk/models/swap_retrieve_params.rb +20 -0
  194. data/lib/whop_sdk/models/swap_retrieve_response.rb +66 -0
  195. data/lib/whop_sdk/models/tax_identifier_type.rb +2 -0
  196. data/lib/whop_sdk/models/transfer_create_params.rb +62 -27
  197. data/lib/whop_sdk/models/transfer_create_response.rb +452 -0
  198. data/lib/whop_sdk/models/transfer_list_params.rb +46 -40
  199. data/lib/whop_sdk/models/transfer_list_response.rb +29 -36
  200. data/lib/whop_sdk/models/transfer_retrieve_response.rb +267 -0
  201. data/lib/whop_sdk/models/unwrap_webhook_event.rb +46 -30
  202. data/lib/whop_sdk/models/user.rb +276 -31
  203. data/lib/whop_sdk/models/user_balance.rb +226 -0
  204. data/lib/whop_sdk/models/user_check_access_response.rb +16 -9
  205. data/lib/whop_sdk/models/user_list_params.rb +15 -15
  206. data/lib/whop_sdk/models/user_retrieve_params.rb +66 -6
  207. data/lib/whop_sdk/models/user_update_me_params.rb +70 -0
  208. data/lib/whop_sdk/models/user_update_params.rb +23 -30
  209. data/lib/whop_sdk/models/verification_create_params.rb +414 -0
  210. data/lib/whop_sdk/models/verification_create_response.rb +400 -0
  211. data/lib/whop_sdk/models/verification_list_params.rb +40 -30
  212. data/lib/whop_sdk/models/verification_list_response.rb +396 -34
  213. data/lib/whop_sdk/models/verification_retrieve_params.rb +4 -4
  214. data/lib/whop_sdk/models/verification_retrieve_response.rb +373 -21
  215. data/lib/whop_sdk/models/verification_update_params.rb +578 -0
  216. data/lib/whop_sdk/models/verification_update_response.rb +400 -0
  217. data/lib/whop_sdk/models/webhook_event.rb +8 -0
  218. data/lib/whop_sdk/models/withdrawal.rb +1 -0
  219. data/lib/whop_sdk/models/withdrawal_create_params.rb +2 -2
  220. data/lib/whop_sdk/models/workforce/bounty_list_params.rb +153 -0
  221. data/lib/whop_sdk/models/workforce/bounty_retrieve_params.rb +22 -0
  222. data/lib/whop_sdk/models/workforce/workforce_bounty.rb +351 -0
  223. data/lib/whop_sdk/models/workforce/workforce_bounty_list_item.rb +347 -0
  224. data/lib/whop_sdk/models.rb +151 -7
  225. data/lib/whop_sdk/resources/access_tokens.rb +0 -1
  226. data/lib/whop_sdk/resources/account_links.rb +0 -1
  227. data/lib/whop_sdk/resources/accounts/preferences.rb +78 -0
  228. data/lib/whop_sdk/resources/accounts.rb +254 -0
  229. data/lib/whop_sdk/resources/ad_campaigns.rb +136 -47
  230. data/lib/whop_sdk/resources/ad_groups.rb +194 -47
  231. data/lib/whop_sdk/resources/ad_reports.rb +14 -9
  232. data/lib/whop_sdk/resources/ads.rb +210 -25
  233. data/lib/whop_sdk/resources/affiliates/overrides.rb +0 -1
  234. data/lib/whop_sdk/resources/affiliates.rb +0 -2
  235. data/lib/whop_sdk/resources/ai_chats.rb +0 -1
  236. data/lib/whop_sdk/resources/app_builds.rb +0 -1
  237. data/lib/whop_sdk/resources/apps.rb +63 -3
  238. data/lib/whop_sdk/resources/audiences.rb +104 -0
  239. data/lib/whop_sdk/resources/authorized_users.rb +3 -2
  240. data/lib/whop_sdk/resources/bounties.rb +9 -2
  241. data/lib/whop_sdk/resources/cards.rb +178 -0
  242. data/lib/whop_sdk/resources/chat_channels.rb +0 -1
  243. data/lib/whop_sdk/resources/checkout_configurations.rb +69 -42
  244. data/lib/whop_sdk/resources/companies.rb +0 -1
  245. data/lib/whop_sdk/resources/company_token_transactions.rb +0 -1
  246. data/lib/whop_sdk/resources/course_chapters.rb +0 -1
  247. data/lib/whop_sdk/resources/course_lesson_interactions.rb +0 -1
  248. data/lib/whop_sdk/resources/course_lessons.rb +0 -1
  249. data/lib/whop_sdk/resources/course_students.rb +0 -1
  250. data/lib/whop_sdk/resources/courses.rb +0 -1
  251. data/lib/whop_sdk/resources/deposits.rb +77 -0
  252. data/lib/whop_sdk/resources/dispute_alerts.rb +0 -1
  253. data/lib/whop_sdk/resources/disputes.rb +0 -1
  254. data/lib/whop_sdk/resources/dm_channels.rb +0 -1
  255. data/lib/whop_sdk/resources/dm_members.rb +0 -1
  256. data/lib/whop_sdk/resources/entries.rb +0 -1
  257. data/lib/whop_sdk/resources/events.rb +121 -0
  258. data/lib/whop_sdk/resources/experiences.rb +0 -1
  259. data/lib/whop_sdk/resources/fee_markups.rb +0 -1
  260. data/lib/whop_sdk/resources/files.rb +1 -2
  261. data/lib/whop_sdk/resources/financial_activity.rb +76 -0
  262. data/lib/whop_sdk/resources/forum_posts.rb +0 -1
  263. data/lib/whop_sdk/resources/forums.rb +0 -1
  264. data/lib/whop_sdk/resources/invoices.rb +0 -1
  265. data/lib/whop_sdk/resources/leads.rb +0 -1
  266. data/lib/whop_sdk/resources/ledger_accounts.rb +0 -1
  267. data/lib/whop_sdk/resources/media.rb +77 -0
  268. data/lib/whop_sdk/resources/members.rb +0 -1
  269. data/lib/whop_sdk/resources/memberships.rb +0 -1
  270. data/lib/whop_sdk/resources/messages.rb +0 -1
  271. data/lib/whop_sdk/resources/notifications.rb +0 -1
  272. data/lib/whop_sdk/resources/payment_methods.rb +0 -1
  273. data/lib/whop_sdk/resources/payments.rb +3 -2
  274. data/lib/whop_sdk/resources/payout_accounts.rb +0 -1
  275. data/lib/whop_sdk/resources/payouts/methods.rb +71 -0
  276. data/lib/whop_sdk/resources/payouts.rb +107 -0
  277. data/lib/whop_sdk/resources/people.rb +99 -0
  278. data/lib/whop_sdk/resources/plans.rb +99 -79
  279. data/lib/whop_sdk/resources/products.rb +48 -93
  280. data/lib/whop_sdk/resources/promo_codes.rb +0 -1
  281. data/lib/whop_sdk/resources/reactions.rb +0 -1
  282. data/lib/whop_sdk/resources/referrals/businesses/earnings.rb +67 -0
  283. data/lib/whop_sdk/resources/referrals/businesses.rb +132 -0
  284. data/lib/whop_sdk/resources/referrals/partners.rb +42 -0
  285. data/lib/whop_sdk/resources/referrals.rb +77 -0
  286. data/lib/whop_sdk/resources/refunds.rb +2 -1
  287. data/lib/whop_sdk/resources/resolution_center_cases.rb +0 -1
  288. data/lib/whop_sdk/resources/reviews.rb +0 -1
  289. data/lib/whop_sdk/resources/setup_intents.rb +0 -1
  290. data/lib/whop_sdk/resources/shipments.rb +0 -1
  291. data/lib/whop_sdk/resources/social_accounts.rb +192 -0
  292. data/lib/whop_sdk/resources/stats.rb +113 -0
  293. data/lib/whop_sdk/resources/support_channels.rb +0 -1
  294. data/lib/whop_sdk/resources/swaps.rb +143 -0
  295. data/lib/whop_sdk/resources/topups.rb +0 -1
  296. data/lib/whop_sdk/resources/transfers.rb +42 -42
  297. data/lib/whop_sdk/resources/users.rb +82 -33
  298. data/lib/whop_sdk/resources/verifications.rb +81 -20
  299. data/lib/whop_sdk/resources/webhooks.rb +1 -2
  300. data/lib/whop_sdk/resources/withdrawals.rb +1 -2
  301. data/lib/whop_sdk/resources/workforce/bounties.rb +97 -0
  302. data/lib/whop_sdk/resources/workforce.rb +25 -0
  303. data/lib/whop_sdk/version.rb +1 -1
  304. data/lib/whop_sdk.rb +148 -21
  305. data/rbi/whop_sdk/client.rbi +211 -69
  306. data/rbi/whop_sdk/models/account.rbi +1532 -0
  307. data/rbi/whop_sdk/models/account_create_params.rbi +72 -0
  308. data/rbi/whop_sdk/models/account_list_params.rbi +145 -0
  309. data/rbi/whop_sdk/models/account_me_params.rbi +27 -0
  310. data/rbi/whop_sdk/models/account_recommend_actions_params.rbi +38 -0
  311. data/rbi/whop_sdk/models/account_recommend_actions_response.rbi +296 -0
  312. data/rbi/whop_sdk/models/account_retrieve_params.rbi +35 -0
  313. data/rbi/whop_sdk/models/account_social_link.rbi +96 -0
  314. data/rbi/whop_sdk/models/account_update_params.rbi +1141 -0
  315. data/rbi/whop_sdk/models/accounts/preference_retrieve_params.rbi +40 -0
  316. data/rbi/whop_sdk/models/accounts/preference_retrieve_response.rbi +323 -0
  317. data/rbi/whop_sdk/models/accounts/preference_update_params.rbi +331 -0
  318. data/rbi/whop_sdk/models/accounts/preference_update_response.rbi +323 -0
  319. data/rbi/whop_sdk/models/ad.rbi +983 -0
  320. data/rbi/whop_sdk/models/ad_campaign.rbi +846 -0
  321. data/rbi/whop_sdk/models/ad_campaign_create_params.rbi +428 -0
  322. data/rbi/whop_sdk/models/{payout_method_retrieve_params.rbi → ad_campaign_delete_params.rbi} +2 -2
  323. data/rbi/whop_sdk/models/ad_campaign_delete_response.rbi +8 -0
  324. data/rbi/whop_sdk/models/ad_campaign_list_params.rbi +248 -56
  325. data/rbi/whop_sdk/models/ad_campaign_retrieve_params.rbi +41 -2
  326. data/rbi/whop_sdk/models/ad_campaign_update_params.rbi +207 -8
  327. data/rbi/whop_sdk/models/ad_create_params.rbi +1491 -0
  328. data/rbi/whop_sdk/models/ad_delete_params.rbi +35 -0
  329. data/rbi/whop_sdk/models/ad_delete_response.rbi +7 -0
  330. data/rbi/whop_sdk/models/ad_group.rbi +948 -0
  331. data/rbi/whop_sdk/models/ad_group_create_params.rbi +654 -0
  332. data/rbi/whop_sdk/models/ad_group_list_params.rbi +217 -67
  333. data/rbi/whop_sdk/models/ad_group_pause_params.rbi +35 -0
  334. data/rbi/whop_sdk/models/ad_group_retrieve_params.rbi +41 -2
  335. data/rbi/whop_sdk/models/ad_group_unpause_params.rbi +35 -0
  336. data/rbi/whop_sdk/models/ad_group_update_params.rbi +494 -5988
  337. data/rbi/whop_sdk/models/ad_list_params.rbi +220 -59
  338. data/rbi/whop_sdk/models/ad_pause_params.rbi +35 -0
  339. data/rbi/whop_sdk/models/ad_report_retrieve_params.rbi +89 -33
  340. data/rbi/whop_sdk/models/ad_report_retrieve_response.rbi +566 -378
  341. data/rbi/whop_sdk/models/ad_retrieve_params.rbi +41 -2
  342. data/rbi/whop_sdk/models/ad_unpause_params.rbi +35 -0
  343. data/rbi/whop_sdk/models/ad_update_params.rbi +1473 -0
  344. data/rbi/whop_sdk/models/app.rbi +111 -0
  345. data/rbi/whop_sdk/models/app_build_create_params.rbi +3 -3
  346. data/rbi/whop_sdk/models/app_create_params.rbi +10 -0
  347. data/rbi/whop_sdk/models/app_list_response.rbi +20 -0
  348. data/rbi/whop_sdk/models/app_logs_params.rbi +154 -0
  349. data/rbi/whop_sdk/models/app_logs_response.rbi +261 -0
  350. data/rbi/whop_sdk/models/app_update_params.rbi +24 -0
  351. data/rbi/whop_sdk/models/audience.rbi +262 -0
  352. data/rbi/whop_sdk/models/audience_create_params.rbi +160 -0
  353. data/rbi/whop_sdk/models/audience_delete_params.rbi +35 -0
  354. data/rbi/whop_sdk/models/audience_delete_response.rbi +26 -0
  355. data/rbi/whop_sdk/models/audience_list_params.rbi +76 -0
  356. data/rbi/whop_sdk/models/authorized_user_create_params.rbi +102 -0
  357. data/rbi/whop_sdk/models/bounty_create_params.rbi +164 -4
  358. data/rbi/whop_sdk/models/bounty_create_response.rbi +5 -0
  359. data/rbi/whop_sdk/models/bounty_list_params.rbi +2 -0
  360. data/rbi/whop_sdk/models/bounty_list_response.rbi +5 -0
  361. data/rbi/whop_sdk/models/bounty_retrieve_response.rbi +5 -0
  362. data/rbi/whop_sdk/models/card_brands.rbi +1 -0
  363. data/rbi/whop_sdk/models/card_create_params.rbi +167 -0
  364. data/rbi/whop_sdk/models/card_create_response.rbi +446 -0
  365. data/rbi/whop_sdk/models/card_list_params.rbi +57 -0
  366. data/rbi/whop_sdk/models/card_list_response.rbi +511 -0
  367. data/rbi/whop_sdk/models/card_retrieve_params.rbi +63 -0
  368. data/rbi/whop_sdk/models/card_retrieve_response.rbi +457 -0
  369. data/rbi/whop_sdk/models/card_update_params.rbi +299 -0
  370. data/rbi/whop_sdk/models/card_update_response.rbi +446 -0
  371. data/rbi/whop_sdk/models/chat_message_created_webhook_event.rbi +319 -0
  372. data/rbi/whop_sdk/models/chat_reaction_created_webhook_event.rbi +335 -0
  373. data/rbi/whop_sdk/models/checkout_configuration.rbi +84 -44
  374. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +404 -1537
  375. data/rbi/whop_sdk/models/checkout_configuration_create_response.rbi +420 -0
  376. data/rbi/whop_sdk/models/checkout_configuration_delete_params.rbi +38 -0
  377. data/rbi/whop_sdk/models/checkout_configuration_list_params.rbi +142 -51
  378. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +202 -161
  379. data/rbi/whop_sdk/models/checkout_configuration_retrieve_response.rbi +422 -0
  380. data/rbi/whop_sdk/models/company.rbi +2 -2
  381. data/rbi/whop_sdk/models/company_list_response.rbi +2 -2
  382. data/rbi/whop_sdk/models/course.rbi +2 -2
  383. data/rbi/whop_sdk/models/course_list_response.rbi +2 -2
  384. data/rbi/whop_sdk/models/currency.rbi +3 -0
  385. data/rbi/whop_sdk/models/deposit_create_params.rbi +165 -0
  386. data/rbi/whop_sdk/models/deposit_create_response.rbi +437 -0
  387. data/rbi/whop_sdk/models/deposit_list_params.rbi +40 -0
  388. data/rbi/whop_sdk/models/deposit_list_response.rbi +163 -0
  389. data/rbi/whop_sdk/models/dispute.rbi +15 -17
  390. data/rbi/whop_sdk/models/dispute_alert_created_webhook_event.rbi +5 -5
  391. data/rbi/whop_sdk/models/dispute_alert_retrieve_response.rbi +5 -5
  392. data/rbi/whop_sdk/models/dispute_list_response.rbi +2 -4
  393. data/rbi/whop_sdk/models/event_create_params.rbi +891 -0
  394. data/rbi/whop_sdk/models/{conversion_create_response.rbi → event_create_response.rbi} +3 -8
  395. data/rbi/whop_sdk/models/event_list_params.rbi +111 -0
  396. data/rbi/whop_sdk/models/event_list_response.rbi +350 -0
  397. data/rbi/whop_sdk/models/experience.rbi +6 -6
  398. data/rbi/whop_sdk/models/experience_list_response.rbi +2 -2
  399. data/rbi/whop_sdk/models/file_create_params.rbi +3 -30
  400. data/rbi/whop_sdk/models/file_create_response.rbi +3 -38
  401. data/rbi/whop_sdk/models/file_retrieve_response.rbi +3 -39
  402. data/rbi/whop_sdk/models/file_visibility.rbi +21 -0
  403. data/rbi/whop_sdk/models/financial_activity_list_params.rbi +175 -0
  404. data/rbi/whop_sdk/models/financial_activity_list_response.rbi +2066 -0
  405. data/rbi/whop_sdk/models/forum_post.rbi +2 -2
  406. data/rbi/whop_sdk/models/forum_post_list_response.rbi +2 -2
  407. data/rbi/whop_sdk/models/granularities.rbi +22 -0
  408. data/rbi/whop_sdk/models/identity_profile_approved_webhook_event.rbi +669 -0
  409. data/rbi/whop_sdk/models/identity_profile_needs_action_webhook_event.rbi +669 -0
  410. data/rbi/whop_sdk/models/identity_profile_rejected_webhook_event.rbi +669 -0
  411. data/rbi/whop_sdk/models/identity_profile_updated_webhook_event.rbi +669 -0
  412. data/rbi/whop_sdk/models/invoice_create_params.rbi +32 -0
  413. data/rbi/whop_sdk/models/invoice_update_params.rbi +16 -0
  414. data/rbi/whop_sdk/models/ledger_account_funds_available_webhook_event.rbi +1001 -0
  415. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +111 -5
  416. data/rbi/whop_sdk/models/lesson.rbi +6 -6
  417. data/rbi/whop_sdk/models/media_asset.rbi +325 -0
  418. data/rbi/whop_sdk/models/media_generate_params.rbi +204 -0
  419. data/rbi/whop_sdk/models/media_retrieve_params.rbi +35 -0
  420. data/rbi/whop_sdk/models/member_list_response.rbi +4 -2
  421. data/rbi/whop_sdk/models/member_retrieve_response.rbi +4 -2
  422. data/rbi/whop_sdk/models/membership.rbi +50 -7
  423. data/rbi/whop_sdk/models/membership_list_response.rbi +50 -7
  424. data/rbi/whop_sdk/models/membership_trial_ending_soon_webhook_event.rbi +85 -0
  425. data/rbi/whop_sdk/models/payment.rbi +295 -40
  426. data/rbi/whop_sdk/models/payment_create_params.rbi +30 -6
  427. data/rbi/whop_sdk/models/payment_list_params.rbi +8 -0
  428. data/rbi/whop_sdk/models/payment_list_response.rbi +188 -28
  429. data/rbi/whop_sdk/models/payout_create_params.rbi +83 -0
  430. data/rbi/whop_sdk/models/payout_create_response.rbi +352 -0
  431. data/rbi/whop_sdk/models/payout_list_params.rbi +112 -0
  432. data/rbi/whop_sdk/models/payout_list_response.rbi +353 -0
  433. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +64 -3
  434. data/rbi/whop_sdk/models/payouts/method_list_params.rbi +209 -0
  435. data/rbi/whop_sdk/models/payouts/method_list_response.rbi +554 -0
  436. data/rbi/whop_sdk/models/person_list_params.rbi +160 -0
  437. data/rbi/whop_sdk/models/person_list_response.rbi +282 -0
  438. data/rbi/whop_sdk/models/person_retrieve_params.rbi +76 -0
  439. data/rbi/whop_sdk/models/person_retrieve_response.rbi +349 -0
  440. data/rbi/whop_sdk/models/plan.rbi +346 -332
  441. data/rbi/whop_sdk/models/plan_calculate_tax_params.rbi +795 -0
  442. data/rbi/whop_sdk/models/plan_calculate_tax_response.rbi +170 -0
  443. data/rbi/whop_sdk/models/plan_create_params.rbi +267 -217
  444. data/rbi/whop_sdk/models/plan_list_params.rbi +121 -67
  445. data/rbi/whop_sdk/models/plan_list_response.rbi +127 -360
  446. data/rbi/whop_sdk/models/plan_update_params.rbi +228 -192
  447. data/rbi/whop_sdk/models/product.rbi +48 -44
  448. data/rbi/whop_sdk/models/product_create_params.rbi +69 -273
  449. data/rbi/whop_sdk/models/product_list_item.rbi +24 -14
  450. data/rbi/whop_sdk/models/product_list_params.rbi +75 -78
  451. data/rbi/whop_sdk/models/product_update_params.rbi +30 -207
  452. data/rbi/whop_sdk/models/referral_referred_users_params.rbi +106 -0
  453. data/rbi/whop_sdk/models/referral_referred_users_response.rbi +259 -0
  454. data/rbi/whop_sdk/models/referrals/business_leaderboard_params.rbi +120 -0
  455. data/rbi/whop_sdk/models/referrals/business_leaderboard_response.rbi +535 -0
  456. data/rbi/whop_sdk/models/referrals/business_list_params.rbi +376 -0
  457. data/rbi/whop_sdk/models/referrals/business_list_response.rbi +701 -0
  458. data/rbi/whop_sdk/models/referrals/business_retrieve_params.rbi +40 -0
  459. data/rbi/whop_sdk/models/referrals/business_retrieve_response.rbi +1846 -0
  460. data/rbi/whop_sdk/models/referrals/businesses/earning_list_params.rbi +308 -0
  461. data/rbi/whop_sdk/models/referrals/businesses/earning_list_response.rbi +693 -0
  462. data/rbi/whop_sdk/models/referrals/partner_create_params.rbi +32 -0
  463. data/rbi/whop_sdk/models/referrals/partner_create_response.rbi +48 -0
  464. data/rbi/whop_sdk/models/refund_created_webhook_event.rbi +163 -5
  465. data/rbi/whop_sdk/models/refund_retrieve_response.rbi +161 -5
  466. data/rbi/whop_sdk/models/refund_updated_webhook_event.rbi +163 -5
  467. data/rbi/whop_sdk/models/resolution_center_case_platform_response.rbi +0 -5
  468. data/rbi/whop_sdk/models/result_label_keys.rbi +87 -0
  469. data/rbi/whop_sdk/models/review_list_response.rbi +2 -2
  470. data/rbi/whop_sdk/models/review_retrieve_response.rbi +4 -4
  471. data/rbi/whop_sdk/models/setup_intent.rbi +13 -3
  472. data/rbi/whop_sdk/models/social_account.rbi +129 -0
  473. data/rbi/whop_sdk/models/social_account_connect_params.rbi +146 -0
  474. data/rbi/whop_sdk/models/social_account_connect_response.rbi +30 -0
  475. data/rbi/whop_sdk/models/social_account_create_params.rbi +81 -0
  476. data/rbi/whop_sdk/models/social_account_delete_params.rbi +67 -0
  477. data/rbi/whop_sdk/models/social_account_delete_response.rbi +8 -0
  478. data/rbi/whop_sdk/models/social_account_list_params.rbi +308 -0
  479. data/rbi/whop_sdk/models/social_account_post.rbi +261 -0
  480. data/rbi/whop_sdk/models/social_account_posts_params.rbi +82 -0
  481. data/rbi/whop_sdk/models/social_account_posts_response.rbi +83 -0
  482. data/rbi/whop_sdk/models/stat_list_params.rbi +27 -0
  483. data/rbi/whop_sdk/models/stat_list_response.rbi +159 -0
  484. data/rbi/whop_sdk/models/stat_retrieve_params.rbi +411 -0
  485. data/rbi/whop_sdk/models/stat_retrieve_response.rbi +198 -0
  486. data/rbi/whop_sdk/models/swap_create_params.rbi +128 -0
  487. data/rbi/whop_sdk/models/swap_create_quote_params.rbi +154 -0
  488. data/rbi/whop_sdk/models/swap_create_quote_response.rbi +174 -0
  489. data/rbi/whop_sdk/models/swap_create_response.rbi +127 -0
  490. data/rbi/whop_sdk/models/swap_list_params.rbi +40 -0
  491. data/rbi/whop_sdk/models/swap_list_response.rbi +137 -0
  492. data/rbi/whop_sdk/models/swap_retrieve_params.rbi +35 -0
  493. data/rbi/whop_sdk/models/swap_retrieve_response.rbi +106 -0
  494. data/rbi/whop_sdk/models/tax_identifier_type.rbi +2 -0
  495. data/rbi/whop_sdk/models/transfer_create_params.rbi +94 -36
  496. data/rbi/whop_sdk/models/transfer_create_response.rbi +767 -0
  497. data/rbi/whop_sdk/models/transfer_list_params.rbi +111 -60
  498. data/rbi/whop_sdk/models/transfer_list_response.rbi +32 -40
  499. data/rbi/whop_sdk/models/transfer_retrieve_response.rbi +416 -0
  500. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +29 -21
  501. data/rbi/whop_sdk/models/user.rbi +427 -45
  502. data/rbi/whop_sdk/models/user_balance.rbi +301 -0
  503. data/rbi/whop_sdk/models/user_check_access_response.rbi +46 -12
  504. data/rbi/whop_sdk/models/user_list_params.rbi +40 -25
  505. data/rbi/whop_sdk/models/user_retrieve_params.rbi +106 -8
  506. data/rbi/whop_sdk/models/user_update_me_params.rbi +120 -0
  507. data/rbi/whop_sdk/models/user_update_params.rbi +46 -45
  508. data/rbi/whop_sdk/models/verification_create_params.rbi +783 -0
  509. data/rbi/whop_sdk/models/verification_create_response.rbi +757 -0
  510. data/rbi/whop_sdk/models/verification_list_params.rbi +88 -34
  511. data/rbi/whop_sdk/models/verification_list_response.rbi +783 -39
  512. data/rbi/whop_sdk/models/verification_retrieve_params.rbi +4 -4
  513. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +722 -30
  514. data/rbi/whop_sdk/models/verification_update_params.rbi +1187 -0
  515. data/rbi/whop_sdk/models/verification_update_response.rbi +757 -0
  516. data/rbi/whop_sdk/models/webhook_event.rbi +25 -0
  517. data/rbi/whop_sdk/models/withdrawal.rbi +5 -0
  518. data/rbi/whop_sdk/models/withdrawal_create_params.rbi +2 -2
  519. data/rbi/whop_sdk/models/workforce/bounty_list_params.rbi +313 -0
  520. data/rbi/whop_sdk/models/workforce/bounty_retrieve_params.rbi +40 -0
  521. data/rbi/whop_sdk/models/workforce/workforce_bounty.rbi +588 -0
  522. data/rbi/whop_sdk/models/workforce/workforce_bounty_list_item.rbi +590 -0
  523. data/rbi/whop_sdk/models.rbi +160 -7
  524. data/rbi/whop_sdk/resources/access_tokens.rbi +0 -1
  525. data/rbi/whop_sdk/resources/account_links.rbi +0 -1
  526. data/rbi/whop_sdk/resources/accounts/preferences.rbi +62 -0
  527. data/rbi/whop_sdk/resources/accounts.rbi +253 -0
  528. data/rbi/whop_sdk/resources/ad_campaigns.rbi +173 -60
  529. data/rbi/whop_sdk/resources/ad_groups.rbi +287 -72
  530. data/rbi/whop_sdk/resources/ad_reports.rbi +29 -19
  531. data/rbi/whop_sdk/resources/ads.rbi +254 -39
  532. data/rbi/whop_sdk/resources/affiliates/overrides.rbi +0 -1
  533. data/rbi/whop_sdk/resources/affiliates.rbi +0 -2
  534. data/rbi/whop_sdk/resources/ai_chats.rbi +0 -1
  535. data/rbi/whop_sdk/resources/app_builds.rbi +1 -2
  536. data/rbi/whop_sdk/resources/apps.rbi +66 -1
  537. data/rbi/whop_sdk/resources/audiences.rbi +82 -0
  538. data/rbi/whop_sdk/resources/authorized_users.rbi +4 -1
  539. data/rbi/whop_sdk/resources/bounties.rbi +23 -3
  540. data/rbi/whop_sdk/resources/cards.rbi +160 -0
  541. data/rbi/whop_sdk/resources/chat_channels.rbi +0 -1
  542. data/rbi/whop_sdk/resources/checkout_configurations.rbi +82 -51
  543. data/rbi/whop_sdk/resources/companies.rbi +0 -1
  544. data/rbi/whop_sdk/resources/company_token_transactions.rbi +0 -1
  545. data/rbi/whop_sdk/resources/course_chapters.rbi +0 -1
  546. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +0 -1
  547. data/rbi/whop_sdk/resources/course_lessons.rbi +0 -1
  548. data/rbi/whop_sdk/resources/course_students.rbi +0 -1
  549. data/rbi/whop_sdk/resources/courses.rbi +0 -1
  550. data/rbi/whop_sdk/resources/deposits.rbi +63 -0
  551. data/rbi/whop_sdk/resources/dispute_alerts.rbi +0 -1
  552. data/rbi/whop_sdk/resources/disputes.rbi +0 -1
  553. data/rbi/whop_sdk/resources/dm_channels.rbi +0 -1
  554. data/rbi/whop_sdk/resources/dm_members.rbi +0 -1
  555. data/rbi/whop_sdk/resources/entries.rbi +0 -1
  556. data/rbi/whop_sdk/resources/events.rbi +122 -0
  557. data/rbi/whop_sdk/resources/experiences.rbi +0 -1
  558. data/rbi/whop_sdk/resources/fee_markups.rbi +0 -1
  559. data/rbi/whop_sdk/resources/files.rbi +1 -3
  560. data/rbi/whop_sdk/resources/financial_activity.rbi +80 -0
  561. data/rbi/whop_sdk/resources/forum_posts.rbi +0 -1
  562. data/rbi/whop_sdk/resources/forums.rbi +0 -1
  563. data/rbi/whop_sdk/resources/invoices.rbi +0 -1
  564. data/rbi/whop_sdk/resources/leads.rbi +0 -1
  565. data/rbi/whop_sdk/resources/ledger_accounts.rbi +0 -1
  566. data/rbi/whop_sdk/resources/media.rbi +67 -0
  567. data/rbi/whop_sdk/resources/members.rbi +0 -1
  568. data/rbi/whop_sdk/resources/memberships.rbi +0 -1
  569. data/rbi/whop_sdk/resources/messages.rbi +0 -1
  570. data/rbi/whop_sdk/resources/notifications.rbi +0 -1
  571. data/rbi/whop_sdk/resources/payment_methods.rbi +0 -1
  572. data/rbi/whop_sdk/resources/payments.rbi +3 -1
  573. data/rbi/whop_sdk/resources/payout_accounts.rbi +0 -1
  574. data/rbi/whop_sdk/resources/payouts/methods.rbi +76 -0
  575. data/rbi/whop_sdk/resources/payouts.rbi +96 -0
  576. data/rbi/whop_sdk/resources/people.rbi +86 -0
  577. data/rbi/whop_sdk/resources/plans.rbi +120 -112
  578. data/rbi/whop_sdk/resources/products.rbi +67 -144
  579. data/rbi/whop_sdk/resources/promo_codes.rbi +0 -1
  580. data/rbi/whop_sdk/resources/reactions.rbi +0 -1
  581. data/rbi/whop_sdk/resources/referrals/businesses/earnings.rbi +67 -0
  582. data/rbi/whop_sdk/resources/referrals/businesses.rbi +122 -0
  583. data/rbi/whop_sdk/resources/referrals/partners.rbi +31 -0
  584. data/rbi/whop_sdk/resources/referrals.rbi +67 -0
  585. data/rbi/whop_sdk/resources/refunds.rbi +2 -1
  586. data/rbi/whop_sdk/resources/resolution_center_cases.rbi +0 -1
  587. data/rbi/whop_sdk/resources/reviews.rbi +0 -1
  588. data/rbi/whop_sdk/resources/setup_intents.rbi +0 -1
  589. data/rbi/whop_sdk/resources/shipments.rbi +0 -1
  590. data/rbi/whop_sdk/resources/social_accounts.rbi +161 -0
  591. data/rbi/whop_sdk/resources/stats.rbi +143 -0
  592. data/rbi/whop_sdk/resources/support_channels.rbi +0 -1
  593. data/rbi/whop_sdk/resources/swaps.rbi +124 -0
  594. data/rbi/whop_sdk/resources/topups.rbi +0 -1
  595. data/rbi/whop_sdk/resources/transfers.rbi +62 -59
  596. data/rbi/whop_sdk/resources/users.rbi +92 -48
  597. data/rbi/whop_sdk/resources/verifications.rbi +85 -35
  598. data/rbi/whop_sdk/resources/webhooks.rbi +29 -22
  599. data/rbi/whop_sdk/resources/withdrawals.rbi +1 -2
  600. data/rbi/whop_sdk/resources/workforce/bounties.rbi +94 -0
  601. data/rbi/whop_sdk/resources/workforce.rbi +22 -0
  602. data/sig/whop_sdk/client.rbs +31 -4
  603. data/sig/whop_sdk/models/account.rbs +706 -0
  604. data/sig/whop_sdk/models/account_create_params.rbs +38 -0
  605. data/sig/whop_sdk/models/account_list_params.rbs +88 -0
  606. data/sig/whop_sdk/models/account_me_params.rbs +14 -0
  607. data/sig/whop_sdk/models/account_recommend_actions_params.rbs +23 -0
  608. data/sig/whop_sdk/models/account_recommend_actions_response.rbs +129 -0
  609. data/sig/whop_sdk/models/account_retrieve_params.rbs +23 -0
  610. data/sig/whop_sdk/models/account_social_link.rbs +62 -0
  611. data/sig/whop_sdk/models/account_update_params.rbs +536 -0
  612. data/sig/whop_sdk/models/accounts/preference_retrieve_params.rbs +25 -0
  613. data/sig/whop_sdk/models/accounts/preference_retrieve_response.rbs +110 -0
  614. data/sig/whop_sdk/models/accounts/preference_update_params.rbs +133 -0
  615. data/sig/whop_sdk/models/accounts/preference_update_response.rbs +110 -0
  616. data/sig/whop_sdk/models/ad.rbs +597 -0
  617. data/sig/whop_sdk/models/ad_campaign.rbs +472 -0
  618. data/sig/whop_sdk/models/ad_campaign_create_params.rbs +179 -0
  619. data/sig/whop_sdk/models/{payout_method_retrieve_params.rbs → ad_campaign_delete_params.rbs} +2 -2
  620. data/sig/whop_sdk/models/ad_campaign_delete_response.rbs +5 -0
  621. data/sig/whop_sdk/models/ad_campaign_list_params.rbs +145 -41
  622. data/sig/whop_sdk/models/ad_campaign_retrieve_params.rbs +24 -2
  623. data/sig/whop_sdk/models/ad_campaign_update_params.rbs +90 -4
  624. data/sig/whop_sdk/models/ad_create_params.rbs +751 -0
  625. data/sig/whop_sdk/models/ad_delete_params.rbs +20 -0
  626. data/sig/whop_sdk/models/ad_delete_response.rbs +5 -0
  627. data/sig/whop_sdk/models/ad_group.rbs +543 -0
  628. data/sig/whop_sdk/models/ad_group_create_params.rbs +292 -0
  629. data/sig/whop_sdk/models/ad_group_list_params.rbs +141 -50
  630. data/sig/whop_sdk/models/ad_group_pause_params.rbs +20 -0
  631. data/sig/whop_sdk/models/ad_group_retrieve_params.rbs +24 -2
  632. data/sig/whop_sdk/models/ad_group_unpause_params.rbs +20 -0
  633. data/sig/whop_sdk/models/ad_group_update_params.rbs +200 -2354
  634. data/sig/whop_sdk/models/ad_list_params.rbs +157 -44
  635. data/sig/whop_sdk/models/ad_pause_params.rbs +20 -0
  636. data/sig/whop_sdk/models/ad_report_retrieve_params.rbs +38 -16
  637. data/sig/whop_sdk/models/ad_report_retrieve_response.rbs +258 -149
  638. data/sig/whop_sdk/models/ad_retrieve_params.rbs +24 -2
  639. data/sig/whop_sdk/models/ad_unpause_params.rbs +20 -0
  640. data/sig/whop_sdk/models/ad_update_params.rbs +742 -0
  641. data/sig/whop_sdk/models/app.rbs +52 -0
  642. data/sig/whop_sdk/models/app_create_params.rbs +6 -1
  643. data/sig/whop_sdk/models/app_list_response.rbs +10 -0
  644. data/sig/whop_sdk/models/app_logs_params.rbs +98 -0
  645. data/sig/whop_sdk/models/app_logs_response.rbs +162 -0
  646. data/sig/whop_sdk/models/app_update_params.rbs +10 -0
  647. data/sig/whop_sdk/models/audience.rbs +145 -0
  648. data/sig/whop_sdk/models/audience_create_params.rbs +88 -0
  649. data/sig/whop_sdk/models/audience_delete_params.rbs +23 -0
  650. data/sig/whop_sdk/models/audience_delete_response.rbs +13 -0
  651. data/sig/whop_sdk/models/audience_list_params.rbs +42 -0
  652. data/sig/whop_sdk/models/authorized_user_create_params.rbs +52 -0
  653. data/sig/whop_sdk/models/bounty_create_params.rbs +56 -1
  654. data/sig/whop_sdk/models/bounty_create_response.rbs +2 -1
  655. data/sig/whop_sdk/models/bounty_list_params.rbs +2 -1
  656. data/sig/whop_sdk/models/bounty_list_response.rbs +2 -1
  657. data/sig/whop_sdk/models/bounty_retrieve_response.rbs +2 -1
  658. data/sig/whop_sdk/models/card_brands.rbs +2 -0
  659. data/sig/whop_sdk/models/card_create_params.rbs +85 -0
  660. data/sig/whop_sdk/models/card_create_response.rbs +200 -0
  661. data/sig/whop_sdk/models/card_list_params.rbs +32 -0
  662. data/sig/whop_sdk/models/card_list_response.rbs +214 -0
  663. data/sig/whop_sdk/models/card_retrieve_params.rbs +36 -0
  664. data/sig/whop_sdk/models/card_retrieve_response.rbs +200 -0
  665. data/sig/whop_sdk/models/card_update_params.rbs +164 -0
  666. data/sig/whop_sdk/models/card_update_response.rbs +200 -0
  667. data/sig/whop_sdk/models/chat_message_created_webhook_event.rbs +149 -0
  668. data/sig/whop_sdk/models/chat_reaction_created_webhook_event.rbs +154 -0
  669. data/sig/whop_sdk/models/checkout_configuration.rbs +16 -5
  670. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +206 -649
  671. data/sig/whop_sdk/models/checkout_configuration_create_response.rbs +196 -0
  672. data/sig/whop_sdk/models/checkout_configuration_delete_params.rbs +20 -0
  673. data/sig/whop_sdk/models/checkout_configuration_list_params.rbs +66 -32
  674. data/sig/whop_sdk/models/checkout_configuration_list_response.rbs +88 -56
  675. data/sig/whop_sdk/models/checkout_configuration_retrieve_response.rbs +196 -0
  676. data/sig/whop_sdk/models/currency.rbs +6 -0
  677. data/sig/whop_sdk/models/deposit_create_params.rbs +83 -0
  678. data/sig/whop_sdk/models/deposit_create_response.rbs +187 -0
  679. data/sig/whop_sdk/models/deposit_list_params.rbs +23 -0
  680. data/sig/whop_sdk/models/deposit_list_response.rbs +87 -0
  681. data/sig/whop_sdk/models/dispute.rbs +4 -4
  682. data/sig/whop_sdk/models/dispute_alert_created_webhook_event.rbs +4 -4
  683. data/sig/whop_sdk/models/dispute_alert_retrieve_response.rbs +4 -4
  684. data/sig/whop_sdk/models/event_create_params.rbs +639 -0
  685. data/sig/whop_sdk/models/{conversion_create_response.rbs → event_create_response.rbs} +2 -2
  686. data/sig/whop_sdk/models/event_list_params.rbs +68 -0
  687. data/sig/whop_sdk/models/event_list_response.rbs +231 -0
  688. data/sig/whop_sdk/models/file_create_params.rbs +4 -18
  689. data/sig/whop_sdk/models/file_create_response.rbs +4 -15
  690. data/sig/whop_sdk/models/file_retrieve_response.rbs +4 -15
  691. data/sig/whop_sdk/models/file_visibility.rbs +14 -0
  692. data/sig/whop_sdk/models/financial_activity_list_params.rbs +98 -0
  693. data/sig/whop_sdk/models/financial_activity_list_response.rbs +935 -0
  694. data/sig/whop_sdk/models/granularities.rbs +16 -0
  695. data/sig/whop_sdk/models/identity_profile_approved_webhook_event.rbs +293 -0
  696. data/sig/whop_sdk/models/identity_profile_needs_action_webhook_event.rbs +293 -0
  697. data/sig/whop_sdk/models/identity_profile_rejected_webhook_event.rbs +293 -0
  698. data/sig/whop_sdk/models/identity_profile_updated_webhook_event.rbs +293 -0
  699. data/sig/whop_sdk/models/invoice_create_params.rbs +20 -0
  700. data/sig/whop_sdk/models/invoice_update_params.rbs +10 -0
  701. data/sig/whop_sdk/models/ledger_account_funds_available_webhook_event.rbs +418 -0
  702. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +50 -3
  703. data/sig/whop_sdk/models/media_asset.rbs +160 -0
  704. data/sig/whop_sdk/models/media_generate_params.rbs +99 -0
  705. data/sig/whop_sdk/models/media_retrieve_params.rbs +20 -0
  706. data/sig/whop_sdk/models/membership.rbs +19 -6
  707. data/sig/whop_sdk/models/membership_list_response.rbs +19 -6
  708. data/sig/whop_sdk/models/membership_trial_ending_soon_webhook_event.rbs +45 -0
  709. data/sig/whop_sdk/models/payment.rbs +161 -15
  710. data/sig/whop_sdk/models/payment_create_params.rbs +16 -6
  711. data/sig/whop_sdk/models/payment_list_params.rbs +5 -0
  712. data/sig/whop_sdk/models/payment_list_response.rbs +104 -15
  713. data/sig/whop_sdk/models/payout_create_params.rbs +50 -0
  714. data/sig/whop_sdk/models/payout_create_response.rbs +139 -0
  715. data/sig/whop_sdk/models/payout_list_params.rbs +70 -0
  716. data/sig/whop_sdk/models/payout_list_response.rbs +153 -0
  717. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +25 -4
  718. data/sig/whop_sdk/models/payouts/method_list_params.rbs +107 -0
  719. data/sig/whop_sdk/models/payouts/method_list_response.rbs +229 -0
  720. data/sig/whop_sdk/models/person_list_params.rbs +97 -0
  721. data/sig/whop_sdk/models/person_list_response.rbs +162 -0
  722. data/sig/whop_sdk/models/person_retrieve_params.rbs +42 -0
  723. data/sig/whop_sdk/models/person_retrieve_response.rbs +175 -0
  724. data/sig/whop_sdk/models/plan.rbs +325 -119
  725. data/sig/whop_sdk/models/plan_calculate_tax_params.rbs +344 -0
  726. data/sig/whop_sdk/models/plan_calculate_tax_response.rbs +67 -0
  727. data/sig/whop_sdk/models/plan_create_params.rbs +139 -98
  728. data/sig/whop_sdk/models/plan_list_params.rbs +93 -54
  729. data/sig/whop_sdk/models/plan_list_response.rbs +75 -126
  730. data/sig/whop_sdk/models/plan_update_params.rbs +115 -82
  731. data/sig/whop_sdk/models/product.rbs +5 -0
  732. data/sig/whop_sdk/models/product_create_params.rbs +33 -124
  733. data/sig/whop_sdk/models/product_list_item.rbs +5 -0
  734. data/sig/whop_sdk/models/product_list_params.rbs +53 -48
  735. data/sig/whop_sdk/models/product_update_params.rbs +15 -88
  736. data/sig/whop_sdk/models/referral_referred_users_params.rbs +63 -0
  737. data/sig/whop_sdk/models/referral_referred_users_response.rbs +140 -0
  738. data/sig/whop_sdk/models/referrals/business_leaderboard_params.rbs +46 -0
  739. data/sig/whop_sdk/models/referrals/business_leaderboard_response.rbs +221 -0
  740. data/sig/whop_sdk/models/referrals/business_list_params.rbs +176 -0
  741. data/sig/whop_sdk/models/referrals/business_list_response.rbs +267 -0
  742. data/sig/whop_sdk/models/referrals/business_retrieve_params.rbs +22 -0
  743. data/sig/whop_sdk/models/referrals/business_retrieve_response.rbs +677 -0
  744. data/sig/whop_sdk/models/referrals/businesses/earning_list_params.rbs +139 -0
  745. data/sig/whop_sdk/models/referrals/businesses/earning_list_response.rbs +288 -0
  746. data/sig/whop_sdk/models/referrals/partner_create_params.rbs +17 -0
  747. data/sig/whop_sdk/models/referrals/partner_create_response.rbs +21 -0
  748. data/sig/whop_sdk/models/refund_created_webhook_event.rbs +43 -4
  749. data/sig/whop_sdk/models/refund_retrieve_response.rbs +43 -4
  750. data/sig/whop_sdk/models/refund_updated_webhook_event.rbs +43 -4
  751. data/sig/whop_sdk/models/resolution_center_case_platform_response.rbs +0 -2
  752. data/sig/whop_sdk/models/result_label_keys.rbs +80 -0
  753. data/sig/whop_sdk/models/setup_intent.rbs +8 -3
  754. data/sig/whop_sdk/models/social_account.rbs +74 -0
  755. data/sig/whop_sdk/models/social_account_connect_params.rbs +69 -0
  756. data/sig/whop_sdk/models/social_account_connect_response.rbs +13 -0
  757. data/sig/whop_sdk/models/social_account_create_params.rbs +43 -0
  758. data/sig/whop_sdk/models/social_account_delete_params.rbs +36 -0
  759. data/sig/whop_sdk/models/social_account_delete_response.rbs +5 -0
  760. data/sig/whop_sdk/models/social_account_list_params.rbs +152 -0
  761. data/sig/whop_sdk/models/social_account_post.rbs +111 -0
  762. data/sig/whop_sdk/models/social_account_posts_params.rbs +52 -0
  763. data/sig/whop_sdk/models/social_account_posts_response.rbs +37 -0
  764. data/sig/whop_sdk/models/stat_list_params.rbs +14 -0
  765. data/sig/whop_sdk/models/stat_list_response.rbs +72 -0
  766. data/sig/whop_sdk/models/stat_retrieve_params.rbs +211 -0
  767. data/sig/whop_sdk/models/stat_retrieve_response.rbs +81 -0
  768. data/sig/whop_sdk/models/swap_create_params.rbs +72 -0
  769. data/sig/whop_sdk/models/swap_create_quote_params.rbs +84 -0
  770. data/sig/whop_sdk/models/swap_create_quote_response.rbs +97 -0
  771. data/sig/whop_sdk/models/swap_create_response.rbs +73 -0
  772. data/sig/whop_sdk/models/swap_list_params.rbs +23 -0
  773. data/sig/whop_sdk/models/swap_list_response.rbs +68 -0
  774. data/sig/whop_sdk/models/swap_retrieve_params.rbs +20 -0
  775. data/sig/whop_sdk/models/swap_retrieve_response.rbs +55 -0
  776. data/sig/whop_sdk/models/tax_identifier_type.rbs +4 -0
  777. data/sig/whop_sdk/models/transfer_create_params.rbs +47 -10
  778. data/sig/whop_sdk/models/transfer_create_response.rbs +366 -0
  779. data/sig/whop_sdk/models/transfer_list_params.rbs +77 -42
  780. data/sig/whop_sdk/models/transfer_list_response.rbs +14 -14
  781. data/sig/whop_sdk/models/{transfer.rbs → transfer_retrieve_response.rbs} +83 -78
  782. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +30 -22
  783. data/sig/whop_sdk/models/user.rbs +203 -16
  784. data/sig/whop_sdk/models/user_balance.rbs +171 -0
  785. data/sig/whop_sdk/models/user_check_access_response.rbs +19 -4
  786. data/sig/whop_sdk/models/user_list_params.rbs +30 -20
  787. data/sig/whop_sdk/models/user_retrieve_params.rbs +59 -4
  788. data/sig/whop_sdk/models/user_update_me_params.rbs +74 -0
  789. data/sig/whop_sdk/models/user_update_params.rbs +42 -24
  790. data/sig/whop_sdk/models/verification_create_params.rbs +364 -0
  791. data/sig/whop_sdk/models/verification_create_response.rbs +333 -0
  792. data/sig/whop_sdk/models/verification_list_params.rbs +40 -20
  793. data/sig/whop_sdk/models/verification_list_response.rbs +337 -20
  794. data/sig/whop_sdk/models/verification_retrieve_params.rbs +7 -4
  795. data/sig/whop_sdk/models/verification_retrieve_response.rbs +312 -14
  796. data/sig/whop_sdk/models/verification_update_params.rbs +570 -0
  797. data/sig/whop_sdk/models/verification_update_response.rbs +333 -0
  798. data/sig/whop_sdk/models/webhook_event.rbs +16 -0
  799. data/sig/whop_sdk/models/withdrawal.rbs +2 -0
  800. data/sig/whop_sdk/models/workforce/bounty_list_params.rbs +149 -0
  801. data/sig/whop_sdk/models/workforce/bounty_retrieve_params.rbs +22 -0
  802. data/sig/whop_sdk/models/workforce/workforce_bounty.rbs +232 -0
  803. data/sig/whop_sdk/models/workforce/workforce_bounty_list_item.rbs +227 -0
  804. data/sig/whop_sdk/models.rbs +151 -7
  805. data/sig/whop_sdk/resources/accounts/preferences.rbs +20 -0
  806. data/sig/whop_sdk/resources/accounts.rbs +76 -0
  807. data/sig/whop_sdk/resources/ad_campaigns.rbs +47 -15
  808. data/sig/whop_sdk/resources/ad_groups.rbs +77 -20
  809. data/sig/whop_sdk/resources/ad_reports.rbs +6 -4
  810. data/sig/whop_sdk/resources/ads.rbs +74 -12
  811. data/sig/whop_sdk/resources/apps.rbs +16 -0
  812. data/sig/whop_sdk/resources/audiences.rbs +28 -0
  813. data/sig/whop_sdk/resources/authorized_users.rbs +1 -0
  814. data/sig/whop_sdk/resources/bounties.rbs +4 -0
  815. data/sig/whop_sdk/resources/cards.rbs +47 -0
  816. data/sig/whop_sdk/resources/checkout_configurations.rbs +21 -11
  817. data/sig/whop_sdk/resources/deposits.rbs +20 -0
  818. data/sig/whop_sdk/resources/events.rbs +40 -0
  819. data/sig/whop_sdk/resources/files.rbs +1 -1
  820. data/sig/whop_sdk/resources/financial_activity.rbs +22 -0
  821. data/sig/whop_sdk/resources/media.rbs +22 -0
  822. data/sig/whop_sdk/resources/payments.rbs +1 -0
  823. data/sig/whop_sdk/resources/payouts/methods.rbs +23 -0
  824. data/sig/whop_sdk/resources/payouts.rbs +29 -0
  825. data/sig/whop_sdk/resources/people.rbs +28 -0
  826. data/sig/whop_sdk/resources/plans.rbs +37 -25
  827. data/sig/whop_sdk/resources/products.rbs +17 -31
  828. data/sig/whop_sdk/resources/referrals/businesses/earnings.rbs +25 -0
  829. data/sig/whop_sdk/resources/referrals/businesses.rbs +38 -0
  830. data/sig/whop_sdk/resources/referrals/partners.rbs +13 -0
  831. data/sig/whop_sdk/resources/referrals.rbs +21 -0
  832. data/sig/whop_sdk/resources/social_accounts.rbs +52 -0
  833. data/sig/whop_sdk/resources/stats.rbs +39 -0
  834. data/sig/whop_sdk/resources/swaps.rbs +41 -0
  835. data/sig/whop_sdk/resources/transfers.rbs +17 -14
  836. data/sig/whop_sdk/resources/users.rbs +26 -12
  837. data/sig/whop_sdk/resources/verifications.rbs +17 -7
  838. data/sig/whop_sdk/resources/webhooks.rbs +30 -22
  839. data/sig/whop_sdk/resources/workforce/bounties.rbs +30 -0
  840. data/sig/whop_sdk/resources/workforce.rbs +9 -0
  841. metadata +446 -65
  842. data/lib/whop_sdk/models/ad_campaign_list_response.rb +0 -126
  843. data/lib/whop_sdk/models/ad_campaign_pause_response.rb +0 -328
  844. data/lib/whop_sdk/models/ad_campaign_retrieve_response.rb +0 -328
  845. data/lib/whop_sdk/models/ad_campaign_unpause_response.rb +0 -328
  846. data/lib/whop_sdk/models/ad_campaign_update_response.rb +0 -328
  847. data/lib/whop_sdk/models/ad_group_list_response.rb +0 -118
  848. data/lib/whop_sdk/models/ad_group_retrieve_response.rb +0 -140
  849. data/lib/whop_sdk/models/ad_group_update_response.rb +0 -140
  850. data/lib/whop_sdk/models/ad_list_response.rb +0 -89
  851. data/lib/whop_sdk/models/ad_retrieve_response.rb +0 -133
  852. data/lib/whop_sdk/models/conversion_create_response.rb +0 -19
  853. data/lib/whop_sdk/models/payout_destination_category.rb +0 -20
  854. data/lib/whop_sdk/models/payout_method_list_params.rb +0 -54
  855. data/lib/whop_sdk/models/payout_method_list_response.rb +0 -140
  856. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +0 -140
  857. data/lib/whop_sdk/models/transfer.rb +0 -299
  858. data/lib/whop_sdk/models/user_list_response.rb +0 -83
  859. data/lib/whop_sdk/resources/conversions.rb +0 -67
  860. data/lib/whop_sdk/resources/payout_methods.rb +0 -76
  861. data/rbi/whop_sdk/models/ad_campaign_list_response.rbi +0 -239
  862. data/rbi/whop_sdk/models/ad_campaign_pause_response.rbi +0 -668
  863. data/rbi/whop_sdk/models/ad_campaign_retrieve_response.rbi +0 -679
  864. data/rbi/whop_sdk/models/ad_campaign_unpause_response.rbi +0 -675
  865. data/rbi/whop_sdk/models/ad_campaign_update_response.rbi +0 -670
  866. data/rbi/whop_sdk/models/ad_group_list_response.rbi +0 -228
  867. data/rbi/whop_sdk/models/ad_group_retrieve_response.rbi +0 -277
  868. data/rbi/whop_sdk/models/ad_group_update_response.rbi +0 -274
  869. data/rbi/whop_sdk/models/ad_list_response.rbi +0 -146
  870. data/rbi/whop_sdk/models/ad_retrieve_response.rbi +0 -245
  871. data/rbi/whop_sdk/models/conversion_create_params.rbi +0 -661
  872. data/rbi/whop_sdk/models/payout_destination_category.rbi +0 -33
  873. data/rbi/whop_sdk/models/payout_method_list_params.rbi +0 -75
  874. data/rbi/whop_sdk/models/payout_method_list_response.rbi +0 -234
  875. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +0 -238
  876. data/rbi/whop_sdk/models/transfer.rbi +0 -407
  877. data/rbi/whop_sdk/models/user_list_response.rbi +0 -124
  878. data/rbi/whop_sdk/resources/conversions.rbi +0 -71
  879. data/rbi/whop_sdk/resources/payout_methods.rbi +0 -66
  880. data/sig/whop_sdk/models/ad_campaign_list_response.rbs +0 -98
  881. data/sig/whop_sdk/models/ad_campaign_pause_response.rbs +0 -232
  882. data/sig/whop_sdk/models/ad_campaign_retrieve_response.rbs +0 -232
  883. data/sig/whop_sdk/models/ad_campaign_unpause_response.rbs +0 -232
  884. data/sig/whop_sdk/models/ad_campaign_update_response.rbs +0 -232
  885. data/sig/whop_sdk/models/ad_group_list_response.rbs +0 -93
  886. data/sig/whop_sdk/models/ad_group_retrieve_response.rbs +0 -108
  887. data/sig/whop_sdk/models/ad_group_update_response.rbs +0 -108
  888. data/sig/whop_sdk/models/ad_list_response.rbs +0 -72
  889. data/sig/whop_sdk/models/ad_retrieve_response.rbs +0 -102
  890. data/sig/whop_sdk/models/conversion_create_params.rbs +0 -349
  891. data/sig/whop_sdk/models/payout_destination_category.rbs +0 -19
  892. data/sig/whop_sdk/models/payout_method_list_params.rbs +0 -46
  893. data/sig/whop_sdk/models/payout_method_list_response.rbs +0 -97
  894. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +0 -97
  895. data/sig/whop_sdk/models/user_list_response.rbs +0 -55
  896. data/sig/whop_sdk/resources/conversions.rbs +0 -25
  897. data/sig/whop_sdk/resources/payout_methods.rbs +0 -21
@@ -12,3192 +12,321 @@ module WhopSDK
12
12
  # @return [String]
13
13
  required :id, String
14
14
 
15
- # @!attribute budget
16
- # Budget amount in dollars.
15
+ # @!attribute audiences
16
+ # Saved-audience targeting: { include, exclude } arrays of audience IDs.
17
+ # Incompatible with demographics.automatic (Advantage+).
18
+ #
19
+ # @return [Object, nil]
20
+ optional :audiences, WhopSDK::Internal::Type::Unknown
21
+
22
+ # @!attribute bid_type
23
+ # Bid strategy.
24
+ #
25
+ # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::BidType, nil]
26
+ optional :bid_type, enum: -> { WhopSDK::AdGroupUpdateParams::BidType }
27
+
28
+ # @!attribute budget_amount
29
+ # Ad-set budget in dollars (ABO only; omit under CBO).
17
30
  #
18
31
  # @return [Float, nil]
19
- optional :budget, Float, nil?: true
32
+ optional :budget_amount, Float
20
33
 
21
34
  # @!attribute budget_type
22
- # The budget type for an ad campaign or ad group.
35
+ # Whether the budget is daily or lifetime.
23
36
  #
24
37
  # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::BudgetType, nil]
25
- optional :budget_type, enum: -> { WhopSDK::AdGroupUpdateParams::BudgetType }, nil?: true
38
+ optional :budget_type, enum: -> { WhopSDK::AdGroupUpdateParams::BudgetType }
26
39
 
27
- # @!attribute config
28
- # Unified ad group configuration (bidding, optimization, targeting).
40
+ # @!attribute conversion_event
41
+ # The pixel event optimized for. A standard event, or any custom pixel event name.
29
42
  #
30
- # @return [WhopSDK::Models::AdGroupUpdateParams::Config, nil]
31
- optional :config, -> { WhopSDK::AdGroupUpdateParams::Config }, nil?: true
43
+ # @return [Symbol, String, WhopSDK::Models::AdGroupUpdateParams::ConversionEvent, nil]
44
+ optional :conversion_event, union: -> { WhopSDK::AdGroupUpdateParams::ConversionEvent }, nil?: true
45
+
46
+ # @!attribute conversion_location
47
+ # Where results happen: website (conversions), profile (IG/FB engagement),
48
+ # messaging (DM), on_ad (engagement on the ad, surface follows the optimization
49
+ # goal), or the lead destinations (instant_forms, instant_forms_and_messenger,
50
+ # website_and_instant_forms). The lead form itself is set on the ad.
51
+ #
52
+ # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::ConversionLocation, nil]
53
+ optional :conversion_location, enum: -> { WhopSDK::AdGroupUpdateParams::ConversionLocation }
54
+
55
+ # @!attribute demographics
56
+ # Demographic targeting: { automatic, minimum_age, maximum_age, gender }.
57
+ #
58
+ # @return [Object, nil]
59
+ optional :demographics, WhopSDK::Internal::Type::Unknown
32
60
 
33
- # @!attribute daily_budget
34
- # Daily budget in dollars.
61
+ # @!attribute desired_cost_per_result
62
+ # Target/cap cost for average_target / maximum_target.
35
63
  #
36
64
  # @return [Float, nil]
37
- optional :daily_budget, Float, nil?: true
65
+ optional :desired_cost_per_result, Float
38
66
 
39
- # @!attribute name
40
- # Human-readable ad group name.
67
+ # @!attribute devices
68
+ # Device targeting: { platforms, operating_systems: [{ os, minimum_version }] }.
69
+ #
70
+ # @return [Object, nil]
71
+ optional :devices, WhopSDK::Internal::Type::Unknown
72
+
73
+ # @!attribute ends_at
74
+ # Schedule end, ISO 8601.
41
75
  #
42
76
  # @return [String, nil]
43
- optional :name, String, nil?: true
77
+ optional :ends_at, String
78
+
79
+ # @!attribute frequency_cap
80
+ # { maximum_impressions, per_days } — only valid for reach optimization.
81
+ #
82
+ # @return [Object, nil]
83
+ optional :frequency_cap, WhopSDK::Internal::Type::Unknown
44
84
 
45
- # @!attribute platform_config
46
- # Platform-specific ad group configuration.
85
+ # @!attribute languages
86
+ # Languages to target as ISO 639 codes (e.g. en, es). Empty/omitted = all
87
+ # languages.
47
88
  #
48
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig, nil]
49
- optional :platform_config, -> { WhopSDK::AdGroupUpdateParams::PlatformConfig }, nil?: true
89
+ # @return [Array<String>, nil]
90
+ optional :languages, WhopSDK::Internal::Type::ArrayOf[String]
91
+
92
+ # @!attribute message_apps
93
+ # Required when conversion_location is messaging: which apps to message on.
94
+ # Combinations map to the matching Meta destination.
95
+ #
96
+ # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::MessageApp>, nil]
97
+ optional :message_apps,
98
+ -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::MessageApp] }
99
+
100
+ # @!attribute minimum_daily_spend
101
+ # Daily spend floor within the budget.
102
+ #
103
+ # @return [Float, nil]
104
+ optional :minimum_daily_spend, Float
105
+
106
+ # @!attribute optimization_goal
107
+ # What the ad group optimizes for (e.g. conversions, link_clicks, reach).
108
+ #
109
+ # @return [String, nil]
110
+ optional :optimization_goal, String
111
+
112
+ # @!attribute placements
113
+ # 'automatic' (Advantage+) or a list of { platform, positions }. Omit positions to
114
+ # target all of a platform's.
115
+ #
116
+ # Valid positions per platform:
117
+ #
118
+ # - `facebook`: `feed`, `right_hand_column`, `marketplace`, `search`,
119
+ # `profile_feed`, `notification`, `story`, `instream_video`, `facebook_reels`,
120
+ # `facebook_reels_overlay`, `biz_disco_feed`
121
+ # - `instagram`: `stream`, `story`, `explore`, `explore_home`, `reels`,
122
+ # `profile_feed`, `profile_reels`, `ig_search`
123
+ # - `messenger`: `story`
124
+ # - `audience_network`: `classic`, `rewarded_video`
125
+ # - `threads`: `threads_stream`
126
+ # - `whatsapp`: `status`
127
+ #
128
+ # @return [Object, nil]
129
+ optional :placements, WhopSDK::Internal::Type::Unknown
130
+
131
+ # @!attribute regions
132
+ # Geo targeting: { include / exclude: { countries (ISO 3166-1), regions
133
+ # (states/provinces as ISO 3166-2, e.g. US-CA), cities (keyed), zips } }.
134
+ #
135
+ # @return [Object, nil]
136
+ optional :regions, WhopSDK::Internal::Type::Unknown
137
+
138
+ # @!attribute starts_at
139
+ # Schedule start, ISO 8601.
140
+ #
141
+ # @return [String, nil]
142
+ optional :starts_at, String
50
143
 
51
144
  # @!attribute status
52
- # The status of an external ad group.
145
+ # Initial status (default: active).
53
146
  #
54
147
  # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Status, nil]
55
- optional :status, enum: -> { WhopSDK::AdGroupUpdateParams::Status }, nil?: true
148
+ optional :status, enum: -> { WhopSDK::AdGroupUpdateParams::Status }
56
149
 
57
- # @!method initialize(id:, budget: nil, budget_type: nil, config: nil, daily_budget: nil, name: nil, platform_config: nil, status: nil, request_options: {})
150
+ # @!attribute title
151
+ # The display name of the ad group.
152
+ #
153
+ # @return [String, nil]
154
+ optional :title, String
155
+
156
+ # @!method initialize(id:, audiences: nil, bid_type: nil, budget_amount: nil, budget_type: nil, conversion_event: nil, conversion_location: nil, demographics: nil, desired_cost_per_result: nil, devices: nil, ends_at: nil, frequency_cap: nil, languages: nil, message_apps: nil, minimum_daily_spend: nil, optimization_goal: nil, placements: nil, regions: nil, starts_at: nil, status: nil, title: nil, request_options: {})
157
+ # Some parameter documentations has been truncated, see
158
+ # {WhopSDK::Models::AdGroupUpdateParams} for more details.
159
+ #
58
160
  # @param id [String]
59
161
  #
60
- # @param budget [Float, nil] Budget amount in dollars.
162
+ # @param audiences [Object] Saved-audience targeting: { include, exclude } arrays of audience IDs. Incompati
163
+ #
164
+ # @param bid_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::BidType] Bid strategy.
165
+ #
166
+ # @param budget_amount [Float] Ad-set budget in dollars (ABO only; omit under CBO).
167
+ #
168
+ # @param budget_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::BudgetType] Whether the budget is daily or lifetime.
169
+ #
170
+ # @param conversion_event [Symbol, String, WhopSDK::Models::AdGroupUpdateParams::ConversionEvent, nil] The pixel event optimized for. A standard event, or any custom pixel event name.
171
+ #
172
+ # @param conversion_location [Symbol, WhopSDK::Models::AdGroupUpdateParams::ConversionLocation] Where results happen: website (conversions), profile (IG/FB engagement), messagi
173
+ #
174
+ # @param demographics [Object] Demographic targeting: { automatic, minimum_age, maximum_age, gender }.
175
+ #
176
+ # @param desired_cost_per_result [Float] Target/cap cost for average_target / maximum_target.
177
+ #
178
+ # @param devices [Object] Device targeting: { platforms, operating_systems: [{ os, minimum_version }] }.
179
+ #
180
+ # @param ends_at [String] Schedule end, ISO 8601.
181
+ #
182
+ # @param frequency_cap [Object] { maximum_impressions, per_days } — only valid for reach optimization.
183
+ #
184
+ # @param languages [Array<String>] Languages to target as ISO 639 codes (e.g. en, es). Empty/omitted = all language
61
185
  #
62
- # @param budget_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::BudgetType, nil] The budget type for an ad campaign or ad group.
186
+ # @param message_apps [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::MessageApp>] Required when conversion_location is messaging: which apps to message on. Combin
63
187
  #
64
- # @param config [WhopSDK::Models::AdGroupUpdateParams::Config, nil] Unified ad group configuration (bidding, optimization, targeting).
188
+ # @param minimum_daily_spend [Float] Daily spend floor within the budget.
65
189
  #
66
- # @param daily_budget [Float, nil] Daily budget in dollars.
190
+ # @param optimization_goal [String] What the ad group optimizes for (e.g. conversions, link_clicks, reach).
67
191
  #
68
- # @param name [String, nil] Human-readable ad group name.
192
+ # @param placements [Object] 'automatic' (Advantage+) or a list of { platform, positions }. Omit positions to
69
193
  #
70
- # @param platform_config [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig, nil] Platform-specific ad group configuration.
194
+ # @param regions [Object] Geo targeting: { include / exclude: { countries (ISO 3166-1), regions (states/pr
71
195
  #
72
- # @param status [Symbol, WhopSDK::Models::AdGroupUpdateParams::Status, nil] The status of an external ad group.
196
+ # @param starts_at [String] Schedule start, ISO 8601.
197
+ #
198
+ # @param status [Symbol, WhopSDK::Models::AdGroupUpdateParams::Status] Initial status (default: active).
199
+ #
200
+ # @param title [String] The display name of the ad group.
73
201
  #
74
202
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
75
203
 
76
- # The budget type for an ad campaign or ad group.
77
- module BudgetType
204
+ # Bid strategy.
205
+ module BidType
78
206
  extend WhopSDK::Internal::Type::Enum
79
207
 
80
- DAILY = :daily
81
- LIFETIME = :lifetime
208
+ MINIMUM_COST = :minimum_cost
209
+ AVERAGE_TARGET = :average_target
210
+ MAXIMUM_TARGET = :maximum_target
82
211
 
83
212
  # @!method self.values
84
213
  # @return [Array<Symbol>]
85
214
  end
86
215
 
87
- class Config < WhopSDK::Internal::Type::BaseModel
88
- # @!attribute bid_amount
89
- # Bid cap amount in cents. Used when bid_strategy is bid_cap or cost_cap.
90
- #
91
- # @return [Integer, nil]
92
- optional :bid_amount, Integer, nil?: true
93
-
94
- # @!attribute bid_strategy
95
- # Bid strategy: lowest_cost, bid_cap, or cost_cap.
96
- #
97
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::BidStrategy, nil]
98
- optional :bid_strategy, enum: -> { WhopSDK::AdGroupUpdateParams::Config::BidStrategy }, nil?: true
99
-
100
- # @!attribute billing_event
101
- # How you are billed (e.g., impressions, clicks).
102
- #
103
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::BillingEvent, nil]
104
- optional :billing_event, enum: -> { WhopSDK::AdGroupUpdateParams::Config::BillingEvent }, nil?: true
105
-
106
- # @!attribute end_time
107
- # Scheduled end time (ISO8601). Required for lifetime budgets.
108
- #
109
- # @return [String, nil]
110
- optional :end_time, String, nil?: true
111
-
112
- # @!attribute frequency_cap
113
- # Maximum number of times to show ads to each person in the frequency interval.
114
- #
115
- # @return [Integer, nil]
116
- optional :frequency_cap, Integer, nil?: true
117
-
118
- # @!attribute frequency_cap_interval_days
119
- # Number of days for the frequency cap interval.
120
- #
121
- # @return [Integer, nil]
122
- optional :frequency_cap_interval_days, Integer, nil?: true
123
-
124
- # @!attribute optimization_goal
125
- # What the ad group optimizes for (e.g., conversions, link_clicks, reach).
126
- #
127
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::OptimizationGoal, nil]
128
- optional :optimization_goal,
129
- enum: -> { WhopSDK::AdGroupUpdateParams::Config::OptimizationGoal },
130
- nil?: true
131
-
132
- # @!attribute pacing
133
- # Budget pacing: standard (even) or accelerated (fast).
134
- #
135
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Pacing, nil]
136
- optional :pacing, enum: -> { WhopSDK::AdGroupUpdateParams::Config::Pacing }, nil?: true
137
-
138
- # @!attribute start_time
139
- # Scheduled start time (ISO8601).
140
- #
141
- # @return [String, nil]
142
- optional :start_time, String, nil?: true
143
-
144
- # @!attribute targeting
145
- # Audience targeting settings (demographics, geo, interests, audiences, devices).
146
- #
147
- # @return [WhopSDK::Models::AdGroupUpdateParams::Config::Targeting, nil]
148
- optional :targeting, -> { WhopSDK::AdGroupUpdateParams::Config::Targeting }, nil?: true
149
-
150
- # @!method initialize(bid_amount: nil, bid_strategy: nil, billing_event: nil, end_time: nil, frequency_cap: nil, frequency_cap_interval_days: nil, optimization_goal: nil, pacing: nil, start_time: nil, targeting: nil)
151
- # Unified ad group configuration (bidding, optimization, targeting).
152
- #
153
- # @param bid_amount [Integer, nil] Bid cap amount in cents. Used when bid_strategy is bid_cap or cost_cap.
154
- #
155
- # @param bid_strategy [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::BidStrategy, nil] Bid strategy: lowest_cost, bid_cap, or cost_cap.
156
- #
157
- # @param billing_event [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::BillingEvent, nil] How you are billed (e.g., impressions, clicks).
158
- #
159
- # @param end_time [String, nil] Scheduled end time (ISO8601). Required for lifetime budgets.
160
- #
161
- # @param frequency_cap [Integer, nil] Maximum number of times to show ads to each person in the frequency interval.
162
- #
163
- # @param frequency_cap_interval_days [Integer, nil] Number of days for the frequency cap interval.
164
- #
165
- # @param optimization_goal [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::OptimizationGoal, nil] What the ad group optimizes for (e.g., conversions, link_clicks, reach).
166
- #
167
- # @param pacing [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Pacing, nil] Budget pacing: standard (even) or accelerated (fast).
168
- #
169
- # @param start_time [String, nil] Scheduled start time (ISO8601).
170
- #
171
- # @param targeting [WhopSDK::Models::AdGroupUpdateParams::Config::Targeting, nil] Audience targeting settings (demographics, geo, interests, audiences, devices).
172
-
173
- # Bid strategy: lowest_cost, bid_cap, or cost_cap.
174
- #
175
- # @see WhopSDK::Models::AdGroupUpdateParams::Config#bid_strategy
176
- module BidStrategy
177
- extend WhopSDK::Internal::Type::Enum
178
-
179
- LOWEST_COST = :lowest_cost
180
- BID_CAP = :bid_cap
181
- COST_CAP = :cost_cap
182
-
183
- # @!method self.values
184
- # @return [Array<Symbol>]
185
- end
186
-
187
- # How you are billed (e.g., impressions, clicks).
188
- #
189
- # @see WhopSDK::Models::AdGroupUpdateParams::Config#billing_event
190
- module BillingEvent
191
- extend WhopSDK::Internal::Type::Enum
192
-
193
- IMPRESSIONS = :impressions
194
- CLICKS = :clicks
195
- OPTIMIZED_CPM = :optimized_cpm
196
- VIDEO_VIEWS = :video_views
197
-
198
- # @!method self.values
199
- # @return [Array<Symbol>]
200
- end
201
-
202
- # What the ad group optimizes for (e.g., conversions, link_clicks, reach).
203
- #
204
- # @see WhopSDK::Models::AdGroupUpdateParams::Config#optimization_goal
205
- module OptimizationGoal
206
- extend WhopSDK::Internal::Type::Enum
207
-
208
- CONVERSIONS = :conversions
209
- LINK_CLICKS = :link_clicks
210
- LANDING_PAGE_VIEWS = :landing_page_views
211
- REACH = :reach
212
- IMPRESSIONS = :impressions
213
- APP_INSTALLS = :app_installs
214
- VIDEO_VIEWS = :video_views
215
- LEAD_GENERATION = :lead_generation
216
- VALUE = :value
217
- PAGE_LIKES = :page_likes
218
- CONVERSATIONS = :conversations
219
- AD_RECALL_LIFT = :ad_recall_lift
220
- TWO_SECOND_CONTINUOUS_VIDEO_VIEWS = :two_second_continuous_video_views
221
- POST_ENGAGEMENT = :post_engagement
222
- EVENT_RESPONSES = :event_responses
223
- REMINDERS_SET = :reminders_set
224
- QUALITY_LEAD = :quality_lead
225
-
226
- # @!method self.values
227
- # @return [Array<Symbol>]
228
- end
229
-
230
- # Budget pacing: standard (even) or accelerated (fast).
231
- #
232
- # @see WhopSDK::Models::AdGroupUpdateParams::Config#pacing
233
- module Pacing
234
- extend WhopSDK::Internal::Type::Enum
235
-
236
- STANDARD = :standard
237
- ACCELERATED = :accelerated
238
-
239
- # @!method self.values
240
- # @return [Array<Symbol>]
241
- end
242
-
243
- # @see WhopSDK::Models::AdGroupUpdateParams::Config#targeting
244
- class Targeting < WhopSDK::Internal::Type::BaseModel
245
- # @!attribute age_max
246
- # Maximum age for demographic targeting.
247
- #
248
- # @return [Integer, nil]
249
- optional :age_max, Integer, nil?: true
250
-
251
- # @!attribute age_min
252
- # Minimum age for demographic targeting.
253
- #
254
- # @return [Integer, nil]
255
- optional :age_min, Integer, nil?: true
256
-
257
- # @!attribute countries
258
- # ISO 3166-1 alpha-2 country codes to target.
259
- #
260
- # @return [Array<String>, nil]
261
- optional :countries, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
262
-
263
- # @!attribute device_platforms
264
- # Device platforms to target.
265
- #
266
- # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::DevicePlatform>, nil]
267
- optional :device_platforms,
268
- -> {
269
- WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::Config::Targeting::DevicePlatform]
270
- },
271
- nil?: true
272
-
273
- # @!attribute exclude_audience_ids
274
- # Platform audience IDs to exclude.
275
- #
276
- # @return [Array<String>, nil]
277
- optional :exclude_audience_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
278
-
279
- # @!attribute genders
280
- # Genders to target.
281
- #
282
- # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::Gender>, nil]
283
- optional :genders,
284
- -> {
285
- WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::Config::Targeting::Gender]
286
- },
287
- nil?: true
288
-
289
- # @!attribute include_audience_ids
290
- # Platform audience IDs to include.
291
- #
292
- # @return [Array<String>, nil]
293
- optional :include_audience_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
294
-
295
- # @!attribute interest_ids
296
- # Platform-specific interest IDs to target.
297
- #
298
- # @return [Array<String>, nil]
299
- optional :interest_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
300
-
301
- # @!attribute languages
302
- # Language codes to target.
303
- #
304
- # @return [Array<String>, nil]
305
- optional :languages, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
306
-
307
- # @!attribute placement_type
308
- # Placement strategy for ad delivery.
309
- #
310
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::PlacementType, nil]
311
- optional :placement_type,
312
- enum: -> { WhopSDK::AdGroupUpdateParams::Config::Targeting::PlacementType },
313
- nil?: true
314
-
315
- # @!method initialize(age_max: nil, age_min: nil, countries: nil, device_platforms: nil, exclude_audience_ids: nil, genders: nil, include_audience_ids: nil, interest_ids: nil, languages: nil, placement_type: nil)
316
- # Audience targeting settings (demographics, geo, interests, audiences, devices).
317
- #
318
- # @param age_max [Integer, nil] Maximum age for demographic targeting.
319
- #
320
- # @param age_min [Integer, nil] Minimum age for demographic targeting.
321
- #
322
- # @param countries [Array<String>, nil] ISO 3166-1 alpha-2 country codes to target.
323
- #
324
- # @param device_platforms [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::DevicePlatform>, nil] Device platforms to target.
325
- #
326
- # @param exclude_audience_ids [Array<String>, nil] Platform audience IDs to exclude.
327
- #
328
- # @param genders [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::Gender>, nil] Genders to target.
329
- #
330
- # @param include_audience_ids [Array<String>, nil] Platform audience IDs to include.
331
- #
332
- # @param interest_ids [Array<String>, nil] Platform-specific interest IDs to target.
333
- #
334
- # @param languages [Array<String>, nil] Language codes to target.
335
- #
336
- # @param placement_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::Config::Targeting::PlacementType, nil] Placement strategy for ad delivery.
337
-
338
- # Device platform targeting options.
339
- module DevicePlatform
340
- extend WhopSDK::Internal::Type::Enum
341
-
342
- MOBILE = :mobile
343
- DESKTOP = :desktop
344
-
345
- # @!method self.values
346
- # @return [Array<Symbol>]
347
- end
348
-
349
- # Gender targeting options.
350
- module Gender
351
- extend WhopSDK::Internal::Type::Enum
352
-
353
- MALE = :male
354
- FEMALE = :female
355
- ALL = :all
356
-
357
- # @!method self.values
358
- # @return [Array<Symbol>]
359
- end
360
-
361
- # Placement strategy for ad delivery.
362
- #
363
- # @see WhopSDK::Models::AdGroupUpdateParams::Config::Targeting#placement_type
364
- module PlacementType
365
- extend WhopSDK::Internal::Type::Enum
216
+ # Whether the budget is daily or lifetime.
217
+ module BudgetType
218
+ extend WhopSDK::Internal::Type::Enum
366
219
 
367
- AUTOMATIC = :automatic
368
- MANUAL = :manual
220
+ DAILY = :daily
221
+ LIFETIME = :lifetime
369
222
 
370
- # @!method self.values
371
- # @return [Array<Symbol>]
372
- end
373
- end
223
+ # @!method self.values
224
+ # @return [Array<Symbol>]
374
225
  end
375
226
 
376
- class PlatformConfig < WhopSDK::Internal::Type::BaseModel
377
- # @!attribute meta
378
- # Meta (Facebook/Instagram) ad set configuration.
379
- #
380
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta, nil]
381
- optional :meta, -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta }, nil?: true
382
-
383
- # @!attribute tiktok
384
- # TikTok ad group configuration.
385
- #
386
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok, nil]
387
- optional :tiktok, -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok }, nil?: true
388
-
389
- # @!method initialize(meta: nil, tiktok: nil)
390
- # Platform-specific ad group configuration.
391
- #
392
- # @param meta [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta, nil] Meta (Facebook/Instagram) ad set configuration.
393
- #
394
- # @param tiktok [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok, nil] TikTok ad group configuration.
395
-
396
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig#meta
397
- class Meta < WhopSDK::Internal::Type::BaseModel
398
- # @!attribute android_devices
399
- #
400
- # @return [Array<String>, nil]
401
- optional :android_devices, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
402
-
403
- # @!attribute attribution_setting
404
- # Represents textual data as UTF-8 character sequences. This type is most often
405
- # used by GraphQL to represent free-form human-readable text.
406
- #
407
- # @return [String, nil]
408
- optional :attribution_setting, String, nil?: true
409
-
410
- # @!attribute attribution_spec
411
- # Conversion attribution windows.
412
- #
413
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::AttributionSpec>, nil]
414
- optional :attribution_spec,
415
- -> {
416
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::AttributionSpec]
417
- },
418
- nil?: true
419
-
420
- # @!attribute audience_network_positions
421
- #
422
- # @return [Array<String>, nil]
423
- optional :audience_network_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
424
-
425
- # @!attribute audience_type
426
- # Audience type for retargeting.
427
- #
428
- # @return [String, nil]
429
- optional :audience_type, String, nil?: true
430
-
431
- # @!attribute bid_amount
432
- # Bid amount in cents.
433
- #
434
- # @return [Integer, nil]
435
- optional :bid_amount, Integer, nil?: true
436
-
437
- # @!attribute bid_strategy
438
- # Meta bid strategy.
439
- #
440
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::BidStrategy, nil]
441
- optional :bid_strategy,
442
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::BidStrategy },
443
- nil?: true
444
-
445
- # @!attribute billing_event
446
- # How you are billed on Meta.
447
- #
448
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::BillingEvent, nil]
449
- optional :billing_event,
450
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::BillingEvent },
451
- nil?: true
452
-
453
- # @!attribute brand_safety_content_filter_levels
454
- #
455
- # @return [Array<String>, nil]
456
- optional :brand_safety_content_filter_levels, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
457
-
458
- # @!attribute budget_remaining
459
- # Represents textual data as UTF-8 character sequences. This type is most often
460
- # used by GraphQL to represent free-form human-readable text.
461
- #
462
- # @return [String, nil]
463
- optional :budget_remaining, String, nil?: true
464
-
465
- # @!attribute cost_per_result_goal
466
- # Represents signed double-precision fractional values as specified by
467
- # [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).
468
- #
469
- # @return [Float, nil]
470
- optional :cost_per_result_goal, Float, nil?: true
471
-
472
- # @!attribute created_time
473
- # Represents textual data as UTF-8 character sequences. This type is most often
474
- # used by GraphQL to represent free-form human-readable text.
475
- #
476
- # @return [String, nil]
477
- optional :created_time, String, nil?: true
478
-
479
- # @!attribute daily_budget
480
- # Daily budget in cents.
481
- #
482
- # @return [Integer, nil]
483
- optional :daily_budget, Integer, nil?: true
484
-
485
- # @!attribute daily_min_spend_target
486
- # Represents textual data as UTF-8 character sequences. This type is most often
487
- # used by GraphQL to represent free-form human-readable text.
488
- #
489
- # @return [String, nil]
490
- optional :daily_min_spend_target, String, nil?: true
491
-
492
- # @!attribute daily_spend_cap
493
- # Represents textual data as UTF-8 character sequences. This type is most often
494
- # used by GraphQL to represent free-form human-readable text.
495
- #
496
- # @return [String, nil]
497
- optional :daily_spend_cap, String, nil?: true
498
-
499
- # @!attribute destination_type
500
- # Where ads in this ad set direct people.
501
- #
502
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::DestinationType, nil]
503
- optional :destination_type,
504
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::DestinationType },
505
- nil?: true
506
-
507
- # @!attribute dsa_beneficiary
508
- # Represents textual data as UTF-8 character sequences. This type is most often
509
- # used by GraphQL to represent free-form human-readable text.
510
- #
511
- # @return [String, nil]
512
- optional :dsa_beneficiary, String, nil?: true
513
-
514
- # @!attribute dsa_payor
515
- # Represents textual data as UTF-8 character sequences. This type is most often
516
- # used by GraphQL to represent free-form human-readable text.
517
- #
518
- # @return [String, nil]
519
- optional :dsa_payor, String, nil?: true
520
-
521
- # @!attribute end_time
522
- # End time (ISO8601). Required for lifetime budgets.
523
- #
524
- # @return [String, nil]
525
- optional :end_time, String, nil?: true
526
-
527
- # @!attribute excluded_geo_locations
528
- # Geo locations to exclude.
529
- #
530
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations, nil]
531
- optional :excluded_geo_locations,
532
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations },
533
- nil?: true
534
-
535
- # @!attribute facebook_positions
536
- # Facebook ad placements (feed, reels, stories, etc.).
537
- #
538
- # @return [Array<String>, nil]
539
- optional :facebook_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
540
-
541
- # @!attribute frequency_control_count
542
- # Represents non-fractional signed whole numeric values. Int can represent values
543
- # between -(2^31) and 2^31 - 1.
544
- #
545
- # @return [Integer, nil]
546
- optional :frequency_control_count, Integer, nil?: true
547
-
548
- # @!attribute frequency_control_days
549
- # Represents non-fractional signed whole numeric values. Int can represent values
550
- # between -(2^31) and 2^31 - 1.
551
- #
552
- # @return [Integer, nil]
553
- optional :frequency_control_days, Integer, nil?: true
554
-
555
- # @!attribute frequency_control_type
556
- # Represents textual data as UTF-8 character sequences. This type is most often
557
- # used by GraphQL to represent free-form human-readable text.
558
- #
559
- # @return [String, nil]
560
- optional :frequency_control_type, String, nil?: true
561
-
562
- # @!attribute geo_cities
563
- #
564
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoCity>, nil]
565
- optional :geo_cities,
566
- -> {
567
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoCity]
568
- },
569
- nil?: true
570
-
571
- # @!attribute geo_locations
572
- # Geo targeting (countries, regions, cities, zips).
573
- #
574
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations, nil]
575
- optional :geo_locations,
576
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations },
577
- nil?: true
578
-
579
- # @!attribute geo_regions
580
- #
581
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoRegion>, nil]
582
- optional :geo_regions,
583
- -> {
584
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoRegion]
585
- },
586
- nil?: true
587
-
588
- # @!attribute geo_zips
589
- #
590
- # @return [Array<String>, nil]
591
- optional :geo_zips, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
592
-
593
- # @!attribute instagram_actor_id
594
- # Instagram account ID for this ad set.
595
- #
596
- # @return [String, nil]
597
- optional :instagram_actor_id, String, nil?: true
598
-
599
- # @!attribute instagram_positions
600
- # Instagram ad placements (stream, story, reels, etc.).
601
- #
602
- # @return [Array<String>, nil]
603
- optional :instagram_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
604
-
605
- # @!attribute ios_devices
606
- #
607
- # @return [Array<String>, nil]
608
- optional :ios_devices, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
609
-
610
- # @!attribute is_dynamic_creative
611
- # Represents `true` or `false` values.
612
- #
613
- # @return [Boolean, nil]
614
- optional :is_dynamic_creative, WhopSDK::Internal::Type::Boolean, nil?: true
615
-
616
- # @!attribute lead_conversion_location
617
- #
618
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadConversionLocation, nil]
619
- optional :lead_conversion_location,
620
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadConversionLocation },
621
- nil?: true
622
-
623
- # @!attribute lead_form_config
624
- # Configuration for a Meta lead gen instant form.
625
- #
626
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig, nil]
627
- optional :lead_form_config,
628
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig },
629
- nil?: true
630
-
631
- # @!attribute lead_gen_form_id
632
- # Represents textual data as UTF-8 character sequences. This type is most often
633
- # used by GraphQL to represent free-form human-readable text.
634
- #
635
- # @return [String, nil]
636
- optional :lead_gen_form_id, String, nil?: true
637
-
638
- # @!attribute lifetime_budget
639
- # Lifetime budget in cents.
640
- #
641
- # @return [Integer, nil]
642
- optional :lifetime_budget, Integer, nil?: true
643
-
644
- # @!attribute lifetime_min_spend_target
645
- # Represents textual data as UTF-8 character sequences. This type is most often
646
- # used by GraphQL to represent free-form human-readable text.
647
- #
648
- # @return [String, nil]
649
- optional :lifetime_min_spend_target, String, nil?: true
650
-
651
- # @!attribute lifetime_spend_cap
652
- # Represents textual data as UTF-8 character sequences. This type is most often
653
- # used by GraphQL to represent free-form human-readable text.
654
- #
655
- # @return [String, nil]
656
- optional :lifetime_spend_cap, String, nil?: true
657
-
658
- # @!attribute location_types
659
- #
660
- # @return [Array<String>, nil]
661
- optional :location_types, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
662
-
663
- # @!attribute messenger_positions
664
- #
665
- # @return [Array<String>, nil]
666
- optional :messenger_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
667
-
668
- # @!attribute optimization_goal
669
- # What this ad set optimizes for on Meta.
670
- #
671
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::OptimizationGoal, nil]
672
- optional :optimization_goal,
673
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::OptimizationGoal },
674
- nil?: true
675
-
676
- # @!attribute page_id
677
- # Facebook Page ID for this ad set.
678
- #
679
- # @return [String, nil]
680
- optional :page_id, String, nil?: true
681
-
682
- # @!attribute pixel_id
683
- # Represents textual data as UTF-8 character sequences. This type is most often
684
- # used by GraphQL to represent free-form human-readable text.
685
- #
686
- # @return [String, nil]
687
- optional :pixel_id, String, nil?: true
688
-
689
- # @!attribute promoted_object
690
- # The object this ad set promotes (pixel, page, etc.).
691
- #
692
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::PromotedObject, nil]
693
- optional :promoted_object,
694
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::PromotedObject },
695
- nil?: true
696
-
697
- # @!attribute publisher_platforms
698
- # Platforms to publish on (facebook, instagram, messenger, audience_network).
699
- #
700
- # @return [Array<String>, nil]
701
- optional :publisher_platforms, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
702
-
703
- # @!attribute source_adset_id
704
- # Represents textual data as UTF-8 character sequences. This type is most often
705
- # used by GraphQL to represent free-form human-readable text.
706
- #
707
- # @return [String, nil]
708
- optional :source_adset_id, String, nil?: true
709
-
710
- # @!attribute start_time
711
- # Represents textual data as UTF-8 character sequences. This type is most often
712
- # used by GraphQL to represent free-form human-readable text.
713
- #
714
- # @return [String, nil]
715
- optional :start_time, String, nil?: true
716
-
717
- # @!attribute status
718
- #
719
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::Status, nil]
720
- optional :status,
721
- enum: -> {
722
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::Status
723
- },
724
- nil?: true
725
-
726
- # @!attribute targeting_automation
727
- # Advantage+ audience expansion settings.
728
- #
729
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::TargetingAutomation, nil]
730
- optional :targeting_automation,
731
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::TargetingAutomation },
732
- nil?: true
733
-
734
- # @!attribute threads_positions
735
- #
736
- # @return [Array<String>, nil]
737
- optional :threads_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
738
-
739
- # @!attribute updated_time
740
- # Represents textual data as UTF-8 character sequences. This type is most often
741
- # used by GraphQL to represent free-form human-readable text.
742
- #
743
- # @return [String, nil]
744
- optional :updated_time, String, nil?: true
745
-
746
- # @!attribute user_device
747
- #
748
- # @return [Array<String>, nil]
749
- optional :user_device, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
750
-
751
- # @!attribute user_os
752
- #
753
- # @return [Array<String>, nil]
754
- optional :user_os, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
755
-
756
- # @!attribute whatsapp_phone_number
757
- # Represents textual data as UTF-8 character sequences. This type is most often
758
- # used by GraphQL to represent free-form human-readable text.
759
- #
760
- # @return [String, nil]
761
- optional :whatsapp_phone_number, String, nil?: true
762
-
763
- # @!attribute whatsapp_positions
764
- #
765
- # @return [Array<String>, nil]
766
- optional :whatsapp_positions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
767
-
768
- # @!method initialize(android_devices: nil, attribution_setting: nil, attribution_spec: nil, audience_network_positions: nil, audience_type: nil, bid_amount: nil, bid_strategy: nil, billing_event: nil, brand_safety_content_filter_levels: nil, budget_remaining: nil, cost_per_result_goal: nil, created_time: nil, daily_budget: nil, daily_min_spend_target: nil, daily_spend_cap: nil, destination_type: nil, dsa_beneficiary: nil, dsa_payor: nil, end_time: nil, excluded_geo_locations: nil, facebook_positions: nil, frequency_control_count: nil, frequency_control_days: nil, frequency_control_type: nil, geo_cities: nil, geo_locations: nil, geo_regions: nil, geo_zips: nil, instagram_actor_id: nil, instagram_positions: nil, ios_devices: nil, is_dynamic_creative: nil, lead_conversion_location: nil, lead_form_config: nil, lead_gen_form_id: nil, lifetime_budget: nil, lifetime_min_spend_target: nil, lifetime_spend_cap: nil, location_types: nil, messenger_positions: nil, optimization_goal: nil, page_id: nil, pixel_id: nil, promoted_object: nil, publisher_platforms: nil, source_adset_id: nil, start_time: nil, status: nil, targeting_automation: nil, threads_positions: nil, updated_time: nil, user_device: nil, user_os: nil, whatsapp_phone_number: nil, whatsapp_positions: nil)
769
- # Some parameter documentations has been truncated, see
770
- # {WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta} for more details.
771
- #
772
- # Meta (Facebook/Instagram) ad set configuration.
773
- #
774
- # @param android_devices [Array<String>, nil]
775
- #
776
- # @param attribution_setting [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
777
- #
778
- # @param attribution_spec [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::AttributionSpec>, nil] Conversion attribution windows.
779
- #
780
- # @param audience_network_positions [Array<String>, nil]
781
- #
782
- # @param audience_type [String, nil] Audience type for retargeting.
783
- #
784
- # @param bid_amount [Integer, nil] Bid amount in cents.
785
- #
786
- # @param bid_strategy [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::BidStrategy, nil] Meta bid strategy.
787
- #
788
- # @param billing_event [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::BillingEvent, nil] How you are billed on Meta.
789
- #
790
- # @param brand_safety_content_filter_levels [Array<String>, nil]
791
- #
792
- # @param budget_remaining [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
793
- #
794
- # @param cost_per_result_goal [Float, nil] Represents signed double-precision fractional values as specified by [IEEE 754](
795
- #
796
- # @param created_time [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
797
- #
798
- # @param daily_budget [Integer, nil] Daily budget in cents.
799
- #
800
- # @param daily_min_spend_target [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
801
- #
802
- # @param daily_spend_cap [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
803
- #
804
- # @param destination_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::DestinationType, nil] Where ads in this ad set direct people.
805
- #
806
- # @param dsa_beneficiary [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
807
- #
808
- # @param dsa_payor [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
809
- #
810
- # @param end_time [String, nil] End time (ISO8601). Required for lifetime budgets.
811
- #
812
- # @param excluded_geo_locations [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations, nil] Geo locations to exclude.
813
- #
814
- # @param facebook_positions [Array<String>, nil] Facebook ad placements (feed, reels, stories, etc.).
815
- #
816
- # @param frequency_control_count [Integer, nil] Represents non-fractional signed whole numeric values. Int can represent values
817
- #
818
- # @param frequency_control_days [Integer, nil] Represents non-fractional signed whole numeric values. Int can represent values
819
- #
820
- # @param frequency_control_type [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
821
- #
822
- # @param geo_cities [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoCity>, nil]
823
- #
824
- # @param geo_locations [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations, nil] Geo targeting (countries, regions, cities, zips).
825
- #
826
- # @param geo_regions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoRegion>, nil]
827
- #
828
- # @param geo_zips [Array<String>, nil]
829
- #
830
- # @param instagram_actor_id [String, nil] Instagram account ID for this ad set.
831
- #
832
- # @param instagram_positions [Array<String>, nil] Instagram ad placements (stream, story, reels, etc.).
833
- #
834
- # @param ios_devices [Array<String>, nil]
835
- #
836
- # @param is_dynamic_creative [Boolean, nil] Represents `true` or `false` values.
837
- #
838
- # @param lead_conversion_location [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadConversionLocation, nil]
839
- #
840
- # @param lead_form_config [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig, nil] Configuration for a Meta lead gen instant form.
841
- #
842
- # @param lead_gen_form_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
843
- #
844
- # @param lifetime_budget [Integer, nil] Lifetime budget in cents.
845
- #
846
- # @param lifetime_min_spend_target [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
847
- #
848
- # @param lifetime_spend_cap [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
849
- #
850
- # @param location_types [Array<String>, nil]
851
- #
852
- # @param messenger_positions [Array<String>, nil]
853
- #
854
- # @param optimization_goal [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::OptimizationGoal, nil] What this ad set optimizes for on Meta.
855
- #
856
- # @param page_id [String, nil] Facebook Page ID for this ad set.
857
- #
858
- # @param pixel_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
859
- #
860
- # @param promoted_object [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::PromotedObject, nil] The object this ad set promotes (pixel, page, etc.).
861
- #
862
- # @param publisher_platforms [Array<String>, nil] Platforms to publish on (facebook, instagram, messenger, audience_network).
863
- #
864
- # @param source_adset_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
865
- #
866
- # @param start_time [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
867
- #
868
- # @param status [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::Status, nil]
869
- #
870
- # @param targeting_automation [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::TargetingAutomation, nil] Advantage+ audience expansion settings.
871
- #
872
- # @param threads_positions [Array<String>, nil]
873
- #
874
- # @param updated_time [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
875
- #
876
- # @param user_device [Array<String>, nil]
877
- #
878
- # @param user_os [Array<String>, nil]
879
- #
880
- # @param whatsapp_phone_number [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
881
- #
882
- # @param whatsapp_positions [Array<String>, nil]
883
-
884
- class AttributionSpec < WhopSDK::Internal::Type::BaseModel
885
- # @!attribute event_type
886
- # Attribution event type (e.g., CLICK_THROUGH, VIEW_THROUGH).
887
- #
888
- # @return [String]
889
- required :event_type, String
890
-
891
- # @!attribute window_days
892
- # Attribution window in days (1, 7, 28).
893
- #
894
- # @return [Integer]
895
- required :window_days, Integer
896
-
897
- # @!method initialize(event_type:, window_days:)
898
- # Meta conversion attribution window.
899
- #
900
- # @param event_type [String] Attribution event type (e.g., CLICK_THROUGH, VIEW_THROUGH).
901
- #
902
- # @param window_days [Integer] Attribution window in days (1, 7, 28).
903
- end
904
-
905
- # Meta bid strategy.
906
- #
907
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#bid_strategy
908
- module BidStrategy
909
- extend WhopSDK::Internal::Type::Enum
910
-
911
- LOWEST_COST_WITHOUT_CAP = :LOWEST_COST_WITHOUT_CAP
912
- LOWEST_COST_WITH_BID_CAP = :LOWEST_COST_WITH_BID_CAP
913
- COST_CAP = :COST_CAP
914
- LOWEST_COST_WITH_MIN_ROAS = :LOWEST_COST_WITH_MIN_ROAS
915
-
916
- # @!method self.values
917
- # @return [Array<Symbol>]
918
- end
919
-
920
- # How you are billed on Meta.
921
- #
922
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#billing_event
923
- module BillingEvent
924
- extend WhopSDK::Internal::Type::Enum
925
-
926
- APP_INSTALLS = :APP_INSTALLS
927
- CLICKS = :CLICKS
928
- IMPRESSIONS = :IMPRESSIONS
929
- LINK_CLICKS = :LINK_CLICKS
930
- NONE = :NONE
931
- OFFER_CLAIMS = :OFFER_CLAIMS
932
- PAGE_LIKES = :PAGE_LIKES
933
- POST_ENGAGEMENT = :POST_ENGAGEMENT
934
- THRUPLAY = :THRUPLAY
935
- PURCHASE = :PURCHASE
936
- LISTING_INTERACTION = :LISTING_INTERACTION
937
-
938
- # @!method self.values
939
- # @return [Array<Symbol>]
940
- end
941
-
942
- # Where ads in this ad set direct people.
943
- #
944
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#destination_type
945
- module DestinationType
946
- extend WhopSDK::Internal::Type::Enum
947
-
948
- UNDEFINED = :UNDEFINED
949
- WEBSITE = :WEBSITE
950
- APP = :APP
951
- FACEBOOK = :FACEBOOK
952
- MESSENGER = :MESSENGER
953
- WHATSAPP = :WHATSAPP
954
- INSTAGRAM_DIRECT = :INSTAGRAM_DIRECT
955
- INSTAGRAM_PROFILE = :INSTAGRAM_PROFILE
956
- PHONE_CALL = :PHONE_CALL
957
- SHOP_AUTOMATIC = :SHOP_AUTOMATIC
958
- APPLINKS_AUTOMATIC = :APPLINKS_AUTOMATIC
959
- ON_AD = :ON_AD
960
- ON_POST = :ON_POST
961
- ON_VIDEO = :ON_VIDEO
962
- ON_PAGE = :ON_PAGE
963
- ON_EVENT = :ON_EVENT
964
- MESSAGING_MESSENGER_WHATSAPP = :MESSAGING_MESSENGER_WHATSAPP
965
- MESSAGING_INSTAGRAM_DIRECT_MESSENGER = :MESSAGING_INSTAGRAM_DIRECT_MESSENGER
966
- MESSAGING_INSTAGRAM_DIRECT_WHATSAPP = :MESSAGING_INSTAGRAM_DIRECT_WHATSAPP
967
- MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP = :MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP
968
- INSTAGRAM_PROFILE_AND_FACEBOOK_PAGE = :INSTAGRAM_PROFILE_AND_FACEBOOK_PAGE
969
- FACEBOOK_PAGE = :FACEBOOK_PAGE
970
- INSTAGRAM_LIVE = :INSTAGRAM_LIVE
971
- FACEBOOK_LIVE = :FACEBOOK_LIVE
972
- IMAGINE = :IMAGINE
973
- LEAD_FROM_IG_DIRECT = :LEAD_FROM_IG_DIRECT
974
- LEAD_FROM_MESSENGER = :LEAD_FROM_MESSENGER
975
- WEBSITE_AND_LEAD_FORM = :WEBSITE_AND_LEAD_FORM
976
- WEBSITE_AND_PHONE_CALL = :WEBSITE_AND_PHONE_CALL
977
- BROADCAST_CHANNEL = :BROADCAST_CHANNEL
978
-
979
- # @!method self.values
980
- # @return [Array<Symbol>]
981
- end
982
-
983
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#excluded_geo_locations
984
- class ExcludedGeoLocations < WhopSDK::Internal::Type::BaseModel
985
- # @!attribute cities
986
- # City targets.
987
- #
988
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::City>, nil]
989
- optional :cities,
990
- -> {
991
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::City]
992
- },
993
- nil?: true
994
-
995
- # @!attribute countries
996
- # ISO 3166-1 alpha-2 country codes.
997
- #
998
- # @return [Array<String>, nil]
999
- optional :countries, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
1000
-
1001
- # @!attribute location_types
1002
- # Location types (home, recent, travel_in).
1003
- #
1004
- # @return [Array<String>, nil]
1005
- optional :location_types, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
1006
-
1007
- # @!attribute regions
1008
- # Region/state targets.
1009
- #
1010
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Region>, nil]
1011
- optional :regions,
1012
- -> {
1013
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Region]
1014
- },
1015
- nil?: true
1016
-
1017
- # @!attribute zips
1018
- # Zip/postal code targets.
1019
- #
1020
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Zip>, nil]
1021
- optional :zips,
1022
- -> {
1023
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Zip]
1024
- },
1025
- nil?: true
1026
-
1027
- # @!method initialize(cities: nil, countries: nil, location_types: nil, regions: nil, zips: nil)
1028
- # Geo locations to exclude.
1029
- #
1030
- # @param cities [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::City>, nil] City targets.
1031
- #
1032
- # @param countries [Array<String>, nil] ISO 3166-1 alpha-2 country codes.
1033
- #
1034
- # @param location_types [Array<String>, nil] Location types (home, recent, travel_in).
1035
- #
1036
- # @param regions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Region>, nil] Region/state targets.
1037
- #
1038
- # @param zips [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::ExcludedGeoLocations::Zip>, nil] Zip/postal code targets.
1039
-
1040
- class City < WhopSDK::Internal::Type::BaseModel
1041
- # @!attribute key
1042
- # Meta geo target key/ID.
1043
- #
1044
- # @return [String]
1045
- required :key, String
1046
-
1047
- # @!attribute country
1048
- # Country code for this entry.
1049
- #
1050
- # @return [String, nil]
1051
- optional :country, String, nil?: true
1052
-
1053
- # @!attribute name
1054
- # Display name.
1055
- #
1056
- # @return [String, nil]
1057
- optional :name, String, nil?: true
1058
-
1059
- # @!attribute radius
1060
- # Radius in miles (cities only).
1061
- #
1062
- # @return [Integer, nil]
1063
- optional :radius, Integer, nil?: true
1064
-
1065
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1066
- # A Meta geo target entry (region, city, or zip).
1067
- #
1068
- # @param key [String] Meta geo target key/ID.
1069
- #
1070
- # @param country [String, nil] Country code for this entry.
1071
- #
1072
- # @param name [String, nil] Display name.
1073
- #
1074
- # @param radius [Integer, nil] Radius in miles (cities only).
1075
- end
1076
-
1077
- class Region < WhopSDK::Internal::Type::BaseModel
1078
- # @!attribute key
1079
- # Meta geo target key/ID.
1080
- #
1081
- # @return [String]
1082
- required :key, String
1083
-
1084
- # @!attribute country
1085
- # Country code for this entry.
1086
- #
1087
- # @return [String, nil]
1088
- optional :country, String, nil?: true
1089
-
1090
- # @!attribute name
1091
- # Display name.
1092
- #
1093
- # @return [String, nil]
1094
- optional :name, String, nil?: true
1095
-
1096
- # @!attribute radius
1097
- # Radius in miles (cities only).
1098
- #
1099
- # @return [Integer, nil]
1100
- optional :radius, Integer, nil?: true
1101
-
1102
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1103
- # A Meta geo target entry (region, city, or zip).
1104
- #
1105
- # @param key [String] Meta geo target key/ID.
1106
- #
1107
- # @param country [String, nil] Country code for this entry.
1108
- #
1109
- # @param name [String, nil] Display name.
1110
- #
1111
- # @param radius [Integer, nil] Radius in miles (cities only).
1112
- end
1113
-
1114
- class Zip < WhopSDK::Internal::Type::BaseModel
1115
- # @!attribute key
1116
- # Meta geo target key/ID.
1117
- #
1118
- # @return [String]
1119
- required :key, String
1120
-
1121
- # @!attribute country
1122
- # Country code for this entry.
1123
- #
1124
- # @return [String, nil]
1125
- optional :country, String, nil?: true
1126
-
1127
- # @!attribute name
1128
- # Display name.
1129
- #
1130
- # @return [String, nil]
1131
- optional :name, String, nil?: true
1132
-
1133
- # @!attribute radius
1134
- # Radius in miles (cities only).
1135
- #
1136
- # @return [Integer, nil]
1137
- optional :radius, Integer, nil?: true
1138
-
1139
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1140
- # A Meta geo target entry (region, city, or zip).
1141
- #
1142
- # @param key [String] Meta geo target key/ID.
1143
- #
1144
- # @param country [String, nil] Country code for this entry.
1145
- #
1146
- # @param name [String, nil] Display name.
1147
- #
1148
- # @param radius [Integer, nil] Radius in miles (cities only).
1149
- end
1150
- end
1151
-
1152
- class GeoCity < WhopSDK::Internal::Type::BaseModel
1153
- # @!attribute key
1154
- # Meta geo target key/ID.
1155
- #
1156
- # @return [String]
1157
- required :key, String
1158
-
1159
- # @!attribute country
1160
- # Country code for this entry.
1161
- #
1162
- # @return [String, nil]
1163
- optional :country, String, nil?: true
1164
-
1165
- # @!attribute name
1166
- # Display name.
1167
- #
1168
- # @return [String, nil]
1169
- optional :name, String, nil?: true
1170
-
1171
- # @!attribute radius
1172
- # Radius in miles (cities only).
1173
- #
1174
- # @return [Integer, nil]
1175
- optional :radius, Integer, nil?: true
1176
-
1177
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1178
- # A Meta geo target entry (region, city, or zip).
1179
- #
1180
- # @param key [String] Meta geo target key/ID.
1181
- #
1182
- # @param country [String, nil] Country code for this entry.
1183
- #
1184
- # @param name [String, nil] Display name.
1185
- #
1186
- # @param radius [Integer, nil] Radius in miles (cities only).
1187
- end
1188
-
1189
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#geo_locations
1190
- class GeoLocations < WhopSDK::Internal::Type::BaseModel
1191
- # @!attribute cities
1192
- # City targets.
1193
- #
1194
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::City>, nil]
1195
- optional :cities,
1196
- -> {
1197
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::City]
1198
- },
1199
- nil?: true
1200
-
1201
- # @!attribute countries
1202
- # ISO 3166-1 alpha-2 country codes.
1203
- #
1204
- # @return [Array<String>, nil]
1205
- optional :countries, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
1206
-
1207
- # @!attribute location_types
1208
- # Location types (home, recent, travel_in).
1209
- #
1210
- # @return [Array<String>, nil]
1211
- optional :location_types, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
1212
-
1213
- # @!attribute regions
1214
- # Region/state targets.
1215
- #
1216
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Region>, nil]
1217
- optional :regions,
1218
- -> {
1219
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Region]
1220
- },
1221
- nil?: true
1222
-
1223
- # @!attribute zips
1224
- # Zip/postal code targets.
1225
- #
1226
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Zip>, nil]
1227
- optional :zips,
1228
- -> {
1229
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Zip]
1230
- },
1231
- nil?: true
1232
-
1233
- # @!method initialize(cities: nil, countries: nil, location_types: nil, regions: nil, zips: nil)
1234
- # Geo targeting (countries, regions, cities, zips).
1235
- #
1236
- # @param cities [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::City>, nil] City targets.
1237
- #
1238
- # @param countries [Array<String>, nil] ISO 3166-1 alpha-2 country codes.
1239
- #
1240
- # @param location_types [Array<String>, nil] Location types (home, recent, travel_in).
1241
- #
1242
- # @param regions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Region>, nil] Region/state targets.
1243
- #
1244
- # @param zips [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::GeoLocations::Zip>, nil] Zip/postal code targets.
1245
-
1246
- class City < WhopSDK::Internal::Type::BaseModel
1247
- # @!attribute key
1248
- # Meta geo target key/ID.
1249
- #
1250
- # @return [String]
1251
- required :key, String
1252
-
1253
- # @!attribute country
1254
- # Country code for this entry.
1255
- #
1256
- # @return [String, nil]
1257
- optional :country, String, nil?: true
1258
-
1259
- # @!attribute name
1260
- # Display name.
1261
- #
1262
- # @return [String, nil]
1263
- optional :name, String, nil?: true
1264
-
1265
- # @!attribute radius
1266
- # Radius in miles (cities only).
1267
- #
1268
- # @return [Integer, nil]
1269
- optional :radius, Integer, nil?: true
1270
-
1271
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1272
- # A Meta geo target entry (region, city, or zip).
1273
- #
1274
- # @param key [String] Meta geo target key/ID.
1275
- #
1276
- # @param country [String, nil] Country code for this entry.
1277
- #
1278
- # @param name [String, nil] Display name.
1279
- #
1280
- # @param radius [Integer, nil] Radius in miles (cities only).
1281
- end
1282
-
1283
- class Region < WhopSDK::Internal::Type::BaseModel
1284
- # @!attribute key
1285
- # Meta geo target key/ID.
1286
- #
1287
- # @return [String]
1288
- required :key, String
1289
-
1290
- # @!attribute country
1291
- # Country code for this entry.
1292
- #
1293
- # @return [String, nil]
1294
- optional :country, String, nil?: true
1295
-
1296
- # @!attribute name
1297
- # Display name.
1298
- #
1299
- # @return [String, nil]
1300
- optional :name, String, nil?: true
1301
-
1302
- # @!attribute radius
1303
- # Radius in miles (cities only).
1304
- #
1305
- # @return [Integer, nil]
1306
- optional :radius, Integer, nil?: true
1307
-
1308
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1309
- # A Meta geo target entry (region, city, or zip).
1310
- #
1311
- # @param key [String] Meta geo target key/ID.
1312
- #
1313
- # @param country [String, nil] Country code for this entry.
1314
- #
1315
- # @param name [String, nil] Display name.
1316
- #
1317
- # @param radius [Integer, nil] Radius in miles (cities only).
1318
- end
1319
-
1320
- class Zip < WhopSDK::Internal::Type::BaseModel
1321
- # @!attribute key
1322
- # Meta geo target key/ID.
1323
- #
1324
- # @return [String]
1325
- required :key, String
1326
-
1327
- # @!attribute country
1328
- # Country code for this entry.
1329
- #
1330
- # @return [String, nil]
1331
- optional :country, String, nil?: true
1332
-
1333
- # @!attribute name
1334
- # Display name.
1335
- #
1336
- # @return [String, nil]
1337
- optional :name, String, nil?: true
1338
-
1339
- # @!attribute radius
1340
- # Radius in miles (cities only).
1341
- #
1342
- # @return [Integer, nil]
1343
- optional :radius, Integer, nil?: true
1344
-
1345
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1346
- # A Meta geo target entry (region, city, or zip).
1347
- #
1348
- # @param key [String] Meta geo target key/ID.
1349
- #
1350
- # @param country [String, nil] Country code for this entry.
1351
- #
1352
- # @param name [String, nil] Display name.
1353
- #
1354
- # @param radius [Integer, nil] Radius in miles (cities only).
1355
- end
1356
- end
1357
-
1358
- class GeoRegion < WhopSDK::Internal::Type::BaseModel
1359
- # @!attribute key
1360
- # Meta geo target key/ID.
1361
- #
1362
- # @return [String]
1363
- required :key, String
1364
-
1365
- # @!attribute country
1366
- # Country code for this entry.
1367
- #
1368
- # @return [String, nil]
1369
- optional :country, String, nil?: true
1370
-
1371
- # @!attribute name
1372
- # Display name.
1373
- #
1374
- # @return [String, nil]
1375
- optional :name, String, nil?: true
1376
-
1377
- # @!attribute radius
1378
- # Radius in miles (cities only).
1379
- #
1380
- # @return [Integer, nil]
1381
- optional :radius, Integer, nil?: true
1382
-
1383
- # @!method initialize(key:, country: nil, name: nil, radius: nil)
1384
- # A Meta geo target entry (region, city, or zip).
1385
- #
1386
- # @param key [String] Meta geo target key/ID.
1387
- #
1388
- # @param country [String, nil] Country code for this entry.
1389
- #
1390
- # @param name [String, nil] Display name.
1391
- #
1392
- # @param radius [Integer, nil] Radius in miles (cities only).
1393
- end
1394
-
1395
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#lead_conversion_location
1396
- module LeadConversionLocation
1397
- extend WhopSDK::Internal::Type::Enum
1398
-
1399
- WEBSITE = :website
1400
- INSTANT_FORMS = :instant_forms
1401
- MESSENGER = :messenger
1402
- INSTAGRAM = :instagram
1403
- CALLS = :calls
1404
- APP = :app
1405
-
1406
- # @!method self.values
1407
- # @return [Array<Symbol>]
1408
- end
1409
-
1410
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#lead_form_config
1411
- class LeadFormConfig < WhopSDK::Internal::Type::BaseModel
1412
- # @!attribute name
1413
- # Name of the lead form.
1414
- #
1415
- # @return [String]
1416
- required :name, String
1417
-
1418
- # @!attribute privacy_policy_url
1419
- # URL to your privacy policy. Required by Meta.
1420
- #
1421
- # @return [String]
1422
- required :privacy_policy_url, String
227
+ # The pixel event optimized for. A standard event, or any custom pixel event name.
228
+ module ConversionEvent
229
+ extend WhopSDK::Internal::Type::Union
1423
230
 
1424
- # @!attribute questions
1425
- # Questions to ask on the form.
1426
- #
1427
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question>]
1428
- required :questions,
1429
- -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question] }
231
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::PURCHASE }
1430
232
 
1431
- # @!attribute background_image_source
1432
- # Background image source: from_ad or custom.
1433
- #
1434
- # @return [String, nil]
1435
- optional :background_image_source, String, nil?: true
233
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::ADD_TO_CART }
1436
234
 
1437
- # @!attribute background_image_url
1438
- # URL of custom background image.
1439
- #
1440
- # @return [String, nil]
1441
- optional :background_image_url, String, nil?: true
235
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::INITIATED_CHECKOUT }
1442
236
 
1443
- # @!attribute conditional_logic_enabled
1444
- # Whether conditional logic is enabled for questions.
1445
- #
1446
- # @return [Boolean, nil]
1447
- optional :conditional_logic_enabled, WhopSDK::Internal::Type::Boolean, nil?: true
237
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::ADD_PAYMENT_INFO }
1448
238
 
1449
- # @!attribute context_card_button_text
1450
- # CTA button text on the greeting card.
1451
- #
1452
- # @return [String, nil]
1453
- optional :context_card_button_text, String, nil?: true
239
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::COMPLETE_REGISTRATION }
1454
240
 
1455
- # @!attribute context_card_content
1456
- # Optional greeting card bullet points.
1457
- #
1458
- # @return [Array<String>, nil]
1459
- optional :context_card_content, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
241
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::LEAD }
1460
242
 
1461
- # @!attribute context_card_style
1462
- # Greeting layout: PARAGRAPH_STYLE or LIST_STYLE.
1463
- #
1464
- # @return [String, nil]
1465
- optional :context_card_style, String, nil?: true
243
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::CONTENT_VIEW }
1466
244
 
1467
- # @!attribute context_card_title
1468
- # Optional greeting card title.
1469
- #
1470
- # @return [String, nil]
1471
- optional :context_card_title, String, nil?: true
245
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::SEARCH }
1472
246
 
1473
- # @!attribute custom_disclaimer_body
1474
- # Custom disclaimer body text.
1475
- #
1476
- # @return [String, nil]
1477
- optional :custom_disclaimer_body, String, nil?: true
247
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::CONTACT }
1478
248
 
1479
- # @!attribute custom_disclaimer_checkboxes
1480
- # Consent checkboxes for the custom disclaimer.
1481
- #
1482
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::CustomDisclaimerCheckbox>, nil]
1483
- optional :custom_disclaimer_checkboxes,
1484
- -> {
1485
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::CustomDisclaimerCheckbox]
1486
- },
1487
- nil?: true
249
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::CUSTOMIZE_PRODUCT }
1488
250
 
1489
- # @!attribute custom_disclaimer_title
1490
- # Custom disclaimer section title.
1491
- #
1492
- # @return [String, nil]
1493
- optional :custom_disclaimer_title, String, nil?: true
251
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::DONATE }
1494
252
 
1495
- # @!attribute form_type
1496
- # Form type: more_volume, higher_intent, or rich_creative.
1497
- #
1498
- # @return [String, nil]
1499
- optional :form_type, String, nil?: true
253
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::FIND_LOCATION }
1500
254
 
1501
- # @!attribute messenger_enabled
1502
- # Enable Messenger follow-up after form submission.
1503
- #
1504
- # @return [Boolean, nil]
1505
- optional :messenger_enabled, WhopSDK::Internal::Type::Boolean, nil?: true
255
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::SCHEDULE }
1506
256
 
1507
- # @!attribute phone_verification_enabled
1508
- # Require phone number verification via OTP (higher_intent only).
1509
- #
1510
- # @return [Boolean, nil]
1511
- optional :phone_verification_enabled, WhopSDK::Internal::Type::Boolean, nil?: true
257
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::START_TRIAL }
1512
258
 
1513
- # @!attribute privacy_policy_link_text
1514
- # Custom link text for privacy policy (max 70 chars).
1515
- #
1516
- # @return [String, nil]
1517
- optional :privacy_policy_link_text, String, nil?: true
259
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::SUBMIT_APPLICATION }
1518
260
 
1519
- # @!attribute question_page_custom_headline
1520
- # Custom headline for the questions page.
1521
- #
1522
- # @return [String, nil]
1523
- optional :question_page_custom_headline, String, nil?: true
261
+ variant const: -> { WhopSDK::Models::AdGroupUpdateParams::ConversionEvent::SUBSCRIBE }
1524
262
 
1525
- # @!attribute rich_creative_headline
1526
- # Headline for rich creative form intro.
1527
- #
1528
- # @return [String, nil]
1529
- optional :rich_creative_headline, String, nil?: true
263
+ variant String
1530
264
 
1531
- # @!attribute rich_creative_overview
1532
- # Overview description for rich creative form intro.
1533
- #
1534
- # @return [String, nil]
1535
- optional :rich_creative_overview, String, nil?: true
265
+ # @!method self.variants
266
+ # @return [Array(Symbol, String)]
1536
267
 
1537
- # @!attribute rich_creative_url
1538
- # Uploaded image URL for rich creative form type.
1539
- #
1540
- # @return [String, nil]
1541
- optional :rich_creative_url, String, nil?: true
1542
-
1543
- # @!attribute thank_you_pages
1544
- # Thank you / ending pages (supports multiple for conditional routing).
1545
- #
1546
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::ThankYouPage>, nil]
1547
- optional :thank_you_pages,
1548
- -> {
1549
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::ThankYouPage]
1550
- },
1551
- nil?: true
1552
-
1553
- # @!method initialize(name:, privacy_policy_url:, questions:, background_image_source: nil, background_image_url: nil, conditional_logic_enabled: nil, context_card_button_text: nil, context_card_content: nil, context_card_style: nil, context_card_title: nil, custom_disclaimer_body: nil, custom_disclaimer_checkboxes: nil, custom_disclaimer_title: nil, form_type: nil, messenger_enabled: nil, phone_verification_enabled: nil, privacy_policy_link_text: nil, question_page_custom_headline: nil, rich_creative_headline: nil, rich_creative_overview: nil, rich_creative_url: nil, thank_you_pages: nil)
1554
- # Configuration for a Meta lead gen instant form.
1555
- #
1556
- # @param name [String] Name of the lead form.
1557
- #
1558
- # @param privacy_policy_url [String] URL to your privacy policy. Required by Meta.
1559
- #
1560
- # @param questions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question>] Questions to ask on the form.
1561
- #
1562
- # @param background_image_source [String, nil] Background image source: from_ad or custom.
1563
- #
1564
- # @param background_image_url [String, nil] URL of custom background image.
1565
- #
1566
- # @param conditional_logic_enabled [Boolean, nil] Whether conditional logic is enabled for questions.
1567
- #
1568
- # @param context_card_button_text [String, nil] CTA button text on the greeting card.
1569
- #
1570
- # @param context_card_content [Array<String>, nil] Optional greeting card bullet points.
1571
- #
1572
- # @param context_card_style [String, nil] Greeting layout: PARAGRAPH_STYLE or LIST_STYLE.
1573
- #
1574
- # @param context_card_title [String, nil] Optional greeting card title.
1575
- #
1576
- # @param custom_disclaimer_body [String, nil] Custom disclaimer body text.
1577
- #
1578
- # @param custom_disclaimer_checkboxes [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::CustomDisclaimerCheckbox>, nil] Consent checkboxes for the custom disclaimer.
1579
- #
1580
- # @param custom_disclaimer_title [String, nil] Custom disclaimer section title.
1581
- #
1582
- # @param form_type [String, nil] Form type: more_volume, higher_intent, or rich_creative.
1583
- #
1584
- # @param messenger_enabled [Boolean, nil] Enable Messenger follow-up after form submission.
1585
- #
1586
- # @param phone_verification_enabled [Boolean, nil] Require phone number verification via OTP (higher_intent only).
1587
- #
1588
- # @param privacy_policy_link_text [String, nil] Custom link text for privacy policy (max 70 chars).
1589
- #
1590
- # @param question_page_custom_headline [String, nil] Custom headline for the questions page.
1591
- #
1592
- # @param rich_creative_headline [String, nil] Headline for rich creative form intro.
1593
- #
1594
- # @param rich_creative_overview [String, nil] Overview description for rich creative form intro.
1595
- #
1596
- # @param rich_creative_url [String, nil] Uploaded image URL for rich creative form type.
1597
- #
1598
- # @param thank_you_pages [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::ThankYouPage>, nil] Thank you / ending pages (supports multiple for conditional routing).
1599
-
1600
- class Question < WhopSDK::Internal::Type::BaseModel
1601
- # @!attribute type
1602
- # Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
1603
- #
1604
- # @return [String]
1605
- required :type, String
1606
-
1607
- # @!attribute conditional_questions_group_id
1608
- # Group ID for conditional question routing.
1609
- #
1610
- # @return [String, nil]
1611
- optional :conditional_questions_group_id, String, nil?: true
1612
-
1613
- # @!attribute dependent_conditional_questions
1614
- # Questions shown conditionally based on this question's answer.
1615
- #
1616
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion>, nil]
1617
- optional :dependent_conditional_questions,
1618
- -> {
1619
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion]
1620
- },
1621
- nil?: true
1622
-
1623
- # @!attribute inline_context
1624
- # Helper text shown below the question.
1625
- #
1626
- # @return [String, nil]
1627
- optional :inline_context, String, nil?: true
1628
-
1629
- # @!attribute key
1630
- # Unique key for this question.
1631
- #
1632
- # @return [String, nil]
1633
- optional :key, String, nil?: true
1634
-
1635
- # @!attribute label
1636
- # Custom label for CUSTOM questions.
1637
- #
1638
- # @return [String, nil]
1639
- optional :label, String, nil?: true
1640
-
1641
- # @!attribute options
1642
- # Answer options for multiple choice CUSTOM questions.
1643
- #
1644
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option>, nil]
1645
- optional :options,
1646
- -> {
1647
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option]
1648
- },
1649
- nil?: true
1650
-
1651
- # @!attribute question_format
1652
- # UI hint: short_answer, multiple_choice, or appointment.
1653
- #
1654
- # @return [String, nil]
1655
- optional :question_format, String, nil?: true
1656
-
1657
- # @!method initialize(type:, conditional_questions_group_id: nil, dependent_conditional_questions: nil, inline_context: nil, key: nil, label: nil, options: nil, question_format: nil)
1658
- # A question on a Meta lead gen form.
1659
- #
1660
- # @param type [String] Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
1661
- #
1662
- # @param conditional_questions_group_id [String, nil] Group ID for conditional question routing.
1663
- #
1664
- # @param dependent_conditional_questions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion>, nil] Questions shown conditionally based on this question's answer.
1665
- #
1666
- # @param inline_context [String, nil] Helper text shown below the question.
1667
- #
1668
- # @param key [String, nil] Unique key for this question.
1669
- #
1670
- # @param label [String, nil] Custom label for CUSTOM questions.
1671
- #
1672
- # @param options [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option>, nil] Answer options for multiple choice CUSTOM questions.
1673
- #
1674
- # @param question_format [String, nil] UI hint: short_answer, multiple_choice, or appointment.
1675
-
1676
- class DependentConditionalQuestion < WhopSDK::Internal::Type::BaseModel
1677
- # @!attribute type
1678
- # Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
1679
- #
1680
- # @return [String]
1681
- required :type, String
1682
-
1683
- # @!attribute inline_context
1684
- # Helper text shown below the question.
1685
- #
1686
- # @return [String, nil]
1687
- optional :inline_context, String, nil?: true
1688
-
1689
- # @!attribute key
1690
- # Unique key for this question.
1691
- #
1692
- # @return [String, nil]
1693
- optional :key, String, nil?: true
1694
-
1695
- # @!attribute label
1696
- # Custom label for CUSTOM questions.
1697
- #
1698
- # @return [String, nil]
1699
- optional :label, String, nil?: true
1700
-
1701
- # @!attribute options
1702
- # Answer options for multiple choice questions.
1703
- #
1704
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option>, nil]
1705
- optional :options,
1706
- -> do
1707
- WhopSDK::Internal::Type::ArrayOf[
1708
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option
1709
- ]
1710
- end,
1711
- nil?: true
1712
-
1713
- # @!method initialize(type:, inline_context: nil, key: nil, label: nil, options: nil)
1714
- # A dependent conditional question (non-recursive to avoid schema recursion).
1715
- #
1716
- # @param type [String] Question type (EMAIL, FULL_NAME, PHONE, CUSTOM, DATE_TIME, etc.).
1717
- #
1718
- # @param inline_context [String, nil] Helper text shown below the question.
1719
- #
1720
- # @param key [String, nil] Unique key for this question.
1721
- #
1722
- # @param label [String, nil] Custom label for CUSTOM questions.
1723
- #
1724
- # @param options [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option>, nil] Answer options for multiple choice questions.
1725
-
1726
- class Option < WhopSDK::Internal::Type::BaseModel
1727
- # @!attribute key
1728
- # Unique key for this option.
1729
- #
1730
- # @return [String]
1731
- required :key, String
1732
-
1733
- # @!attribute value
1734
- # Display text for this option.
1735
- #
1736
- # @return [String]
1737
- required :value, String
1738
-
1739
- # @!attribute logic
1740
- # Conditional logic routing for this answer option.
1741
- #
1742
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option::Logic, nil]
1743
- optional :logic,
1744
- -> {
1745
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option::Logic
1746
- },
1747
- nil?: true
1748
-
1749
- # @!method initialize(key:, value:, logic: nil)
1750
- # An answer option for a multiple choice lead form question.
1751
- #
1752
- # @param key [String] Unique key for this option.
1753
- #
1754
- # @param value [String] Display text for this option.
1755
- #
1756
- # @param logic [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option::Logic, nil] Conditional logic routing for this answer option.
1757
-
1758
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::DependentConditionalQuestion::Option#logic
1759
- class Logic < WhopSDK::Internal::Type::BaseModel
1760
- # @!attribute type
1761
- # Logic type: go_to_question, submit_form, or close_form.
1762
- #
1763
- # @return [String]
1764
- required :type, String
1765
-
1766
- # @!attribute target_end_page_index
1767
- # Index of the end page to route to (for submit_form type).
1768
- #
1769
- # @return [Integer, nil]
1770
- optional :target_end_page_index, Integer, nil?: true
1771
-
1772
- # @!attribute target_question_index
1773
- # Index of the question to route to (for go_to_question type).
1774
- #
1775
- # @return [Integer, nil]
1776
- optional :target_question_index, Integer, nil?: true
1777
-
1778
- # @!method initialize(type:, target_end_page_index: nil, target_question_index: nil)
1779
- # Conditional logic routing for this answer option.
1780
- #
1781
- # @param type [String] Logic type: go_to_question, submit_form, or close_form.
1782
- #
1783
- # @param target_end_page_index [Integer, nil] Index of the end page to route to (for submit_form type).
1784
- #
1785
- # @param target_question_index [Integer, nil] Index of the question to route to (for go_to_question type).
1786
- end
1787
- end
1788
- end
1789
-
1790
- class Option < WhopSDK::Internal::Type::BaseModel
1791
- # @!attribute key
1792
- # Unique key for this option.
1793
- #
1794
- # @return [String]
1795
- required :key, String
1796
-
1797
- # @!attribute value
1798
- # Display text for this option.
1799
- #
1800
- # @return [String]
1801
- required :value, String
1802
-
1803
- # @!attribute logic
1804
- # Conditional logic routing for this answer option.
1805
- #
1806
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option::Logic, nil]
1807
- optional :logic,
1808
- -> {
1809
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option::Logic
1810
- },
1811
- nil?: true
1812
-
1813
- # @!method initialize(key:, value:, logic: nil)
1814
- # An answer option for a multiple choice lead form question.
1815
- #
1816
- # @param key [String] Unique key for this option.
1817
- #
1818
- # @param value [String] Display text for this option.
1819
- #
1820
- # @param logic [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option::Logic, nil] Conditional logic routing for this answer option.
1821
-
1822
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta::LeadFormConfig::Question::Option#logic
1823
- class Logic < WhopSDK::Internal::Type::BaseModel
1824
- # @!attribute type
1825
- # Logic type: go_to_question, submit_form, or close_form.
1826
- #
1827
- # @return [String]
1828
- required :type, String
1829
-
1830
- # @!attribute target_end_page_index
1831
- # Index of the end page to route to (for submit_form type).
1832
- #
1833
- # @return [Integer, nil]
1834
- optional :target_end_page_index, Integer, nil?: true
1835
-
1836
- # @!attribute target_question_index
1837
- # Index of the question to route to (for go_to_question type).
1838
- #
1839
- # @return [Integer, nil]
1840
- optional :target_question_index, Integer, nil?: true
1841
-
1842
- # @!method initialize(type:, target_end_page_index: nil, target_question_index: nil)
1843
- # Conditional logic routing for this answer option.
1844
- #
1845
- # @param type [String] Logic type: go_to_question, submit_form, or close_form.
1846
- #
1847
- # @param target_end_page_index [Integer, nil] Index of the end page to route to (for submit_form type).
1848
- #
1849
- # @param target_question_index [Integer, nil] Index of the question to route to (for go_to_question type).
1850
- end
1851
- end
1852
- end
1853
-
1854
- class CustomDisclaimerCheckbox < WhopSDK::Internal::Type::BaseModel
1855
- # @!attribute key
1856
- # Unique key for this checkbox.
1857
- #
1858
- # @return [String]
1859
- required :key, String
1860
-
1861
- # @!attribute text
1862
- # Label text for the checkbox.
1863
- #
1864
- # @return [String]
1865
- required :text, String
1866
-
1867
- # @!attribute is_checked_by_default
1868
- # Whether the checkbox is checked by default.
1869
- #
1870
- # @return [Boolean, nil]
1871
- optional :is_checked_by_default, WhopSDK::Internal::Type::Boolean, nil?: true
1872
-
1873
- # @!attribute is_required
1874
- # Whether the checkbox must be checked to submit.
1875
- #
1876
- # @return [Boolean, nil]
1877
- optional :is_required, WhopSDK::Internal::Type::Boolean, nil?: true
1878
-
1879
- # @!method initialize(key:, text:, is_checked_by_default: nil, is_required: nil)
1880
- # A consent checkbox for the custom disclaimer section.
1881
- #
1882
- # @param key [String] Unique key for this checkbox.
1883
- #
1884
- # @param text [String] Label text for the checkbox.
1885
- #
1886
- # @param is_checked_by_default [Boolean, nil] Whether the checkbox is checked by default.
1887
- #
1888
- # @param is_required [Boolean, nil] Whether the checkbox must be checked to submit.
1889
- end
1890
-
1891
- class ThankYouPage < WhopSDK::Internal::Type::BaseModel
1892
- # @!attribute body
1893
- # Body text for this ending page.
1894
- #
1895
- # @return [String, nil]
1896
- optional :body, String, nil?: true
1897
-
1898
- # @!attribute business_phone
1899
- # Business phone number for call CTA.
1900
- #
1901
- # @return [String, nil]
1902
- optional :business_phone, String, nil?: true
1903
-
1904
- # @!attribute button_text
1905
- # Custom button text.
1906
- #
1907
- # @return [String, nil]
1908
- optional :button_text, String, nil?: true
1909
-
1910
- # @!attribute button_type
1911
- # CTA button type: VIEW_WEBSITE, CALL_BUSINESS, DOWNLOAD.
1912
- #
1913
- # @return [String, nil]
1914
- optional :button_type, String, nil?: true
1915
-
1916
- # @!attribute conditional_question_group_id
1917
- # Question group ID for conditional routing to this page.
1918
- #
1919
- # @return [String, nil]
1920
- optional :conditional_question_group_id, String, nil?: true
1921
-
1922
- # @!attribute enable_messenger
1923
- # Enable Messenger follow-up.
1924
- #
1925
- # @return [Boolean, nil]
1926
- optional :enable_messenger, WhopSDK::Internal::Type::Boolean, nil?: true
1927
-
1928
- # @!attribute gated_file_url
1929
- # Uploaded file URL for gated content download.
1930
- #
1931
- # @return [String, nil]
1932
- optional :gated_file_url, String, nil?: true
1933
-
1934
- # @!attribute link
1935
- # URL the button links to.
1936
- #
1937
- # @return [String, nil]
1938
- optional :link, String, nil?: true
1939
-
1940
- # @!attribute name
1941
- # Internal name for this ending page.
1942
- #
1943
- # @return [String, nil]
1944
- optional :name, String, nil?: true
1945
-
1946
- # @!attribute title
1947
- # Headline for this ending page.
1948
- #
1949
- # @return [String, nil]
1950
- optional :title, String, nil?: true
1951
-
1952
- # @!method initialize(body: nil, business_phone: nil, button_text: nil, button_type: nil, conditional_question_group_id: nil, enable_messenger: nil, gated_file_url: nil, link: nil, name: nil, title: nil)
1953
- # A thank-you / ending page for a Meta lead gen form.
1954
- #
1955
- # @param body [String, nil] Body text for this ending page.
1956
- #
1957
- # @param business_phone [String, nil] Business phone number for call CTA.
1958
- #
1959
- # @param button_text [String, nil] Custom button text.
1960
- #
1961
- # @param button_type [String, nil] CTA button type: VIEW_WEBSITE, CALL_BUSINESS, DOWNLOAD.
1962
- #
1963
- # @param conditional_question_group_id [String, nil] Question group ID for conditional routing to this page.
1964
- #
1965
- # @param enable_messenger [Boolean, nil] Enable Messenger follow-up.
1966
- #
1967
- # @param gated_file_url [String, nil] Uploaded file URL for gated content download.
1968
- #
1969
- # @param link [String, nil] URL the button links to.
1970
- #
1971
- # @param name [String, nil] Internal name for this ending page.
1972
- #
1973
- # @param title [String, nil] Headline for this ending page.
1974
- end
1975
- end
1976
-
1977
- # What this ad set optimizes for on Meta.
1978
- #
1979
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#optimization_goal
1980
- module OptimizationGoal
1981
- extend WhopSDK::Internal::Type::Enum
1982
-
1983
- NONE = :NONE
1984
- APP_INSTALLS = :APP_INSTALLS
1985
- AD_RECALL_LIFT = :AD_RECALL_LIFT
1986
- ENGAGED_USERS = :ENGAGED_USERS
1987
- EVENT_RESPONSES = :EVENT_RESPONSES
1988
- IMPRESSIONS = :IMPRESSIONS
1989
- LEAD_GENERATION = :LEAD_GENERATION
1990
- QUALITY_LEAD = :QUALITY_LEAD
1991
- LINK_CLICKS = :LINK_CLICKS
1992
- OFFSITE_CONVERSIONS = :OFFSITE_CONVERSIONS
1993
- PAGE_LIKES = :PAGE_LIKES
1994
- POST_ENGAGEMENT = :POST_ENGAGEMENT
1995
- QUALITY_CALL = :QUALITY_CALL
1996
- REACH = :REACH
1997
- LANDING_PAGE_VIEWS = :LANDING_PAGE_VIEWS
1998
- VISIT_INSTAGRAM_PROFILE = :VISIT_INSTAGRAM_PROFILE
1999
- VALUE = :VALUE
2000
- THRUPLAY = :THRUPLAY
2001
- DERIVED_EVENTS = :DERIVED_EVENTS
2002
- APP_INSTALLS_AND_OFFSITE_CONVERSIONS = :APP_INSTALLS_AND_OFFSITE_CONVERSIONS
2003
- CONVERSATIONS = :CONVERSATIONS
2004
- IN_APP_VALUE = :IN_APP_VALUE
2005
- MESSAGING_PURCHASE_CONVERSION = :MESSAGING_PURCHASE_CONVERSION
2006
- SUBSCRIBERS = :SUBSCRIBERS
2007
- REMINDERS_SET = :REMINDERS_SET
2008
- MEANINGFUL_CALL_ATTEMPT = :MEANINGFUL_CALL_ATTEMPT
2009
- PROFILE_VISIT = :PROFILE_VISIT
2010
- PROFILE_AND_PAGE_ENGAGEMENT = :PROFILE_AND_PAGE_ENGAGEMENT
2011
- TWO_SECOND_CONTINUOUS_VIDEO_VIEWS = :TWO_SECOND_CONTINUOUS_VIDEO_VIEWS
2012
- ENGAGED_REACH = :ENGAGED_REACH
2013
- ENGAGED_PAGE_VIEWS = :ENGAGED_PAGE_VIEWS
2014
- MESSAGING_DEEP_CONVERSATION_AND_FOLLOW = :MESSAGING_DEEP_CONVERSATION_AND_FOLLOW
2015
- ADVERTISER_SILOED_VALUE = :ADVERTISER_SILOED_VALUE
2016
- AUTOMATIC_OBJECTIVE = :AUTOMATIC_OBJECTIVE
2017
- MESSAGING_APPOINTMENT_CONVERSION = :MESSAGING_APPOINTMENT_CONVERSION
2018
-
2019
- # @!method self.values
2020
- # @return [Array<Symbol>]
2021
- end
2022
-
2023
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#promoted_object
2024
- class PromotedObject < WhopSDK::Internal::Type::BaseModel
2025
- # @!attribute custom_conversion_id
2026
- # Custom conversion rule ID (numeric, from Meta Events Manager).
2027
- #
2028
- # @return [String, nil]
2029
- optional :custom_conversion_id, String, nil?: true
2030
-
2031
- # @!attribute custom_event_str
2032
- # Pixel event name, used when custom_event_type is OTHER.
2033
- #
2034
- # @return [String, nil]
2035
- optional :custom_event_str, String, nil?: true
2036
-
2037
- # @!attribute custom_event_type
2038
- # Custom event type (e.g., PURCHASE, COMPLETE_REGISTRATION, OTHER).
2039
- #
2040
- # @return [String, nil]
2041
- optional :custom_event_type, String, nil?: true
2042
-
2043
- # @!attribute page_id
2044
- # Facebook Page ID.
2045
- #
2046
- # @return [String, nil]
2047
- optional :page_id, String, nil?: true
2048
-
2049
- # @!attribute pixel_id
2050
- # Meta Pixel ID for conversion tracking.
2051
- #
2052
- # @return [String, nil]
2053
- optional :pixel_id, String, nil?: true
2054
-
2055
- # @!attribute whatsapp_phone_number
2056
- # WhatsApp phone number for messaging campaigns.
2057
- #
2058
- # @return [String, nil]
2059
- optional :whatsapp_phone_number, String, nil?: true
2060
-
2061
- # @!method initialize(custom_conversion_id: nil, custom_event_str: nil, custom_event_type: nil, page_id: nil, pixel_id: nil, whatsapp_phone_number: nil)
2062
- # The object this ad set promotes (pixel, page, etc.).
2063
- #
2064
- # @param custom_conversion_id [String, nil] Custom conversion rule ID (numeric, from Meta Events Manager).
2065
- #
2066
- # @param custom_event_str [String, nil] Pixel event name, used when custom_event_type is OTHER.
2067
- #
2068
- # @param custom_event_type [String, nil] Custom event type (e.g., PURCHASE, COMPLETE_REGISTRATION, OTHER).
2069
- #
2070
- # @param page_id [String, nil] Facebook Page ID.
2071
- #
2072
- # @param pixel_id [String, nil] Meta Pixel ID for conversion tracking.
2073
- #
2074
- # @param whatsapp_phone_number [String, nil] WhatsApp phone number for messaging campaigns.
2075
- end
2076
-
2077
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#status
2078
- module Status
2079
- extend WhopSDK::Internal::Type::Enum
2080
-
2081
- ACTIVE = :ACTIVE
2082
- PAUSED = :PAUSED
2083
-
2084
- # @!method self.values
2085
- # @return [Array<Symbol>]
2086
- end
2087
-
2088
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Meta#targeting_automation
2089
- class TargetingAutomation < WhopSDK::Internal::Type::BaseModel
2090
- # @!attribute advantage_audience
2091
- # 0 = off (use exact targeting), 1 = on (let Meta expand audience).
2092
- #
2093
- # @return [Integer, nil]
2094
- optional :advantage_audience, Integer, nil?: true
2095
-
2096
- # @!method initialize(advantage_audience: nil)
2097
- # Advantage+ audience expansion settings.
2098
- #
2099
- # @param advantage_audience [Integer, nil] 0 = off (use exact targeting), 1 = on (let Meta expand audience).
2100
- end
268
+ define_sorbet_constant!(:Variants) do
269
+ T.type_alias { T.any(WhopSDK::AdGroupUpdateParams::ConversionEvent::TaggedSymbol, String) }
2101
270
  end
2102
271
 
2103
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig#tiktok
2104
- class Tiktok < WhopSDK::Internal::Type::BaseModel
2105
- # @!attribute actions
2106
- #
2107
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action>, nil]
2108
- optional :actions,
2109
- -> {
2110
- WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Action]
2111
- },
2112
- nil?: true
2113
-
2114
- # @!attribute age_groups
2115
- #
2116
- # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AgeGroup>, nil]
2117
- optional :age_groups,
2118
- -> {
2119
- WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::AgeGroup]
2120
- },
2121
- nil?: true
2122
-
2123
- # @!attribute app_id
2124
- # App ID for app promotion campaigns.
2125
- #
2126
- # @return [String, nil]
2127
- optional :app_id, String, nil?: true
2128
-
2129
- # @!attribute attribution_event_count
2130
- #
2131
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AttributionEventCount, nil]
2132
- optional :attribution_event_count,
2133
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::AttributionEventCount },
2134
- nil?: true
2135
-
2136
- # @!attribute audience_ids
2137
- #
2138
- # @return [Array<String>, nil]
2139
- optional :audience_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2140
-
2141
- # @!attribute audience_rule
2142
- # Represents untyped JSON
2143
- #
2144
- # @return [Hash{Symbol=>Object}, nil]
2145
- optional :audience_rule,
2146
- WhopSDK::Internal::Type::HashOf[WhopSDK::Internal::Type::Unknown],
2147
- nil?: true
2148
-
2149
- # @!attribute audience_type
2150
- #
2151
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AudienceType, nil]
2152
- optional :audience_type,
2153
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::AudienceType },
2154
- nil?: true
2155
-
2156
- # @!attribute bid_price
2157
- # Bid price (cost per result for Cost Cap).
2158
- #
2159
- # @return [Float, nil]
2160
- optional :bid_price, Float, nil?: true
2161
-
2162
- # @!attribute bid_type
2163
- # Bidding strategy (BID_TYPE_NO_BID, BID_TYPE_CUSTOM).
2164
- #
2165
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BidType, nil]
2166
- optional :bid_type,
2167
- enum: -> {
2168
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::BidType
2169
- },
2170
- nil?: true
2171
-
2172
- # @!attribute billing_event
2173
- # How you are billed on TikTok (CPC, CPM, OCPM, CPV).
2174
- #
2175
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BillingEvent, nil]
2176
- optional :billing_event,
2177
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::BillingEvent },
2178
- nil?: true
2179
-
2180
- # @!attribute brand_safety_type
2181
- #
2182
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BrandSafetyType, nil]
2183
- optional :brand_safety_type,
2184
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::BrandSafetyType },
2185
- nil?: true
2186
-
2187
- # @!attribute budget_mode
2188
- # Budget mode (BUDGET_MODE_DAY, BUDGET_MODE_TOTAL,
2189
- # BUDGET_MODE_DYNAMIC_DAILY_BUDGET).
2190
- #
2191
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BudgetMode, nil]
2192
- optional :budget_mode,
2193
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::BudgetMode },
2194
- nil?: true
2195
-
2196
- # @!attribute carrier_ids
2197
- #
2198
- # @return [Array<String>, nil]
2199
- optional :carrier_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2200
-
2201
- # @!attribute category_exclusion_ids
2202
- #
2203
- # @return [Array<String>, nil]
2204
- optional :category_exclusion_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2205
-
2206
- # @!attribute click_attribution_window
2207
- #
2208
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ClickAttributionWindow, nil]
2209
- optional :click_attribution_window,
2210
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::ClickAttributionWindow },
2211
- nil?: true
2212
-
2213
- # @!attribute comment_disabled
2214
- # Represents `true` or `false` values.
2215
- #
2216
- # @return [Boolean, nil]
2217
- optional :comment_disabled, WhopSDK::Internal::Type::Boolean, nil?: true
2218
-
2219
- # @!attribute contextual_tag_ids
2220
- #
2221
- # @return [Array<String>, nil]
2222
- optional :contextual_tag_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2223
-
2224
- # @!attribute conversion_bid_price
2225
- # Target cost per conversion for oCPM.
2226
- #
2227
- # @return [Float, nil]
2228
- optional :conversion_bid_price, Float, nil?: true
2229
-
2230
- # @!attribute creative_material_mode
2231
- # Creative delivery strategy.
2232
- #
2233
- # @return [String, nil]
2234
- optional :creative_material_mode, String, nil?: true
2235
-
2236
- # @!attribute dayparting
2237
- # Ad delivery schedule (48x7 character string).
2238
- #
2239
- # @return [String, nil]
2240
- optional :dayparting, String, nil?: true
2241
-
2242
- # @!attribute deep_funnel_event_source
2243
- # Represents textual data as UTF-8 character sequences. This type is most often
2244
- # used by GraphQL to represent free-form human-readable text.
2245
- #
2246
- # @return [String, nil]
2247
- optional :deep_funnel_event_source, String, nil?: true
2248
-
2249
- # @!attribute deep_funnel_event_source_id
2250
- # Represents textual data as UTF-8 character sequences. This type is most often
2251
- # used by GraphQL to represent free-form human-readable text.
2252
- #
2253
- # @return [String, nil]
2254
- optional :deep_funnel_event_source_id, String, nil?: true
2255
-
2256
- # @!attribute deep_funnel_optimization_status
2257
- #
2258
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::DeepFunnelOptimizationStatus, nil]
2259
- optional :deep_funnel_optimization_status,
2260
- enum: -> {
2261
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::DeepFunnelOptimizationStatus
2262
- },
2263
- nil?: true
2264
-
2265
- # @!attribute device_model_ids
2266
- #
2267
- # @return [Array<String>, nil]
2268
- optional :device_model_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2269
-
2270
- # @!attribute device_price_ranges
2271
- #
2272
- # @return [Array<String>, nil]
2273
- optional :device_price_ranges, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2274
-
2275
- # @!attribute engaged_view_attribution_window
2276
- #
2277
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::EngagedViewAttributionWindow, nil]
2278
- optional :engaged_view_attribution_window,
2279
- enum: -> {
2280
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::EngagedViewAttributionWindow
2281
- },
2282
- nil?: true
2283
-
2284
- # @!attribute excluded_audience_ids
2285
- #
2286
- # @return [Array<String>, nil]
2287
- optional :excluded_audience_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2288
-
2289
- # @!attribute excluded_location_ids
2290
- # TikTok location/region IDs to exclude.
2291
- #
2292
- # @return [Array<String>, nil]
2293
- optional :excluded_location_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2294
-
2295
- # @!attribute frequency
2296
- # Represents non-fractional signed whole numeric values. Int can represent values
2297
- # between -(2^31) and 2^31 - 1.
2298
- #
2299
- # @return [Integer, nil]
2300
- optional :frequency, Integer, nil?: true
2301
-
2302
- # @!attribute frequency_schedule
2303
- # Represents non-fractional signed whole numeric values. Int can represent values
2304
- # between -(2^31) and 2^31 - 1.
2305
- #
2306
- # @return [Integer, nil]
2307
- optional :frequency_schedule, Integer, nil?: true
2308
-
2309
- # @!attribute gender
2310
- #
2311
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Gender, nil]
2312
- optional :gender,
2313
- enum: -> {
2314
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Gender
2315
- },
2316
- nil?: true
2317
-
2318
- # @!attribute identity_authorized_bc_id
2319
- # Business Center ID for BC_AUTH_TT identity.
2320
- #
2321
- # @return [String, nil]
2322
- optional :identity_authorized_bc_id, String, nil?: true
2323
-
2324
- # @!attribute identity_id
2325
- # TikTok identity ID for the ad group.
2326
- #
2327
- # @return [String, nil]
2328
- optional :identity_id, String, nil?: true
2329
-
2330
- # @!attribute identity_type
2331
- # Identity type (AUTH_CODE, TT_USER, BC_AUTH_TT).
2332
- #
2333
- # @return [String, nil]
2334
- optional :identity_type, String, nil?: true
2335
-
2336
- # @!attribute instant_form_config
2337
- # Instant form configuration for lead generation campaigns.
2338
- #
2339
- # @return [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig, nil]
2340
- optional :instant_form_config,
2341
- -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig },
2342
- nil?: true
2343
-
2344
- # @!attribute instant_form_id
2345
- # TikTok instant form ID (set automatically when instant_form_config is provided).
2346
- #
2347
- # @return [String, nil]
2348
- optional :instant_form_id, String, nil?: true
2349
-
2350
- # @!attribute interest_category_ids
2351
- #
2352
- # @return [Array<String>, nil]
2353
- optional :interest_category_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2354
-
2355
- # @!attribute interest_keyword_ids
2356
- #
2357
- # @return [Array<String>, nil]
2358
- optional :interest_keyword_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2359
-
2360
- # @!attribute inventory_filter_enabled
2361
- # Represents `true` or `false` values.
2362
- #
2363
- # @return [Boolean, nil]
2364
- optional :inventory_filter_enabled, WhopSDK::Internal::Type::Boolean, nil?: true
2365
-
2366
- # @!attribute ios14_targeting
2367
- #
2368
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Ios14Targeting, nil]
2369
- optional :ios14_targeting,
2370
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Ios14Targeting },
2371
- nil?: true
2372
-
2373
- # @!attribute isp_ids
2374
- #
2375
- # @return [Array<String>, nil]
2376
- optional :isp_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2377
-
2378
- # @!attribute languages
2379
- #
2380
- # @return [Array<String>, nil]
2381
- optional :languages, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2382
-
2383
- # @!attribute location_ids
2384
- # TikTok location/region IDs for geo targeting.
2385
- #
2386
- # @return [Array<String>, nil]
2387
- optional :location_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2388
-
2389
- # @!attribute min_android_version
2390
- # Represents textual data as UTF-8 character sequences. This type is most often
2391
- # used by GraphQL to represent free-form human-readable text.
2392
- #
2393
- # @return [String, nil]
2394
- optional :min_android_version, String, nil?: true
2395
-
2396
- # @!attribute min_ios_version
2397
- # Represents textual data as UTF-8 character sequences. This type is most often
2398
- # used by GraphQL to represent free-form human-readable text.
2399
- #
2400
- # @return [String, nil]
2401
- optional :min_ios_version, String, nil?: true
2402
-
2403
- # @!attribute network_types
2404
- #
2405
- # @return [Array<String>, nil]
2406
- optional :network_types, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2407
-
2408
- # @!attribute operating_systems
2409
- #
2410
- # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OperatingSystem>, nil]
2411
- optional :operating_systems,
2412
- -> {
2413
- WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::OperatingSystem]
2414
- },
2415
- nil?: true
2416
-
2417
- # @!attribute operation_status
2418
- # Initial status (ENABLE, DISABLE).
2419
- #
2420
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OperationStatus, nil]
2421
- optional :operation_status,
2422
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::OperationStatus },
2423
- nil?: true
2424
-
2425
- # @!attribute optimization_event
2426
- # Conversion event (e.g., COMPLETE_PAYMENT).
2427
- #
2428
- # @return [String, nil]
2429
- optional :optimization_event, String, nil?: true
2430
-
2431
- # @!attribute optimization_goal
2432
- # What this ad group optimizes for on TikTok.
2433
- #
2434
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OptimizationGoal, nil]
2435
- optional :optimization_goal,
2436
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::OptimizationGoal },
2437
- nil?: true
2438
-
2439
- # @!attribute pacing
2440
- # Budget pacing (PACING_MODE_SMOOTH, PACING_MODE_FAST).
2441
- #
2442
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Pacing, nil]
2443
- optional :pacing,
2444
- enum: -> {
2445
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Pacing
2446
- },
2447
- nil?: true
2448
-
2449
- # @!attribute pangle_audience_package_exclude_ids
2450
- #
2451
- # @return [Array<String>, nil]
2452
- optional :pangle_audience_package_exclude_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2453
-
2454
- # @!attribute pangle_audience_package_include_ids
2455
- #
2456
- # @return [Array<String>, nil]
2457
- optional :pangle_audience_package_include_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2458
-
2459
- # @!attribute pangle_block_app_ids
2460
- #
2461
- # @return [Array<String>, nil]
2462
- optional :pangle_block_app_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2463
-
2464
- # @!attribute pixel_id
2465
- # TikTok Pixel ID for conversion tracking.
2466
- #
2467
- # @return [String, nil]
2468
- optional :pixel_id, String, nil?: true
2469
-
2470
- # @!attribute placement_type
2471
- # Placement strategy (PLACEMENT_TYPE_AUTOMATIC, PLACEMENT_TYPE_NORMAL).
2472
- #
2473
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::PlacementType, nil]
2474
- optional :placement_type,
2475
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::PlacementType },
2476
- nil?: true
2477
-
2478
- # @!attribute placements
2479
- # Placements (PLACEMENT_TIKTOK, PLACEMENT_PANGLE, etc.).
2480
- #
2481
- # @return [Array<String>, nil]
2482
- optional :placements, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2483
-
2484
- # @!attribute product_set_id
2485
- # Represents textual data as UTF-8 character sequences. This type is most often
2486
- # used by GraphQL to represent free-form human-readable text.
2487
- #
2488
- # @return [String, nil]
2489
- optional :product_set_id, String, nil?: true
2490
-
2491
- # @!attribute product_source
2492
- #
2493
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ProductSource, nil]
2494
- optional :product_source,
2495
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::ProductSource },
2496
- nil?: true
2497
-
2498
- # @!attribute promotion_type
2499
- # Promotion type (optimization location).
2500
- #
2501
- # @return [String, nil]
2502
- optional :promotion_type, String, nil?: true
2503
-
2504
- # @!attribute schedule_end_time
2505
- # Schedule end time (UTC, YYYY-MM-DD HH:MM:SS).
2506
- #
2507
- # @return [String, nil]
2508
- optional :schedule_end_time, String, nil?: true
2509
-
2510
- # @!attribute schedule_start_time
2511
- # Schedule start time (UTC, YYYY-MM-DD HH:MM:SS).
2512
- #
2513
- # @return [String, nil]
2514
- optional :schedule_start_time, String, nil?: true
2515
-
2516
- # @!attribute schedule_type
2517
- # Schedule type (SCHEDULE_START_END, SCHEDULE_FROM_NOW).
2518
- #
2519
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ScheduleType, nil]
2520
- optional :schedule_type,
2521
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::ScheduleType },
2522
- nil?: true
2523
-
2524
- # @!attribute secondary_optimization_event
2525
- # Represents textual data as UTF-8 character sequences. This type is most often
2526
- # used by GraphQL to represent free-form human-readable text.
2527
- #
2528
- # @return [String, nil]
2529
- optional :secondary_optimization_event, String, nil?: true
2530
-
2531
- # @!attribute shopping_ads_retargeting_actions_days
2532
- # Represents non-fractional signed whole numeric values. Int can represent values
2533
- # between -(2^31) and 2^31 - 1.
2534
- #
2535
- # @return [Integer, nil]
2536
- optional :shopping_ads_retargeting_actions_days, Integer, nil?: true
2537
-
2538
- # @!attribute shopping_ads_retargeting_type
2539
- #
2540
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ShoppingAdsRetargetingType, nil]
2541
- optional :shopping_ads_retargeting_type,
2542
- enum: -> {
2543
- WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::ShoppingAdsRetargetingType
2544
- },
2545
- nil?: true
2546
-
2547
- # @!attribute spending_power
2548
- #
2549
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::SpendingPower, nil]
2550
- optional :spending_power,
2551
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::SpendingPower },
2552
- nil?: true
2553
-
2554
- # @!attribute tiktok_subplacements
2555
- # TikTok subplacements (IN_FEED, SEARCH_FEED, etc.).
2556
- #
2557
- # @return [Array<String>, nil]
2558
- optional :tiktok_subplacements, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2559
-
2560
- # @!attribute vertical_sensitivity_id
2561
- # Represents textual data as UTF-8 character sequences. This type is most often
2562
- # used by GraphQL to represent free-form human-readable text.
2563
- #
2564
- # @return [String, nil]
2565
- optional :vertical_sensitivity_id, String, nil?: true
2566
-
2567
- # @!attribute video_download_disabled
2568
- # Represents `true` or `false` values.
2569
- #
2570
- # @return [Boolean, nil]
2571
- optional :video_download_disabled, WhopSDK::Internal::Type::Boolean, nil?: true
2572
-
2573
- # @!attribute video_user_actions
2574
- #
2575
- # @return [Array<String>, nil]
2576
- optional :video_user_actions, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2577
-
2578
- # @!attribute view_attribution_window
2579
- #
2580
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ViewAttributionWindow, nil]
2581
- optional :view_attribution_window,
2582
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::ViewAttributionWindow },
2583
- nil?: true
2584
-
2585
- # @!method initialize(actions: nil, age_groups: nil, app_id: nil, attribution_event_count: nil, audience_ids: nil, audience_rule: nil, audience_type: nil, bid_price: nil, bid_type: nil, billing_event: nil, brand_safety_type: nil, budget_mode: nil, carrier_ids: nil, category_exclusion_ids: nil, click_attribution_window: nil, comment_disabled: nil, contextual_tag_ids: nil, conversion_bid_price: nil, creative_material_mode: nil, dayparting: nil, deep_funnel_event_source: nil, deep_funnel_event_source_id: nil, deep_funnel_optimization_status: nil, device_model_ids: nil, device_price_ranges: nil, engaged_view_attribution_window: nil, excluded_audience_ids: nil, excluded_location_ids: nil, frequency: nil, frequency_schedule: nil, gender: nil, identity_authorized_bc_id: nil, identity_id: nil, identity_type: nil, instant_form_config: nil, instant_form_id: nil, interest_category_ids: nil, interest_keyword_ids: nil, inventory_filter_enabled: nil, ios14_targeting: nil, isp_ids: nil, languages: nil, location_ids: nil, min_android_version: nil, min_ios_version: nil, network_types: nil, operating_systems: nil, operation_status: nil, optimization_event: nil, optimization_goal: nil, pacing: nil, pangle_audience_package_exclude_ids: nil, pangle_audience_package_include_ids: nil, pangle_block_app_ids: nil, pixel_id: nil, placement_type: nil, placements: nil, product_set_id: nil, product_source: nil, promotion_type: nil, schedule_end_time: nil, schedule_start_time: nil, schedule_type: nil, secondary_optimization_event: nil, shopping_ads_retargeting_actions_days: nil, shopping_ads_retargeting_type: nil, spending_power: nil, tiktok_subplacements: nil, vertical_sensitivity_id: nil, video_download_disabled: nil, video_user_actions: nil, view_attribution_window: nil)
2586
- # Some parameter documentations has been truncated, see
2587
- # {WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok} for more details.
2588
- #
2589
- # TikTok ad group configuration.
2590
- #
2591
- # @param actions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action>, nil]
2592
- #
2593
- # @param age_groups [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AgeGroup>, nil]
2594
- #
2595
- # @param app_id [String, nil] App ID for app promotion campaigns.
2596
- #
2597
- # @param attribution_event_count [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AttributionEventCount, nil]
2598
- #
2599
- # @param audience_ids [Array<String>, nil]
2600
- #
2601
- # @param audience_rule [Hash{Symbol=>Object}, nil] Represents untyped JSON
2602
- #
2603
- # @param audience_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::AudienceType, nil]
2604
- #
2605
- # @param bid_price [Float, nil] Bid price (cost per result for Cost Cap).
2606
- #
2607
- # @param bid_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BidType, nil] Bidding strategy (BID_TYPE_NO_BID, BID_TYPE_CUSTOM).
2608
- #
2609
- # @param billing_event [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BillingEvent, nil] How you are billed on TikTok (CPC, CPM, OCPM, CPV).
2610
- #
2611
- # @param brand_safety_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BrandSafetyType, nil]
2612
- #
2613
- # @param budget_mode [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::BudgetMode, nil] Budget mode (BUDGET_MODE_DAY, BUDGET_MODE_TOTAL, BUDGET_MODE_DYNAMIC_DAILY_BUDGE
2614
- #
2615
- # @param carrier_ids [Array<String>, nil]
2616
- #
2617
- # @param category_exclusion_ids [Array<String>, nil]
2618
- #
2619
- # @param click_attribution_window [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ClickAttributionWindow, nil]
2620
- #
2621
- # @param comment_disabled [Boolean, nil] Represents `true` or `false` values.
2622
- #
2623
- # @param contextual_tag_ids [Array<String>, nil]
2624
- #
2625
- # @param conversion_bid_price [Float, nil] Target cost per conversion for oCPM.
2626
- #
2627
- # @param creative_material_mode [String, nil] Creative delivery strategy.
2628
- #
2629
- # @param dayparting [String, nil] Ad delivery schedule (48x7 character string).
2630
- #
2631
- # @param deep_funnel_event_source [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2632
- #
2633
- # @param deep_funnel_event_source_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2634
- #
2635
- # @param deep_funnel_optimization_status [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::DeepFunnelOptimizationStatus, nil]
2636
- #
2637
- # @param device_model_ids [Array<String>, nil]
2638
- #
2639
- # @param device_price_ranges [Array<String>, nil]
2640
- #
2641
- # @param engaged_view_attribution_window [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::EngagedViewAttributionWindow, nil]
2642
- #
2643
- # @param excluded_audience_ids [Array<String>, nil]
2644
- #
2645
- # @param excluded_location_ids [Array<String>, nil] TikTok location/region IDs to exclude.
2646
- #
2647
- # @param frequency [Integer, nil] Represents non-fractional signed whole numeric values. Int can represent values
2648
- #
2649
- # @param frequency_schedule [Integer, nil] Represents non-fractional signed whole numeric values. Int can represent values
2650
- #
2651
- # @param gender [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Gender, nil]
2652
- #
2653
- # @param identity_authorized_bc_id [String, nil] Business Center ID for BC_AUTH_TT identity.
2654
- #
2655
- # @param identity_id [String, nil] TikTok identity ID for the ad group.
2656
- #
2657
- # @param identity_type [String, nil] Identity type (AUTH_CODE, TT_USER, BC_AUTH_TT).
2658
- #
2659
- # @param instant_form_config [WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig, nil] Instant form configuration for lead generation campaigns.
2660
- #
2661
- # @param instant_form_id [String, nil] TikTok instant form ID (set automatically when instant_form_config is provided).
2662
- #
2663
- # @param interest_category_ids [Array<String>, nil]
2664
- #
2665
- # @param interest_keyword_ids [Array<String>, nil]
2666
- #
2667
- # @param inventory_filter_enabled [Boolean, nil] Represents `true` or `false` values.
2668
- #
2669
- # @param ios14_targeting [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Ios14Targeting, nil]
2670
- #
2671
- # @param isp_ids [Array<String>, nil]
2672
- #
2673
- # @param languages [Array<String>, nil]
2674
- #
2675
- # @param location_ids [Array<String>, nil] TikTok location/region IDs for geo targeting.
2676
- #
2677
- # @param min_android_version [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2678
- #
2679
- # @param min_ios_version [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2680
- #
2681
- # @param network_types [Array<String>, nil]
2682
- #
2683
- # @param operating_systems [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OperatingSystem>, nil]
2684
- #
2685
- # @param operation_status [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OperationStatus, nil] Initial status (ENABLE, DISABLE).
2686
- #
2687
- # @param optimization_event [String, nil] Conversion event (e.g., COMPLETE_PAYMENT).
2688
- #
2689
- # @param optimization_goal [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::OptimizationGoal, nil] What this ad group optimizes for on TikTok.
2690
- #
2691
- # @param pacing [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Pacing, nil] Budget pacing (PACING_MODE_SMOOTH, PACING_MODE_FAST).
2692
- #
2693
- # @param pangle_audience_package_exclude_ids [Array<String>, nil]
2694
- #
2695
- # @param pangle_audience_package_include_ids [Array<String>, nil]
2696
- #
2697
- # @param pangle_block_app_ids [Array<String>, nil]
2698
- #
2699
- # @param pixel_id [String, nil] TikTok Pixel ID for conversion tracking.
2700
- #
2701
- # @param placement_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::PlacementType, nil] Placement strategy (PLACEMENT_TYPE_AUTOMATIC, PLACEMENT_TYPE_NORMAL).
2702
- #
2703
- # @param placements [Array<String>, nil] Placements (PLACEMENT_TIKTOK, PLACEMENT_PANGLE, etc.).
2704
- #
2705
- # @param product_set_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2706
- #
2707
- # @param product_source [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ProductSource, nil]
2708
- #
2709
- # @param promotion_type [String, nil] Promotion type (optimization location).
2710
- #
2711
- # @param schedule_end_time [String, nil] Schedule end time (UTC, YYYY-MM-DD HH:MM:SS).
2712
- #
2713
- # @param schedule_start_time [String, nil] Schedule start time (UTC, YYYY-MM-DD HH:MM:SS).
2714
- #
2715
- # @param schedule_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ScheduleType, nil] Schedule type (SCHEDULE_START_END, SCHEDULE_FROM_NOW).
2716
- #
2717
- # @param secondary_optimization_event [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2718
- #
2719
- # @param shopping_ads_retargeting_actions_days [Integer, nil] Represents non-fractional signed whole numeric values. Int can represent values
2720
- #
2721
- # @param shopping_ads_retargeting_type [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ShoppingAdsRetargetingType, nil]
2722
- #
2723
- # @param spending_power [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::SpendingPower, nil]
2724
- #
2725
- # @param tiktok_subplacements [Array<String>, nil] TikTok subplacements (IN_FEED, SEARCH_FEED, etc.).
2726
- #
2727
- # @param vertical_sensitivity_id [String, nil] Represents textual data as UTF-8 character sequences. This type is most often us
2728
- #
2729
- # @param video_download_disabled [Boolean, nil] Represents `true` or `false` values.
2730
- #
2731
- # @param video_user_actions [Array<String>, nil]
2732
- #
2733
- # @param view_attribution_window [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::ViewAttributionWindow, nil]
2734
-
2735
- class Action < WhopSDK::Internal::Type::BaseModel
2736
- # @!attribute action_category_ids
2737
- # Behavioral category IDs. Use /tool/action_category/ to list them.
2738
- #
2739
- # @return [Array<String>, nil]
2740
- optional :action_category_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
2741
-
2742
- # @!attribute action_period
2743
- # Lookback window in days. TikTok accepts 7, 15, 30, 60, 90, or 180.
2744
- #
2745
- # @return [Integer, nil]
2746
- optional :action_period, Integer, nil?: true
2747
-
2748
- # @!attribute action_scene
2749
- # The category of TikTok content a behavioral targeting rule applies to. See
2750
- # docs/tiktok_api/ad_group.md § actions.
2751
- #
2752
- # @return [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::ActionScene, nil]
2753
- optional :action_scene,
2754
- enum: -> { WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::ActionScene },
2755
- nil?: true
2756
-
2757
- # @!attribute video_user_actions
2758
- # Specific video interactions (WATCHED_TO_END, LIKED, COMMENTED, SHARED, FOLLOWED,
2759
- # PROFILE_VISITED).
2760
- #
2761
- # @return [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::VideoUserAction>, nil]
2762
- optional :video_user_actions,
2763
- -> {
2764
- WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::VideoUserAction]
2765
- },
2766
- nil?: true
2767
-
2768
- # @!method initialize(action_category_ids: nil, action_period: nil, action_scene: nil, video_user_actions: nil)
2769
- # Some parameter documentations has been truncated, see
2770
- # {WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action} for more
2771
- # details.
2772
- #
2773
- # A single TikTok behavioral targeting entry. One category of past user behavior
2774
- # (what they did, over what window, on which kind of content). See
2775
- # docs/tiktok_api/ad_group.md § actions.
2776
- #
2777
- # @param action_category_ids [Array<String>, nil] Behavioral category IDs. Use /tool/action_category/ to list them.
2778
- #
2779
- # @param action_period [Integer, nil] Lookback window in days. TikTok accepts 7, 15, 30, 60, 90, or 180.
2780
- #
2781
- # @param action_scene [Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::ActionScene, nil] The category of TikTok content a behavioral targeting rule applies to. See docs/
2782
- #
2783
- # @param video_user_actions [Array<Symbol, WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action::VideoUserAction>, nil] Specific video interactions (WATCHED_TO_END, LIKED, COMMENTED, SHARED, FOLLOWED,
2784
-
2785
- # The category of TikTok content a behavioral targeting rule applies to. See
2786
- # docs/tiktok_api/ad_group.md § actions.
2787
- #
2788
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::Action#action_scene
2789
- module ActionScene
2790
- extend WhopSDK::Internal::Type::Enum
2791
-
2792
- VIDEO_RELATED = :VIDEO_RELATED
2793
- CREATOR_RELATED = :CREATOR_RELATED
2794
- HASHTAG_RELATED = :HASHTAG_RELATED
2795
- LIVE_RELATED = :LIVE_RELATED
2796
-
2797
- # @!method self.values
2798
- # @return [Array<Symbol>]
2799
- end
2800
-
2801
- # Specific past video interactions used for behavioral targeting. See
2802
- # docs/tiktok_api/ad_group.md § actions.video_user_actions.
2803
- module VideoUserAction
2804
- extend WhopSDK::Internal::Type::Enum
2805
-
2806
- WATCHED_TO_END = :WATCHED_TO_END
2807
- LIKED = :LIKED
2808
- COMMENTED = :COMMENTED
2809
- SHARED = :SHARED
2810
- FOLLOWED = :FOLLOWED
2811
- PROFILE_VISITED = :PROFILE_VISITED
2812
-
2813
- # @!method self.values
2814
- # @return [Array<Symbol>]
2815
- end
2816
- end
2817
-
2818
- # Age groups targetable on TikTok. See docs/tiktok_api/ad_group.md § age_groups.
2819
- module AgeGroup
2820
- extend WhopSDK::Internal::Type::Enum
2821
-
2822
- AGE_13_17 = :AGE_13_17
2823
- AGE_18_24 = :AGE_18_24
2824
- AGE_25_34 = :AGE_25_34
2825
- AGE_35_44 = :AGE_35_44
2826
- AGE_45_54 = :AGE_45_54
2827
- AGE_55_100 = :AGE_55_100
2828
-
2829
- # @!method self.values
2830
- # @return [Array<Symbol>]
2831
- end
2832
-
2833
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#attribution_event_count
2834
- module AttributionEventCount
2835
- extend WhopSDK::Internal::Type::Enum
2836
-
2837
- UNSET = :UNSET
2838
- EVERY = :EVERY
2839
- ONCE = :ONCE
2840
-
2841
- # @!method self.values
2842
- # @return [Array<Symbol>]
2843
- end
2844
-
2845
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#audience_type
2846
- module AudienceType
2847
- extend WhopSDK::Internal::Type::Enum
2848
-
2849
- NORMAL = :NORMAL
2850
- SMART_INTERESTS_BEHAVIORS = :SMART_INTERESTS_BEHAVIORS
2851
-
2852
- # @!method self.values
2853
- # @return [Array<Symbol>]
2854
- end
2855
-
2856
- # Bidding strategy (BID_TYPE_NO_BID, BID_TYPE_CUSTOM).
2857
- #
2858
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#bid_type
2859
- module BidType
2860
- extend WhopSDK::Internal::Type::Enum
2861
-
2862
- BID_TYPE_NO_BID = :BID_TYPE_NO_BID
2863
- BID_TYPE_CUSTOM = :BID_TYPE_CUSTOM
2864
-
2865
- # @!method self.values
2866
- # @return [Array<Symbol>]
2867
- end
2868
-
2869
- # How you are billed on TikTok (CPC, CPM, OCPM, CPV).
2870
- #
2871
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#billing_event
2872
- module BillingEvent
2873
- extend WhopSDK::Internal::Type::Enum
2874
-
2875
- CPC = :CPC
2876
- CPM = :CPM
2877
- OCPM = :OCPM
2878
- CPV = :CPV
2879
-
2880
- # @!method self.values
2881
- # @return [Array<Symbol>]
2882
- end
2883
-
2884
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#brand_safety_type
2885
- module BrandSafetyType
2886
- extend WhopSDK::Internal::Type::Enum
2887
-
2888
- NO_BRAND_SAFETY = :NO_BRAND_SAFETY
2889
- STANDARD_INVENTORY = :STANDARD_INVENTORY
2890
- LIMITED_INVENTORY = :LIMITED_INVENTORY
2891
- FULL_INVENTORY = :FULL_INVENTORY
2892
- EXPANDED_INVENTORY = :EXPANDED_INVENTORY
2893
-
2894
- # @!method self.values
2895
- # @return [Array<Symbol>]
2896
- end
2897
-
2898
- # Budget mode (BUDGET_MODE_DAY, BUDGET_MODE_TOTAL,
2899
- # BUDGET_MODE_DYNAMIC_DAILY_BUDGET).
2900
- #
2901
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#budget_mode
2902
- module BudgetMode
2903
- extend WhopSDK::Internal::Type::Enum
2904
-
2905
- BUDGET_MODE_DAY = :BUDGET_MODE_DAY
2906
- BUDGET_MODE_TOTAL = :BUDGET_MODE_TOTAL
2907
- BUDGET_MODE_DYNAMIC_DAILY_BUDGET = :BUDGET_MODE_DYNAMIC_DAILY_BUDGET
2908
-
2909
- # @!method self.values
2910
- # @return [Array<Symbol>]
2911
- end
2912
-
2913
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#click_attribution_window
2914
- module ClickAttributionWindow
2915
- extend WhopSDK::Internal::Type::Enum
2916
-
2917
- OFF = :OFF
2918
- ONE_DAY = :ONE_DAY
2919
- SEVEN_DAYS = :SEVEN_DAYS
2920
- FOURTEEN_DAYS = :FOURTEEN_DAYS
2921
- TWENTY_EIGHT_DAYS = :TWENTY_EIGHT_DAYS
2922
-
2923
- # @!method self.values
2924
- # @return [Array<Symbol>]
2925
- end
2926
-
2927
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#deep_funnel_optimization_status
2928
- module DeepFunnelOptimizationStatus
2929
- extend WhopSDK::Internal::Type::Enum
2930
-
2931
- ON = :ON
2932
- OFF = :OFF
2933
-
2934
- # @!method self.values
2935
- # @return [Array<Symbol>]
2936
- end
2937
-
2938
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#engaged_view_attribution_window
2939
- module EngagedViewAttributionWindow
2940
- extend WhopSDK::Internal::Type::Enum
2941
-
2942
- OFF = :OFF
2943
- ONE_DAY = :ONE_DAY
2944
- SEVEN_DAYS = :SEVEN_DAYS
2945
-
2946
- # @!method self.values
2947
- # @return [Array<Symbol>]
2948
- end
2949
-
2950
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#gender
2951
- module Gender
2952
- extend WhopSDK::Internal::Type::Enum
2953
-
2954
- GENDER_UNLIMITED = :GENDER_UNLIMITED
2955
- GENDER_MALE = :GENDER_MALE
2956
- GENDER_FEMALE = :GENDER_FEMALE
2957
-
2958
- # @!method self.values
2959
- # @return [Array<Symbol>]
2960
- end
2961
-
2962
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#instant_form_config
2963
- class InstantFormConfig < WhopSDK::Internal::Type::BaseModel
2964
- # @!attribute privacy_policy_url
2965
- # URL to your privacy policy.
2966
- #
2967
- # @return [String]
2968
- required :privacy_policy_url, String
2969
-
2970
- # @!attribute questions
2971
- # Form questions (at least one required).
2972
- #
2973
- # @return [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig::Question>]
2974
- required :questions,
2975
- -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig::Question] }
2976
-
2977
- # @!attribute button_text
2978
- # Submit button text.
2979
- #
2980
- # @return [String, nil]
2981
- optional :button_text, String, nil?: true
2982
-
2983
- # @!attribute greeting
2984
- # Greeting text shown at the top of the form.
2985
- #
2986
- # @return [String, nil]
2987
- optional :greeting, String, nil?: true
2988
-
2989
- # @!attribute name
2990
- # Form name. Auto-generated if omitted.
2991
- #
2992
- # @return [String, nil]
2993
- optional :name, String, nil?: true
2994
-
2995
- # @!method initialize(privacy_policy_url:, questions:, button_text: nil, greeting: nil, name: nil)
2996
- # Instant form configuration for lead generation campaigns.
2997
- #
2998
- # @param privacy_policy_url [String] URL to your privacy policy.
2999
- #
3000
- # @param questions [Array<WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok::InstantFormConfig::Question>] Form questions (at least one required).
3001
- #
3002
- # @param button_text [String, nil] Submit button text.
3003
- #
3004
- # @param greeting [String, nil] Greeting text shown at the top of the form.
3005
- #
3006
- # @param name [String, nil] Form name. Auto-generated if omitted.
3007
-
3008
- class Question < WhopSDK::Internal::Type::BaseModel
3009
- # @!attribute field_type
3010
- # Question type (EMAIL, PHONE_NUMBER, NAME, CUSTOM).
3011
- #
3012
- # @return [String]
3013
- required :field_type, String
3014
-
3015
- # @!attribute label
3016
- # Custom label for the question.
3017
- #
3018
- # @return [String, nil]
3019
- optional :label, String, nil?: true
3020
-
3021
- # @!method initialize(field_type:, label: nil)
3022
- # A question for a TikTok instant form.
3023
- #
3024
- # @param field_type [String] Question type (EMAIL, PHONE_NUMBER, NAME, CUSTOM).
3025
- #
3026
- # @param label [String, nil] Custom label for the question.
3027
- end
3028
- end
3029
-
3030
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#ios14_targeting
3031
- module Ios14Targeting
3032
- extend WhopSDK::Internal::Type::Enum
3033
-
3034
- UNSET = :UNSET
3035
- IOS14_MINUS = :IOS14_MINUS
3036
- IOS14_PLUS = :IOS14_PLUS
3037
- ALL = :ALL
3038
-
3039
- # @!method self.values
3040
- # @return [Array<Symbol>]
3041
- end
3042
-
3043
- # Device operating systems targetable on TikTok. See docs/tiktok_api/ad_group.md §
3044
- # operating_systems.
3045
- module OperatingSystem
3046
- extend WhopSDK::Internal::Type::Enum
3047
-
3048
- ANDROID = :ANDROID
3049
- IOS = :IOS
3050
-
3051
- # @!method self.values
3052
- # @return [Array<Symbol>]
3053
- end
3054
-
3055
- # Initial status (ENABLE, DISABLE).
3056
- #
3057
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#operation_status
3058
- module OperationStatus
3059
- extend WhopSDK::Internal::Type::Enum
3060
-
3061
- ENABLE = :ENABLE
3062
- DISABLE = :DISABLE
3063
-
3064
- # @!method self.values
3065
- # @return [Array<Symbol>]
3066
- end
3067
-
3068
- # What this ad group optimizes for on TikTok.
3069
- #
3070
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#optimization_goal
3071
- module OptimizationGoal
3072
- extend WhopSDK::Internal::Type::Enum
3073
-
3074
- CLICK = :CLICK
3075
- CONVERT = :CONVERT
3076
- INSTALL = :INSTALL
3077
- IN_APP_EVENT = :IN_APP_EVENT
3078
- REACH = :REACH
3079
- SHOW = :SHOW
3080
- VIDEO_VIEW = :VIDEO_VIEW
3081
- ENGAGED_VIEW = :ENGAGED_VIEW
3082
- ENGAGED_VIEW_FIFTEEN = :ENGAGED_VIEW_FIFTEEN
3083
- LEAD_GENERATION = :LEAD_GENERATION
3084
- PREFERRED_LEAD = :PREFERRED_LEAD
3085
- CONVERSATION = :CONVERSATION
3086
- FOLLOWERS = :FOLLOWERS
3087
- PROFILE_VIEWS = :PROFILE_VIEWS
3088
- PAGE_VISIT = :PAGE_VISIT
3089
- VALUE = :VALUE
3090
- AUTOMATIC_VALUE_OPTIMIZATION = :AUTOMATIC_VALUE_OPTIMIZATION
3091
- TRAFFIC_LANDING_PAGE_VIEW = :TRAFFIC_LANDING_PAGE_VIEW
3092
- DESTINATION_VISIT = :DESTINATION_VISIT
3093
- MT_LIVE_ROOM = :MT_LIVE_ROOM
3094
- PRODUCT_CLICK_IN_LIVE = :PRODUCT_CLICK_IN_LIVE
3095
-
3096
- # @!method self.values
3097
- # @return [Array<Symbol>]
3098
- end
3099
-
3100
- # Budget pacing (PACING_MODE_SMOOTH, PACING_MODE_FAST).
3101
- #
3102
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#pacing
3103
- module Pacing
3104
- extend WhopSDK::Internal::Type::Enum
3105
-
3106
- PACING_MODE_SMOOTH = :PACING_MODE_SMOOTH
3107
- PACING_MODE_FAST = :PACING_MODE_FAST
3108
-
3109
- # @!method self.values
3110
- # @return [Array<Symbol>]
3111
- end
3112
-
3113
- # Placement strategy (PLACEMENT_TYPE_AUTOMATIC, PLACEMENT_TYPE_NORMAL).
3114
- #
3115
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#placement_type
3116
- module PlacementType
3117
- extend WhopSDK::Internal::Type::Enum
3118
-
3119
- PLACEMENT_TYPE_AUTOMATIC = :PLACEMENT_TYPE_AUTOMATIC
3120
- PLACEMENT_TYPE_NORMAL = :PLACEMENT_TYPE_NORMAL
3121
-
3122
- # @!method self.values
3123
- # @return [Array<Symbol>]
3124
- end
3125
-
3126
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#product_source
3127
- module ProductSource
3128
- extend WhopSDK::Internal::Type::Enum
3129
-
3130
- CATALOG = :CATALOG
3131
- STORE = :STORE
3132
- SHOWCASE = :SHOWCASE
3133
-
3134
- # @!method self.values
3135
- # @return [Array<Symbol>]
3136
- end
3137
-
3138
- # Schedule type (SCHEDULE_START_END, SCHEDULE_FROM_NOW).
3139
- #
3140
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#schedule_type
3141
- module ScheduleType
3142
- extend WhopSDK::Internal::Type::Enum
3143
-
3144
- SCHEDULE_START_END = :SCHEDULE_START_END
3145
- SCHEDULE_FROM_NOW = :SCHEDULE_FROM_NOW
3146
-
3147
- # @!method self.values
3148
- # @return [Array<Symbol>]
3149
- end
3150
-
3151
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#shopping_ads_retargeting_type
3152
- module ShoppingAdsRetargetingType
3153
- extend WhopSDK::Internal::Type::Enum
3154
-
3155
- OFF = :OFF
3156
- LAB1 = :LAB1
3157
- LAB2 = :LAB2
3158
- LAB3 = :LAB3
3159
- LAB4 = :LAB4
3160
- LAB5 = :LAB5
3161
-
3162
- # @!method self.values
3163
- # @return [Array<Symbol>]
3164
- end
272
+ # @!group
273
+
274
+ PURCHASE = :purchase
275
+ ADD_TO_CART = :add_to_cart
276
+ INITIATED_CHECKOUT = :initiated_checkout
277
+ ADD_PAYMENT_INFO = :add_payment_info
278
+ COMPLETE_REGISTRATION = :complete_registration
279
+ LEAD = :lead
280
+ CONTENT_VIEW = :content_view
281
+ SEARCH = :search
282
+ CONTACT = :contact
283
+ CUSTOMIZE_PRODUCT = :customize_product
284
+ DONATE = :donate
285
+ FIND_LOCATION = :find_location
286
+ SCHEDULE = :schedule
287
+ START_TRIAL = :start_trial
288
+ SUBMIT_APPLICATION = :submit_application
289
+ SUBSCRIBE = :subscribe
290
+
291
+ # @!endgroup
292
+ end
3165
293
 
3166
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#spending_power
3167
- module SpendingPower
3168
- extend WhopSDK::Internal::Type::Enum
294
+ # Where results happen: website (conversions), profile (IG/FB engagement),
295
+ # messaging (DM), on_ad (engagement on the ad, surface follows the optimization
296
+ # goal), or the lead destinations (instant_forms, instant_forms_and_messenger,
297
+ # website_and_instant_forms). The lead form itself is set on the ad.
298
+ module ConversionLocation
299
+ extend WhopSDK::Internal::Type::Enum
3169
300
 
3170
- ALL = :ALL
3171
- HIGH = :HIGH
301
+ WEBSITE = :website
302
+ PROFILE = :profile
303
+ MESSAGING = :messaging
304
+ ON_AD = :on_ad
305
+ INSTANT_FORMS = :instant_forms
306
+ INSTANT_FORMS_AND_MESSENGER = :instant_forms_and_messenger
307
+ WEBSITE_AND_INSTANT_FORMS = :website_and_instant_forms
3172
308
 
3173
- # @!method self.values
3174
- # @return [Array<Symbol>]
3175
- end
309
+ # @!method self.values
310
+ # @return [Array<Symbol>]
311
+ end
3176
312
 
3177
- # @see WhopSDK::Models::AdGroupUpdateParams::PlatformConfig::Tiktok#view_attribution_window
3178
- module ViewAttributionWindow
3179
- extend WhopSDK::Internal::Type::Enum
313
+ module MessageApp
314
+ extend WhopSDK::Internal::Type::Enum
3180
315
 
3181
- OFF = :OFF
3182
- ONE_DAY = :ONE_DAY
3183
- SEVEN_DAYS = :SEVEN_DAYS
316
+ MESSENGER = :messenger
317
+ INSTAGRAM = :instagram
318
+ WHATSAPP = :whatsapp
3184
319
 
3185
- # @!method self.values
3186
- # @return [Array<Symbol>]
3187
- end
3188
- end
320
+ # @!method self.values
321
+ # @return [Array<Symbol>]
3189
322
  end
3190
323
 
3191
- # The status of an external ad group.
324
+ # Initial status (default: active).
3192
325
  module Status
3193
326
  extend WhopSDK::Internal::Type::Enum
3194
327
 
3195
328
  ACTIVE = :active
3196
329
  PAUSED = :paused
3197
- INACTIVE = :inactive
3198
- IN_REVIEW = :in_review
3199
- REJECTED = :rejected
3200
- FLAGGED = :flagged
3201
330
 
3202
331
  # @!method self.values
3203
332
  # @return [Array<Symbol>]