growsurf-ruby 1.0.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 (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -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 +17 -6
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +25 -15
  24. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +25 -15
  25. data/lib/growsurf_ruby/models/campaign/webhook.rb +72 -0
  26. data/lib/growsurf_ruby/models/campaign/webhook_create_params.rb +52 -0
  27. data/lib/growsurf_ruby/models/campaign/webhook_delete_params.rb +28 -0
  28. data/lib/growsurf_ruby/models/campaign/webhook_delete_response.rb +24 -0
  29. data/lib/growsurf_ruby/models/campaign/webhook_event.rb +23 -0
  30. data/lib/growsurf_ruby/models/campaign/webhook_list_response.rb +18 -0
  31. data/lib/growsurf_ruby/models/campaign/webhook_test_params.rb +42 -0
  32. data/lib/growsurf_ruby/models/campaign/webhook_test_response.rb +50 -0
  33. data/lib/growsurf_ruby/models/campaign/webhook_update_params.rb +59 -0
  34. data/lib/growsurf_ruby/models/campaign.rb +17 -6
  35. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +36 -1
  36. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +538 -1
  37. data/lib/growsurf_ruby/models/campaign_update_params.rb +0 -3
  38. data/lib/growsurf_ruby/models/commission_structure.rb +8 -2
  39. data/lib/growsurf_ruby/models/referral_flow_screenshots_response.rb +72 -0
  40. data/lib/growsurf_ruby/models.rb +8 -0
  41. data/lib/growsurf_ruby/resources/account.rb +159 -0
  42. data/lib/growsurf_ruby/resources/campaign/design.rb +9 -7
  43. data/lib/growsurf_ruby/resources/campaign/emails.rb +8 -5
  44. data/lib/growsurf_ruby/resources/campaign/installation.rb +8 -6
  45. data/lib/growsurf_ruby/resources/campaign/options.rb +8 -5
  46. data/lib/growsurf_ruby/resources/campaign/participant.rb +170 -2
  47. data/lib/growsurf_ruby/resources/campaign/rewards.rb +17 -21
  48. data/lib/growsurf_ruby/resources/campaign/webhooks.rb +157 -0
  49. data/lib/growsurf_ruby/resources/campaign.rb +30 -2
  50. data/lib/growsurf_ruby/version.rb +1 -1
  51. data/lib/growsurf_ruby.rb +26 -0
  52. data/rbi/growsurf_ruby/client.rbi +3 -0
  53. data/rbi/growsurf_ruby/models/account.rbi +125 -0
  54. data/rbi/growsurf_ruby/models/account_create_params.rbi +73 -0
  55. data/rbi/growsurf_ruby/models/account_create_response.rbi +115 -0
  56. data/rbi/growsurf_ruby/models/account_resend_verification_email_response.rbi +76 -0
  57. data/rbi/growsurf_ruby/models/account_rotate_api_key_response.rbi +30 -0
  58. data/rbi/growsurf_ruby/models/account_update_params.rbi +65 -0
  59. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +2 -2
  60. data/rbi/growsurf_ruby/models/campaign/create.rbi +8 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +111 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +630 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbi +56 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +285 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_email_params.rbi +118 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_email_response.rbi +84 -0
  67. data/rbi/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbi +74 -0
  68. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +207 -0
  69. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +24 -0
  70. data/rbi/growsurf_ruby/models/campaign/reward.rbi +25 -4
  71. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +34 -9
  72. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +34 -9
  73. data/rbi/growsurf_ruby/models/campaign/webhook.rbi +93 -0
  74. data/rbi/growsurf_ruby/models/campaign/webhook_create_params.rbi +91 -0
  75. data/rbi/growsurf_ruby/models/campaign/webhook_delete_params.rbi +48 -0
  76. data/rbi/growsurf_ruby/models/campaign/webhook_delete_response.rbi +33 -0
  77. data/rbi/growsurf_ruby/models/campaign/webhook_event.rbi +60 -0
  78. data/rbi/growsurf_ruby/models/campaign/webhook_list_response.rbi +36 -0
  79. data/rbi/growsurf_ruby/models/campaign/webhook_test_params.rbi +69 -0
  80. data/rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi +102 -0
  81. data/rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi +98 -0
  82. data/rbi/growsurf_ruby/models/campaign.rbi +25 -4
  83. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +91 -0
  84. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +1011 -3
  85. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +0 -15
  86. data/rbi/growsurf_ruby/models/commission_structure.rbi +8 -2
  87. data/rbi/growsurf_ruby/models/referral_flow_screenshots_response.rbi +94 -0
  88. data/rbi/growsurf_ruby/models.rbi +9 -0
  89. data/rbi/growsurf_ruby/resources/account.rbi +112 -0
  90. data/rbi/growsurf_ruby/resources/campaign/design.rbi +7 -5
  91. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +7 -5
  92. data/rbi/growsurf_ruby/resources/campaign/installation.rbi +7 -4
  93. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -5
  94. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +160 -0
  95. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +37 -21
  96. data/rbi/growsurf_ruby/resources/campaign/webhooks.rbi +123 -0
  97. data/rbi/growsurf_ruby/resources/campaign.rbi +33 -2
  98. data/sig/growsurf_ruby/client.rbs +2 -0
  99. data/sig/growsurf_ruby/models/account.rbs +67 -0
  100. data/sig/growsurf_ruby/models/account_create_params.rbs +42 -0
  101. data/sig/growsurf_ruby/models/account_create_response.rbs +47 -0
  102. data/sig/growsurf_ruby/models/account_resend_verification_email_response.rbs +35 -0
  103. data/sig/growsurf_ruby/models/account_rotate_api_key_response.rbs +13 -0
  104. data/sig/growsurf_ruby/models/account_update_params.rbs +42 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +59 -0
  106. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +407 -0
  107. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbs +30 -0
  108. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbs +125 -0
  109. data/sig/growsurf_ruby/models/campaign/participant_email_params.rbs +61 -0
  110. data/sig/growsurf_ruby/models/campaign/participant_email_response.rbs +37 -0
  111. data/sig/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbs +47 -0
  112. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +90 -0
  113. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +14 -0
  114. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +0 -7
  115. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +0 -7
  116. data/sig/growsurf_ruby/models/campaign/webhook.rbs +52 -0
  117. data/sig/growsurf_ruby/models/campaign/webhook_create_params.rbs +51 -0
  118. data/sig/growsurf_ruby/models/campaign/webhook_delete_params.rbs +30 -0
  119. data/sig/growsurf_ruby/models/campaign/webhook_delete_response.rbs +17 -0
  120. data/sig/growsurf_ruby/models/campaign/webhook_event.rbs +28 -0
  121. data/sig/growsurf_ruby/models/campaign/webhook_list_response.rbs +18 -0
  122. data/sig/growsurf_ruby/models/campaign/webhook_test_params.rbs +42 -0
  123. data/sig/growsurf_ruby/models/campaign/webhook_test_response.rbs +54 -0
  124. data/sig/growsurf_ruby/models/campaign/webhook_update_params.rbs +63 -0
  125. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +35 -1
  126. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +533 -3
  127. data/sig/growsurf_ruby/models/campaign_update_params.rbs +1 -4
  128. data/sig/growsurf_ruby/models/commission_structure.rbs +7 -2
  129. data/sig/growsurf_ruby/models/referral_flow_screenshots_response.rbs +54 -0
  130. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +4 -1
  131. data/sig/growsurf_ruby/models.rbs +8 -0
  132. data/sig/growsurf_ruby/resources/account.rbs +38 -0
  133. data/sig/growsurf_ruby/resources/campaign/participant.rbs +37 -0
  134. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +0 -2
  135. data/sig/growsurf_ruby/resources/campaign/webhooks.rbs +46 -0
  136. data/sig/growsurf_ruby/resources/campaign.rbs +9 -0
  137. metadata +80 -2
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#delete
7
+ class WebhookDeleteParams < GrowsurfRuby::Internal::Type::BaseModel
8
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
+ include GrowsurfRuby::Internal::Type::RequestParameters
10
+
11
+ # @!attribute id
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute webhook_id
17
+ #
18
+ # @return [String]
19
+ required :webhook_id, String
20
+
21
+ # @!method initialize(id:, webhook_id:, request_options: {})
22
+ # @param id [String]
23
+ # @param webhook_id [String]
24
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#delete
7
+ class WebhookDeleteResponse < GrowsurfRuby::Internal::Type::BaseModel
8
+ # @!attribute id
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute success
14
+ #
15
+ # @return [Boolean]
16
+ required :success, GrowsurfRuby::Internal::Type::Boolean
17
+
18
+ # @!method initialize(id:, success:)
19
+ # @param id [String]
20
+ # @param success [Boolean]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # A webhook event name.
7
+ module WebhookEvent
8
+ extend GrowsurfRuby::Internal::Type::Enum
9
+
10
+ PARTICIPANT_REACHED_A_GOAL = :PARTICIPANT_REACHED_A_GOAL
11
+ NEW_PARTICIPANT_ADDED = :NEW_PARTICIPANT_ADDED
12
+ CAMPAIGN_ENDED = :CAMPAIGN_ENDED
13
+ PARTICIPANT_FRAUD_STATUS_UPDATED = :PARTICIPANT_FRAUD_STATUS_UPDATED
14
+ NEW_COMMISSION_ADDED = :NEW_COMMISSION_ADDED
15
+ COMMISSION_ADJUSTED = :COMMISSION_ADJUSTED
16
+ NEW_PAYOUT_ISSUED = :NEW_PAYOUT_ISSUED
17
+
18
+ # @!method self.values
19
+ # @return [Array<Symbol>]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#list
7
+ class WebhookListResponse < GrowsurfRuby::Internal::Type::BaseModel
8
+ # @!attribute webhooks
9
+ #
10
+ # @return [Array<GrowsurfRuby::Models::Campaign::Webhook>]
11
+ required :webhooks, -> { GrowsurfRuby::Internal::Type::ArrayOf[GrowsurfRuby::Campaign::Webhook] }
12
+
13
+ # @!method initialize(webhooks:)
14
+ # @param webhooks [Array<GrowsurfRuby::Models::Campaign::Webhook>]
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#test
7
+ class WebhookTestParams < GrowsurfRuby::Internal::Type::BaseModel
8
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
+ include GrowsurfRuby::Internal::Type::RequestParameters
10
+
11
+ # @!attribute id
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute webhook_id
17
+ #
18
+ # @return [String]
19
+ required :webhook_id, String
20
+
21
+ # @!attribute event
22
+ # The event to simulate. When omitted, the webhook's first enabled event is used
23
+ # (returns `400` if it has no enabled events).
24
+ #
25
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::WebhookEvent, nil]
26
+ optional :event, enum: -> { GrowsurfRuby::Campaign::WebhookEvent }
27
+
28
+ # @!method initialize(id:, webhook_id:, event: nil, request_options: {})
29
+ # Some parameter documentations has been truncated, see
30
+ # {GrowsurfRuby::Models::Campaign::WebhookTestParams} for more details.
31
+ #
32
+ # @param id [String]
33
+ #
34
+ # @param webhook_id [String]
35
+ #
36
+ # @param event [Symbol, GrowsurfRuby::Models::Campaign::WebhookEvent] The event to simulate. When omitted, the webhook's first enabled event is used (
37
+ #
38
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#test
7
+ class WebhookTestResponse < GrowsurfRuby::Internal::Type::BaseModel
8
+ # @!attribute success
9
+ #
10
+ # @return [Boolean]
11
+ required :success, GrowsurfRuby::Internal::Type::Boolean
12
+
13
+ # @!attribute payload
14
+ # The mock event payload that was sent.
15
+ #
16
+ # @return [Hash{Symbol=>Object}, nil]
17
+ optional :payload, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
18
+
19
+ # @!attribute response
20
+ #
21
+ # @return [GrowsurfRuby::Models::Campaign::WebhookTestResponse::Response, nil]
22
+ optional :response, -> { GrowsurfRuby::Campaign::WebhookTestResponse::Response }
23
+
24
+ # @!method initialize(success:, payload: nil, response: nil)
25
+ # @param success [Boolean]
26
+ #
27
+ # @param payload [Hash{Symbol=>Object}] The mock event payload that was sent.
28
+ #
29
+ # @param response [GrowsurfRuby::Models::Campaign::WebhookTestResponse::Response]
30
+
31
+ # @see GrowsurfRuby::Models::Campaign::WebhookTestResponse#response
32
+ class Response < GrowsurfRuby::Internal::Type::BaseModel
33
+ # @!attribute msg
34
+ #
35
+ # @return [String, nil]
36
+ optional :msg, String
37
+
38
+ # @!attribute status_code
39
+ #
40
+ # @return [Integer, nil]
41
+ optional :status_code, Integer, api_name: :statusCode
42
+
43
+ # @!method initialize(msg: nil, status_code: nil)
44
+ # @param msg [String]
45
+ # @param status_code [Integer]
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Webhooks#update
7
+ class WebhookUpdateParams < GrowsurfRuby::Internal::Type::BaseModel
8
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
9
+ include GrowsurfRuby::Internal::Type::RequestParameters
10
+
11
+ # @!attribute id
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute webhook_id
17
+ #
18
+ # @return [String]
19
+ required :webhook_id, String
20
+
21
+ # @!attribute events
22
+ #
23
+ # @return [Array<Symbol, GrowsurfRuby::Models::Campaign::WebhookEvent>, nil]
24
+ optional :events, -> { GrowsurfRuby::Internal::Type::ArrayOf[enum: GrowsurfRuby::Campaign::WebhookEvent] }
25
+
26
+ # @!attribute is_enabled
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :is_enabled, GrowsurfRuby::Internal::Type::Boolean, api_name: :isEnabled
30
+
31
+ # @!attribute payload_url
32
+ #
33
+ # @return [String, nil]
34
+ optional :payload_url, String, api_name: :payloadUrl
35
+
36
+ # @!attribute secret
37
+ # Write-only.
38
+ #
39
+ # @return [String, nil]
40
+ optional :secret, String
41
+
42
+ # @!method initialize(id:, webhook_id:, events: nil, is_enabled: nil, payload_url: nil, secret: nil, request_options: {})
43
+ # @param id [String]
44
+ #
45
+ # @param webhook_id [String]
46
+ #
47
+ # @param events [Array<Symbol, GrowsurfRuby::Models::Campaign::WebhookEvent>]
48
+ #
49
+ # @param is_enabled [Boolean]
50
+ #
51
+ # @param payload_url [String]
52
+ #
53
+ # @param secret [String] Write-only.
54
+ #
55
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
56
+ end
57
+ end
58
+ end
59
+ end
@@ -108,6 +108,9 @@ module GrowsurfRuby
108
108
  optional :conversions_required, Integer, api_name: :conversionsRequired, nil?: true
109
109
 
110
110
  # @!attribute coupon_code
111
+ # Legacy static coupon code shown to the referrer in the reward-won email and
112
+ # webhook. Display text only; superseded by a connected billing integration's
113
+ # issued coupon when one exists.
111
114
  #
112
115
  # @return [String, nil]
113
116
  optional :coupon_code, String, api_name: :couponCode, nil?: true
@@ -137,16 +140,22 @@ module GrowsurfRuby
137
140
  nil?: true
138
141
 
139
142
  # @!attribute next_milestone_prefix
143
+ # Text shown before a participant's referral count in milestone-progress copy.
144
+ # Applies to `MILESTONE` rewards.
140
145
  #
141
146
  # @return [String, nil]
142
147
  optional :next_milestone_prefix, String, api_name: :nextMilestonePrefix, nil?: true
143
148
 
144
149
  # @!attribute next_milestone_suffix
150
+ # Text shown after a participant's referral count in milestone-progress copy.
151
+ # Applies to `MILESTONE` rewards.
145
152
  #
146
153
  # @return [String, nil]
147
154
  optional :next_milestone_suffix, String, api_name: :nextMilestoneSuffix, nil?: true
148
155
 
149
156
  # @!attribute number_of_winners
157
+ # The number of winners (`LEADERBOARD` rewards only). With `limitDuration`
158
+ # `PER_MONTH` this many win each month, otherwise this many win in total.
150
159
  #
151
160
  # @return [Integer, nil]
152
161
  optional :number_of_winners, Integer, api_name: :numberOfWinners, nil?: true
@@ -157,7 +166,9 @@ module GrowsurfRuby
157
166
  optional :order, Integer, nil?: true
158
167
 
159
168
  # @!attribute referral_coupon_code
160
- # The coupon code delivered to the referred friend (double-sided rewards).
169
+ # Legacy static coupon code shown to the referred friend (double-sided rewards)
170
+ # in the reward-won email and webhook. Display text only; superseded by a
171
+ # connected billing integration's issued coupon when one exists.
161
172
  #
162
173
  # @return [String, nil]
163
174
  optional :referral_coupon_code, String, api_name: :referralCouponCode, nil?: true
@@ -202,7 +213,7 @@ module GrowsurfRuby
202
213
  #
203
214
  # @param conversions_required [Integer, nil]
204
215
  #
205
- # @param coupon_code [String, nil]
216
+ # @param coupon_code [String, nil] Legacy static coupon code shown to the referrer in the reward-won email and web
206
217
  #
207
218
  # @param description [String, nil]
208
219
  #
@@ -212,15 +223,15 @@ module GrowsurfRuby
212
223
  #
213
224
  # @param limit_duration [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::LimitDuration, nil]
214
225
  #
215
- # @param next_milestone_prefix [String, nil]
226
+ # @param next_milestone_prefix [String, nil] Text shown before a participant's referral count in milestone-progress copy. App
216
227
  #
217
- # @param next_milestone_suffix [String, nil]
228
+ # @param next_milestone_suffix [String, nil] Text shown after a participant's referral count in milestone-progress copy. Appl
218
229
  #
219
- # @param number_of_winners [Integer, nil]
230
+ # @param number_of_winners [Integer, nil] The number of winners (`LEADERBOARD` rewards only). With `limitDuration` `PER_MO
220
231
  #
221
232
  # @param order [Integer, nil]
222
233
  #
223
- # @param referral_coupon_code [String, nil] The coupon code delivered to the referred friend (double-sided rewards).
234
+ # @param referral_coupon_code [String, nil] Legacy static coupon code shown to the referred friend (double-sided rewards) in
224
235
  #
225
236
  # @param referral_description [String, nil]
226
237
  #
@@ -25,6 +25,23 @@ module GrowsurfRuby
25
25
  # @return [Integer, nil]
26
26
  optional :end_date, Integer
27
27
 
28
+ # @!attribute include
29
+ # Comma-separated list of optional enrichments (opt-in to keep the default response
30
+ # lean): `previousPeriod` adds totals for the equal-length window immediately before
31
+ # the requested one; `statusCounts` adds reward (and, for affiliate programs,
32
+ # affiliate/commission/payout) status breakdowns; `rates` adds derived referral
33
+ # rates.
34
+ #
35
+ # @return [String, nil]
36
+ optional :include, String
37
+
38
+ # @!attribute interval
39
+ # When set to `day`, `week`, or `month`, the response also includes a `series` array
40
+ # with per-period totals. Defaults to `total` (no series).
41
+ #
42
+ # @return [Symbol, GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams::Interval, nil]
43
+ optional :interval, enum: -> { GrowsurfRuby::CampaignRetrieveAnalyticsParams::Interval }
44
+
28
45
  # @!attribute start_date
29
46
  # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
30
47
  # Required if `days` is not set.
@@ -32,7 +49,7 @@ module GrowsurfRuby
32
49
  # @return [Integer, nil]
33
50
  optional :start_date, Integer
34
51
 
35
- # @!method initialize(id:, days: nil, end_date: nil, start_date: nil, request_options: {})
52
+ # @!method initialize(id:, days: nil, end_date: nil, include: nil, interval: nil, start_date: nil, request_options: {})
36
53
  # Some parameter documentations has been truncated, see
37
54
  # {GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams} for more details.
38
55
  #
@@ -42,9 +59,27 @@ module GrowsurfRuby
42
59
  #
43
60
  # @param end_date [Integer] End date of the analytics timeframe as a Unix timestamp in milliseconds. Require
44
61
  #
62
+ # @param include [String] Comma-separated list of optional enrichments (opt-in to keep the default response
63
+ #
64
+ # @param interval [Symbol, GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams::Interval] When set to `day`, `week`, or `month`, the response also includes a `series` array
65
+ #
45
66
  # @param start_date [Integer] Start date of the analytics timeframe as a Unix timestamp in milliseconds. Requi
46
67
  #
47
68
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
69
+
70
+ # When set to `day`, `week`, or `month`, the response also includes a `series` array
71
+ # with per-period totals. Defaults to `total` (no series).
72
+ module Interval
73
+ extend GrowsurfRuby::Internal::Type::Enum
74
+
75
+ DAY = :day
76
+ WEEK = :week
77
+ MONTH = :month
78
+ TOTAL = :total
79
+
80
+ # @!method self.values
81
+ # @return [Array<Symbol>]
82
+ end
48
83
  end
49
84
  end
50
85
  end