growsurf-ruby 1.2.1 → 1.3.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/LICENSE +201 -0
  4. data/README.md +1 -1
  5. data/lib/growsurf_ruby/internal/transport/base_client.rb +21 -4
  6. data/lib/growsurf_ruby/models/affiliate_application.rb +249 -0
  7. data/lib/growsurf_ruby/models/affiliate_application_list_response.rb +42 -0
  8. data/lib/growsurf_ruby/models/affiliate_invite.rb +109 -0
  9. data/lib/growsurf_ruby/models/affiliate_invite_list_response.rb +41 -0
  10. data/lib/growsurf_ruby/models/campaign/create.rb +12 -1
  11. data/lib/growsurf_ruby/models/campaign/participant.rb +79 -4
  12. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +28 -17
  13. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rb +28 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rb +126 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_list_payouts_params.rb +1 -0
  16. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rb +50 -0
  17. data/lib/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rb +56 -0
  18. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +14 -17
  19. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +25 -9
  20. data/lib/growsurf_ruby/models/campaign/referral_source.rb +3 -0
  21. data/lib/growsurf_ruby/models/campaign/reward.rb +20 -3
  22. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +3 -3
  23. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +3 -3
  24. data/lib/growsurf_ruby/models/campaign.rb +2 -2
  25. data/lib/growsurf_ruby/models/campaign_create_affiliate_invite_params.rb +45 -0
  26. data/lib/growsurf_ruby/models/campaign_list_affiliate_applications_params.rb +57 -0
  27. data/lib/growsurf_ruby/models/campaign_list_affiliate_invites_params.rb +58 -0
  28. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +1 -0
  29. data/lib/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rb +26 -0
  30. data/lib/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rb +26 -0
  31. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +9 -6
  32. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +59 -11
  33. data/lib/growsurf_ruby/models/campaign_review_affiliate_application_params.rb +94 -0
  34. data/lib/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rb +26 -0
  35. data/lib/growsurf_ruby/models/email_analytics.rb +41 -0
  36. data/lib/growsurf_ruby/models/participant_payout_list.rb +8 -1
  37. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +24 -9
  38. data/lib/growsurf_ruby/models.rb +19 -0
  39. data/lib/growsurf_ruby/resources/campaign/design.rb +14 -12
  40. data/lib/growsurf_ruby/resources/campaign/options.rb +7 -7
  41. data/lib/growsurf_ruby/resources/campaign/participant.rb +96 -11
  42. data/lib/growsurf_ruby/resources/campaign/rewards.rb +2 -2
  43. data/lib/growsurf_ruby/resources/campaign.rb +231 -4
  44. data/lib/growsurf_ruby/version.rb +1 -1
  45. data/lib/growsurf_ruby.rb +16 -0
  46. data/rbi/growsurf_ruby/models/affiliate_application.rbi +431 -0
  47. data/rbi/growsurf_ruby/models/affiliate_application_list_response.rbi +70 -0
  48. data/rbi/growsurf_ruby/models/affiliate_invite.rbi +167 -0
  49. data/rbi/growsurf_ruby/models/affiliate_invite_list_response.rbi +70 -0
  50. data/rbi/growsurf_ruby/models/campaign/create.rbi +17 -0
  51. data/rbi/growsurf_ruby/models/campaign/participant.rbi +169 -3
  52. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +3 -5
  53. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -20
  54. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +3 -1
  55. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbi +48 -0
  56. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +243 -0
  57. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +5 -0
  58. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbi +100 -0
  59. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +118 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +22 -52
  61. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +67 -11
  62. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +9 -0
  63. data/rbi/growsurf_ruby/models/campaign/reward.rbi +23 -2
  64. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +4 -4
  65. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +4 -4
  66. data/rbi/growsurf_ruby/models/campaign.rbi +2 -2
  67. data/rbi/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbi +74 -0
  68. data/rbi/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbi +130 -0
  69. data/rbi/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbi +135 -0
  70. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +5 -0
  71. data/rbi/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbi +46 -0
  72. data/rbi/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbi +46 -0
  73. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +15 -10
  74. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +68 -18
  75. data/rbi/growsurf_ruby/models/campaign_review_affiliate_application_params.rbi +167 -0
  76. data/rbi/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbi +46 -0
  77. data/rbi/growsurf_ruby/models/email_analytics.rbi +200 -0
  78. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +17 -3
  79. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +66 -9
  80. data/rbi/growsurf_ruby/models.rbi +25 -0
  81. data/rbi/growsurf_ruby/resources/campaign/design.rbi +9 -8
  82. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -7
  83. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +89 -13
  84. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +4 -4
  85. data/rbi/growsurf_ruby/resources/campaign.rbi +188 -10
  86. data/sig/growsurf_ruby/models/affiliate_application.rbs +192 -0
  87. data/sig/growsurf_ruby/models/affiliate_application_list_response.rbs +39 -0
  88. data/sig/growsurf_ruby/models/affiliate_invite.rbs +92 -0
  89. data/sig/growsurf_ruby/models/affiliate_invite_list_response.rbs +39 -0
  90. data/sig/growsurf_ruby/models/campaign/create.rbs +7 -0
  91. data/sig/growsurf_ruby/models/campaign/participant.rbs +62 -2
  92. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +2 -11
  93. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +12 -12
  94. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbs +30 -0
  95. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +107 -0
  96. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +2 -1
  97. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbs +49 -0
  98. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +57 -0
  99. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +5 -13
  100. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +21 -7
  101. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +4 -1
  102. data/sig/growsurf_ruby/models/campaign/reward.rbs +12 -0
  103. data/sig/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbs +40 -0
  104. data/sig/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbs +61 -0
  105. data/sig/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbs +62 -0
  106. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +2 -1
  107. data/sig/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbs +28 -0
  108. data/sig/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbs +28 -0
  109. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +36 -16
  110. data/sig/growsurf_ruby/models/campaign_review_affiliate_application_params.rbs +79 -0
  111. data/sig/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbs +28 -0
  112. data/sig/growsurf_ruby/models/email_analytics.rbs +92 -0
  113. data/sig/growsurf_ruby/models/participant_payout_list.rbs +12 -4
  114. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +26 -4
  115. data/sig/growsurf_ruby/models.rbs +18 -0
  116. data/sig/growsurf_ruby/resources/campaign/participant.rbs +16 -2
  117. data/sig/growsurf_ruby/resources/campaign.rbs +53 -0
  118. metadata +54 -3
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ module Campaign
6
+ # @see GrowsurfRuby::Resources::Campaign::Participant#request_payout_destination_confirmation
7
+ class ParticipantRequestPayoutDestinationConfirmationResponse < GrowsurfRuby::Internal::Type::BaseModel
8
+ # @!attribute expires_at
9
+ # When the confirmation link expires, as a Unix timestamp in milliseconds.
10
+ #
11
+ # @return [Integer, nil]
12
+ optional :expires_at, Integer, api_name: :expiresAt, nil?: true
13
+
14
+ # @!attribute provider
15
+ # The provider the participant was asked to confirm.
16
+ #
17
+ # @return [String, nil]
18
+ optional :provider, String
19
+
20
+ # @!attribute provider_display_name
21
+ # The customer-facing provider name (e.g. "PayPal", "Wise").
22
+ #
23
+ # @return [String, nil]
24
+ optional :provider_display_name, String, api_name: :providerDisplayName
25
+
26
+ # @!attribute status
27
+ # Confirms the message was requested.
28
+ #
29
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status, nil]
30
+ optional :status,
31
+ enum: -> { GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status }
32
+
33
+ # @!method initialize(expires_at: nil, provider: nil, provider_display_name: nil, status: nil)
34
+ # @param expires_at [Integer, nil] When the confirmation link expires, as a Unix timestamp in milliseconds.
35
+ #
36
+ # @param provider [String] The provider the participant was asked to confirm.
37
+ #
38
+ # @param provider_display_name [String] The customer-facing provider name (e.g. "PayPal", "Wise").
39
+ #
40
+ # @param status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse::Status] Confirms the message was requested.
41
+
42
+ # Confirms the message was requested.
43
+ #
44
+ # @see GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse#status
45
+ module Status
46
+ extend GrowsurfRuby::Internal::Type::Enum
47
+
48
+ CONFIRMATION_REQUESTED = :CONFIRMATION_REQUESTED
49
+
50
+ # @!method self.values
51
+ # @return [Array<Symbol>]
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -32,13 +32,19 @@ module GrowsurfRuby
32
32
  optional :end_date, Integer
33
33
 
34
34
  # @!attribute include
35
- # Set to `series` to also return this participant's own activity per period.
35
+ # Comma-separated optional data. `series` returns this participant's own activity
36
+ # per period; `email` returns `sent`, `delivered`, `opened`, `clicked`, `bounced`,
37
+ # `spamComplaints`, and per-email-type metrics attributed to the participant for
38
+ # the requested analytics window (including invitations they sent). Request both
39
+ # in either order to add email counts to every series item for emails sent during
40
+ # that period. Only documented tokens are accepted; an unknown token returns `400`.
36
41
  #
37
- # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Include, nil]
38
- optional :include, enum: -> { GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include }
42
+ # @return [String, nil]
43
+ optional :include, String
39
44
 
40
45
  # @!attribute interval
41
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
46
+ # Bucket size for the `series` (only used when `include` contains `series`).
47
+ # Defaults to `day`.
42
48
  #
43
49
  # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval, nil]
44
50
  optional :interval, enum: -> { GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Interval }
@@ -63,25 +69,16 @@ module GrowsurfRuby
63
69
  #
64
70
  # @param end_date [Integer] End date of the analytics timeframe as a Unix timestamp in milliseconds. Require
65
71
  #
66
- # @param include [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Include] Set to `series` to also return this participant's own activity per period.
72
+ # @param include [String] Comma-separated optional data. `series` returns this participant's own activity
67
73
  #
68
- # @param interval [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval] Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
74
+ # @param interval [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval] Bucket size for the `series` (only used when `include` contains `series`).
69
75
  #
70
76
  # @param start_date [Integer] Start date of the analytics timeframe as a Unix timestamp in milliseconds. Requi
71
77
  #
72
78
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
73
79
 
74
- # Set to `series` to also return this participant's own activity per period.
75
- module Include
76
- extend GrowsurfRuby::Internal::Type::Enum
77
-
78
- SERIES = :series
79
-
80
- # @!method self.values
81
- # @return [Array<Symbol>]
82
- end
83
-
84
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
80
+ # Bucket size for the `series` (only used when `include` contains `series`).
81
+ # Defaults to `day`.
85
82
  module Interval
86
83
  extend GrowsurfRuby::Internal::Type::Enum
87
84
 
@@ -18,6 +18,16 @@ module GrowsurfRuby
18
18
  # @return [String]
19
19
  required :participant_id_or_email, String
20
20
 
21
+ # @!attribute affiliate_status
22
+ # Affiliate programs only. Sets the affiliate status. `APPROVED` also enrolls a
23
+ # participant who is not yet an affiliate. `SUSPENDED` and `BANNED` are rejected
24
+ # for non-affiliates.
25
+ #
26
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantUpdateParams::AffiliateStatus, nil]
27
+ optional :affiliate_status,
28
+ enum: -> { GrowsurfRuby::Campaign::ParticipantUpdateParams::AffiliateStatus },
29
+ api_name: :affiliateStatus
30
+
21
31
  # @!attribute email
22
32
  #
23
33
  # @return [String, nil]
@@ -46,12 +56,6 @@ module GrowsurfRuby
46
56
  # @return [String, nil]
47
57
  optional :notes, String
48
58
 
49
- # @!attribute paypal_email
50
- # The participant's PayPal email address, used for affiliate payouts.
51
- #
52
- # @return [String, nil]
53
- optional :paypal_email, String, api_name: :paypalEmail
54
-
55
59
  # @!attribute referral_status
56
60
  #
57
61
  # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantUpdateParams::ReferralStatus, nil]
@@ -74,7 +78,7 @@ module GrowsurfRuby
74
78
  # @return [Array<String>, nil]
75
79
  optional :vanity_keys, GrowsurfRuby::Internal::Type::ArrayOf[String], api_name: :vanityKeys
76
80
 
77
- # @!method initialize(id:, participant_id_or_email:, email: nil, first_name: nil, last_name: nil, metadata: nil, notes: nil, paypal_email: nil, referral_status: nil, referred_by: nil, unsubscribed: nil, vanity_keys: nil, request_options: {})
81
+ # @!method initialize(id:, participant_id_or_email:, affiliate_status: nil, email: nil, first_name: nil, last_name: nil, metadata: nil, notes: nil, referral_status: nil, referred_by: nil, unsubscribed: nil, vanity_keys: nil, request_options: {})
78
82
  # Some parameter documentations has been truncated, see
79
83
  # {GrowsurfRuby::Models::Campaign::ParticipantUpdateParams} for more details.
80
84
  #
@@ -82,6 +86,8 @@ module GrowsurfRuby
82
86
  #
83
87
  # @param participant_id_or_email [String]
84
88
  #
89
+ # @param affiliate_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantUpdateParams::AffiliateStatus] Affiliate programs only. Sets the affiliate status.
90
+ #
85
91
  # @param email [String]
86
92
  #
87
93
  # @param first_name [String]
@@ -92,8 +98,6 @@ module GrowsurfRuby
92
98
  #
93
99
  # @param notes [String] Freeform internal notes about the participant (internal only, never exposed to pa
94
100
  #
95
- # @param paypal_email [String] The participant's PayPal email address, used for affiliate payouts.
96
- #
97
101
  # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ParticipantUpdateParams::ReferralStatus]
98
102
  #
99
103
  # @param referred_by [String]
@@ -104,6 +108,18 @@ module GrowsurfRuby
104
108
  #
105
109
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
106
110
 
111
+ # @see GrowsurfRuby::Models::Campaign::ParticipantUpdateParams#affiliate_status
112
+ module AffiliateStatus
113
+ extend GrowsurfRuby::Internal::Type::Enum
114
+
115
+ APPROVED = :APPROVED
116
+ SUSPENDED = :SUSPENDED
117
+ BANNED = :BANNED
118
+
119
+ # @!method self.values
120
+ # @return [Array<Symbol>]
121
+ end
122
+
107
123
  module ReferralStatus
108
124
  extend GrowsurfRuby::Internal::Type::Enum
109
125
 
@@ -8,6 +8,9 @@ module GrowsurfRuby
8
8
 
9
9
  DIRECT = :DIRECT
10
10
  PARTICIPANT = :PARTICIPANT
11
+ DELETED_PARTICIPANT = :DELETED_PARTICIPANT
12
+ IMPORT = :IMPORT
13
+ MANUAL = :MANUAL
11
14
 
12
15
  # @!method self.values
13
16
  # @return [Array<Symbol>]
@@ -57,6 +57,13 @@ module GrowsurfRuby
57
57
  # @return [String, nil]
58
58
  optional :image_url, String, api_name: :imageUrl, nil?: true
59
59
 
60
+ # @!attribute is_visible
61
+ # Whether the reward is enabled. When `false` the reward is disabled: hidden from
62
+ # participants and no longer awarded, including those who already earned it.
63
+ #
64
+ # @return [Boolean, nil]
65
+ optional :is_visible, GrowsurfRuby::Internal::Type::Boolean, api_name: :isVisible
66
+
60
67
  # @!attribute limit
61
68
  # `-1` represents an unlimited reward in REST responses.
62
69
  #
@@ -118,7 +125,7 @@ module GrowsurfRuby
118
125
  api_name: :referredRewardUpfront
119
126
 
120
127
  # @!attribute referred_value
121
- # Tax valuation for the referred friend's side of a double-sided reward.
128
+ # Tax treatment override for the referred friend's side of a double-sided reward.
122
129
  #
123
130
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
124
131
  optional :referred_value,
@@ -126,13 +133,19 @@ module GrowsurfRuby
126
133
  api_name: :referredValue,
127
134
  nil?: true
128
135
 
136
+ # @!attribute title
137
+ # The reward title (internal label).
138
+ #
139
+ # @return [String, nil]
140
+ optional :title, String, nil?: true
141
+
129
142
  # @!attribute value
130
143
  # Tax valuation for the reward (the referrer's side of a double-sided reward).
131
144
  #
132
145
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
133
146
  optional :value, -> { GrowsurfRuby::RewardTaxValuation }, nil?: true
134
147
 
135
- # @!method initialize(id:, is_unlimited:, metadata:, type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, limit: nil, limit_duration: nil, next_milestone_prefix: nil, next_milestone_suffix: nil, number_of_winners: nil, order: nil, referral_coupon_code: nil, referral_description: nil, referred_reward_upfront: nil, referred_value: nil, value: nil)
148
+ # @!method initialize(id:, is_unlimited:, metadata:, type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, is_visible: nil, limit: nil, limit_duration: nil, next_milestone_prefix: nil, next_milestone_suffix: nil, number_of_winners: nil, order: nil, referral_coupon_code: nil, referral_description: nil, referred_reward_upfront: nil, referred_value: nil, title: nil, value: nil)
136
149
  # @param id [String]
137
150
  #
138
151
  # @param is_unlimited [Boolean]
@@ -151,6 +164,8 @@ module GrowsurfRuby
151
164
  #
152
165
  # @param image_url [String, nil]
153
166
  #
167
+ # @param is_visible [Boolean] Whether the reward is enabled. When `false` the reward is disabled: hidden from
168
+ #
154
169
  # @param limit [Integer, nil] `-1` represents an unlimited reward in REST responses.
155
170
  #
156
171
  # @param limit_duration [Symbol, GrowsurfRuby::Models::Campaign::Reward::LimitDuration, nil]
@@ -169,7 +184,9 @@ module GrowsurfRuby
169
184
  #
170
185
  # @param referred_reward_upfront [Boolean]
171
186
  #
172
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the referred friend's side of a double-sided reward.
187
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax treatment override for the referred friend's side of a double-sided reward.
188
+ #
189
+ # @param title [String, nil] The reward title (internal label).
173
190
  #
174
191
  # @param value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the reward (the referrer's side of a double-sided reward).
175
192
 
@@ -123,8 +123,8 @@ module GrowsurfRuby
123
123
  api_name: :referredRewardUpfront
124
124
 
125
125
  # @!attribute referred_value
126
- # Tax valuation for the referred friend's side of a double-sided reward.
127
- # Defaults to not tax-reportable (a purchase rebate).
126
+ # Tax treatment override for the referred friend's side of a double-sided reward.
127
+ # Defaults to the program's confirmed default.
128
128
  #
129
129
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
130
130
  optional :referred_value,
@@ -183,7 +183,7 @@ module GrowsurfRuby
183
183
  #
184
184
  # @param referred_reward_upfront [Boolean]
185
185
  #
186
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax valuation for the referred friend's side of a double-sided reward. Defaults
186
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax treatment override for the referred friend's side of a double-sided reward. Defaults
187
187
  #
188
188
  # @param title [String]
189
189
  #
@@ -128,8 +128,8 @@ module GrowsurfRuby
128
128
  api_name: :referredRewardUpfront
129
129
 
130
130
  # @!attribute referred_value
131
- # Tax valuation for the referred friend's side of a double-sided reward.
132
- # Defaults to not tax-reportable (a purchase rebate).
131
+ # Tax treatment override for the referred friend's side of a double-sided reward.
132
+ # Defaults to the program's confirmed default.
133
133
  #
134
134
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
135
135
  optional :referred_value,
@@ -190,7 +190,7 @@ module GrowsurfRuby
190
190
  #
191
191
  # @param referred_reward_upfront [Boolean]
192
192
  #
193
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax valuation for the referred friend's side of a double-sided reward. Defaults
193
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax treatment override for the referred friend's side of a double-sided reward. Defaults
194
194
  #
195
195
  # @param title [String]
196
196
  #
@@ -186,7 +186,7 @@ module GrowsurfRuby
186
186
  api_name: :referredRewardUpfront
187
187
 
188
188
  # @!attribute referred_value
189
- # Tax valuation for the referred friend's side of a double-sided reward.
189
+ # Tax treatment override for the referred friend's side of a double-sided reward.
190
190
  #
191
191
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
192
192
  optional :referred_value,
@@ -237,7 +237,7 @@ module GrowsurfRuby
237
237
  #
238
238
  # @param referred_reward_upfront [Boolean]
239
239
  #
240
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the referred friend's side of a double-sided reward.
240
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax treatment override for the referred friend's side of a double-sided reward.
241
241
  #
242
242
  # @param value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the reward (the referrer's side of a double-sided reward).
243
243
 
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#create_affiliate_invite
6
+ class CampaignCreateAffiliateInviteParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute email
16
+ # Valid email address to invite. Maximum 255 characters.
17
+ #
18
+ # @return [String]
19
+ required :email, String
20
+
21
+ # @!attribute first_name
22
+ # Invitee first name, used in the invite email. Maximum 255 characters.
23
+ #
24
+ # @return [String, nil]
25
+ optional :first_name, String, api_name: :firstName
26
+
27
+ # @!attribute last_name
28
+ # Invitee last name. Maximum 255 characters.
29
+ #
30
+ # @return [String, nil]
31
+ optional :last_name, String, api_name: :lastName
32
+
33
+ # @!method initialize(id:, email:, first_name: nil, last_name: nil, request_options: {})
34
+ # @param id [String]
35
+ #
36
+ # @param email [String] Valid email address to invite. Maximum 255 characters.
37
+ #
38
+ # @param first_name [String] Invitee first name, used in the invite email. Maximum 255 characters.
39
+ #
40
+ # @param last_name [String] Invitee last name. Maximum 255 characters.
41
+ #
42
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_affiliate_applications
6
+ class CampaignListAffiliateApplicationsParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute limit
16
+ # How many applications to return per page (1-100).
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :limit, Integer
20
+
21
+ # @!attribute offset
22
+ # Offset number used to skip through a result set.
23
+ #
24
+ # @return [Integer, nil]
25
+ optional :offset, Integer
26
+
27
+ # @!attribute status
28
+ # Only return applications with this status.
29
+ #
30
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListAffiliateApplicationsParams::Status, nil]
31
+ optional :status, enum: -> { GrowsurfRuby::CampaignListAffiliateApplicationsParams::Status }
32
+
33
+ # @!method initialize(id:, limit: nil, offset: nil, status: nil, request_options: {})
34
+ # @param id [String]
35
+ #
36
+ # @param limit [Integer] How many applications to return per page (1-100).
37
+ #
38
+ # @param offset [Integer] Offset number used to skip through a result set.
39
+ #
40
+ # @param status [Symbol, GrowsurfRuby::Models::CampaignListAffiliateApplicationsParams::Status] Only return applications with this status.
41
+ #
42
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ # Only return applications with this status.
45
+ module Status
46
+ extend GrowsurfRuby::Internal::Type::Enum
47
+
48
+ PENDING = :PENDING
49
+ APPROVED = :APPROVED
50
+ DENIED = :DENIED
51
+
52
+ # @!method self.values
53
+ # @return [Array<Symbol>]
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_affiliate_invites
6
+ class CampaignListAffiliateInvitesParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute limit
16
+ # How many invites to return per page (1-100).
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :limit, Integer
20
+
21
+ # @!attribute offset
22
+ # Offset number used to skip through a result set.
23
+ #
24
+ # @return [Integer, nil]
25
+ optional :offset, Integer
26
+
27
+ # @!attribute status
28
+ # Only return invites with this status.
29
+ #
30
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListAffiliateInvitesParams::Status, nil]
31
+ optional :status, enum: -> { GrowsurfRuby::CampaignListAffiliateInvitesParams::Status }
32
+
33
+ # @!method initialize(id:, limit: nil, offset: nil, status: nil, request_options: {})
34
+ # @param id [String]
35
+ #
36
+ # @param limit [Integer] How many invites to return per page (1-100).
37
+ #
38
+ # @param offset [Integer] Offset number used to skip through a result set.
39
+ #
40
+ # @param status [Symbol, GrowsurfRuby::Models::CampaignListAffiliateInvitesParams::Status] Only return invites with this status.
41
+ #
42
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ # Only return invites with this status.
45
+ module Status
46
+ extend GrowsurfRuby::Internal::Type::Enum
47
+
48
+ PENDING = :PENDING
49
+ ACCEPTED = :ACCEPTED
50
+ EXPIRED = :EXPIRED
51
+ REVOKED = :REVOKED
52
+
53
+ # @!method self.values
54
+ # @return [Array<Symbol>]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -49,6 +49,7 @@ module GrowsurfRuby
49
49
  QUEUED = :QUEUED
50
50
  ISSUED = :ISSUED
51
51
  FAILED = :FAILED
52
+ REVERSED = :REVERSED
52
53
 
53
54
  # @!method self.values
54
55
  # @return [Array<Symbol>]
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#resend_affiliate_invite
6
+ class CampaignResendAffiliateInviteParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute invite_id
16
+ #
17
+ # @return [String]
18
+ required :invite_id, String
19
+
20
+ # @!method initialize(id:, invite_id:, request_options: {})
21
+ # @param id [String]
22
+ # @param invite_id [String]
23
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#retrieve_affiliate_application
6
+ class CampaignRetrieveAffiliateApplicationParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute application_id
16
+ #
17
+ # @return [String]
18
+ required :application_id, String
19
+
20
+ # @!method initialize(id:, application_id:, request_options: {})
21
+ # @param id [String]
22
+ # @param application_id [String]
23
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -26,11 +26,14 @@ module GrowsurfRuby
26
26
  optional :end_date, Integer
27
27
 
28
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.
29
+ # Comma-separated list of optional data to include: `previousPeriod` adds totals for
30
+ # the equal-length window immediately before the requested one; `statusCounts` adds
31
+ # reward (and, for affiliate programs, affiliate/commission/payout) status breakdowns;
32
+ # `rates` adds derived referral rates; `email` adds `sent`, `delivered`, `opened`,
33
+ # `clicked`, `bounced`, `spamComplaints`, and per-email-type metrics. When `email` and
34
+ # an interval are both requested, each `series` item also contains counts for emails
35
+ # sent during that period. Combine `email` with `previousPeriod` to include the same
36
+ # email metrics in both windows.
34
37
  #
35
38
  # @return [String, nil]
36
39
  optional :include, String
@@ -59,7 +62,7 @@ module GrowsurfRuby
59
62
  #
60
63
  # @param end_date [Integer] End date of the analytics timeframe as a Unix timestamp in milliseconds. Require
61
64
  #
62
- # @param include [String] Comma-separated list of optional enrichments (opt-in to keep the default response
65
+ # @param include [String] Comma-separated list of optional data to include: `previousPeriod` adds totals for
63
66
  #
64
67
  # @param interval [Symbol, GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams::Interval] When set to `day`, `week`, or `month`, the response also includes a `series` array
65
68
  #