growsurf-ruby 1.2.1 → 1.4.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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -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 +25 -25
  19. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +1 -0
  20. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +25 -9
  21. data/lib/growsurf_ruby/models/campaign/referral_source.rb +3 -0
  22. data/lib/growsurf_ruby/models/campaign/reward.rb +41 -3
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +26 -4
  24. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +26 -4
  25. data/lib/growsurf_ruby/models/campaign.rb +24 -3
  26. data/lib/growsurf_ruby/models/campaign_create_affiliate_invite_params.rb +45 -0
  27. data/lib/growsurf_ruby/models/campaign_list_affiliate_applications_params.rb +57 -0
  28. data/lib/growsurf_ruby/models/campaign_list_affiliate_invites_params.rb +58 -0
  29. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +1 -0
  30. data/lib/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rb +26 -0
  31. data/lib/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rb +26 -0
  32. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +9 -6
  33. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +59 -11
  34. data/lib/growsurf_ruby/models/campaign_review_affiliate_application_params.rb +94 -0
  35. data/lib/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rb +26 -0
  36. data/lib/growsurf_ruby/models/commission_structure.rb +16 -3
  37. data/lib/growsurf_ruby/models/email_analytics.rb +41 -0
  38. data/lib/growsurf_ruby/models/participant_commission_list.rb +19 -1
  39. data/lib/growsurf_ruby/models/participant_payout_list.rb +8 -1
  40. data/lib/growsurf_ruby/models/reward_tax_valuation.rb +24 -9
  41. data/lib/growsurf_ruby/models.rb +19 -0
  42. data/lib/growsurf_ruby/resources/campaign/design.rb +14 -12
  43. data/lib/growsurf_ruby/resources/campaign/options.rb +7 -7
  44. data/lib/growsurf_ruby/resources/campaign/participant.rb +101 -14
  45. data/lib/growsurf_ruby/resources/campaign/rewards.rb +8 -4
  46. data/lib/growsurf_ruby/resources/campaign.rb +231 -4
  47. data/lib/growsurf_ruby/version.rb +1 -1
  48. data/lib/growsurf_ruby.rb +16 -0
  49. data/rbi/growsurf_ruby/models/affiliate_application.rbi +431 -0
  50. data/rbi/growsurf_ruby/models/affiliate_application_list_response.rbi +70 -0
  51. data/rbi/growsurf_ruby/models/affiliate_invite.rbi +167 -0
  52. data/rbi/growsurf_ruby/models/affiliate_invite_list_response.rbi +70 -0
  53. data/rbi/growsurf_ruby/models/campaign/create.rbi +17 -0
  54. data/rbi/growsurf_ruby/models/campaign/participant.rbi +169 -3
  55. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +3 -5
  56. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +35 -20
  57. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +3 -1
  58. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbi +48 -0
  59. data/rbi/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbi +243 -0
  60. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +5 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbi +100 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbi +118 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +38 -62
  64. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +5 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +67 -11
  66. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +9 -0
  67. data/rbi/growsurf_ruby/models/campaign/reward.rbi +78 -2
  68. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +68 -4
  69. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +68 -4
  70. data/rbi/growsurf_ruby/models/campaign.rbi +48 -2
  71. data/rbi/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbi +74 -0
  72. data/rbi/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbi +130 -0
  73. data/rbi/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbi +135 -0
  74. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +5 -0
  75. data/rbi/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbi +46 -0
  76. data/rbi/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbi +46 -0
  77. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +15 -10
  78. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +68 -18
  79. data/rbi/growsurf_ruby/models/campaign_review_affiliate_application_params.rbi +167 -0
  80. data/rbi/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbi +46 -0
  81. data/rbi/growsurf_ruby/models/commission_structure.rbi +34 -3
  82. data/rbi/growsurf_ruby/models/email_analytics.rbi +200 -0
  83. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +48 -0
  84. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +17 -3
  85. data/rbi/growsurf_ruby/models/reward_tax_valuation.rbi +66 -9
  86. data/rbi/growsurf_ruby/models.rbi +25 -0
  87. data/rbi/growsurf_ruby/resources/campaign/design.rbi +9 -8
  88. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -7
  89. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +99 -18
  90. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +18 -4
  91. data/rbi/growsurf_ruby/resources/campaign.rbi +188 -10
  92. data/sig/growsurf_ruby/models/affiliate_application.rbs +192 -0
  93. data/sig/growsurf_ruby/models/affiliate_application_list_response.rbs +39 -0
  94. data/sig/growsurf_ruby/models/affiliate_invite.rbs +92 -0
  95. data/sig/growsurf_ruby/models/affiliate_invite_list_response.rbs +39 -0
  96. data/sig/growsurf_ruby/models/campaign/create.rbs +7 -0
  97. data/sig/growsurf_ruby/models/campaign/participant.rbs +62 -2
  98. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +2 -11
  99. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +12 -12
  100. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_params.rbs +30 -0
  101. data/sig/growsurf_ruby/models/campaign/participant_get_payout_destination_response.rbs +107 -0
  102. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +2 -1
  103. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_params.rbs +49 -0
  104. data/sig/growsurf_ruby/models/campaign/participant_request_payout_destination_confirmation_response.rbs +57 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +5 -13
  106. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +2 -1
  107. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +21 -7
  108. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +4 -1
  109. data/sig/growsurf_ruby/models/campaign/reward.rbs +28 -0
  110. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +20 -0
  111. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +20 -0
  112. data/sig/growsurf_ruby/models/campaign.rbs +16 -0
  113. data/sig/growsurf_ruby/models/campaign_create_affiliate_invite_params.rbs +40 -0
  114. data/sig/growsurf_ruby/models/campaign_list_affiliate_applications_params.rbs +61 -0
  115. data/sig/growsurf_ruby/models/campaign_list_affiliate_invites_params.rbs +62 -0
  116. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +2 -1
  117. data/sig/growsurf_ruby/models/campaign_resend_affiliate_invite_params.rbs +28 -0
  118. data/sig/growsurf_ruby/models/campaign_retrieve_affiliate_application_params.rbs +28 -0
  119. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +36 -16
  120. data/sig/growsurf_ruby/models/campaign_review_affiliate_application_params.rbs +79 -0
  121. data/sig/growsurf_ruby/models/campaign_revoke_affiliate_invite_params.rbs +28 -0
  122. data/sig/growsurf_ruby/models/commission_structure.rbs +16 -4
  123. data/sig/growsurf_ruby/models/email_analytics.rbs +92 -0
  124. data/sig/growsurf_ruby/models/participant_commission_list.rbs +16 -0
  125. data/sig/growsurf_ruby/models/participant_payout_list.rbs +12 -4
  126. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +26 -4
  127. data/sig/growsurf_ruby/models.rbs +18 -0
  128. data/sig/growsurf_ruby/resources/campaign/participant.rbs +16 -2
  129. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +2 -0
  130. data/sig/growsurf_ruby/resources/campaign.rbs +53 -0
  131. 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
@@ -19,33 +19,42 @@ module GrowsurfRuby
19
19
  required :participant_id_or_email, String
20
20
 
21
21
  # @!attribute days
22
- # Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
22
+ # Last number of days for optional `series` and `email` analytics. Defaults to
23
+ # 365. Maximum 1825. Does not filter the top-level all-time totals.
23
24
  #
24
25
  # @return [Integer, nil]
25
26
  optional :days, Integer
26
27
 
27
28
  # @!attribute end_date
28
- # End date of the analytics timeframe as a Unix timestamp in milliseconds.
29
- # Required if `days` is not set.
29
+ # End of a custom `series` and `email` analytics window as a Unix timestamp in
30
+ # milliseconds. Set it together with `startDate`. Does not filter the top-level
31
+ # all-time totals.
30
32
  #
31
33
  # @return [Integer, nil]
32
34
  optional :end_date, Integer
33
35
 
34
36
  # @!attribute include
35
- # Set to `series` to also return this participant's own activity per period.
37
+ # Comma-separated optional data. `series` returns this participant's own activity
38
+ # per period; `email` returns `sent`, `delivered`, `opened`, `clicked`, `bounced`,
39
+ # `spamComplaints`, and per-email-type metrics attributed to the participant for
40
+ # the requested analytics window (including invitations they sent). Request both
41
+ # in either order to add email counts to every series item for emails sent during
42
+ # that period. Only documented tokens are accepted; an unknown token returns `400`.
36
43
  #
37
- # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Include, nil]
38
- optional :include, enum: -> { GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Include }
44
+ # @return [String, nil]
45
+ optional :include, String
39
46
 
40
47
  # @!attribute interval
41
- # Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
48
+ # Bucket size for the `series` (only used when `include` contains `series`).
49
+ # Defaults to `day`.
42
50
  #
43
51
  # @return [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval, nil]
44
52
  optional :interval, enum: -> { GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams::Interval }
45
53
 
46
54
  # @!attribute start_date
47
- # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
48
- # Required if `days` is not set.
55
+ # Start of a custom `series` and `email` analytics window as a Unix timestamp in
56
+ # milliseconds. Set it together with `endDate`. Does not filter the top-level
57
+ # all-time totals.
49
58
  #
50
59
  # @return [Integer, nil]
51
60
  optional :start_date, Integer
@@ -59,29 +68,20 @@ module GrowsurfRuby
59
68
  #
60
69
  # @param participant_id_or_email [String]
61
70
  #
62
- # @param days [Integer] Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
71
+ # @param days [Integer] Last number of days for optional `series` and `email` analytics. Defaults to 365. Maxi
63
72
  #
64
- # @param end_date [Integer] End date of the analytics timeframe as a Unix timestamp in milliseconds. Require
73
+ # @param end_date [Integer] End of a custom `series` and `email` analytics window as a Unix timestamp in milli
65
74
  #
66
- # @param include [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Include] Set to `series` to also return this participant's own activity per period.
75
+ # @param include [String] Comma-separated optional data. `series` returns this participant's own activity
67
76
  #
68
- # @param interval [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval] Bucket size for the `series` (only used with `include=series`). Defaults to `day`.
77
+ # @param interval [Symbol, GrowsurfRuby::Models::Campaign::ParticipantRetrieveAnalyticsParams::Interval] Bucket size for the `series` (only used when `include` contains `series`).
69
78
  #
70
- # @param start_date [Integer] Start date of the analytics timeframe as a Unix timestamp in milliseconds. Requi
79
+ # @param start_date [Integer] Start of a custom `series` and `email` analytics window as a Unix timestamp in mi
71
80
  #
72
81
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
73
82
 
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`.
83
+ # Bucket size for the `series` (only used when `include` contains `series`).
84
+ # Defaults to `day`.
85
85
  module Interval
86
86
  extend GrowsurfRuby::Internal::Type::Enum
87
87
 
@@ -93,6 +93,7 @@ module GrowsurfRuby
93
93
 
94
94
  PENDING = :PENDING
95
95
  FULFILLED = :FULFILLED
96
+ CANCELLED = :CANCELLED
96
97
 
97
98
  # @!method self.values
98
99
  # @return [Array<Symbol>]
@@ -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>]
@@ -52,11 +52,26 @@ module GrowsurfRuby
52
52
  # @return [String, nil]
53
53
  optional :description, String, nil?: true
54
54
 
55
+ # @!attribute event
56
+ # The referral event that earns this Campaign Reward. Present only for
57
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
58
+ # Rewards return `CONVERSION`.
59
+ #
60
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::Reward::Event, nil]
61
+ optional :event, enum: -> { GrowsurfRuby::Campaign::Reward::Event }, nil?: true
62
+
55
63
  # @!attribute image_url
56
64
  #
57
65
  # @return [String, nil]
58
66
  optional :image_url, String, api_name: :imageUrl, nil?: true
59
67
 
68
+ # @!attribute is_visible
69
+ # Whether the reward is enabled. When `false` the reward is disabled: hidden from
70
+ # participants and no longer awarded, including those who already earned it.
71
+ #
72
+ # @return [Boolean, nil]
73
+ optional :is_visible, GrowsurfRuby::Internal::Type::Boolean, api_name: :isVisible
74
+
60
75
  # @!attribute limit
61
76
  # `-1` represents an unlimited reward in REST responses.
62
77
  #
@@ -118,7 +133,7 @@ module GrowsurfRuby
118
133
  api_name: :referredRewardUpfront
119
134
 
120
135
  # @!attribute referred_value
121
- # Tax valuation for the referred friend's side of a double-sided reward.
136
+ # Tax treatment override for the referred friend's side of a double-sided reward.
122
137
  #
123
138
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
124
139
  optional :referred_value,
@@ -126,13 +141,19 @@ module GrowsurfRuby
126
141
  api_name: :referredValue,
127
142
  nil?: true
128
143
 
144
+ # @!attribute title
145
+ # The reward title (internal label).
146
+ #
147
+ # @return [String, nil]
148
+ optional :title, String, nil?: true
149
+
129
150
  # @!attribute value
130
151
  # Tax valuation for the reward (the referrer's side of a double-sided reward).
131
152
  #
132
153
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
133
154
  optional :value, -> { GrowsurfRuby::RewardTaxValuation }, nil?: true
134
155
 
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)
156
+ # @!method initialize(id:, is_unlimited:, metadata:, type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, event: 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
157
  # @param id [String]
137
158
  #
138
159
  # @param is_unlimited [Boolean]
@@ -149,8 +170,12 @@ module GrowsurfRuby
149
170
  #
150
171
  # @param description [String, nil]
151
172
  #
173
+ # @param event [Symbol, GrowsurfRuby::Models::Campaign::Reward::Event, nil] The referral event that earns this Campaign Reward.
174
+ #
152
175
  # @param image_url [String, nil]
153
176
  #
177
+ # @param is_visible [Boolean] Whether the reward is enabled. When `false` the reward is disabled: hidden from
178
+ #
154
179
  # @param limit [Integer, nil] `-1` represents an unlimited reward in REST responses.
155
180
  #
156
181
  # @param limit_duration [Symbol, GrowsurfRuby::Models::Campaign::Reward::LimitDuration, nil]
@@ -169,7 +194,9 @@ module GrowsurfRuby
169
194
  #
170
195
  # @param referred_reward_upfront [Boolean]
171
196
  #
172
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the referred friend's side of a double-sided reward.
197
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax treatment override for the referred friend's side of a double-sided reward.
198
+ #
199
+ # @param title [String, nil] The reward title (internal label).
173
200
  #
174
201
  # @param value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the reward (the referrer's side of a double-sided reward).
175
202
 
@@ -187,6 +214,17 @@ module GrowsurfRuby
187
214
  # @return [Array<Symbol>]
188
215
  end
189
216
 
217
+ # @see GrowsurfRuby::Models::Campaign::Reward#event
218
+ module Event
219
+ extend GrowsurfRuby::Internal::Type::Enum
220
+
221
+ LEAD = :LEAD
222
+ CONVERSION = :CONVERSION
223
+
224
+ # @!method self.values
225
+ # @return [Array<Symbol>]
226
+ end
227
+
190
228
  # @see GrowsurfRuby::Models::Campaign::Reward#limit_duration
191
229
  module LimitDuration
192
230
  extend GrowsurfRuby::Internal::Type::Enum
@@ -38,6 +38,15 @@ module GrowsurfRuby
38
38
  # @return [String, nil]
39
39
  optional :description, String
40
40
 
41
+ # @!attribute event
42
+ # The referral event that earns this Campaign Reward. Use `LEAD` or
43
+ # `CONVERSION`. `LEAD` requires the program installation's `referralTrigger` to
44
+ # be `CUSTOM`. This field applies only to `SINGLE_SIDED`, `DOUBLE_SIDED`, and
45
+ # `MILESTONE` rewards. When omitted, it defaults to `CONVERSION`.
46
+ #
47
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::RewardCreateParams::Event, nil]
48
+ optional :event, enum: -> { GrowsurfRuby::Campaign::RewardCreateParams::Event }
49
+
41
50
  # @!attribute image_url
42
51
  #
43
52
  # @return [String, nil]
@@ -123,8 +132,8 @@ module GrowsurfRuby
123
132
  api_name: :referredRewardUpfront
124
133
 
125
134
  # @!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).
135
+ # Tax treatment override for the referred friend's side of a double-sided reward.
136
+ # Defaults to the program's confirmed default.
128
137
  #
129
138
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
130
139
  optional :referred_value,
@@ -143,7 +152,7 @@ module GrowsurfRuby
143
152
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
144
153
  optional :value, -> { GrowsurfRuby::RewardTaxValuation }
145
154
 
146
- # @!method initialize(type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: 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, request_options: {})
155
+ # @!method initialize(type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, event: nil, image_url: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: 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, request_options: {})
147
156
  # Some parameter documentations has been truncated, see
148
157
  # {GrowsurfRuby::Models::Campaign::RewardCreateParams} for more details.
149
158
  #
@@ -157,6 +166,8 @@ module GrowsurfRuby
157
166
  #
158
167
  # @param description [String]
159
168
  #
169
+ # @param event [Symbol, GrowsurfRuby::Models::Campaign::RewardCreateParams::Event] The referral event that earns this Campaign Reward.
170
+ #
160
171
  # @param image_url [String]
161
172
  #
162
173
  # @param is_unlimited [Boolean] Whether the reward can be earned an unlimited number of times. Defaults to `true
@@ -183,7 +194,7 @@ module GrowsurfRuby
183
194
  #
184
195
  # @param referred_reward_upfront [Boolean]
185
196
  #
186
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax valuation for the referred friend's side of a double-sided reward. Defaults
197
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax treatment override for the referred friend's side of a double-sided reward. Defaults
187
198
  #
188
199
  # @param title [String]
189
200
  #
@@ -205,6 +216,17 @@ module GrowsurfRuby
205
216
  # @return [Array<Symbol>]
206
217
  end
207
218
 
219
+ # @see GrowsurfRuby::Models::Campaign::RewardCreateParams#event
220
+ module Event
221
+ extend GrowsurfRuby::Internal::Type::Enum
222
+
223
+ LEAD = :LEAD
224
+ CONVERSION = :CONVERSION
225
+
226
+ # @!method self.values
227
+ # @return [Array<Symbol>]
228
+ end
229
+
208
230
  # @see GrowsurfRuby::Models::Campaign::RewardCreateParams#limit_duration
209
231
  module LimitDuration
210
232
  extend GrowsurfRuby::Internal::Type::Enum
@@ -43,6 +43,15 @@ module GrowsurfRuby
43
43
  # @return [String, nil]
44
44
  optional :description, String
45
45
 
46
+ # @!attribute event
47
+ # The referral event that earns this Campaign Reward. Use `LEAD` or
48
+ # `CONVERSION`. `LEAD` requires the program installation's `referralTrigger` to
49
+ # be `CUSTOM`. This field applies only to `SINGLE_SIDED`, `DOUBLE_SIDED`, and
50
+ # `MILESTONE` rewards. When omitted, the stored event is preserved.
51
+ #
52
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event, nil]
53
+ optional :event, enum: -> { GrowsurfRuby::Campaign::RewardUpdateParams::Event }
54
+
46
55
  # @!attribute image_url
47
56
  #
48
57
  # @return [String, nil]
@@ -128,8 +137,8 @@ module GrowsurfRuby
128
137
  api_name: :referredRewardUpfront
129
138
 
130
139
  # @!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).
140
+ # Tax treatment override for the referred friend's side of a double-sided reward.
141
+ # Defaults to the program's confirmed default.
133
142
  #
134
143
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
135
144
  optional :referred_value,
@@ -148,7 +157,7 @@ module GrowsurfRuby
148
157
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
149
158
  optional :value, -> { GrowsurfRuby::RewardTaxValuation }
150
159
 
151
- # @!method initialize(id:, campaign_reward_id:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, image_url: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: 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, request_options: {})
160
+ # @!method initialize(id:, campaign_reward_id:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, event: nil, image_url: nil, is_unlimited: nil, is_visible: nil, limit: nil, limit_duration: nil, metadata: 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, request_options: {})
152
161
  # Some parameter documentations has been truncated, see
153
162
  # {GrowsurfRuby::Models::Campaign::RewardUpdateParams} for more details.
154
163
  #
@@ -164,6 +173,8 @@ module GrowsurfRuby
164
173
  #
165
174
  # @param description [String]
166
175
  #
176
+ # @param event [Symbol, GrowsurfRuby::Models::Campaign::RewardUpdateParams::Event] The referral event that earns this Campaign Reward.
177
+ #
167
178
  # @param image_url [String]
168
179
  #
169
180
  # @param is_unlimited [Boolean] Whether the reward can be earned an unlimited number of times. Defaults to `true
@@ -190,7 +201,7 @@ module GrowsurfRuby
190
201
  #
191
202
  # @param referred_reward_upfront [Boolean]
192
203
  #
193
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax valuation for the referred friend's side of a double-sided reward. Defaults
204
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation] Tax treatment override for the referred friend's side of a double-sided reward. Defaults
194
205
  #
195
206
  # @param title [String]
196
207
  #
@@ -198,6 +209,17 @@ module GrowsurfRuby
198
209
  #
199
210
  # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
200
211
 
212
+ # @see GrowsurfRuby::Models::Campaign::RewardUpdateParams#event
213
+ module Event
214
+ extend GrowsurfRuby::Internal::Type::Enum
215
+
216
+ LEAD = :LEAD
217
+ CONVERSION = :CONVERSION
218
+
219
+ # @!method self.values
220
+ # @return [Array<Symbol>]
221
+ end
222
+
201
223
  # @see GrowsurfRuby::Models::Campaign::RewardUpdateParams#limit_duration
202
224
  module LimitDuration
203
225
  extend GrowsurfRuby::Internal::Type::Enum
@@ -120,6 +120,14 @@ module GrowsurfRuby
120
120
  # @return [String, nil]
121
121
  optional :description, String, nil?: true
122
122
 
123
+ # @!attribute event
124
+ # The referral event that earns this Campaign Reward. Present only for
125
+ # `SINGLE_SIDED`, `DOUBLE_SIDED`, and `MILESTONE` rewards. Legacy Campaign
126
+ # Rewards return `CONVERSION`.
127
+ #
128
+ # @return [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::Event, nil]
129
+ optional :event, enum: -> { GrowsurfRuby::CampaignAPI::Reward::Event }, nil?: true
130
+
123
131
  # @!attribute image_url
124
132
  #
125
133
  # @return [String, nil]
@@ -186,7 +194,7 @@ module GrowsurfRuby
186
194
  api_name: :referredRewardUpfront
187
195
 
188
196
  # @!attribute referred_value
189
- # Tax valuation for the referred friend's side of a double-sided reward.
197
+ # Tax treatment override for the referred friend's side of a double-sided reward.
190
198
  #
191
199
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
192
200
  optional :referred_value,
@@ -200,7 +208,7 @@ module GrowsurfRuby
200
208
  # @return [GrowsurfRuby::Models::RewardTaxValuation, nil]
201
209
  optional :value, -> { GrowsurfRuby::RewardTaxValuation }, nil?: true
202
210
 
203
- # @!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)
211
+ # @!method initialize(id:, is_unlimited:, metadata:, type:, commission_structure: nil, conversions_required: nil, coupon_code: nil, description: nil, event: 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)
204
212
  # @param id [String]
205
213
  #
206
214
  # @param is_unlimited [Boolean]
@@ -217,6 +225,8 @@ module GrowsurfRuby
217
225
  #
218
226
  # @param description [String, nil]
219
227
  #
228
+ # @param event [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::Event, nil] The referral event that earns this Campaign Reward.
229
+ #
220
230
  # @param image_url [String, nil]
221
231
  #
222
232
  # @param limit [Integer, nil] `-1` represents an unlimited reward in REST responses.
@@ -237,7 +247,7 @@ module GrowsurfRuby
237
247
  #
238
248
  # @param referred_reward_upfront [Boolean]
239
249
  #
240
- # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the referred friend's side of a double-sided reward.
250
+ # @param referred_value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax treatment override for the referred friend's side of a double-sided reward.
241
251
  #
242
252
  # @param value [GrowsurfRuby::Models::RewardTaxValuation, nil] Tax valuation for the reward (the referrer's side of a double-sided reward).
243
253
 
@@ -255,6 +265,17 @@ module GrowsurfRuby
255
265
  # @return [Array<Symbol>]
256
266
  end
257
267
 
268
+ # @see GrowsurfRuby::Models::CampaignAPI::Reward#event
269
+ module Event
270
+ extend GrowsurfRuby::Internal::Type::Enum
271
+
272
+ LEAD = :LEAD
273
+ CONVERSION = :CONVERSION
274
+
275
+ # @!method self.values
276
+ # @return [Array<Symbol>]
277
+ end
278
+
258
279
  # @see GrowsurfRuby::Models::CampaignAPI::Reward#limit_duration
259
280
  module LimitDuration
260
281
  extend GrowsurfRuby::Internal::Type::Enum
@@ -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