growsurf-ruby 0.0.2

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 (224) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +11 -0
  4. data/README.md +234 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/growsurf_ruby/client.rb +90 -0
  7. data/lib/growsurf_ruby/errors.rb +228 -0
  8. data/lib/growsurf_ruby/file_part.rb +58 -0
  9. data/lib/growsurf_ruby/internal/transport/base_client.rb +573 -0
  10. data/lib/growsurf_ruby/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/growsurf_ruby/internal/type/array_of.rb +168 -0
  12. data/lib/growsurf_ruby/internal/type/base_model.rb +531 -0
  13. data/lib/growsurf_ruby/internal/type/base_page.rb +55 -0
  14. data/lib/growsurf_ruby/internal/type/boolean.rb +77 -0
  15. data/lib/growsurf_ruby/internal/type/converter.rb +327 -0
  16. data/lib/growsurf_ruby/internal/type/enum.rb +156 -0
  17. data/lib/growsurf_ruby/internal/type/file_input.rb +111 -0
  18. data/lib/growsurf_ruby/internal/type/hash_of.rb +188 -0
  19. data/lib/growsurf_ruby/internal/type/request_parameters.rb +42 -0
  20. data/lib/growsurf_ruby/internal/type/union.rb +254 -0
  21. data/lib/growsurf_ruby/internal/type/unknown.rb +81 -0
  22. data/lib/growsurf_ruby/internal/util.rb +966 -0
  23. data/lib/growsurf_ruby/internal.rb +20 -0
  24. data/lib/growsurf_ruby/models/campaign/commission_approve_params.rb +28 -0
  25. data/lib/growsurf_ruby/models/campaign/commission_approve_response.rb +18 -0
  26. data/lib/growsurf_ruby/models/campaign/commission_delete_params.rb +28 -0
  27. data/lib/growsurf_ruby/models/campaign/commission_delete_response.rb +18 -0
  28. data/lib/growsurf_ruby/models/campaign/fraud_risk_level.rb +18 -0
  29. data/lib/growsurf_ruby/models/campaign/participant.rb +495 -0
  30. data/lib/growsurf_ruby/models/campaign/participant_add_params.rb +93 -0
  31. data/lib/growsurf_ruby/models/campaign/participant_delete_params.rb +28 -0
  32. data/lib/growsurf_ruby/models/campaign/participant_delete_response.rb +18 -0
  33. data/lib/growsurf_ruby/models/campaign/participant_list_commissions_params.rb +68 -0
  34. data/lib/growsurf_ruby/models/campaign/participant_list_payouts_params.rb +67 -0
  35. data/lib/growsurf_ruby/models/campaign/participant_list_referrals_params.rb +117 -0
  36. data/lib/growsurf_ruby/models/campaign/participant_list_rewards_params.rb +46 -0
  37. data/lib/growsurf_ruby/models/campaign/participant_list_rewards_response.rb +30 -0
  38. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_params.rb +170 -0
  39. data/lib/growsurf_ruby/models/campaign/participant_record_transaction_response.rb +91 -0
  40. data/lib/growsurf_ruby/models/campaign/participant_retrieve_params.rb +28 -0
  41. data/lib/growsurf_ruby/models/campaign/participant_reward.rb +103 -0
  42. data/lib/growsurf_ruby/models/campaign/participant_send_invites_params.rb +46 -0
  43. data/lib/growsurf_ruby/models/campaign/participant_send_invites_response.rb +30 -0
  44. data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_params.rb +28 -0
  45. data/lib/growsurf_ruby/models/campaign/participant_trigger_referral_response.rb +24 -0
  46. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +100 -0
  47. data/lib/growsurf_ruby/models/campaign/referral_source.rb +17 -0
  48. data/lib/growsurf_ruby/models/campaign/referral_status.rb +19 -0
  49. data/lib/growsurf_ruby/models/campaign/reward_approve_params.rb +38 -0
  50. data/lib/growsurf_ruby/models/campaign/reward_approve_response.rb +18 -0
  51. data/lib/growsurf_ruby/models/campaign/reward_delete_params.rb +28 -0
  52. data/lib/growsurf_ruby/models/campaign/reward_delete_response.rb +18 -0
  53. data/lib/growsurf_ruby/models/campaign/reward_fulfill_params.rb +28 -0
  54. data/lib/growsurf_ruby/models/campaign/reward_fulfill_response.rb +18 -0
  55. data/lib/growsurf_ruby/models/campaign.rb +257 -0
  56. data/lib/growsurf_ruby/models/campaign_list_commissions_params.rb +59 -0
  57. data/lib/growsurf_ruby/models/campaign_list_leaderboard_params.rb +71 -0
  58. data/lib/growsurf_ruby/models/campaign_list_params.rb +14 -0
  59. data/lib/growsurf_ruby/models/campaign_list_participants_params.rb +37 -0
  60. data/lib/growsurf_ruby/models/campaign_list_payouts_params.rb +58 -0
  61. data/lib/growsurf_ruby/models/campaign_list_referrals_params.rb +108 -0
  62. data/lib/growsurf_ruby/models/campaign_list_response.rb +16 -0
  63. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +50 -0
  64. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +215 -0
  65. data/lib/growsurf_ruby/models/campaign_retrieve_params.rb +20 -0
  66. data/lib/growsurf_ruby/models/commission_structure.rb +137 -0
  67. data/lib/growsurf_ruby/models/participant_commission_list.rb +170 -0
  68. data/lib/growsurf_ruby/models/participant_list.rb +29 -0
  69. data/lib/growsurf_ruby/models/participant_payout_list.rb +136 -0
  70. data/lib/growsurf_ruby/models/referral_list.rb +96 -0
  71. data/lib/growsurf_ruby/models.rb +71 -0
  72. data/lib/growsurf_ruby/request_options.rb +77 -0
  73. data/lib/growsurf_ruby/resources/campaign/commission.rb +71 -0
  74. data/lib/growsurf_ruby/resources/campaign/participant.rb +446 -0
  75. data/lib/growsurf_ruby/resources/campaign/reward.rb +102 -0
  76. data/lib/growsurf_ruby/resources/campaign.rb +266 -0
  77. data/lib/growsurf_ruby/version.rb +5 -0
  78. data/lib/growsurf_ruby.rb +106 -0
  79. data/manifest.yaml +17 -0
  80. data/rbi/growsurf_ruby/client.rbi +51 -0
  81. data/rbi/growsurf_ruby/errors.rbi +205 -0
  82. data/rbi/growsurf_ruby/file_part.rbi +37 -0
  83. data/rbi/growsurf_ruby/internal/transport/base_client.rbi +305 -0
  84. data/rbi/growsurf_ruby/internal/transport/pooled_net_requester.rbi +84 -0
  85. data/rbi/growsurf_ruby/internal/type/array_of.rbi +104 -0
  86. data/rbi/growsurf_ruby/internal/type/base_model.rbi +314 -0
  87. data/rbi/growsurf_ruby/internal/type/base_page.rbi +43 -0
  88. data/rbi/growsurf_ruby/internal/type/boolean.rbi +58 -0
  89. data/rbi/growsurf_ruby/internal/type/converter.rbi +222 -0
  90. data/rbi/growsurf_ruby/internal/type/enum.rbi +82 -0
  91. data/rbi/growsurf_ruby/internal/type/file_input.rbi +59 -0
  92. data/rbi/growsurf_ruby/internal/type/hash_of.rbi +104 -0
  93. data/rbi/growsurf_ruby/internal/type/request_parameters.rbi +31 -0
  94. data/rbi/growsurf_ruby/internal/type/union.rbi +128 -0
  95. data/rbi/growsurf_ruby/internal/type/unknown.rbi +58 -0
  96. data/rbi/growsurf_ruby/internal/util.rbi +515 -0
  97. data/rbi/growsurf_ruby/internal.rbi +18 -0
  98. data/rbi/growsurf_ruby/models/campaign/commission_approve_params.rbi +48 -0
  99. data/rbi/growsurf_ruby/models/campaign/commission_approve_response.rbi +28 -0
  100. data/rbi/growsurf_ruby/models/campaign/commission_delete_params.rbi +48 -0
  101. data/rbi/growsurf_ruby/models/campaign/commission_delete_response.rbi +28 -0
  102. data/rbi/growsurf_ruby/models/campaign/fraud_risk_level.rbi +29 -0
  103. data/rbi/growsurf_ruby/models/campaign/participant.rbi +667 -0
  104. data/rbi/growsurf_ruby/models/campaign/participant_add_params.rbi +166 -0
  105. data/rbi/growsurf_ruby/models/campaign/participant_delete_params.rbi +48 -0
  106. data/rbi/growsurf_ruby/models/campaign/participant_delete_response.rbi +28 -0
  107. data/rbi/growsurf_ruby/models/campaign/participant_list_commissions_params.rbi +148 -0
  108. data/rbi/growsurf_ruby/models/campaign/participant_list_payouts_params.rbi +143 -0
  109. data/rbi/growsurf_ruby/models/campaign/participant_list_referrals_params.rbi +228 -0
  110. data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_params.rbi +74 -0
  111. data/rbi/growsurf_ruby/models/campaign/participant_list_rewards_response.rbi +48 -0
  112. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_params.rbi +255 -0
  113. data/rbi/growsurf_ruby/models/campaign/participant_record_transaction_response.rbi +138 -0
  114. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_params.rbi +48 -0
  115. data/rbi/growsurf_ruby/models/campaign/participant_reward.rbi +185 -0
  116. data/rbi/growsurf_ruby/models/campaign/participant_send_invites_params.rbi +70 -0
  117. data/rbi/growsurf_ruby/models/campaign/participant_send_invites_response.rbi +44 -0
  118. data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbi +48 -0
  119. data/rbi/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbi +36 -0
  120. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +178 -0
  121. data/rbi/growsurf_ruby/models/campaign/referral_source.rbi +31 -0
  122. data/rbi/growsurf_ruby/models/campaign/referral_status.rbi +44 -0
  123. data/rbi/growsurf_ruby/models/campaign/reward_approve_params.rbi +63 -0
  124. data/rbi/growsurf_ruby/models/campaign/reward_approve_response.rbi +28 -0
  125. data/rbi/growsurf_ruby/models/campaign/reward_delete_params.rbi +48 -0
  126. data/rbi/growsurf_ruby/models/campaign/reward_delete_response.rbi +28 -0
  127. data/rbi/growsurf_ruby/models/campaign/reward_fulfill_params.rbi +48 -0
  128. data/rbi/growsurf_ruby/models/campaign/reward_fulfill_response.rbi +28 -0
  129. data/rbi/growsurf_ruby/models/campaign.rbi +376 -0
  130. data/rbi/growsurf_ruby/models/campaign_list_commissions_params.rbi +135 -0
  131. data/rbi/growsurf_ruby/models/campaign_list_leaderboard_params.rbi +171 -0
  132. data/rbi/growsurf_ruby/models/campaign_list_params.rbi +32 -0
  133. data/rbi/growsurf_ruby/models/campaign_list_participants_params.rbi +66 -0
  134. data/rbi/growsurf_ruby/models/campaign_list_payouts_params.rbi +127 -0
  135. data/rbi/growsurf_ruby/models/campaign_list_referrals_params.rbi +213 -0
  136. data/rbi/growsurf_ruby/models/campaign_list_response.rbi +32 -0
  137. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +81 -0
  138. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +320 -0
  139. data/rbi/growsurf_ruby/models/campaign_retrieve_params.rbi +38 -0
  140. data/rbi/growsurf_ruby/models/commission_structure.rbi +174 -0
  141. data/rbi/growsurf_ruby/models/participant_commission_list.rbi +269 -0
  142. data/rbi/growsurf_ruby/models/participant_list.rbi +44 -0
  143. data/rbi/growsurf_ruby/models/participant_payout_list.rbi +219 -0
  144. data/rbi/growsurf_ruby/models/referral_list.rbi +129 -0
  145. data/rbi/growsurf_ruby/models.rbi +38 -0
  146. data/rbi/growsurf_ruby/request_options.rbi +59 -0
  147. data/rbi/growsurf_ruby/resources/campaign/commission.rbi +49 -0
  148. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +385 -0
  149. data/rbi/growsurf_ruby/resources/campaign/reward.rbi +70 -0
  150. data/rbi/growsurf_ruby/resources/campaign.rbi +205 -0
  151. data/rbi/growsurf_ruby/version.rbi +5 -0
  152. data/sig/growsurf_ruby/client.rbs +26 -0
  153. data/sig/growsurf_ruby/errors.rbs +117 -0
  154. data/sig/growsurf_ruby/file_part.rbs +21 -0
  155. data/sig/growsurf_ruby/internal/transport/base_client.rbs +133 -0
  156. data/sig/growsurf_ruby/internal/transport/pooled_net_requester.rbs +48 -0
  157. data/sig/growsurf_ruby/internal/type/array_of.rbs +48 -0
  158. data/sig/growsurf_ruby/internal/type/base_model.rbs +104 -0
  159. data/sig/growsurf_ruby/internal/type/base_page.rbs +24 -0
  160. data/sig/growsurf_ruby/internal/type/boolean.rbs +26 -0
  161. data/sig/growsurf_ruby/internal/type/converter.rbs +79 -0
  162. data/sig/growsurf_ruby/internal/type/enum.rbs +32 -0
  163. data/sig/growsurf_ruby/internal/type/file_input.rbs +25 -0
  164. data/sig/growsurf_ruby/internal/type/hash_of.rbs +48 -0
  165. data/sig/growsurf_ruby/internal/type/request_parameters.rbs +19 -0
  166. data/sig/growsurf_ruby/internal/type/union.rbs +52 -0
  167. data/sig/growsurf_ruby/internal/type/unknown.rbs +26 -0
  168. data/sig/growsurf_ruby/internal/util.rbs +199 -0
  169. data/sig/growsurf_ruby/internal.rbs +9 -0
  170. data/sig/growsurf_ruby/models/campaign/commission_approve_params.rbs +30 -0
  171. data/sig/growsurf_ruby/models/campaign/commission_approve_response.rbs +15 -0
  172. data/sig/growsurf_ruby/models/campaign/commission_delete_params.rbs +30 -0
  173. data/sig/growsurf_ruby/models/campaign/commission_delete_response.rbs +15 -0
  174. data/sig/growsurf_ruby/models/campaign/fraud_risk_level.rbs +17 -0
  175. data/sig/growsurf_ruby/models/campaign/participant.rbs +455 -0
  176. data/sig/growsurf_ruby/models/campaign/participant_add_params.rbs +95 -0
  177. data/sig/growsurf_ruby/models/campaign/participant_delete_params.rbs +30 -0
  178. data/sig/growsurf_ruby/models/campaign/participant_delete_response.rbs +15 -0
  179. data/sig/growsurf_ruby/models/campaign/participant_list_commissions_params.rbs +70 -0
  180. data/sig/growsurf_ruby/models/campaign/participant_list_payouts_params.rbs +69 -0
  181. data/sig/growsurf_ruby/models/campaign/participant_list_referrals_params.rbs +123 -0
  182. data/sig/growsurf_ruby/models/campaign/participant_list_rewards_params.rbs +47 -0
  183. data/sig/growsurf_ruby/models/campaign/participant_list_rewards_response.rbs +32 -0
  184. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_params.rbs +194 -0
  185. data/sig/growsurf_ruby/models/campaign/participant_record_transaction_response.rbs +84 -0
  186. data/sig/growsurf_ruby/models/campaign/participant_retrieve_params.rbs +30 -0
  187. data/sig/growsurf_ruby/models/campaign/participant_reward.rbs +111 -0
  188. data/sig/growsurf_ruby/models/campaign/participant_send_invites_params.rbs +48 -0
  189. data/sig/growsurf_ruby/models/campaign/participant_send_invites_response.rbs +28 -0
  190. data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_params.rbs +30 -0
  191. data/sig/growsurf_ruby/models/campaign/participant_trigger_referral_response.rbs +20 -0
  192. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +104 -0
  193. data/sig/growsurf_ruby/models/campaign/referral_source.rbs +16 -0
  194. data/sig/growsurf_ruby/models/campaign/referral_status.rbs +19 -0
  195. data/sig/growsurf_ruby/models/campaign/reward_approve_params.rbs +36 -0
  196. data/sig/growsurf_ruby/models/campaign/reward_approve_response.rbs +15 -0
  197. data/sig/growsurf_ruby/models/campaign/reward_delete_params.rbs +30 -0
  198. data/sig/growsurf_ruby/models/campaign/reward_delete_response.rbs +15 -0
  199. data/sig/growsurf_ruby/models/campaign/reward_fulfill_params.rbs +30 -0
  200. data/sig/growsurf_ruby/models/campaign/reward_fulfill_response.rbs +15 -0
  201. data/sig/growsurf_ruby/models/campaign.rbs +221 -0
  202. data/sig/growsurf_ruby/models/campaign_list_commissions_params.rbs +63 -0
  203. data/sig/growsurf_ruby/models/campaign_list_leaderboard_params.rbs +83 -0
  204. data/sig/growsurf_ruby/models/campaign_list_params.rbs +15 -0
  205. data/sig/growsurf_ruby/models/campaign_list_participants_params.rbs +36 -0
  206. data/sig/growsurf_ruby/models/campaign_list_payouts_params.rbs +62 -0
  207. data/sig/growsurf_ruby/models/campaign_list_referrals_params.rbs +116 -0
  208. data/sig/growsurf_ruby/models/campaign_list_response.rbs +14 -0
  209. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +42 -0
  210. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +217 -0
  211. data/sig/growsurf_ruby/models/campaign_retrieve_params.rbs +23 -0
  212. data/sig/growsurf_ruby/models/commission_structure.rbs +121 -0
  213. data/sig/growsurf_ruby/models/participant_commission_list.rbs +166 -0
  214. data/sig/growsurf_ruby/models/participant_list.rbs +30 -0
  215. data/sig/growsurf_ruby/models/participant_payout_list.rbs +136 -0
  216. data/sig/growsurf_ruby/models/referral_list.rbs +92 -0
  217. data/sig/growsurf_ruby/models.rbs +31 -0
  218. data/sig/growsurf_ruby/request_options.rbs +36 -0
  219. data/sig/growsurf_ruby/resources/campaign/commission.rbs +21 -0
  220. data/sig/growsurf_ruby/resources/campaign/participant.rbs +133 -0
  221. data/sig/growsurf_ruby/resources/campaign/reward.rbs +28 -0
  222. data/sig/growsurf_ruby/resources/campaign.rbs +76 -0
  223. data/sig/growsurf_ruby/version.rbs +3 -0
  224. metadata +295 -0
@@ -0,0 +1,257 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#retrieve
6
+ class CampaignAPI < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute impression_count
13
+ #
14
+ # @return [Integer]
15
+ required :impression_count, Integer, api_name: :impressionCount
16
+
17
+ # @!attribute invite_count
18
+ #
19
+ # @return [Integer]
20
+ required :invite_count, Integer, api_name: :inviteCount
21
+
22
+ # @!attribute name
23
+ #
24
+ # @return [String]
25
+ required :name, String
26
+
27
+ # @!attribute participant_count
28
+ #
29
+ # @return [Integer]
30
+ required :participant_count, Integer, api_name: :participantCount
31
+
32
+ # @!attribute referral_count
33
+ #
34
+ # @return [Integer]
35
+ required :referral_count, Integer, api_name: :referralCount
36
+
37
+ # @!attribute rewards
38
+ #
39
+ # @return [Array<GrowsurfRuby::Models::CampaignAPI::Reward>]
40
+ required :rewards, -> { GrowsurfRuby::Internal::Type::ArrayOf[GrowsurfRuby::CampaignAPI::Reward] }
41
+
42
+ # @!attribute status
43
+ #
44
+ # @return [Symbol, GrowsurfRuby::Models::CampaignAPI::Status]
45
+ required :status, enum: -> { GrowsurfRuby::CampaignAPI::Status }
46
+
47
+ # @!attribute type
48
+ #
49
+ # @return [Symbol, GrowsurfRuby::Models::CampaignAPI::Type]
50
+ required :type, enum: -> { GrowsurfRuby::CampaignAPI::Type }
51
+
52
+ # @!attribute winner_count
53
+ #
54
+ # @return [Integer]
55
+ required :winner_count, Integer, api_name: :winnerCount
56
+
57
+ # @!attribute currency_iso
58
+ #
59
+ # @return [String, nil]
60
+ optional :currency_iso, String, api_name: :currencyISO
61
+
62
+ # @!method initialize(id:, impression_count:, invite_count:, name:, participant_count:, referral_count:, rewards:, status:, type:, winner_count:, currency_iso: nil)
63
+ # @param id [String]
64
+ # @param impression_count [Integer]
65
+ # @param invite_count [Integer]
66
+ # @param name [String]
67
+ # @param participant_count [Integer]
68
+ # @param referral_count [Integer]
69
+ # @param rewards [Array<GrowsurfRuby::Models::CampaignAPI::Reward>]
70
+ # @param status [Symbol, GrowsurfRuby::Models::CampaignAPI::Status]
71
+ # @param type [Symbol, GrowsurfRuby::Models::CampaignAPI::Type]
72
+ # @param winner_count [Integer]
73
+ # @param currency_iso [String]
74
+
75
+ class Reward < GrowsurfRuby::Internal::Type::BaseModel
76
+ # @!attribute id
77
+ #
78
+ # @return [String]
79
+ required :id, String
80
+
81
+ # @!attribute is_unlimited
82
+ #
83
+ # @return [Boolean]
84
+ required :is_unlimited, GrowsurfRuby::Internal::Type::Boolean, api_name: :isUnlimited
85
+
86
+ # @!attribute metadata
87
+ # Shallow custom metadata object.
88
+ #
89
+ # @return [Hash{Symbol=>Object}]
90
+ required :metadata, GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown]
91
+
92
+ # @!attribute type
93
+ #
94
+ # @return [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::Type]
95
+ required :type, enum: -> { GrowsurfRuby::CampaignAPI::Reward::Type }
96
+
97
+ # @!attribute commission_structure
98
+ #
99
+ # @return [GrowsurfRuby::Models::CommissionStructure, nil]
100
+ optional :commission_structure,
101
+ -> { GrowsurfRuby::CommissionStructure },
102
+ api_name: :commissionStructure,
103
+ nil?: true
104
+
105
+ # @!attribute conversions_required
106
+ #
107
+ # @return [Integer, nil]
108
+ optional :conversions_required, Integer, api_name: :conversionsRequired, nil?: true
109
+
110
+ # @!attribute coupon_code
111
+ #
112
+ # @return [String, nil]
113
+ optional :coupon_code, String, api_name: :couponCode, nil?: true
114
+
115
+ # @!attribute description
116
+ #
117
+ # @return [String, nil]
118
+ optional :description, String, nil?: true
119
+
120
+ # @!attribute image_url
121
+ #
122
+ # @return [String, nil]
123
+ optional :image_url, String, api_name: :imageUrl, nil?: true
124
+
125
+ # @!attribute limit
126
+ # `-1` represents an unlimited reward in REST responses.
127
+ #
128
+ # @return [Integer, nil]
129
+ optional :limit, Integer, nil?: true
130
+
131
+ # @!attribute limit_duration
132
+ #
133
+ # @return [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::LimitDuration, nil]
134
+ optional :limit_duration,
135
+ enum: -> { GrowsurfRuby::CampaignAPI::Reward::LimitDuration },
136
+ api_name: :limitDuration,
137
+ nil?: true
138
+
139
+ # @!attribute next_milestone_prefix
140
+ #
141
+ # @return [String, nil]
142
+ optional :next_milestone_prefix, String, api_name: :nextMilestonePrefix, nil?: true
143
+
144
+ # @!attribute next_milestone_suffix
145
+ #
146
+ # @return [String, nil]
147
+ optional :next_milestone_suffix, String, api_name: :nextMilestoneSuffix, nil?: true
148
+
149
+ # @!attribute number_of_winners
150
+ #
151
+ # @return [Integer, nil]
152
+ optional :number_of_winners, Integer, api_name: :numberOfWinners, nil?: true
153
+
154
+ # @!attribute order
155
+ #
156
+ # @return [Integer, nil]
157
+ optional :order, Integer, nil?: true
158
+
159
+ # @!attribute referral_description
160
+ #
161
+ # @return [String, nil]
162
+ optional :referral_description, String, api_name: :referralDescription, nil?: true
163
+
164
+ # @!attribute referred_reward_upfront
165
+ #
166
+ # @return [Boolean, nil]
167
+ optional :referred_reward_upfront,
168
+ GrowsurfRuby::Internal::Type::Boolean,
169
+ api_name: :referredRewardUpfront
170
+
171
+ # @!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_description: nil, referred_reward_upfront: nil)
172
+ # @param id [String]
173
+ #
174
+ # @param is_unlimited [Boolean]
175
+ #
176
+ # @param metadata [Hash{Symbol=>Object}] Shallow custom metadata object.
177
+ #
178
+ # @param type [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::Type]
179
+ #
180
+ # @param commission_structure [GrowsurfRuby::Models::CommissionStructure, nil]
181
+ #
182
+ # @param conversions_required [Integer, nil]
183
+ #
184
+ # @param coupon_code [String, nil]
185
+ #
186
+ # @param description [String, nil]
187
+ #
188
+ # @param image_url [String, nil]
189
+ #
190
+ # @param limit [Integer, nil] `-1` represents an unlimited reward in REST responses.
191
+ #
192
+ # @param limit_duration [Symbol, GrowsurfRuby::Models::CampaignAPI::Reward::LimitDuration, nil]
193
+ #
194
+ # @param next_milestone_prefix [String, nil]
195
+ #
196
+ # @param next_milestone_suffix [String, nil]
197
+ #
198
+ # @param number_of_winners [Integer, nil]
199
+ #
200
+ # @param order [Integer, nil]
201
+ #
202
+ # @param referral_description [String, nil]
203
+ #
204
+ # @param referred_reward_upfront [Boolean]
205
+
206
+ # @see GrowsurfRuby::Models::CampaignAPI::Reward#type
207
+ module Type
208
+ extend GrowsurfRuby::Internal::Type::Enum
209
+
210
+ SINGLE_SIDED = :SINGLE_SIDED
211
+ DOUBLE_SIDED = :DOUBLE_SIDED
212
+ MILESTONE = :MILESTONE
213
+ LEADERBOARD = :LEADERBOARD
214
+ AFFILIATE = :AFFILIATE
215
+
216
+ # @!method self.values
217
+ # @return [Array<Symbol>]
218
+ end
219
+
220
+ # @see GrowsurfRuby::Models::CampaignAPI::Reward#limit_duration
221
+ module LimitDuration
222
+ extend GrowsurfRuby::Internal::Type::Enum
223
+
224
+ IN_TOTAL = :IN_TOTAL
225
+ PER_MONTH = :PER_MONTH
226
+
227
+ # @!method self.values
228
+ # @return [Array<Symbol>]
229
+ end
230
+ end
231
+
232
+ # @see GrowsurfRuby::Models::CampaignAPI#status
233
+ module Status
234
+ extend GrowsurfRuby::Internal::Type::Enum
235
+
236
+ DRAFT = :DRAFT
237
+ IN_PROGRESS = :IN_PROGRESS
238
+ COMPLETE = :COMPLETE
239
+ DELETED = :DELETED
240
+
241
+ # @!method self.values
242
+ # @return [Array<Symbol>]
243
+ end
244
+
245
+ # @see GrowsurfRuby::Models::CampaignAPI#type
246
+ module Type
247
+ extend GrowsurfRuby::Internal::Type::Enum
248
+
249
+ REFERRAL = :REFERRAL
250
+ AFFILIATE = :AFFILIATE
251
+
252
+ # @!method self.values
253
+ # @return [Array<Symbol>]
254
+ end
255
+ end
256
+ end
257
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_commissions
6
+ class CampaignListCommissionsParams < 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
+ # Number of results to return. Maximum 100.
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :limit, Integer
20
+
21
+ # @!attribute next_id
22
+ # ID to start the next paged result set with.
23
+ #
24
+ # @return [String, nil]
25
+ optional :next_id, String
26
+
27
+ # @!attribute status
28
+ # Participant commission status.
29
+ #
30
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListCommissionsParams::Status, nil]
31
+ optional :status, enum: -> { GrowsurfRuby::CampaignListCommissionsParams::Status }
32
+
33
+ # @!method initialize(id:, limit: nil, next_id: nil, status: nil, request_options: {})
34
+ # @param id [String]
35
+ #
36
+ # @param limit [Integer] Number of results to return. Maximum 100.
37
+ #
38
+ # @param next_id [String] ID to start the next paged result set with.
39
+ #
40
+ # @param status [Symbol, GrowsurfRuby::Models::CampaignListCommissionsParams::Status] Participant commission status.
41
+ #
42
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ # Participant commission status.
45
+ module Status
46
+ extend GrowsurfRuby::Internal::Type::Enum
47
+
48
+ PENDING = :PENDING
49
+ APPROVED = :APPROVED
50
+ PAID = :PAID
51
+ REVERSED = :REVERSED
52
+ DELETED = :DELETED
53
+
54
+ # @!method self.values
55
+ # @return [Array<Symbol>]
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_leaderboard
6
+ class CampaignListLeaderboardParams < 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 is_monthly
16
+ # Deprecated. Use `leaderboardType=CURRENT_MONTH` instead.
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :is_monthly, GrowsurfRuby::Internal::Type::Boolean
20
+
21
+ # @!attribute leaderboard_type
22
+ # Leaderboard ordering mode.
23
+ #
24
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListLeaderboardParams::LeaderboardType, nil]
25
+ optional :leaderboard_type, enum: -> { GrowsurfRuby::CampaignListLeaderboardParams::LeaderboardType }
26
+
27
+ # @!attribute limit
28
+ # Number of results to return. Maximum 100.
29
+ #
30
+ # @return [Integer, nil]
31
+ optional :limit, Integer
32
+
33
+ # @!attribute next_id
34
+ # ID to start the next paged result set with.
35
+ #
36
+ # @return [String, nil]
37
+ optional :next_id, String
38
+
39
+ # @!method initialize(id:, is_monthly: nil, leaderboard_type: nil, limit: nil, next_id: nil, request_options: {})
40
+ # @param id [String]
41
+ #
42
+ # @param is_monthly [Boolean] Deprecated. Use `leaderboardType=CURRENT_MONTH` instead.
43
+ #
44
+ # @param leaderboard_type [Symbol, GrowsurfRuby::Models::CampaignListLeaderboardParams::LeaderboardType] Leaderboard ordering mode.
45
+ #
46
+ # @param limit [Integer] Number of results to return. Maximum 100.
47
+ #
48
+ # @param next_id [String] ID to start the next paged result set with.
49
+ #
50
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
51
+
52
+ # Leaderboard ordering mode.
53
+ module LeaderboardType
54
+ extend GrowsurfRuby::Internal::Type::Enum
55
+
56
+ ALL_TIME = :ALL_TIME
57
+ CURRENT_MONTH = :CURRENT_MONTH
58
+ PREV_MONTH = :PREV_MONTH
59
+ TOTAL_IMPRESSION_COUNT = :TOTAL_IMPRESSION_COUNT
60
+ UNIQUE_IMPRESSION_COUNT = :UNIQUE_IMPRESSION_COUNT
61
+ BY_COMMISSIONS = :BY_COMMISSIONS
62
+ BY_REVENUE = :BY_REVENUE
63
+ BY_REFERRALS = :BY_REFERRALS
64
+ BY_LEADS = :BY_LEADS
65
+
66
+ # @!method self.values
67
+ # @return [Array<Symbol>]
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list
6
+ class CampaignListParams < GrowsurfRuby::Internal::Type::BaseModel
7
+ extend GrowsurfRuby::Internal::Type::RequestParameters::Converter
8
+ include GrowsurfRuby::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_participants
6
+ class CampaignListParticipantsParams < 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
+ # Number of results to return. Maximum 100.
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :limit, Integer
20
+
21
+ # @!attribute next_id
22
+ # ID to start the next paged result set with.
23
+ #
24
+ # @return [String, nil]
25
+ optional :next_id, String
26
+
27
+ # @!method initialize(id:, limit: nil, next_id: nil, request_options: {})
28
+ # @param id [String]
29
+ #
30
+ # @param limit [Integer] Number of results to return. Maximum 100.
31
+ #
32
+ # @param next_id [String] ID to start the next paged result set with.
33
+ #
34
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_payouts
6
+ class CampaignListPayoutsParams < 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
+ # Number of results to return. Maximum 100.
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :limit, Integer
20
+
21
+ # @!attribute next_id
22
+ # ID to start the next paged result set with.
23
+ #
24
+ # @return [String, nil]
25
+ optional :next_id, String
26
+
27
+ # @!attribute status
28
+ # Participant payout status.
29
+ #
30
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListPayoutsParams::Status, nil]
31
+ optional :status, enum: -> { GrowsurfRuby::CampaignListPayoutsParams::Status }
32
+
33
+ # @!method initialize(id:, limit: nil, next_id: nil, status: nil, request_options: {})
34
+ # @param id [String]
35
+ #
36
+ # @param limit [Integer] Number of results to return. Maximum 100.
37
+ #
38
+ # @param next_id [String] ID to start the next paged result set with.
39
+ #
40
+ # @param status [Symbol, GrowsurfRuby::Models::CampaignListPayoutsParams::Status] Participant payout status.
41
+ #
42
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
43
+
44
+ # Participant payout status.
45
+ module Status
46
+ extend GrowsurfRuby::Internal::Type::Enum
47
+
48
+ UPCOMING = :UPCOMING
49
+ QUEUED = :QUEUED
50
+ ISSUED = :ISSUED
51
+ FAILED = :FAILED
52
+
53
+ # @!method self.values
54
+ # @return [Array<Symbol>]
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,108 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list_referrals
6
+ class CampaignListReferralsParams < 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 desc
16
+ # Return results in descending order when true.
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :desc, GrowsurfRuby::Internal::Type::Boolean
20
+
21
+ # @!attribute email
22
+ # URL-encoded email value to filter referral results.
23
+ #
24
+ # @return [String, nil]
25
+ optional :email, String
26
+
27
+ # @!attribute first_name
28
+ # First name value to filter results.
29
+ #
30
+ # @return [String, nil]
31
+ optional :first_name, String
32
+
33
+ # @!attribute last_name
34
+ # Last name value to filter results.
35
+ #
36
+ # @return [String, nil]
37
+ optional :last_name, String
38
+
39
+ # @!attribute limit
40
+ # Number of results to return. Maximum 100.
41
+ #
42
+ # @return [Integer, nil]
43
+ optional :limit, Integer
44
+
45
+ # @!attribute next_id
46
+ # ID to start the next paged result set with.
47
+ #
48
+ # @return [String, nil]
49
+ optional :next_id, String
50
+
51
+ # @!attribute offset
52
+ # Offset number used to skip through a result set.
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :offset, Integer
56
+
57
+ # @!attribute referral_status
58
+ #
59
+ # @return [Symbol, GrowsurfRuby::Models::Campaign::ReferralStatus, nil]
60
+ optional :referral_status, enum: -> { GrowsurfRuby::Campaign::ReferralStatus }
61
+
62
+ # @!attribute sort_by
63
+ # Field used to sort referral results.
64
+ #
65
+ # @return [Symbol, GrowsurfRuby::Models::CampaignListReferralsParams::SortBy, nil]
66
+ optional :sort_by, enum: -> { GrowsurfRuby::CampaignListReferralsParams::SortBy }
67
+
68
+ # @!method initialize(id:, desc: nil, email: nil, first_name: nil, last_name: nil, limit: nil, next_id: nil, offset: nil, referral_status: nil, sort_by: nil, request_options: {})
69
+ # @param id [String]
70
+ #
71
+ # @param desc [Boolean] Return results in descending order when true.
72
+ #
73
+ # @param email [String] URL-encoded email value to filter referral results.
74
+ #
75
+ # @param first_name [String] First name value to filter results.
76
+ #
77
+ # @param last_name [String] Last name value to filter results.
78
+ #
79
+ # @param limit [Integer] Number of results to return. Maximum 100.
80
+ #
81
+ # @param next_id [String] ID to start the next paged result set with.
82
+ #
83
+ # @param offset [Integer] Offset number used to skip through a result set.
84
+ #
85
+ # @param referral_status [Symbol, GrowsurfRuby::Models::Campaign::ReferralStatus]
86
+ #
87
+ # @param sort_by [Symbol, GrowsurfRuby::Models::CampaignListReferralsParams::SortBy] Field used to sort referral results.
88
+ #
89
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
90
+
91
+ # Field used to sort referral results.
92
+ module SortBy
93
+ extend GrowsurfRuby::Internal::Type::Enum
94
+
95
+ UPDATED_AT = :updatedAt
96
+ CREATED_AT = :createdAt
97
+ EMAIL = :email
98
+ FIRST_NAME = :firstName
99
+ LAST_NAME = :lastName
100
+ REFERRAL_STATUS = :referralStatus
101
+ REFERRAL_TRIGGERED_AT = :referralTriggeredAt
102
+
103
+ # @!method self.values
104
+ # @return [Array<Symbol>]
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#list
6
+ class CampaignListResponse < GrowsurfRuby::Internal::Type::BaseModel
7
+ # @!attribute campaigns
8
+ #
9
+ # @return [Array<GrowsurfRuby::Models::CampaignAPI>]
10
+ required :campaigns, -> { GrowsurfRuby::Internal::Type::ArrayOf[GrowsurfRuby::CampaignAPI] }
11
+
12
+ # @!method initialize(campaigns:)
13
+ # @param campaigns [Array<GrowsurfRuby::Models::CampaignAPI>]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GrowsurfRuby
4
+ module Models
5
+ # @see GrowsurfRuby::Resources::Campaign#retrieve_analytics
6
+ class CampaignRetrieveAnalyticsParams < 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 days
16
+ # Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
17
+ #
18
+ # @return [Integer, nil]
19
+ optional :days, Integer
20
+
21
+ # @!attribute end_date
22
+ # End date of the analytics timeframe as a Unix timestamp in milliseconds.
23
+ # Required if `days` is not set.
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :end_date, Integer
27
+
28
+ # @!attribute start_date
29
+ # Start date of the analytics timeframe as a Unix timestamp in milliseconds.
30
+ # Required if `days` is not set.
31
+ #
32
+ # @return [Integer, nil]
33
+ optional :start_date, Integer
34
+
35
+ # @!method initialize(id:, days: nil, end_date: nil, start_date: nil, request_options: {})
36
+ # Some parameter documentations has been truncated, see
37
+ # {GrowsurfRuby::Models::CampaignRetrieveAnalyticsParams} for more details.
38
+ #
39
+ # @param id [String]
40
+ #
41
+ # @param days [Integer] Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
42
+ #
43
+ # @param end_date [Integer] End date of the analytics timeframe as a Unix timestamp in milliseconds. Require
44
+ #
45
+ # @param start_date [Integer] Start date of the analytics timeframe as a Unix timestamp in milliseconds. Requi
46
+ #
47
+ # @param request_options [GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}]
48
+ end
49
+ end
50
+ end