growsurf-ruby 0.8.0 → 1.1.0

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/growsurf_ruby/client.rb +4 -0
  5. data/lib/growsurf_ruby/models/account.rb +90 -0
  6. data/lib/growsurf_ruby/models/account_create_params.rb +46 -0
  7. data/lib/growsurf_ruby/models/account_create_response.rb +64 -0
  8. data/lib/growsurf_ruby/models/account_resend_verification_email_response.rb +33 -0
  9. data/lib/growsurf_ruby/models/account_rotate_api_key_response.rb +17 -0
  10. data/lib/growsurf_ruby/models/account_update_params.rb +35 -0
  11. data/lib/growsurf_ruby/models/campaign/campaign_reward_list_response.rb +2 -2
  12. data/lib/growsurf_ruby/models/campaign/create.rb +5 -1
  13. data/lib/growsurf_ruby/models/campaign/participant_activity_logs_response.rb +65 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +421 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_params.rb +35 -0
  16. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_response.rb +151 -0
  17. data/lib/growsurf_ruby/models/campaign/participant_email_params.rb +76 -0
  18. data/lib/growsurf_ruby/models/campaign/participant_email_response.rb +38 -0
  19. data/lib/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rb +46 -0
  20. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +98 -0
  21. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +21 -1
  22. data/lib/growsurf_ruby/models/campaign/reward.rb +43 -5
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +48 -15
  24. data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +4 -4
  25. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +51 -18
  26. data/lib/growsurf_ruby/models/campaign/webhook.rb +72 -0
  27. data/lib/growsurf_ruby/models/campaign/webhook_create_params.rb +52 -0
  28. data/lib/growsurf_ruby/models/campaign/webhook_delete_params.rb +28 -0
  29. data/lib/growsurf_ruby/models/campaign/webhook_delete_response.rb +24 -0
  30. data/lib/growsurf_ruby/models/campaign/webhook_event.rb +23 -0
  31. data/lib/growsurf_ruby/models/campaign/webhook_list_response.rb +18 -0
  32. data/lib/growsurf_ruby/models/campaign/webhook_test_params.rb +42 -0
  33. data/lib/growsurf_ruby/models/campaign/webhook_test_response.rb +50 -0
  34. data/lib/growsurf_ruby/models/campaign/webhook_update_params.rb +59 -0
  35. data/lib/growsurf_ruby/models/campaign.rb +43 -5
  36. data/lib/growsurf_ruby/models/campaign_create_params.rb +1 -15
  37. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +36 -1
  38. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +538 -1
  39. data/lib/growsurf_ruby/models/campaign_update_params.rb +1 -53
  40. data/lib/growsurf_ruby/models/commission_structure.rb +8 -2
  41. data/lib/growsurf_ruby/models/referral_flow_screenshots_response.rb +72 -0
  42. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +35 -0
  43. data/lib/growsurf_ruby/models.rb +10 -0
  44. data/lib/growsurf_ruby/resources/account.rb +159 -0
  45. data/lib/growsurf_ruby/resources/campaign/design.rb +68 -0
  46. data/lib/growsurf_ruby/resources/campaign/emails.rb +66 -0
  47. data/lib/growsurf_ruby/resources/campaign/installation.rb +67 -0
  48. data/lib/growsurf_ruby/resources/campaign/options.rb +66 -0
  49. data/lib/growsurf_ruby/resources/campaign/participant.rb +170 -2
  50. data/lib/growsurf_ruby/resources/campaign/rewards.rb +36 -32
  51. data/lib/growsurf_ruby/resources/campaign/webhooks.rb +157 -0
  52. data/lib/growsurf_ruby/resources/campaign.rb +62 -27
  53. data/lib/growsurf_ruby/version.rb +1 -1
  54. data/lib/growsurf_ruby.rb +31 -0
  55. data/rbi/growsurf_ruby/client.rbi +3 -0
  56. data/rbi/growsurf_ruby/models/account.rbi +125 -0
  57. data/rbi/growsurf_ruby/models/account_create_params.rbi +73 -0
  58. data/rbi/growsurf_ruby/models/account_create_response.rbi +115 -0
  59. data/rbi/growsurf_ruby/models/account_resend_verification_email_response.rbi +76 -0
  60. data/rbi/growsurf_ruby/models/account_rotate_api_key_response.rbi +30 -0
  61. data/rbi/growsurf_ruby/models/account_update_params.rbi +65 -0
  62. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +2 -2
  63. data/rbi/growsurf_ruby/models/campaign/create.rbi +8 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +111 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +630 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbi +56 -0
  67. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +285 -0
  68. data/rbi/growsurf_ruby/models/campaign/participant_email_params.rbi +118 -0
  69. data/rbi/growsurf_ruby/models/campaign/participant_email_response.rbi +84 -0
  70. data/rbi/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbi +74 -0
  71. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +207 -0
  72. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +24 -0
  73. data/rbi/growsurf_ruby/models/campaign/reward.rbi +63 -3
  74. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +62 -9
  75. data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +4 -4
  76. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +66 -13
  77. data/rbi/growsurf_ruby/models/campaign/webhook.rbi +93 -0
  78. data/rbi/growsurf_ruby/models/campaign/webhook_create_params.rbi +91 -0
  79. data/rbi/growsurf_ruby/models/campaign/webhook_delete_params.rbi +48 -0
  80. data/rbi/growsurf_ruby/models/campaign/webhook_delete_response.rbi +33 -0
  81. data/rbi/growsurf_ruby/models/campaign/webhook_event.rbi +60 -0
  82. data/rbi/growsurf_ruby/models/campaign/webhook_list_response.rbi +36 -0
  83. data/rbi/growsurf_ruby/models/campaign/webhook_test_params.rbi +69 -0
  84. data/rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi +102 -0
  85. data/rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi +98 -0
  86. data/rbi/growsurf_ruby/models/campaign.rbi +63 -3
  87. data/rbi/growsurf_ruby/models/campaign_create_params.rbi +0 -18
  88. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +91 -0
  89. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +1011 -3
  90. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +0 -78
  91. data/rbi/growsurf_ruby/models/commission_structure.rbi +8 -2
  92. data/rbi/growsurf_ruby/models/referral_flow_screenshots_response.rbi +94 -0
  93. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +56 -0
  94. data/rbi/growsurf_ruby/models.rbi +11 -0
  95. data/rbi/growsurf_ruby/resources/account.rbi +112 -0
  96. data/rbi/growsurf_ruby/resources/campaign/design.rbi +52 -0
  97. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +51 -0
  98. data/rbi/growsurf_ruby/resources/campaign/installation.rbi +53 -0
  99. data/rbi/growsurf_ruby/resources/campaign/options.rbi +51 -0
  100. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +160 -0
  101. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +61 -29
  102. data/rbi/growsurf_ruby/resources/campaign/webhooks.rbi +123 -0
  103. data/rbi/growsurf_ruby/resources/campaign.rbi +58 -32
  104. data/sig/growsurf_ruby/client.rbs +2 -0
  105. data/sig/growsurf_ruby/models/account.rbs +67 -0
  106. data/sig/growsurf_ruby/models/account_create_params.rbs +42 -0
  107. data/sig/growsurf_ruby/models/account_create_response.rbs +47 -0
  108. data/sig/growsurf_ruby/models/account_resend_verification_email_response.rbs +35 -0
  109. data/sig/growsurf_ruby/models/account_rotate_api_key_response.rbs +13 -0
  110. data/sig/growsurf_ruby/models/account_update_params.rbs +42 -0
  111. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +59 -0
  112. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +407 -0
  113. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbs +30 -0
  114. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbs +125 -0
  115. data/sig/growsurf_ruby/models/campaign/participant_email_params.rbs +61 -0
  116. data/sig/growsurf_ruby/models/campaign/participant_email_response.rbs +37 -0
  117. data/sig/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbs +47 -0
  118. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +90 -0
  119. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +14 -0
  120. data/sig/growsurf_ruby/models/campaign/reward.rbs +18 -3
  121. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +19 -8
  122. data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +4 -4
  123. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +23 -12
  124. data/sig/growsurf_ruby/models/campaign/webhook.rbs +52 -0
  125. data/sig/growsurf_ruby/models/campaign/webhook_create_params.rbs +51 -0
  126. data/sig/growsurf_ruby/models/campaign/webhook_delete_params.rbs +30 -0
  127. data/sig/growsurf_ruby/models/campaign/webhook_delete_response.rbs +17 -0
  128. data/sig/growsurf_ruby/models/campaign/webhook_event.rbs +28 -0
  129. data/sig/growsurf_ruby/models/campaign/webhook_list_response.rbs +18 -0
  130. data/sig/growsurf_ruby/models/campaign/webhook_test_params.rbs +42 -0
  131. data/sig/growsurf_ruby/models/campaign/webhook_test_response.rbs +54 -0
  132. data/sig/growsurf_ruby/models/campaign/webhook_update_params.rbs +63 -0
  133. data/sig/growsurf_ruby/models/campaign.rbs +18 -3
  134. data/sig/growsurf_ruby/models/campaign_create_params.rbs +0 -14
  135. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +35 -1
  136. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +533 -3
  137. data/sig/growsurf_ruby/models/campaign_update_params.rbs +1 -53
  138. data/sig/growsurf_ruby/models/commission_structure.rbs +7 -2
  139. data/sig/growsurf_ruby/models/referral_flow_screenshots_response.rbs +54 -0
  140. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +22 -0
  141. data/sig/growsurf_ruby/models.rbs +10 -0
  142. data/sig/growsurf_ruby/resources/account.rbs +38 -0
  143. data/sig/growsurf_ruby/resources/campaign/design.rbs +20 -0
  144. data/sig/growsurf_ruby/resources/campaign/emails.rbs +20 -0
  145. data/sig/growsurf_ruby/resources/campaign/installation.rbs +20 -0
  146. data/sig/growsurf_ruby/resources/campaign/options.rbs +20 -0
  147. data/sig/growsurf_ruby/resources/campaign/participant.rbs +37 -0
  148. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +6 -4
  149. data/sig/growsurf_ruby/resources/campaign/webhooks.rbs +46 -0
  150. data/sig/growsurf_ruby/resources/campaign.rbs +17 -9
  151. metadata +95 -2
@@ -14,10 +14,30 @@ module GrowsurfRuby
14
14
  sig { returns(GrowsurfRuby::Resources::Campaign::Commission) }
15
15
  attr_reader :commission
16
16
 
17
- # Program reward configuration operations.
17
+ # Campaign reward configuration operations.
18
18
  sig { returns(GrowsurfRuby::Resources::Campaign::Rewards) }
19
19
  attr_reader :rewards
20
20
 
21
+ # Program Editor "Design" tab configuration operations.
22
+ sig { returns(GrowsurfRuby::Resources::Campaign::Design) }
23
+ attr_reader :design
24
+
25
+ # Program Editor "Emails" tab configuration operations.
26
+ sig { returns(GrowsurfRuby::Resources::Campaign::Emails) }
27
+ attr_reader :emails
28
+
29
+ # Program Editor "Options" tab configuration operations.
30
+ sig { returns(GrowsurfRuby::Resources::Campaign::Options) }
31
+ attr_reader :options
32
+
33
+ # Program Editor "Installation" tab configuration operations.
34
+ sig { returns(GrowsurfRuby::Resources::Campaign::Installation) }
35
+ attr_reader :installation
36
+
37
+ # Program webhook configuration operations.
38
+ sig { returns(GrowsurfRuby::Resources::Campaign::Webhooks) }
39
+ attr_reader :webhooks
40
+
21
41
  # Retrieves a program for the given program ID.
22
42
  sig do
23
43
  params(
@@ -42,15 +62,15 @@ module GrowsurfRuby
42
62
  end
43
63
 
44
64
  # Creates a program. Only `type` is required; everything else is server-defaulted.
65
+ # Editor-tab configuration (design, emails, options, installation) is not accepted
66
+ # here — configure it via the config sub-resources after the program is created.
45
67
  sig do
46
68
  params(
47
69
  type: GrowsurfRuby::CampaignCreateParams::Type::OrSymbol,
48
70
  company_logo_image_url: String,
49
71
  company_name: String,
50
72
  currency_iso: String,
51
- goal: String,
52
73
  name: String,
53
- options: T::Hash[Symbol, T.anything],
54
74
  rewards: T::Array[GrowsurfRuby::Campaign::RewardCreateParams::OrHash],
55
75
  request_options: GrowsurfRuby::RequestOptions::OrHash
56
76
  ).returns(GrowsurfRuby::CampaignAPI)
@@ -60,34 +80,27 @@ module GrowsurfRuby
60
80
  type:,
61
81
  company_logo_image_url: nil,
62
82
  company_name: nil,
63
- # ISO 4217 currency code. Defaults to USD.
83
+ # ISO 4217 currency code. Defaults to USD. Chosen when the program is created and
84
+ # immutable afterward — it cannot be changed on update.
64
85
  currency_iso: nil,
65
- goal: nil,
66
86
  # The program name. Defaults to "Untitled Program".
67
87
  name: nil,
68
- # A curated subset of program options to shallow-merge onto the defaults.
69
- options: nil,
70
88
  # Optional inline rewards to create with the program.
71
89
  rewards: nil,
72
90
  request_options: {}
73
91
  )
74
92
  end
75
93
 
76
- # Updates a program. Only the fields you send are changed. `type` and `urlId` are
77
- # immutable.
94
+ # Updates a program's identity and lifecycle. Only the fields you send are changed.
95
+ # `type`, `urlId`, and `currencyISO` are immutable. Editor-tab configuration (design, emails,
96
+ # options, installation) is edited via the dedicated config sub-resources, not
97
+ # here.
78
98
  sig do
79
99
  params(
80
100
  id: String,
81
101
  company_logo_image_url: String,
82
102
  company_name: String,
83
- currency_iso: String,
84
- design: T::Hash[Symbol, T.anything],
85
- emails: T::Hash[Symbol, T.anything],
86
- goal: String,
87
- installation: T::Hash[Symbol, T.anything],
88
103
  name: String,
89
- notifications: T::Hash[Symbol, T.anything],
90
- options: T::Hash[Symbol, T.anything],
91
104
  status: GrowsurfRuby::CampaignUpdateParams::Status::OrSymbol,
92
105
  request_options: GrowsurfRuby::RequestOptions::OrHash
93
106
  ).returns(GrowsurfRuby::CampaignAPI)
@@ -100,23 +113,9 @@ module GrowsurfRuby
100
113
  # Body param
101
114
  company_name: nil,
102
115
  # Body param
103
- currency_iso: nil,
104
- # Body param
105
- design: nil,
106
- # Body param
107
- emails: nil,
108
- # Body param
109
- goal: nil,
110
- # Body param
111
- installation: nil,
112
- # Body param
113
116
  name: nil,
114
- # Body param
115
- notifications: nil,
116
- # Body param
117
- options: nil,
118
- # Body param: The program status. Transitions are validated; DELETED is not
119
- # allowed.
117
+ # Body param: The requested program status. `IN_PROGRESS` publishes or resumes
118
+ # the program; `COMPLETE` ends it. Any other value returns a `400`.
120
119
  status: nil,
121
120
  request_options: {}
122
121
  )
@@ -136,6 +135,21 @@ module GrowsurfRuby
136
135
  )
137
136
  end
138
137
 
138
+ # Captures two preview screenshots for the program: the authenticated referrer
139
+ # view and the referred-friend view.
140
+ sig do
141
+ params(
142
+ id: String,
143
+ request_options: GrowsurfRuby::RequestOptions::OrHash
144
+ ).returns(GrowsurfRuby::Models::ReferralFlowScreenshotsResponse)
145
+ end
146
+ def get_referral_flow_screenshots(
147
+ # GrowSurf program ID.
148
+ id,
149
+ request_options: {}
150
+ )
151
+ end
152
+
139
153
  # Creates or returns a participant using the same input behavior as Add
140
154
  # Participant, then returns a participant-scoped token for GrowSurf mobile SDK
141
155
  # participant endpoints. Use this endpoint from your backend after your mobile app
@@ -319,6 +333,9 @@ module GrowsurfRuby
319
333
  id: String,
320
334
  days: Integer,
321
335
  end_date: Integer,
336
+ include: String,
337
+ interval:
338
+ GrowsurfRuby::CampaignRetrieveAnalyticsParams::Interval::OrSymbol,
322
339
  start_date: Integer,
323
340
  request_options: GrowsurfRuby::RequestOptions::OrHash
324
341
  ).returns(GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse)
@@ -331,6 +348,15 @@ module GrowsurfRuby
331
348
  # End date of the analytics timeframe as a Unix timestamp in milliseconds.
332
349
  # Required if `days` is not set.
333
350
  end_date: nil,
351
+ # Comma-separated list of optional enrichments (opt-in to keep the default response
352
+ # lean): `previousPeriod` adds totals for the equal-length window immediately before
353
+ # the requested one; `statusCounts` adds reward (and, for affiliate programs,
354
+ # affiliate/commission/payout) status breakdowns; `rates` adds derived referral
355
+ # rates.
356
+ include: nil,
357
+ # When set to `day`, `week`, or `month`, the response also includes a `series` array
358
+ # with per-period totals. Defaults to `total` (no series).
359
+ interval: nil,
334
360
  # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
335
361
  # Required if `days` is not set.
336
362
  start_date: nil,
@@ -10,6 +10,8 @@ module GrowsurfRuby
10
10
 
11
11
  attr_reader api_key: String
12
12
 
13
+ attr_reader account: GrowsurfRuby::Resources::Account
14
+
13
15
  attr_reader campaign: GrowsurfRuby::Resources::Campaign
14
16
 
15
17
  private def auth_headers: -> ::Hash[String, String]
@@ -0,0 +1,67 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account =
4
+ {
5
+ email: String,
6
+ id: String,
7
+ verification_status: GrowsurfRuby::Models::Account::verification_status,
8
+ company: String?,
9
+ created_at: Integer?,
10
+ first_name: String?,
11
+ last_name: String?,
12
+ verification_requested_at: Integer?
13
+ }
14
+
15
+ class Account < GrowsurfRuby::Internal::Type::BaseModel
16
+ attr_accessor email: String
17
+
18
+ attr_accessor id: String
19
+
20
+ attr_accessor verification_status: GrowsurfRuby::Models::Account::verification_status
21
+
22
+ attr_accessor company: String?
23
+
24
+ attr_accessor created_at: Integer?
25
+
26
+ attr_accessor first_name: String?
27
+
28
+ attr_accessor last_name: String?
29
+
30
+ attr_accessor verification_requested_at: Integer?
31
+
32
+ def initialize: (
33
+ email: String,
34
+ id: String,
35
+ verification_status: GrowsurfRuby::Models::Account::verification_status,
36
+ ?company: String?,
37
+ ?created_at: Integer?,
38
+ ?first_name: String?,
39
+ ?last_name: String?,
40
+ ?verification_requested_at: Integer?
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ email: String,
45
+ id: String,
46
+ verification_status: GrowsurfRuby::Models::Account::verification_status,
47
+ company: String?,
48
+ created_at: Integer?,
49
+ first_name: String?,
50
+ last_name: String?,
51
+ verification_requested_at: Integer?
52
+ }
53
+
54
+ type verification_status = :NOT_REQUESTED | :REQUESTED | :VERIFIED
55
+
56
+ module VerificationStatus
57
+ extend GrowsurfRuby::Internal::Type::Enum
58
+
59
+ NOT_REQUESTED: :NOT_REQUESTED
60
+ REQUESTED: :REQUESTED
61
+ VERIFIED: :VERIFIED
62
+
63
+ def self?.values: -> ::Array[GrowsurfRuby::Models::Account::verification_status]
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,42 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account_create_params =
4
+ { email: String, company: String, first_name: String, last_name: String }
5
+ & GrowsurfRuby::Internal::Type::request_parameters
6
+
7
+ class AccountCreateParams < GrowsurfRuby::Internal::Type::BaseModel
8
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
+ include GrowsurfRuby::Internal::Type::RequestParameters
10
+
11
+ attr_accessor email: String
12
+
13
+ attr_reader company: String?
14
+
15
+ def company=: (String) -> String
16
+
17
+ attr_reader first_name: String?
18
+
19
+ def first_name=: (String) -> String
20
+
21
+ attr_reader last_name: String?
22
+
23
+ def last_name=: (String) -> String
24
+
25
+ def initialize: (
26
+ email: String,
27
+ ?company: String,
28
+ ?first_name: String,
29
+ ?last_name: String,
30
+ ?request_options: GrowsurfRuby::request_opts
31
+ ) -> void
32
+
33
+ def to_hash: -> {
34
+ email: String,
35
+ company: String,
36
+ first_name: String,
37
+ last_name: String,
38
+ request_options: GrowsurfRuby::RequestOptions
39
+ }
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,47 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account_create_response =
4
+ {
5
+ api_key: String,
6
+ email: String,
7
+ id: String,
8
+ verification_status: GrowsurfRuby::Models::AccountCreateResponse::verification_status
9
+ }
10
+
11
+ class AccountCreateResponse < GrowsurfRuby::Internal::Type::BaseModel
12
+ attr_accessor api_key: String
13
+
14
+ attr_accessor email: String
15
+
16
+ attr_accessor id: String
17
+
18
+ attr_accessor verification_status: GrowsurfRuby::Models::AccountCreateResponse::verification_status
19
+
20
+ def initialize: (
21
+ api_key: String,
22
+ email: String,
23
+ id: String,
24
+ verification_status: GrowsurfRuby::Models::AccountCreateResponse::verification_status
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ api_key: String,
29
+ email: String,
30
+ id: String,
31
+ verification_status: GrowsurfRuby::Models::AccountCreateResponse::verification_status
32
+ }
33
+
34
+ type verification_status = :NOT_REQUESTED | :REQUESTED | :VERIFIED
35
+
36
+ module VerificationStatus
37
+ extend GrowsurfRuby::Internal::Type::Enum
38
+
39
+ NOT_REQUESTED: :NOT_REQUESTED
40
+ REQUESTED: :REQUESTED
41
+ VERIFIED: :VERIFIED
42
+
43
+ def self?.values: -> ::Array[GrowsurfRuby::Models::AccountCreateResponse::verification_status]
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,35 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account_resend_verification_email_response =
4
+ {
5
+ status: GrowsurfRuby::Models::AccountResendVerificationEmailResponse::status,
6
+ success: bool
7
+ }
8
+
9
+ class AccountResendVerificationEmailResponse < GrowsurfRuby::Internal::Type::BaseModel
10
+ attr_accessor status: GrowsurfRuby::Models::AccountResendVerificationEmailResponse::status
11
+
12
+ attr_accessor success: bool
13
+
14
+ def initialize: (
15
+ status: GrowsurfRuby::Models::AccountResendVerificationEmailResponse::status,
16
+ success: bool
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ status: GrowsurfRuby::Models::AccountResendVerificationEmailResponse::status,
21
+ success: bool
22
+ }
23
+
24
+ type status = :SENT
25
+
26
+ module Status
27
+ extend GrowsurfRuby::Internal::Type::Enum
28
+
29
+ SENT: :SENT
30
+
31
+ def self?.values: -> ::Array[GrowsurfRuby::Models::AccountResendVerificationEmailResponse::status]
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,13 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account_rotate_api_key_response = { api_key: String }
4
+
5
+ class AccountRotateAPIKeyResponse < GrowsurfRuby::Internal::Type::BaseModel
6
+ attr_accessor api_key: String
7
+
8
+ def initialize: (api_key: String) -> void
9
+
10
+ def to_hash: -> { api_key: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,42 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ type account_update_params =
4
+ {
5
+ company: String,
6
+ first_name: String,
7
+ last_name: String
8
+ }
9
+ & GrowsurfRuby::Internal::Type::request_parameters
10
+
11
+ class AccountUpdateParams < GrowsurfRuby::Internal::Type::BaseModel
12
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
13
+ include GrowsurfRuby::Internal::Type::RequestParameters
14
+
15
+ attr_reader company: String?
16
+
17
+ def company=: (String) -> String
18
+
19
+ attr_reader first_name: String?
20
+
21
+ def first_name=: (String) -> String
22
+
23
+ attr_reader last_name: String?
24
+
25
+ def last_name=: (String) -> String
26
+
27
+ def initialize: (
28
+ ?company: String,
29
+ ?first_name: String,
30
+ ?last_name: String,
31
+ ?request_options: GrowsurfRuby::request_opts
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ company: String,
36
+ first_name: String,
37
+ last_name: String,
38
+ request_options: GrowsurfRuby::RequestOptions
39
+ }
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,59 @@
1
+ module GrowsurfRuby
2
+ module Models
3
+ module Campaign
4
+ type participant_activity_logs_response =
5
+ {
6
+ activity_logs: ::Array[GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse::ActivityLog],
7
+ limit: Integer,
8
+ offset: Integer?
9
+ }
10
+
11
+ class ParticipantActivityLogsResponse < GrowsurfRuby::Internal::Type::BaseModel
12
+ attr_accessor activity_logs: ::Array[GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse::ActivityLog]
13
+
14
+ attr_accessor limit: Integer
15
+
16
+ attr_accessor offset: Integer?
17
+
18
+ def initialize: (
19
+ activity_logs: ::Array[GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse::ActivityLog],
20
+ limit: Integer,
21
+ ?offset: Integer?
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ activity_logs: ::Array[GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse::ActivityLog],
26
+ limit: Integer,
27
+ offset: Integer?
28
+ }
29
+
30
+ type activity_log =
31
+ {
32
+ created_at: Integer,
33
+ text: String,
34
+ type: String
35
+ }
36
+
37
+ class ActivityLog < GrowsurfRuby::Internal::Type::BaseModel
38
+ attr_accessor created_at: Integer
39
+
40
+ attr_accessor text: String
41
+
42
+ attr_accessor type: String
43
+
44
+ def initialize: (
45
+ created_at: Integer,
46
+ text: String,
47
+ type: String
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ created_at: Integer,
52
+ text: String,
53
+ type: String
54
+ }
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end