whop_sdk 0.0.37 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +76 -10
  5. data/lib/whop_sdk/helpers/verify_user_token.rb +166 -34
  6. data/lib/whop_sdk/models/ad_campaign_list_params.rb +101 -0
  7. data/lib/whop_sdk/models/ad_campaign_list_response.rb +126 -0
  8. data/lib/whop_sdk/models/ad_campaign_pause_params.rb +20 -0
  9. data/lib/whop_sdk/models/ad_campaign_pause_response.rb +328 -0
  10. data/lib/whop_sdk/models/ad_campaign_retrieve_params.rb +20 -0
  11. data/lib/whop_sdk/models/ad_campaign_retrieve_response.rb +328 -0
  12. data/lib/whop_sdk/models/ad_campaign_unpause_params.rb +20 -0
  13. data/lib/whop_sdk/models/ad_campaign_unpause_response.rb +328 -0
  14. data/lib/whop_sdk/models/ad_campaign_update_params.rb +33 -0
  15. data/lib/whop_sdk/models/ad_campaign_update_response.rb +328 -0
  16. data/lib/whop_sdk/models/ad_group_delete_params.rb +20 -0
  17. data/lib/whop_sdk/models/ad_group_delete_response.rb +8 -0
  18. data/lib/whop_sdk/models/ad_group_list_params.rb +109 -0
  19. data/lib/whop_sdk/models/ad_group_list_response.rb +118 -0
  20. data/lib/whop_sdk/models/ad_group_retrieve_params.rb +20 -0
  21. data/lib/whop_sdk/models/ad_group_retrieve_response.rb +140 -0
  22. data/lib/whop_sdk/models/ad_group_update_params.rb +3207 -0
  23. data/lib/whop_sdk/models/ad_group_update_response.rb +140 -0
  24. data/lib/whop_sdk/models/ad_list_params.rb +115 -0
  25. data/lib/whop_sdk/models/ad_list_response.rb +89 -0
  26. data/lib/whop_sdk/models/ad_report_retrieve_params.rb +77 -0
  27. data/lib/whop_sdk/models/ad_report_retrieve_response.rb +312 -0
  28. data/lib/whop_sdk/models/ad_retrieve_params.rb +20 -0
  29. data/lib/whop_sdk/models/ad_retrieve_response.rb +133 -0
  30. data/lib/whop_sdk/models/authorized_user_roles.rb +1 -0
  31. data/lib/whop_sdk/models/bounty_create_params.rb +105 -0
  32. data/lib/whop_sdk/models/bounty_create_response.rb +126 -0
  33. data/lib/whop_sdk/models/bounty_list_params.rb +85 -0
  34. data/lib/whop_sdk/models/bounty_list_response.rb +126 -0
  35. data/lib/whop_sdk/models/bounty_retrieve_params.rb +20 -0
  36. data/lib/whop_sdk/models/bounty_retrieve_response.rb +126 -0
  37. data/lib/whop_sdk/models/checkout_configuration.rb +20 -2
  38. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +97 -23
  39. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +20 -2
  40. data/lib/whop_sdk/models/company_create_api_key_params.rb +109 -0
  41. data/lib/whop_sdk/models/company_create_api_key_response.rb +35 -0
  42. data/lib/whop_sdk/models/conversion_create_params.rb +462 -0
  43. data/lib/whop_sdk/models/conversion_create_response.rb +19 -0
  44. data/lib/whop_sdk/models/currency.rb +1 -0
  45. data/lib/whop_sdk/models/file_create_params.rb +22 -1
  46. data/lib/whop_sdk/models/file_create_response.rb +26 -3
  47. data/lib/whop_sdk/models/file_retrieve_response.rb +26 -3
  48. data/lib/whop_sdk/models/forum_post_list_params.rb +9 -1
  49. data/lib/whop_sdk/models/forum_update_params.rb +10 -1
  50. data/lib/whop_sdk/models/invoice_create_params.rb +36 -18
  51. data/lib/whop_sdk/models/invoice_update_params.rb +29 -7
  52. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +2 -2
  53. data/lib/whop_sdk/models/membership.rb +11 -1
  54. data/lib/whop_sdk/models/membership_list_response.rb +11 -1
  55. data/lib/whop_sdk/models/payment.rb +47 -2
  56. data/lib/whop_sdk/models/payment_list_response.rb +29 -2
  57. data/lib/whop_sdk/models/payment_method_types.rb +16 -0
  58. data/lib/whop_sdk/models/payment_refund_params.rb +4 -3
  59. data/lib/whop_sdk/models/payout_account_retrieve_response.rb +2 -2
  60. data/lib/whop_sdk/models/payout_account_status_updated_webhook_event.rb +2 -2
  61. data/lib/whop_sdk/models/plan.rb +12 -3
  62. data/lib/whop_sdk/models/plan_create_params.rb +26 -6
  63. data/lib/whop_sdk/models/plan_list_response.rb +12 -3
  64. data/lib/whop_sdk/models/plan_update_params.rb +26 -6
  65. data/lib/whop_sdk/models/support_channel_list_params.rb +31 -9
  66. data/lib/whop_sdk/models/user_retrieve_params.rb +14 -1
  67. data/lib/whop_sdk/models/{user_update_profile_params.rb → user_update_params.rb} +24 -7
  68. data/lib/whop_sdk/models/verification_list_response.rb +2 -2
  69. data/lib/whop_sdk/models/verification_retrieve_response.rb +2 -2
  70. data/lib/whop_sdk/models/verification_status.rb +1 -0
  71. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +2 -2
  72. data/lib/whop_sdk/models.rb +35 -1
  73. data/lib/whop_sdk/resources/ad_campaigns.rb +163 -0
  74. data/lib/whop_sdk/resources/ad_groups.rb +151 -0
  75. data/lib/whop_sdk/resources/ad_reports.rb +59 -0
  76. data/lib/whop_sdk/resources/ads.rb +88 -0
  77. data/lib/whop_sdk/resources/bounties.rb +124 -0
  78. data/lib/whop_sdk/resources/companies.rb +34 -0
  79. data/lib/whop_sdk/resources/conversions.rb +67 -0
  80. data/lib/whop_sdk/resources/files.rb +3 -1
  81. data/lib/whop_sdk/resources/forum_posts.rb +3 -1
  82. data/lib/whop_sdk/resources/forums.rb +3 -1
  83. data/lib/whop_sdk/resources/invoices.rb +9 -2
  84. data/lib/whop_sdk/resources/payments.rb +1 -1
  85. data/lib/whop_sdk/resources/plans.rb +6 -2
  86. data/lib/whop_sdk/resources/support_channels.rb +6 -4
  87. data/lib/whop_sdk/resources/users.rb +49 -37
  88. data/lib/whop_sdk/version.rb +1 -1
  89. data/lib/whop_sdk.rb +41 -1
  90. data/rbi/whop_sdk/client.rbi +24 -0
  91. data/rbi/whop_sdk/models/ad_campaign_list_params.rbi +142 -0
  92. data/rbi/whop_sdk/models/ad_campaign_list_response.rbi +239 -0
  93. data/rbi/whop_sdk/models/ad_campaign_pause_params.rbi +35 -0
  94. data/rbi/whop_sdk/models/ad_campaign_pause_response.rbi +668 -0
  95. data/rbi/whop_sdk/models/ad_campaign_retrieve_params.rbi +35 -0
  96. data/rbi/whop_sdk/models/ad_campaign_retrieve_response.rbi +679 -0
  97. data/rbi/whop_sdk/models/ad_campaign_unpause_params.rbi +35 -0
  98. data/rbi/whop_sdk/models/ad_campaign_unpause_response.rbi +675 -0
  99. data/rbi/whop_sdk/models/ad_campaign_update_params.rbi +51 -0
  100. data/rbi/whop_sdk/models/ad_campaign_update_response.rbi +670 -0
  101. data/rbi/whop_sdk/models/ad_group_delete_params.rbi +35 -0
  102. data/rbi/whop_sdk/models/ad_group_delete_response.rbi +8 -0
  103. data/rbi/whop_sdk/models/ad_group_list_params.rbi +145 -0
  104. data/rbi/whop_sdk/models/ad_group_list_response.rbi +228 -0
  105. data/rbi/whop_sdk/models/ad_group_retrieve_params.rbi +35 -0
  106. data/rbi/whop_sdk/models/ad_group_retrieve_response.rbi +277 -0
  107. data/rbi/whop_sdk/models/ad_group_update_params.rbi +6133 -0
  108. data/rbi/whop_sdk/models/ad_group_update_response.rbi +274 -0
  109. data/rbi/whop_sdk/models/ad_list_params.rbi +146 -0
  110. data/rbi/whop_sdk/models/ad_list_response.rbi +146 -0
  111. data/rbi/whop_sdk/models/ad_report_retrieve_params.rbi +99 -0
  112. data/rbi/whop_sdk/models/ad_report_retrieve_response.rbi +629 -0
  113. data/rbi/whop_sdk/models/ad_retrieve_params.rbi +35 -0
  114. data/rbi/whop_sdk/models/ad_retrieve_response.rbi +245 -0
  115. data/rbi/whop_sdk/models/authorized_user_roles.rbi +2 -0
  116. data/rbi/whop_sdk/models/bounty_create_params.rbi +129 -0
  117. data/rbi/whop_sdk/models/bounty_create_response.rbi +196 -0
  118. data/rbi/whop_sdk/models/bounty_list_params.rbi +115 -0
  119. data/rbi/whop_sdk/models/bounty_list_response.rbi +189 -0
  120. data/rbi/whop_sdk/models/bounty_retrieve_params.rbi +35 -0
  121. data/rbi/whop_sdk/models/bounty_retrieve_response.rbi +199 -0
  122. data/rbi/whop_sdk/models/checkout_configuration.rbi +20 -0
  123. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +84 -16
  124. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +20 -0
  125. data/rbi/whop_sdk/models/company_create_api_key_params.rbi +184 -0
  126. data/rbi/whop_sdk/models/company_create_api_key_response.rbi +51 -0
  127. data/rbi/whop_sdk/models/conversion_create_params.rbi +661 -0
  128. data/rbi/whop_sdk/models/conversion_create_response.rbi +31 -0
  129. data/rbi/whop_sdk/models/currency.rbi +1 -0
  130. data/rbi/whop_sdk/models/file_create_params.rbi +41 -1
  131. data/rbi/whop_sdk/models/file_create_response.rbi +52 -5
  132. data/rbi/whop_sdk/models/file_retrieve_response.rbi +53 -5
  133. data/rbi/whop_sdk/models/forum_post_list_params.rbi +8 -0
  134. data/rbi/whop_sdk/models/forum_update_params.rbi +10 -0
  135. data/rbi/whop_sdk/models/invoice_create_params.rbi +46 -26
  136. data/rbi/whop_sdk/models/invoice_update_params.rbi +28 -6
  137. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +2 -2
  138. data/rbi/whop_sdk/models/membership.rbi +12 -0
  139. data/rbi/whop_sdk/models/membership_list_response.rbi +12 -0
  140. data/rbi/whop_sdk/models/payment.rbi +57 -3
  141. data/rbi/whop_sdk/models/payment_list_response.rbi +37 -3
  142. data/rbi/whop_sdk/models/payment_method_types.rbi +31 -0
  143. data/rbi/whop_sdk/models/payment_refund_params.rbi +6 -4
  144. data/rbi/whop_sdk/models/payout_account_retrieve_response.rbi +2 -2
  145. data/rbi/whop_sdk/models/payout_account_status_updated_webhook_event.rbi +2 -2
  146. data/rbi/whop_sdk/models/plan.rbi +12 -2
  147. data/rbi/whop_sdk/models/plan_create_params.rbi +22 -4
  148. data/rbi/whop_sdk/models/plan_list_response.rbi +12 -2
  149. data/rbi/whop_sdk/models/plan_update_params.rbi +22 -4
  150. data/rbi/whop_sdk/models/support_channel_list_params.rbi +50 -8
  151. data/rbi/whop_sdk/models/user_retrieve_params.rbi +18 -2
  152. data/rbi/whop_sdk/models/{user_update_profile_params.rbi → user_update_params.rbi} +25 -9
  153. data/rbi/whop_sdk/models/verification_list_response.rbi +2 -2
  154. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +2 -2
  155. data/rbi/whop_sdk/models/verification_status.rbi +2 -0
  156. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +2 -2
  157. data/rbi/whop_sdk/models.rbi +35 -1
  158. data/rbi/whop_sdk/resources/ad_campaigns.rbi +134 -0
  159. data/rbi/whop_sdk/resources/ad_groups.rbi +139 -0
  160. data/rbi/whop_sdk/resources/ad_reports.rbi +55 -0
  161. data/rbi/whop_sdk/resources/ads.rbi +81 -0
  162. data/rbi/whop_sdk/resources/bounties.rbi +116 -0
  163. data/rbi/whop_sdk/resources/companies.rbi +32 -0
  164. data/rbi/whop_sdk/resources/conversions.rbi +71 -0
  165. data/rbi/whop_sdk/resources/files.rbi +5 -0
  166. data/rbi/whop_sdk/resources/forum_posts.rbi +3 -0
  167. data/rbi/whop_sdk/resources/forums.rbi +4 -0
  168. data/rbi/whop_sdk/resources/invoices.rbi +10 -1
  169. data/rbi/whop_sdk/resources/payments.rbi +3 -2
  170. data/rbi/whop_sdk/resources/plans.rbi +6 -0
  171. data/rbi/whop_sdk/resources/support_channels.rbi +8 -3
  172. data/rbi/whop_sdk/resources/users.rbi +42 -29
  173. data/sig/whop_sdk/client.rbs +12 -0
  174. data/sig/whop_sdk/models/ad_campaign_list_params.rbs +82 -0
  175. data/sig/whop_sdk/models/ad_campaign_list_response.rbs +98 -0
  176. data/sig/whop_sdk/models/ad_campaign_pause_params.rbs +20 -0
  177. data/sig/whop_sdk/models/ad_campaign_pause_response.rbs +232 -0
  178. data/sig/whop_sdk/models/ad_campaign_retrieve_params.rbs +20 -0
  179. data/sig/whop_sdk/models/ad_campaign_retrieve_response.rbs +232 -0
  180. data/sig/whop_sdk/models/ad_campaign_unpause_params.rbs +20 -0
  181. data/sig/whop_sdk/models/ad_campaign_unpause_response.rbs +232 -0
  182. data/sig/whop_sdk/models/ad_campaign_update_params.rbs +28 -0
  183. data/sig/whop_sdk/models/ad_campaign_update_response.rbs +232 -0
  184. data/sig/whop_sdk/models/ad_group_delete_params.rbs +20 -0
  185. data/sig/whop_sdk/models/ad_group_delete_response.rbs +5 -0
  186. data/sig/whop_sdk/models/ad_group_list_params.rbs +87 -0
  187. data/sig/whop_sdk/models/ad_group_list_response.rbs +93 -0
  188. data/sig/whop_sdk/models/ad_group_retrieve_params.rbs +20 -0
  189. data/sig/whop_sdk/models/ad_group_retrieve_response.rbs +108 -0
  190. data/sig/whop_sdk/models/ad_group_update_params.rbs +2439 -0
  191. data/sig/whop_sdk/models/ad_group_update_response.rbs +108 -0
  192. data/sig/whop_sdk/models/ad_list_params.rbs +87 -0
  193. data/sig/whop_sdk/models/ad_list_response.rbs +72 -0
  194. data/sig/whop_sdk/models/ad_report_retrieve_params.rbs +56 -0
  195. data/sig/whop_sdk/models/ad_report_retrieve_response.rbs +278 -0
  196. data/sig/whop_sdk/models/ad_retrieve_params.rbs +20 -0
  197. data/sig/whop_sdk/models/ad_retrieve_response.rbs +102 -0
  198. data/sig/whop_sdk/models/authorized_user_roles.rbs +2 -0
  199. data/sig/whop_sdk/models/bounty_create_params.rbs +71 -0
  200. data/sig/whop_sdk/models/bounty_create_response.rbs +93 -0
  201. data/sig/whop_sdk/models/bounty_list_params.rbs +67 -0
  202. data/sig/whop_sdk/models/bounty_list_response.rbs +93 -0
  203. data/sig/whop_sdk/models/bounty_retrieve_params.rbs +20 -0
  204. data/sig/whop_sdk/models/bounty_retrieve_response.rbs +93 -0
  205. data/sig/whop_sdk/models/checkout_configuration.rbs +10 -0
  206. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +51 -16
  207. data/sig/whop_sdk/models/checkout_configuration_list_response.rbs +10 -0
  208. data/sig/whop_sdk/models/company_create_api_key_params.rbs +83 -0
  209. data/sig/whop_sdk/models/company_create_api_key_response.rbs +18 -0
  210. data/sig/whop_sdk/models/conversion_create_params.rbs +349 -0
  211. data/sig/whop_sdk/models/conversion_create_response.rbs +13 -0
  212. data/sig/whop_sdk/models/currency.rbs +2 -0
  213. data/sig/whop_sdk/models/file_create_params.rbs +20 -1
  214. data/sig/whop_sdk/models/file_create_response.rbs +19 -3
  215. data/sig/whop_sdk/models/file_retrieve_response.rbs +19 -3
  216. data/sig/whop_sdk/models/forum_post_list_params.rbs +5 -0
  217. data/sig/whop_sdk/models/forum_update_params.rbs +5 -0
  218. data/sig/whop_sdk/models/invoice_create_params.rbs +24 -14
  219. data/sig/whop_sdk/models/invoice_update_params.rbs +15 -5
  220. data/sig/whop_sdk/models/membership.rbs +5 -0
  221. data/sig/whop_sdk/models/membership_list_response.rbs +5 -0
  222. data/sig/whop_sdk/models/payment.rbs +25 -3
  223. data/sig/whop_sdk/models/payment_list_response.rbs +15 -3
  224. data/sig/whop_sdk/models/payment_method_types.rbs +32 -0
  225. data/sig/whop_sdk/models/plan.rbs +5 -0
  226. data/sig/whop_sdk/models/plan_create_params.rbs +14 -4
  227. data/sig/whop_sdk/models/plan_list_response.rbs +5 -0
  228. data/sig/whop_sdk/models/plan_update_params.rbs +14 -4
  229. data/sig/whop_sdk/models/support_channel_list_params.rbs +23 -6
  230. data/sig/whop_sdk/models/user_retrieve_params.rbs +10 -2
  231. data/sig/whop_sdk/models/{user_update_profile_params.rbs → user_update_params.rbs} +16 -6
  232. data/sig/whop_sdk/models/verification_status.rbs +2 -0
  233. data/sig/whop_sdk/models.rbs +35 -1
  234. data/sig/whop_sdk/resources/ad_campaigns.rbs +41 -0
  235. data/sig/whop_sdk/resources/ad_groups.rbs +40 -0
  236. data/sig/whop_sdk/resources/ad_reports.rbs +18 -0
  237. data/sig/whop_sdk/resources/ads.rbs +26 -0
  238. data/sig/whop_sdk/resources/bounties.rbs +37 -0
  239. data/sig/whop_sdk/resources/companies.rbs +9 -0
  240. data/sig/whop_sdk/resources/conversions.rbs +25 -0
  241. data/sig/whop_sdk/resources/files.rbs +1 -0
  242. data/sig/whop_sdk/resources/forum_posts.rbs +1 -0
  243. data/sig/whop_sdk/resources/forums.rbs +1 -0
  244. data/sig/whop_sdk/resources/invoices.rbs +2 -0
  245. data/sig/whop_sdk/resources/plans.rbs +2 -0
  246. data/sig/whop_sdk/resources/support_channels.rbs +2 -1
  247. data/sig/whop_sdk/resources/users.rbs +11 -8
  248. metadata +125 -5
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CompanyCreateAPIKeyResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::CompanyCreateAPIKeyResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The unique identifier for the authorized api key.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # A user set name to identify an API key
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :name
21
+
22
+ # The secret key used to authenticate requests. Only returned at creation time.
23
+ sig { returns(String) }
24
+ attr_accessor :secret_key
25
+
26
+ # An API key created for a child company, including the one-time secret key.
27
+ sig do
28
+ params(id: String, name: T.nilable(String), secret_key: String).returns(
29
+ T.attached_class
30
+ )
31
+ end
32
+ def self.new(
33
+ # The unique identifier for the authorized api key.
34
+ id:,
35
+ # A user set name to identify an API key
36
+ name:,
37
+ # The secret key used to authenticate requests. Only returned at creation time.
38
+ secret_key:
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ { id: String, name: T.nilable(String), secret_key: String }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,661 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class ConversionCreateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::ConversionCreateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The company to associate with this event.
15
+ sig { returns(String) }
16
+ attr_accessor :company_id
17
+
18
+ # The type of event.
19
+ sig { returns(WhopSDK::ConversionCreateParams::EventName::OrSymbol) }
20
+ attr_accessor :event_name
21
+
22
+ # The channel where an event originated
23
+ sig do
24
+ returns(
25
+ T.nilable(WhopSDK::ConversionCreateParams::ActionSource::OrSymbol)
26
+ )
27
+ end
28
+ attr_accessor :action_source
29
+
30
+ # Tracking and attribution context.
31
+ sig { returns(T.nilable(WhopSDK::ConversionCreateParams::Context)) }
32
+ attr_reader :context
33
+
34
+ sig do
35
+ params(
36
+ context: T.nilable(WhopSDK::ConversionCreateParams::Context::OrHash)
37
+ ).void
38
+ end
39
+ attr_writer :context
40
+
41
+ # The available currencies on the platform
42
+ sig { returns(T.nilable(WhopSDK::Currency::OrSymbol)) }
43
+ attr_accessor :currency
44
+
45
+ # Custom event name when event_name is 'custom'.
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :custom_name
48
+
49
+ # Client-provided identifier for deduplication. Generated if omitted.
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :event_id
52
+
53
+ # When the event occurred. Defaults to now.
54
+ sig { returns(T.nilable(Time)) }
55
+ attr_accessor :event_time
56
+
57
+ # The plan associated with the event.
58
+ sig { returns(T.nilable(String)) }
59
+ attr_accessor :plan_id
60
+
61
+ # The product associated with the event.
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :product_id
64
+
65
+ # The referring URL.
66
+ sig { returns(T.nilable(String)) }
67
+ attr_accessor :referrer_url
68
+
69
+ # The URL where the event occurred.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_accessor :url
72
+
73
+ # User identity and profile data.
74
+ sig { returns(T.nilable(WhopSDK::ConversionCreateParams::User)) }
75
+ attr_reader :user
76
+
77
+ sig do
78
+ params(
79
+ user: T.nilable(WhopSDK::ConversionCreateParams::User::OrHash)
80
+ ).void
81
+ end
82
+ attr_writer :user
83
+
84
+ # Monetary value associated with the event.
85
+ sig { returns(T.nilable(Float)) }
86
+ attr_accessor :value
87
+
88
+ sig do
89
+ params(
90
+ company_id: String,
91
+ event_name: WhopSDK::ConversionCreateParams::EventName::OrSymbol,
92
+ action_source:
93
+ T.nilable(WhopSDK::ConversionCreateParams::ActionSource::OrSymbol),
94
+ context: T.nilable(WhopSDK::ConversionCreateParams::Context::OrHash),
95
+ currency: T.nilable(WhopSDK::Currency::OrSymbol),
96
+ custom_name: T.nilable(String),
97
+ event_id: T.nilable(String),
98
+ event_time: T.nilable(Time),
99
+ plan_id: T.nilable(String),
100
+ product_id: T.nilable(String),
101
+ referrer_url: T.nilable(String),
102
+ url: T.nilable(String),
103
+ user: T.nilable(WhopSDK::ConversionCreateParams::User::OrHash),
104
+ value: T.nilable(Float),
105
+ request_options: WhopSDK::RequestOptions::OrHash
106
+ ).returns(T.attached_class)
107
+ end
108
+ def self.new(
109
+ # The company to associate with this event.
110
+ company_id:,
111
+ # The type of event.
112
+ event_name:,
113
+ # The channel where an event originated
114
+ action_source: nil,
115
+ # Tracking and attribution context.
116
+ context: nil,
117
+ # The available currencies on the platform
118
+ currency: nil,
119
+ # Custom event name when event_name is 'custom'.
120
+ custom_name: nil,
121
+ # Client-provided identifier for deduplication. Generated if omitted.
122
+ event_id: nil,
123
+ # When the event occurred. Defaults to now.
124
+ event_time: nil,
125
+ # The plan associated with the event.
126
+ plan_id: nil,
127
+ # The product associated with the event.
128
+ product_id: nil,
129
+ # The referring URL.
130
+ referrer_url: nil,
131
+ # The URL where the event occurred.
132
+ url: nil,
133
+ # User identity and profile data.
134
+ user: nil,
135
+ # Monetary value associated with the event.
136
+ value: nil,
137
+ request_options: {}
138
+ )
139
+ end
140
+
141
+ sig do
142
+ override.returns(
143
+ {
144
+ company_id: String,
145
+ event_name: WhopSDK::ConversionCreateParams::EventName::OrSymbol,
146
+ action_source:
147
+ T.nilable(
148
+ WhopSDK::ConversionCreateParams::ActionSource::OrSymbol
149
+ ),
150
+ context: T.nilable(WhopSDK::ConversionCreateParams::Context),
151
+ currency: T.nilable(WhopSDK::Currency::OrSymbol),
152
+ custom_name: T.nilable(String),
153
+ event_id: T.nilable(String),
154
+ event_time: T.nilable(Time),
155
+ plan_id: T.nilable(String),
156
+ product_id: T.nilable(String),
157
+ referrer_url: T.nilable(String),
158
+ url: T.nilable(String),
159
+ user: T.nilable(WhopSDK::ConversionCreateParams::User),
160
+ value: T.nilable(Float),
161
+ request_options: WhopSDK::RequestOptions
162
+ }
163
+ )
164
+ end
165
+ def to_hash
166
+ end
167
+
168
+ # The type of event.
169
+ module EventName
170
+ extend WhopSDK::Internal::Type::Enum
171
+
172
+ TaggedSymbol =
173
+ T.type_alias do
174
+ T.all(Symbol, WhopSDK::ConversionCreateParams::EventName)
175
+ end
176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
177
+
178
+ LEAD =
179
+ T.let(:lead, WhopSDK::ConversionCreateParams::EventName::TaggedSymbol)
180
+ SUBMIT_APPLICATION =
181
+ T.let(
182
+ :submit_application,
183
+ WhopSDK::ConversionCreateParams::EventName::TaggedSymbol
184
+ )
185
+ CONTACT =
186
+ T.let(
187
+ :contact,
188
+ WhopSDK::ConversionCreateParams::EventName::TaggedSymbol
189
+ )
190
+ COMPLETE_REGISTRATION =
191
+ T.let(
192
+ :complete_registration,
193
+ WhopSDK::ConversionCreateParams::EventName::TaggedSymbol
194
+ )
195
+ SCHEDULE =
196
+ T.let(
197
+ :schedule,
198
+ WhopSDK::ConversionCreateParams::EventName::TaggedSymbol
199
+ )
200
+ CUSTOM =
201
+ T.let(
202
+ :custom,
203
+ WhopSDK::ConversionCreateParams::EventName::TaggedSymbol
204
+ )
205
+
206
+ sig do
207
+ override.returns(
208
+ T::Array[WhopSDK::ConversionCreateParams::EventName::TaggedSymbol]
209
+ )
210
+ end
211
+ def self.values
212
+ end
213
+ end
214
+
215
+ # The channel where an event originated
216
+ module ActionSource
217
+ extend WhopSDK::Internal::Type::Enum
218
+
219
+ TaggedSymbol =
220
+ T.type_alias do
221
+ T.all(Symbol, WhopSDK::ConversionCreateParams::ActionSource)
222
+ end
223
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
224
+
225
+ EMAIL =
226
+ T.let(
227
+ :email,
228
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
229
+ )
230
+ WEBSITE =
231
+ T.let(
232
+ :website,
233
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
234
+ )
235
+ APP =
236
+ T.let(
237
+ :app,
238
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
239
+ )
240
+ PHONE_CALL =
241
+ T.let(
242
+ :phone_call,
243
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
244
+ )
245
+ CHAT =
246
+ T.let(
247
+ :chat,
248
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
249
+ )
250
+ PHYSICAL_STORE =
251
+ T.let(
252
+ :physical_store,
253
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
254
+ )
255
+ SYSTEM_GENERATED =
256
+ T.let(
257
+ :system_generated,
258
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
259
+ )
260
+ BUSINESS_MESSAGING =
261
+ T.let(
262
+ :business_messaging,
263
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
264
+ )
265
+ OTHER =
266
+ T.let(
267
+ :other,
268
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
269
+ )
270
+
271
+ sig do
272
+ override.returns(
273
+ T::Array[
274
+ WhopSDK::ConversionCreateParams::ActionSource::TaggedSymbol
275
+ ]
276
+ )
277
+ end
278
+ def self.values
279
+ end
280
+ end
281
+
282
+ class Context < WhopSDK::Internal::Type::BaseModel
283
+ OrHash =
284
+ T.type_alias do
285
+ T.any(
286
+ WhopSDK::ConversionCreateParams::Context,
287
+ WhopSDK::Internal::AnyHash
288
+ )
289
+ end
290
+
291
+ # Ad campaign ID.
292
+ sig { returns(T.nilable(String)) }
293
+ attr_accessor :ad_campaign_id
294
+
295
+ # Ad ID.
296
+ sig { returns(T.nilable(String)) }
297
+ attr_accessor :ad_id
298
+
299
+ # Ad set ID.
300
+ sig { returns(T.nilable(String)) }
301
+ attr_accessor :ad_set_id
302
+
303
+ # Facebook click ID.
304
+ sig { returns(T.nilable(String)) }
305
+ attr_accessor :fbclid
306
+
307
+ # Facebook browser pixel ID.
308
+ sig { returns(T.nilable(String)) }
309
+ attr_accessor :fbp
310
+
311
+ # Google Analytics client ID.
312
+ sig { returns(T.nilable(String)) }
313
+ attr_accessor :ga
314
+
315
+ # Google click ID.
316
+ sig { returns(T.nilable(String)) }
317
+ attr_accessor :gclid
318
+
319
+ # Instagram session ID.
320
+ sig { returns(T.nilable(String)) }
321
+ attr_accessor :ig_sid
322
+
323
+ # IP address.
324
+ sig { returns(T.nilable(String)) }
325
+ attr_accessor :ip_address
326
+
327
+ # TikTok click ID.
328
+ sig { returns(T.nilable(String)) }
329
+ attr_accessor :ttclid
330
+
331
+ # TikTok pixel ID.
332
+ sig { returns(T.nilable(String)) }
333
+ attr_accessor :ttp
334
+
335
+ # Browser user agent string.
336
+ sig { returns(T.nilable(String)) }
337
+ attr_accessor :user_agent
338
+
339
+ # UTM campaign parameter.
340
+ sig { returns(T.nilable(String)) }
341
+ attr_accessor :utm_campaign
342
+
343
+ # UTM content parameter.
344
+ sig { returns(T.nilable(String)) }
345
+ attr_accessor :utm_content
346
+
347
+ # UTM ID parameter.
348
+ sig { returns(T.nilable(String)) }
349
+ attr_accessor :utm_id
350
+
351
+ # UTM medium parameter.
352
+ sig { returns(T.nilable(String)) }
353
+ attr_accessor :utm_medium
354
+
355
+ # UTM source parameter.
356
+ sig { returns(T.nilable(String)) }
357
+ attr_accessor :utm_source
358
+
359
+ # UTM term parameter.
360
+ sig { returns(T.nilable(String)) }
361
+ attr_accessor :utm_term
362
+
363
+ # Tracking and attribution context.
364
+ sig do
365
+ params(
366
+ ad_campaign_id: T.nilable(String),
367
+ ad_id: T.nilable(String),
368
+ ad_set_id: T.nilable(String),
369
+ fbclid: T.nilable(String),
370
+ fbp: T.nilable(String),
371
+ ga: T.nilable(String),
372
+ gclid: T.nilable(String),
373
+ ig_sid: T.nilable(String),
374
+ ip_address: T.nilable(String),
375
+ ttclid: T.nilable(String),
376
+ ttp: T.nilable(String),
377
+ user_agent: T.nilable(String),
378
+ utm_campaign: T.nilable(String),
379
+ utm_content: T.nilable(String),
380
+ utm_id: T.nilable(String),
381
+ utm_medium: T.nilable(String),
382
+ utm_source: T.nilable(String),
383
+ utm_term: T.nilable(String)
384
+ ).returns(T.attached_class)
385
+ end
386
+ def self.new(
387
+ # Ad campaign ID.
388
+ ad_campaign_id: nil,
389
+ # Ad ID.
390
+ ad_id: nil,
391
+ # Ad set ID.
392
+ ad_set_id: nil,
393
+ # Facebook click ID.
394
+ fbclid: nil,
395
+ # Facebook browser pixel ID.
396
+ fbp: nil,
397
+ # Google Analytics client ID.
398
+ ga: nil,
399
+ # Google click ID.
400
+ gclid: nil,
401
+ # Instagram session ID.
402
+ ig_sid: nil,
403
+ # IP address.
404
+ ip_address: nil,
405
+ # TikTok click ID.
406
+ ttclid: nil,
407
+ # TikTok pixel ID.
408
+ ttp: nil,
409
+ # Browser user agent string.
410
+ user_agent: nil,
411
+ # UTM campaign parameter.
412
+ utm_campaign: nil,
413
+ # UTM content parameter.
414
+ utm_content: nil,
415
+ # UTM ID parameter.
416
+ utm_id: nil,
417
+ # UTM medium parameter.
418
+ utm_medium: nil,
419
+ # UTM source parameter.
420
+ utm_source: nil,
421
+ # UTM term parameter.
422
+ utm_term: nil
423
+ )
424
+ end
425
+
426
+ sig do
427
+ override.returns(
428
+ {
429
+ ad_campaign_id: T.nilable(String),
430
+ ad_id: T.nilable(String),
431
+ ad_set_id: T.nilable(String),
432
+ fbclid: T.nilable(String),
433
+ fbp: T.nilable(String),
434
+ ga: T.nilable(String),
435
+ gclid: T.nilable(String),
436
+ ig_sid: T.nilable(String),
437
+ ip_address: T.nilable(String),
438
+ ttclid: T.nilable(String),
439
+ ttp: T.nilable(String),
440
+ user_agent: T.nilable(String),
441
+ utm_campaign: T.nilable(String),
442
+ utm_content: T.nilable(String),
443
+ utm_id: T.nilable(String),
444
+ utm_medium: T.nilable(String),
445
+ utm_source: T.nilable(String),
446
+ utm_term: T.nilable(String)
447
+ }
448
+ )
449
+ end
450
+ def to_hash
451
+ end
452
+ end
453
+
454
+ class User < WhopSDK::Internal::Type::BaseModel
455
+ OrHash =
456
+ T.type_alias do
457
+ T.any(
458
+ WhopSDK::ConversionCreateParams::User,
459
+ WhopSDK::Internal::AnyHash
460
+ )
461
+ end
462
+
463
+ # An anonymous identifier for the user.
464
+ sig { returns(T.nilable(String)) }
465
+ attr_accessor :anonymous_id
466
+
467
+ # Date of birth (YYYY-MM-DD).
468
+ sig { returns(T.nilable(String)) }
469
+ attr_accessor :birthdate
470
+
471
+ # City.
472
+ sig { returns(T.nilable(String)) }
473
+ attr_accessor :city
474
+
475
+ # Country.
476
+ sig { returns(T.nilable(String)) }
477
+ attr_accessor :country
478
+
479
+ # Email address.
480
+ sig { returns(T.nilable(String)) }
481
+ attr_accessor :email
482
+
483
+ # An external identifier for the user.
484
+ sig { returns(T.nilable(String)) }
485
+ attr_accessor :external_id
486
+
487
+ # First name.
488
+ sig { returns(T.nilable(String)) }
489
+ attr_accessor :first_name
490
+
491
+ # Gender
492
+ sig do
493
+ returns(
494
+ T.nilable(WhopSDK::ConversionCreateParams::User::Gender::OrSymbol)
495
+ )
496
+ end
497
+ attr_accessor :gender
498
+
499
+ # Last name.
500
+ sig { returns(T.nilable(String)) }
501
+ attr_accessor :last_name
502
+
503
+ # The Whop member ID.
504
+ sig { returns(T.nilable(String)) }
505
+ attr_accessor :member_id
506
+
507
+ # The Whop membership ID.
508
+ sig { returns(T.nilable(String)) }
509
+ attr_accessor :membership_id
510
+
511
+ # Full display name.
512
+ sig { returns(T.nilable(String)) }
513
+ attr_accessor :name
514
+
515
+ # Phone number.
516
+ sig { returns(T.nilable(String)) }
517
+ attr_accessor :phone
518
+
519
+ # Postal code.
520
+ sig { returns(T.nilable(String)) }
521
+ attr_accessor :postal_code
522
+
523
+ # State or region.
524
+ sig { returns(T.nilable(String)) }
525
+ attr_accessor :state
526
+
527
+ # The Whop user ID.
528
+ sig { returns(T.nilable(String)) }
529
+ attr_accessor :user_id
530
+
531
+ # Username.
532
+ sig { returns(T.nilable(String)) }
533
+ attr_accessor :username
534
+
535
+ # User identity and profile data.
536
+ sig do
537
+ params(
538
+ anonymous_id: T.nilable(String),
539
+ birthdate: T.nilable(String),
540
+ city: T.nilable(String),
541
+ country: T.nilable(String),
542
+ email: T.nilable(String),
543
+ external_id: T.nilable(String),
544
+ first_name: T.nilable(String),
545
+ gender:
546
+ T.nilable(
547
+ WhopSDK::ConversionCreateParams::User::Gender::OrSymbol
548
+ ),
549
+ last_name: T.nilable(String),
550
+ member_id: T.nilable(String),
551
+ membership_id: T.nilable(String),
552
+ name: T.nilable(String),
553
+ phone: T.nilable(String),
554
+ postal_code: T.nilable(String),
555
+ state: T.nilable(String),
556
+ user_id: T.nilable(String),
557
+ username: T.nilable(String)
558
+ ).returns(T.attached_class)
559
+ end
560
+ def self.new(
561
+ # An anonymous identifier for the user.
562
+ anonymous_id: nil,
563
+ # Date of birth (YYYY-MM-DD).
564
+ birthdate: nil,
565
+ # City.
566
+ city: nil,
567
+ # Country.
568
+ country: nil,
569
+ # Email address.
570
+ email: nil,
571
+ # An external identifier for the user.
572
+ external_id: nil,
573
+ # First name.
574
+ first_name: nil,
575
+ # Gender
576
+ gender: nil,
577
+ # Last name.
578
+ last_name: nil,
579
+ # The Whop member ID.
580
+ member_id: nil,
581
+ # The Whop membership ID.
582
+ membership_id: nil,
583
+ # Full display name.
584
+ name: nil,
585
+ # Phone number.
586
+ phone: nil,
587
+ # Postal code.
588
+ postal_code: nil,
589
+ # State or region.
590
+ state: nil,
591
+ # The Whop user ID.
592
+ user_id: nil,
593
+ # Username.
594
+ username: nil
595
+ )
596
+ end
597
+
598
+ sig do
599
+ override.returns(
600
+ {
601
+ anonymous_id: T.nilable(String),
602
+ birthdate: T.nilable(String),
603
+ city: T.nilable(String),
604
+ country: T.nilable(String),
605
+ email: T.nilable(String),
606
+ external_id: T.nilable(String),
607
+ first_name: T.nilable(String),
608
+ gender:
609
+ T.nilable(
610
+ WhopSDK::ConversionCreateParams::User::Gender::OrSymbol
611
+ ),
612
+ last_name: T.nilable(String),
613
+ member_id: T.nilable(String),
614
+ membership_id: T.nilable(String),
615
+ name: T.nilable(String),
616
+ phone: T.nilable(String),
617
+ postal_code: T.nilable(String),
618
+ state: T.nilable(String),
619
+ user_id: T.nilable(String),
620
+ username: T.nilable(String)
621
+ }
622
+ )
623
+ end
624
+ def to_hash
625
+ end
626
+
627
+ # Gender
628
+ module Gender
629
+ extend WhopSDK::Internal::Type::Enum
630
+
631
+ TaggedSymbol =
632
+ T.type_alias do
633
+ T.all(Symbol, WhopSDK::ConversionCreateParams::User::Gender)
634
+ end
635
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
636
+
637
+ MALE =
638
+ T.let(
639
+ :male,
640
+ WhopSDK::ConversionCreateParams::User::Gender::TaggedSymbol
641
+ )
642
+ FEMALE =
643
+ T.let(
644
+ :female,
645
+ WhopSDK::ConversionCreateParams::User::Gender::TaggedSymbol
646
+ )
647
+
648
+ sig do
649
+ override.returns(
650
+ T::Array[
651
+ WhopSDK::ConversionCreateParams::User::Gender::TaggedSymbol
652
+ ]
653
+ )
654
+ end
655
+ def self.values
656
+ end
657
+ end
658
+ end
659
+ end
660
+ end
661
+ end