growsurf-ruby 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/growsurf_ruby/client.rb +4 -0
  5. data/lib/growsurf_ruby/models/account.rb +90 -0
  6. data/lib/growsurf_ruby/models/account_create_params.rb +46 -0
  7. data/lib/growsurf_ruby/models/account_create_response.rb +64 -0
  8. data/lib/growsurf_ruby/models/account_resend_verification_email_response.rb +33 -0
  9. data/lib/growsurf_ruby/models/account_rotate_api_key_response.rb +17 -0
  10. data/lib/growsurf_ruby/models/account_update_params.rb +35 -0
  11. data/lib/growsurf_ruby/models/campaign/campaign_reward_list_response.rb +2 -2
  12. data/lib/growsurf_ruby/models/campaign/create.rb +5 -1
  13. data/lib/growsurf_ruby/models/campaign/participant_activity_logs_response.rb +65 -0
  14. data/lib/growsurf_ruby/models/campaign/participant_analytics_response.rb +421 -0
  15. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_params.rb +35 -0
  16. data/lib/growsurf_ruby/models/campaign/participant_bulk_delete_response.rb +151 -0
  17. data/lib/growsurf_ruby/models/campaign/participant_email_params.rb +76 -0
  18. data/lib/growsurf_ruby/models/campaign/participant_email_response.rb +38 -0
  19. data/lib/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rb +46 -0
  20. data/lib/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rb +98 -0
  21. data/lib/growsurf_ruby/models/campaign/participant_update_params.rb +21 -1
  22. data/lib/growsurf_ruby/models/campaign/reward.rb +17 -6
  23. data/lib/growsurf_ruby/models/campaign/reward_create_params.rb +25 -15
  24. data/lib/growsurf_ruby/models/campaign/reward_update_params.rb +25 -15
  25. data/lib/growsurf_ruby/models/campaign/webhook.rb +72 -0
  26. data/lib/growsurf_ruby/models/campaign/webhook_create_params.rb +52 -0
  27. data/lib/growsurf_ruby/models/campaign/webhook_delete_params.rb +28 -0
  28. data/lib/growsurf_ruby/models/campaign/webhook_delete_response.rb +24 -0
  29. data/lib/growsurf_ruby/models/campaign/webhook_event.rb +23 -0
  30. data/lib/growsurf_ruby/models/campaign/webhook_list_response.rb +18 -0
  31. data/lib/growsurf_ruby/models/campaign/webhook_test_params.rb +42 -0
  32. data/lib/growsurf_ruby/models/campaign/webhook_test_response.rb +50 -0
  33. data/lib/growsurf_ruby/models/campaign/webhook_update_params.rb +59 -0
  34. data/lib/growsurf_ruby/models/campaign.rb +17 -6
  35. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_params.rb +36 -1
  36. data/lib/growsurf_ruby/models/campaign_retrieve_analytics_response.rb +538 -1
  37. data/lib/growsurf_ruby/models/campaign_update_params.rb +0 -3
  38. data/lib/growsurf_ruby/models/commission_structure.rb +8 -2
  39. data/lib/growsurf_ruby/models/referral_flow_screenshots_response.rb +72 -0
  40. data/lib/growsurf_ruby/models.rb +8 -0
  41. data/lib/growsurf_ruby/resources/account.rb +159 -0
  42. data/lib/growsurf_ruby/resources/campaign/design.rb +9 -7
  43. data/lib/growsurf_ruby/resources/campaign/emails.rb +8 -5
  44. data/lib/growsurf_ruby/resources/campaign/installation.rb +8 -6
  45. data/lib/growsurf_ruby/resources/campaign/options.rb +8 -5
  46. data/lib/growsurf_ruby/resources/campaign/participant.rb +170 -2
  47. data/lib/growsurf_ruby/resources/campaign/rewards.rb +17 -21
  48. data/lib/growsurf_ruby/resources/campaign/webhooks.rb +157 -0
  49. data/lib/growsurf_ruby/resources/campaign.rb +30 -2
  50. data/lib/growsurf_ruby/version.rb +1 -1
  51. data/lib/growsurf_ruby.rb +26 -0
  52. data/rbi/growsurf_ruby/client.rbi +3 -0
  53. data/rbi/growsurf_ruby/models/account.rbi +125 -0
  54. data/rbi/growsurf_ruby/models/account_create_params.rbi +73 -0
  55. data/rbi/growsurf_ruby/models/account_create_response.rbi +115 -0
  56. data/rbi/growsurf_ruby/models/account_resend_verification_email_response.rbi +76 -0
  57. data/rbi/growsurf_ruby/models/account_rotate_api_key_response.rbi +30 -0
  58. data/rbi/growsurf_ruby/models/account_update_params.rbi +65 -0
  59. data/rbi/growsurf_ruby/models/campaign/campaign_reward_list_response.rbi +2 -2
  60. data/rbi/growsurf_ruby/models/campaign/create.rbi +8 -0
  61. data/rbi/growsurf_ruby/models/campaign/participant_activity_logs_response.rbi +111 -0
  62. data/rbi/growsurf_ruby/models/campaign/participant_analytics_response.rbi +630 -0
  63. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbi +56 -0
  64. data/rbi/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbi +285 -0
  65. data/rbi/growsurf_ruby/models/campaign/participant_email_params.rbi +118 -0
  66. data/rbi/growsurf_ruby/models/campaign/participant_email_response.rbi +84 -0
  67. data/rbi/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbi +74 -0
  68. data/rbi/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbi +207 -0
  69. data/rbi/growsurf_ruby/models/campaign/participant_update_params.rbi +24 -0
  70. data/rbi/growsurf_ruby/models/campaign/reward.rbi +25 -4
  71. data/rbi/growsurf_ruby/models/campaign/reward_create_params.rbi +34 -9
  72. data/rbi/growsurf_ruby/models/campaign/reward_update_params.rbi +34 -9
  73. data/rbi/growsurf_ruby/models/campaign/webhook.rbi +93 -0
  74. data/rbi/growsurf_ruby/models/campaign/webhook_create_params.rbi +91 -0
  75. data/rbi/growsurf_ruby/models/campaign/webhook_delete_params.rbi +48 -0
  76. data/rbi/growsurf_ruby/models/campaign/webhook_delete_response.rbi +33 -0
  77. data/rbi/growsurf_ruby/models/campaign/webhook_event.rbi +60 -0
  78. data/rbi/growsurf_ruby/models/campaign/webhook_list_response.rbi +36 -0
  79. data/rbi/growsurf_ruby/models/campaign/webhook_test_params.rbi +69 -0
  80. data/rbi/growsurf_ruby/models/campaign/webhook_test_response.rbi +102 -0
  81. data/rbi/growsurf_ruby/models/campaign/webhook_update_params.rbi +98 -0
  82. data/rbi/growsurf_ruby/models/campaign.rbi +25 -4
  83. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_params.rbi +91 -0
  84. data/rbi/growsurf_ruby/models/campaign_retrieve_analytics_response.rbi +1011 -3
  85. data/rbi/growsurf_ruby/models/campaign_update_params.rbi +0 -15
  86. data/rbi/growsurf_ruby/models/commission_structure.rbi +8 -2
  87. data/rbi/growsurf_ruby/models/referral_flow_screenshots_response.rbi +94 -0
  88. data/rbi/growsurf_ruby/models.rbi +9 -0
  89. data/rbi/growsurf_ruby/resources/account.rbi +112 -0
  90. data/rbi/growsurf_ruby/resources/campaign/design.rbi +7 -5
  91. data/rbi/growsurf_ruby/resources/campaign/emails.rbi +7 -5
  92. data/rbi/growsurf_ruby/resources/campaign/installation.rbi +7 -4
  93. data/rbi/growsurf_ruby/resources/campaign/options.rbi +7 -5
  94. data/rbi/growsurf_ruby/resources/campaign/participant.rbi +160 -0
  95. data/rbi/growsurf_ruby/resources/campaign/rewards.rbi +37 -21
  96. data/rbi/growsurf_ruby/resources/campaign/webhooks.rbi +123 -0
  97. data/rbi/growsurf_ruby/resources/campaign.rbi +33 -2
  98. data/sig/growsurf_ruby/client.rbs +2 -0
  99. data/sig/growsurf_ruby/models/account.rbs +67 -0
  100. data/sig/growsurf_ruby/models/account_create_params.rbs +42 -0
  101. data/sig/growsurf_ruby/models/account_create_response.rbs +47 -0
  102. data/sig/growsurf_ruby/models/account_resend_verification_email_response.rbs +35 -0
  103. data/sig/growsurf_ruby/models/account_rotate_api_key_response.rbs +13 -0
  104. data/sig/growsurf_ruby/models/account_update_params.rbs +42 -0
  105. data/sig/growsurf_ruby/models/campaign/participant_activity_logs_response.rbs +59 -0
  106. data/sig/growsurf_ruby/models/campaign/participant_analytics_response.rbs +407 -0
  107. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_params.rbs +30 -0
  108. data/sig/growsurf_ruby/models/campaign/participant_bulk_delete_response.rbs +125 -0
  109. data/sig/growsurf_ruby/models/campaign/participant_email_params.rbs +61 -0
  110. data/sig/growsurf_ruby/models/campaign/participant_email_response.rbs +37 -0
  111. data/sig/growsurf_ruby/models/campaign/participant_list_activity_logs_params.rbs +47 -0
  112. data/sig/growsurf_ruby/models/campaign/participant_retrieve_analytics_params.rbs +90 -0
  113. data/sig/growsurf_ruby/models/campaign/participant_update_params.rbs +14 -0
  114. data/sig/growsurf_ruby/models/campaign/reward_create_params.rbs +0 -7
  115. data/sig/growsurf_ruby/models/campaign/reward_update_params.rbs +0 -7
  116. data/sig/growsurf_ruby/models/campaign/webhook.rbs +52 -0
  117. data/sig/growsurf_ruby/models/campaign/webhook_create_params.rbs +51 -0
  118. data/sig/growsurf_ruby/models/campaign/webhook_delete_params.rbs +30 -0
  119. data/sig/growsurf_ruby/models/campaign/webhook_delete_response.rbs +17 -0
  120. data/sig/growsurf_ruby/models/campaign/webhook_event.rbs +28 -0
  121. data/sig/growsurf_ruby/models/campaign/webhook_list_response.rbs +18 -0
  122. data/sig/growsurf_ruby/models/campaign/webhook_test_params.rbs +42 -0
  123. data/sig/growsurf_ruby/models/campaign/webhook_test_response.rbs +54 -0
  124. data/sig/growsurf_ruby/models/campaign/webhook_update_params.rbs +63 -0
  125. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_params.rbs +35 -1
  126. data/sig/growsurf_ruby/models/campaign_retrieve_analytics_response.rbs +533 -3
  127. data/sig/growsurf_ruby/models/campaign_update_params.rbs +1 -4
  128. data/sig/growsurf_ruby/models/commission_structure.rbs +7 -2
  129. data/sig/growsurf_ruby/models/referral_flow_screenshots_response.rbs +54 -0
  130. data/sig/growsurf_ruby/models/reward_tax_valuation.rbs +4 -1
  131. data/sig/growsurf_ruby/models.rbs +8 -0
  132. data/sig/growsurf_ruby/resources/account.rbs +38 -0
  133. data/sig/growsurf_ruby/resources/campaign/participant.rbs +37 -0
  134. data/sig/growsurf_ruby/resources/campaign/rewards.rbs +0 -2
  135. data/sig/growsurf_ruby/resources/campaign/webhooks.rbs +46 -0
  136. data/sig/growsurf_ruby/resources/campaign.rbs +9 -0
  137. metadata +80 -2
@@ -32,15 +32,115 @@ module GrowsurfRuby
32
32
  sig { returns(Integer) }
33
33
  attr_accessor :start_date
34
34
 
35
+ # Present only when `include` contains `previousPeriod`.
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::PreviousPeriod
40
+ )
41
+ )
42
+ end
43
+ attr_reader :previous_period
44
+
45
+ sig do
46
+ params(
47
+ previous_period:
48
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::PreviousPeriod::OrHash
49
+ ).void
50
+ end
51
+ attr_writer :previous_period
52
+
53
+ # Present only when `include` contains `rates`.
54
+ sig do
55
+ returns(
56
+ T.nilable(
57
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Rates
58
+ )
59
+ )
60
+ end
61
+ attr_reader :rates
62
+
63
+ sig do
64
+ params(
65
+ rates:
66
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Rates::OrHash
67
+ ).void
68
+ end
69
+ attr_writer :rates
70
+
71
+ # Present only when `interval` is `day`, `week`, or `month`. Per-period totals,
72
+ # ascending.
73
+ sig do
74
+ returns(
75
+ T.nilable(
76
+ T::Array[
77
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Series
78
+ ]
79
+ )
80
+ )
81
+ end
82
+ attr_reader :series
83
+
84
+ sig do
85
+ params(
86
+ series:
87
+ T::Array[
88
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Series::OrHash
89
+ ]
90
+ ).void
91
+ end
92
+ attr_writer :series
93
+
94
+ # Present only when `include` contains `statusCounts`.
95
+ sig do
96
+ returns(
97
+ T.nilable(
98
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts
99
+ )
100
+ )
101
+ end
102
+ attr_reader :status_counts
103
+
104
+ sig do
105
+ params(
106
+ status_counts:
107
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::OrHash
108
+ ).void
109
+ end
110
+ attr_writer :status_counts
111
+
35
112
  sig do
36
113
  params(
37
114
  analytics:
38
115
  GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics::OrHash,
39
116
  end_date: Integer,
40
- start_date: Integer
117
+ start_date: Integer,
118
+ previous_period:
119
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::PreviousPeriod::OrHash,
120
+ rates:
121
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Rates::OrHash,
122
+ series:
123
+ T::Array[
124
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Series::OrHash
125
+ ],
126
+ status_counts:
127
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::OrHash
41
128
  ).returns(T.attached_class)
42
129
  end
43
- def self.new(analytics:, end_date:, start_date:)
130
+ def self.new(
131
+ analytics:,
132
+ end_date:,
133
+ start_date:,
134
+ # Present only when `include` contains `previousPeriod`.
135
+ previous_period: nil,
136
+ # Present only when `include` contains `rates`.
137
+ rates: nil,
138
+ # Present only when `interval` is `day`, `week`, or `month`. Per-period totals,
139
+ # ascending.
140
+ series: nil,
141
+ # Present only when `include` contains `statusCounts`.
142
+ status_counts: nil
143
+ )
44
144
  end
45
145
 
46
146
  sig do
@@ -49,7 +149,17 @@ module GrowsurfRuby
49
149
  analytics:
50
150
  GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics,
51
151
  end_date: Integer,
52
- start_date: Integer
152
+ start_date: Integer,
153
+ previous_period:
154
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::PreviousPeriod,
155
+ rates:
156
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Rates,
157
+ series:
158
+ T::Array[
159
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Series
160
+ ],
161
+ status_counts:
162
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts
53
163
  }
54
164
  )
55
165
  end
@@ -342,6 +452,904 @@ module GrowsurfRuby
342
452
  def to_hash
343
453
  end
344
454
  end
455
+
456
+ class PreviousPeriod < GrowsurfRuby::Internal::Type::BaseModel
457
+ OrHash =
458
+ T.type_alias do
459
+ T.any(
460
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::PreviousPeriod,
461
+ GrowsurfRuby::Internal::AnyHash
462
+ )
463
+ end
464
+
465
+ sig do
466
+ returns(
467
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics
468
+ )
469
+ end
470
+ attr_reader :analytics
471
+
472
+ sig do
473
+ params(
474
+ analytics:
475
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics::OrHash
476
+ ).void
477
+ end
478
+ attr_writer :analytics
479
+
480
+ sig { returns(Integer) }
481
+ attr_accessor :end_date
482
+
483
+ sig { returns(Integer) }
484
+ attr_accessor :start_date
485
+
486
+ # Totals for the equal-length window immediately preceding the requested one.
487
+ sig do
488
+ params(
489
+ analytics:
490
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics::OrHash,
491
+ end_date: Integer,
492
+ start_date: Integer
493
+ ).returns(T.attached_class)
494
+ end
495
+ def self.new(analytics:, end_date:, start_date:)
496
+ end
497
+
498
+ sig do
499
+ override.returns(
500
+ {
501
+ analytics:
502
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Analytics,
503
+ end_date: Integer,
504
+ start_date: Integer
505
+ }
506
+ )
507
+ end
508
+ def to_hash
509
+ end
510
+ end
511
+
512
+ class Rates < GrowsurfRuby::Internal::Type::BaseModel
513
+ OrHash =
514
+ T.type_alias do
515
+ T.any(
516
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Rates,
517
+ GrowsurfRuby::Internal::AnyHash
518
+ )
519
+ end
520
+
521
+ # `participants` divided by `uniqueImpressions`.
522
+ sig { returns(T.nilable(Float)) }
523
+ attr_reader :participation_rate
524
+
525
+ sig { params(participation_rate: Float).void }
526
+ attr_writer :participation_rate
527
+
528
+ # `referrals` divided by `uniqueImpressions`.
529
+ sig { returns(T.nilable(Float)) }
530
+ attr_reader :referral_conversion_rate
531
+
532
+ sig { params(referral_conversion_rate: Float).void }
533
+ attr_writer :referral_conversion_rate
534
+
535
+ # Total shares across all channels divided by `participants`.
536
+ sig { returns(T.nilable(Float)) }
537
+ attr_reader :shares_per_participant
538
+
539
+ sig { params(shares_per_participant: Float).void }
540
+ attr_writer :shares_per_participant
541
+
542
+ # Derived referral rates, each a ratio in the range 0–1 (0 when its denominator is
543
+ # 0).
544
+ sig do
545
+ params(
546
+ participation_rate: Float,
547
+ referral_conversion_rate: Float,
548
+ shares_per_participant: Float
549
+ ).returns(T.attached_class)
550
+ end
551
+ def self.new(
552
+ # `participants` divided by `uniqueImpressions`.
553
+ participation_rate: nil,
554
+ # `referrals` divided by `uniqueImpressions`.
555
+ referral_conversion_rate: nil,
556
+ # Total shares across all channels divided by `participants`.
557
+ shares_per_participant: nil
558
+ )
559
+ end
560
+
561
+ sig do
562
+ override.returns(
563
+ {
564
+ participation_rate: Float,
565
+ referral_conversion_rate: Float,
566
+ shares_per_participant: Float
567
+ }
568
+ )
569
+ end
570
+ def to_hash
571
+ end
572
+ end
573
+
574
+ class Series < GrowsurfRuby::Internal::Type::BaseModel
575
+ OrHash =
576
+ T.type_alias do
577
+ T.any(
578
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::Series,
579
+ GrowsurfRuby::Internal::AnyHash
580
+ )
581
+ end
582
+
583
+ sig { returns(T.nilable(Integer)) }
584
+ attr_reader :android_native_shares
585
+
586
+ sig { params(android_native_shares: Integer).void }
587
+ attr_writer :android_native_shares
588
+
589
+ sig { returns(T.nilable(Integer)) }
590
+ attr_reader :bluesky_shares
591
+
592
+ sig { params(bluesky_shares: Integer).void }
593
+ attr_writer :bluesky_shares
594
+
595
+ sig { returns(T.nilable(Integer)) }
596
+ attr_reader :copy_ref_link_shares
597
+
598
+ sig { params(copy_ref_link_shares: Integer).void }
599
+ attr_writer :copy_ref_link_shares
600
+
601
+ sig { returns(T.nilable(Integer)) }
602
+ attr_reader :email_shares
603
+
604
+ sig { params(email_shares: Integer).void }
605
+ attr_writer :email_shares
606
+
607
+ sig { returns(T.nilable(Integer)) }
608
+ attr_reader :facebook_shares
609
+
610
+ sig { params(facebook_shares: Integer).void }
611
+ attr_writer :facebook_shares
612
+
613
+ sig { returns(T.nilable(Integer)) }
614
+ attr_reader :impressions
615
+
616
+ sig { params(impressions: Integer).void }
617
+ attr_writer :impressions
618
+
619
+ sig { returns(T.nilable(Integer)) }
620
+ attr_reader :invites
621
+
622
+ sig { params(invites: Integer).void }
623
+ attr_writer :invites
624
+
625
+ sig { returns(T.nilable(Integer)) }
626
+ attr_reader :ios_native_shares
627
+
628
+ sig { params(ios_native_shares: Integer).void }
629
+ attr_writer :ios_native_shares
630
+
631
+ sig { returns(T.nilable(Integer)) }
632
+ attr_reader :linked_in_shares
633
+
634
+ sig { params(linked_in_shares: Integer).void }
635
+ attr_writer :linked_in_shares
636
+
637
+ sig { returns(T.nilable(Integer)) }
638
+ attr_reader :messenger_shares
639
+
640
+ sig { params(messenger_shares: Integer).void }
641
+ attr_writer :messenger_shares
642
+
643
+ sig { returns(T.nilable(Integer)) }
644
+ attr_reader :participants
645
+
646
+ sig { params(participants: Integer).void }
647
+ attr_writer :participants
648
+
649
+ # Start of the period, as a Unix timestamp in milliseconds (UTC).
650
+ sig { returns(T.nilable(Integer)) }
651
+ attr_reader :period_start
652
+
653
+ sig { params(period_start: Integer).void }
654
+ attr_writer :period_start
655
+
656
+ sig { returns(T.nilable(Integer)) }
657
+ attr_reader :pinterest_shares
658
+
659
+ sig { params(pinterest_shares: Integer).void }
660
+ attr_writer :pinterest_shares
661
+
662
+ sig { returns(T.nilable(Integer)) }
663
+ attr_reader :qrcode_shares
664
+
665
+ sig { params(qrcode_shares: Integer).void }
666
+ attr_writer :qrcode_shares
667
+
668
+ sig { returns(T.nilable(Integer)) }
669
+ attr_reader :reddit_shares
670
+
671
+ sig { params(reddit_shares: Integer).void }
672
+ attr_writer :reddit_shares
673
+
674
+ sig { returns(T.nilable(Integer)) }
675
+ attr_reader :referral_credit_expireds
676
+
677
+ sig { params(referral_credit_expireds: Integer).void }
678
+ attr_writer :referral_credit_expireds
679
+
680
+ sig { returns(T.nilable(Integer)) }
681
+ attr_reader :referral_credit_pendings
682
+
683
+ sig { params(referral_credit_pendings: Integer).void }
684
+ attr_writer :referral_credit_pendings
685
+
686
+ sig { returns(T.nilable(Integer)) }
687
+ attr_reader :referrals
688
+
689
+ sig { params(referrals: Integer).void }
690
+ attr_writer :referrals
691
+
692
+ sig { returns(T.nilable(Integer)) }
693
+ attr_reader :sms_shares
694
+
695
+ sig { params(sms_shares: Integer).void }
696
+ attr_writer :sms_shares
697
+
698
+ sig { returns(T.nilable(Integer)) }
699
+ attr_reader :telegram_shares
700
+
701
+ sig { params(telegram_shares: Integer).void }
702
+ attr_writer :telegram_shares
703
+
704
+ sig { returns(T.nilable(Integer)) }
705
+ attr_reader :threads_shares
706
+
707
+ sig { params(threads_shares: Integer).void }
708
+ attr_writer :threads_shares
709
+
710
+ # Affiliate programs only. Number of commission records.
711
+ sig { returns(T.nilable(Integer)) }
712
+ attr_reader :total_commission_count
713
+
714
+ sig { params(total_commission_count: Integer).void }
715
+ attr_writer :total_commission_count
716
+
717
+ # Affiliate programs only. Commissions in the smallest unit of the program
718
+ # currency.
719
+ sig { returns(T.nilable(Integer)) }
720
+ attr_reader :total_commissions
721
+
722
+ sig { params(total_commissions: Integer).void }
723
+ attr_writer :total_commissions
724
+
725
+ # Affiliate programs only. Revenue in the smallest unit of the program currency.
726
+ sig { returns(T.nilable(Integer)) }
727
+ attr_reader :total_revenue
728
+
729
+ sig { params(total_revenue: Integer).void }
730
+ attr_writer :total_revenue
731
+
732
+ sig { returns(T.nilable(Integer)) }
733
+ attr_reader :tumblr_shares
734
+
735
+ sig { params(tumblr_shares: Integer).void }
736
+ attr_writer :tumblr_shares
737
+
738
+ sig { returns(T.nilable(Integer)) }
739
+ attr_reader :twitter_shares
740
+
741
+ sig { params(twitter_shares: Integer).void }
742
+ attr_writer :twitter_shares
743
+
744
+ sig { returns(T.nilable(Integer)) }
745
+ attr_reader :unique_impressions
746
+
747
+ sig { params(unique_impressions: Integer).void }
748
+ attr_writer :unique_impressions
749
+
750
+ sig { returns(T.nilable(Integer)) }
751
+ attr_reader :wechat_shares
752
+
753
+ sig { params(wechat_shares: Integer).void }
754
+ attr_writer :wechat_shares
755
+
756
+ sig { returns(T.nilable(Integer)) }
757
+ attr_reader :whats_app_shares
758
+
759
+ sig { params(whats_app_shares: Integer).void }
760
+ attr_writer :whats_app_shares
761
+
762
+ sig do
763
+ params(
764
+ android_native_shares: Integer,
765
+ bluesky_shares: Integer,
766
+ copy_ref_link_shares: Integer,
767
+ email_shares: Integer,
768
+ facebook_shares: Integer,
769
+ impressions: Integer,
770
+ invites: Integer,
771
+ ios_native_shares: Integer,
772
+ linked_in_shares: Integer,
773
+ messenger_shares: Integer,
774
+ participants: Integer,
775
+ period_start: Integer,
776
+ pinterest_shares: Integer,
777
+ qrcode_shares: Integer,
778
+ reddit_shares: Integer,
779
+ referral_credit_expireds: Integer,
780
+ referral_credit_pendings: Integer,
781
+ referrals: Integer,
782
+ sms_shares: Integer,
783
+ telegram_shares: Integer,
784
+ threads_shares: Integer,
785
+ total_commission_count: Integer,
786
+ total_commissions: Integer,
787
+ total_revenue: Integer,
788
+ tumblr_shares: Integer,
789
+ twitter_shares: Integer,
790
+ unique_impressions: Integer,
791
+ wechat_shares: Integer,
792
+ whats_app_shares: Integer
793
+ ).returns(T.attached_class)
794
+ end
795
+ def self.new(
796
+ android_native_shares: nil,
797
+ bluesky_shares: nil,
798
+ copy_ref_link_shares: nil,
799
+ email_shares: nil,
800
+ facebook_shares: nil,
801
+ impressions: nil,
802
+ invites: nil,
803
+ ios_native_shares: nil,
804
+ linked_in_shares: nil,
805
+ messenger_shares: nil,
806
+ participants: nil,
807
+ # Start of the period, as a Unix timestamp in milliseconds (UTC).
808
+ period_start: nil,
809
+ pinterest_shares: nil,
810
+ qrcode_shares: nil,
811
+ reddit_shares: nil,
812
+ referral_credit_expireds: nil,
813
+ referral_credit_pendings: nil,
814
+ referrals: nil,
815
+ sms_shares: nil,
816
+ telegram_shares: nil,
817
+ threads_shares: nil,
818
+ # Affiliate programs only. Number of commission records.
819
+ total_commission_count: nil,
820
+ # Affiliate programs only. Commissions in the smallest unit of the program
821
+ # currency.
822
+ total_commissions: nil,
823
+ # Affiliate programs only. Revenue in the smallest unit of the program currency.
824
+ total_revenue: nil,
825
+ tumblr_shares: nil,
826
+ twitter_shares: nil,
827
+ unique_impressions: nil,
828
+ wechat_shares: nil,
829
+ whats_app_shares: nil
830
+ )
831
+ end
832
+
833
+ sig do
834
+ override.returns(
835
+ {
836
+ android_native_shares: Integer,
837
+ bluesky_shares: Integer,
838
+ copy_ref_link_shares: Integer,
839
+ email_shares: Integer,
840
+ facebook_shares: Integer,
841
+ impressions: Integer,
842
+ invites: Integer,
843
+ ios_native_shares: Integer,
844
+ linked_in_shares: Integer,
845
+ messenger_shares: Integer,
846
+ participants: Integer,
847
+ period_start: Integer,
848
+ pinterest_shares: Integer,
849
+ qrcode_shares: Integer,
850
+ reddit_shares: Integer,
851
+ referral_credit_expireds: Integer,
852
+ referral_credit_pendings: Integer,
853
+ referrals: Integer,
854
+ sms_shares: Integer,
855
+ telegram_shares: Integer,
856
+ threads_shares: Integer,
857
+ total_commission_count: Integer,
858
+ total_commissions: Integer,
859
+ total_revenue: Integer,
860
+ tumblr_shares: Integer,
861
+ twitter_shares: Integer,
862
+ unique_impressions: Integer,
863
+ wechat_shares: Integer,
864
+ whats_app_shares: Integer
865
+ }
866
+ )
867
+ end
868
+ def to_hash
869
+ end
870
+ end
871
+
872
+ class StatusCounts < GrowsurfRuby::Internal::Type::BaseModel
873
+ OrHash =
874
+ T.type_alias do
875
+ T.any(
876
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts,
877
+ GrowsurfRuby::Internal::AnyHash
878
+ )
879
+ end
880
+
881
+ # Affiliate only. Participant counts keyed by affiliate status.
882
+ sig { returns(T.nilable(T::Hash[Symbol, Integer])) }
883
+ attr_reader :affiliate_status
884
+
885
+ sig { params(affiliate_status: T::Hash[Symbol, Integer]).void }
886
+ attr_writer :affiliate_status
887
+
888
+ # Affiliate only. Commission counts and amounts by status.
889
+ sig do
890
+ returns(
891
+ T.nilable(
892
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus
893
+ )
894
+ )
895
+ end
896
+ attr_reader :commission_status
897
+
898
+ sig do
899
+ params(
900
+ commission_status:
901
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::OrHash
902
+ ).void
903
+ end
904
+ attr_writer :commission_status
905
+
906
+ sig { returns(T.nilable(String)) }
907
+ attr_reader :currency_iso
908
+
909
+ sig { params(currency_iso: String).void }
910
+ attr_writer :currency_iso
911
+
912
+ # Affiliate only. Payout counts and amounts by status.
913
+ sig do
914
+ returns(
915
+ T.nilable(
916
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus
917
+ )
918
+ )
919
+ end
920
+ attr_reader :payout_status
921
+
922
+ sig do
923
+ params(
924
+ payout_status:
925
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::OrHash
926
+ ).void
927
+ end
928
+ attr_writer :payout_status
929
+
930
+ # Present for every program.
931
+ sig do
932
+ returns(
933
+ T.nilable(
934
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus
935
+ )
936
+ )
937
+ end
938
+ attr_reader :reward_status
939
+
940
+ sig do
941
+ params(
942
+ reward_status:
943
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus::OrHash
944
+ ).void
945
+ end
946
+ attr_writer :reward_status
947
+
948
+ # Status-count breakdowns. `rewardStatus` is present for every program;
949
+ # `affiliateStatus`, `commissionStatus`, and `payoutStatus` are present only for
950
+ # affiliate programs. Money amounts are in minor units of `currencyISO`.
951
+ sig do
952
+ params(
953
+ affiliate_status: T::Hash[Symbol, Integer],
954
+ commission_status:
955
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::OrHash,
956
+ currency_iso: String,
957
+ payout_status:
958
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::OrHash,
959
+ reward_status:
960
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus::OrHash
961
+ ).returns(T.attached_class)
962
+ end
963
+ def self.new(
964
+ # Affiliate only. Participant counts keyed by affiliate status.
965
+ affiliate_status: nil,
966
+ # Affiliate only. Commission counts and amounts by status.
967
+ commission_status: nil,
968
+ currency_iso: nil,
969
+ # Affiliate only. Payout counts and amounts by status.
970
+ payout_status: nil,
971
+ # Present for every program.
972
+ reward_status: nil
973
+ )
974
+ end
975
+
976
+ sig do
977
+ override.returns(
978
+ {
979
+ affiliate_status: T::Hash[Symbol, Integer],
980
+ commission_status:
981
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus,
982
+ currency_iso: String,
983
+ payout_status:
984
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus,
985
+ reward_status:
986
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus
987
+ }
988
+ )
989
+ end
990
+ def to_hash
991
+ end
992
+
993
+ class CommissionStatus < GrowsurfRuby::Internal::Type::BaseModel
994
+ OrHash =
995
+ T.type_alias do
996
+ T.any(
997
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus,
998
+ GrowsurfRuby::Internal::AnyHash
999
+ )
1000
+ end
1001
+
1002
+ sig do
1003
+ returns(
1004
+ T.nilable(
1005
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric
1006
+ )
1007
+ )
1008
+ end
1009
+ attr_reader :approved
1010
+
1011
+ sig do
1012
+ params(
1013
+ approved:
1014
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash
1015
+ ).void
1016
+ end
1017
+ attr_writer :approved
1018
+
1019
+ sig do
1020
+ returns(
1021
+ T.nilable(
1022
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric
1023
+ )
1024
+ )
1025
+ end
1026
+ attr_reader :paid
1027
+
1028
+ sig do
1029
+ params(
1030
+ paid:
1031
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash
1032
+ ).void
1033
+ end
1034
+ attr_writer :paid
1035
+
1036
+ sig do
1037
+ returns(
1038
+ T.nilable(
1039
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric
1040
+ )
1041
+ )
1042
+ end
1043
+ attr_reader :pending
1044
+
1045
+ sig do
1046
+ params(
1047
+ pending:
1048
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash
1049
+ ).void
1050
+ end
1051
+ attr_writer :pending
1052
+
1053
+ sig do
1054
+ returns(
1055
+ T.nilable(
1056
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric
1057
+ )
1058
+ )
1059
+ end
1060
+ attr_reader :reversed
1061
+
1062
+ sig do
1063
+ params(
1064
+ reversed:
1065
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash
1066
+ ).void
1067
+ end
1068
+ attr_writer :reversed
1069
+
1070
+ # Affiliate only. Commission counts and amounts by status.
1071
+ sig do
1072
+ params(
1073
+ approved:
1074
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash,
1075
+ paid:
1076
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash,
1077
+ pending:
1078
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash,
1079
+ reversed:
1080
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric::OrHash
1081
+ ).returns(T.attached_class)
1082
+ end
1083
+ def self.new(approved: nil, paid: nil, pending: nil, reversed: nil)
1084
+ end
1085
+
1086
+ sig do
1087
+ override.returns(
1088
+ {
1089
+ approved:
1090
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric,
1091
+ paid:
1092
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric,
1093
+ pending:
1094
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric,
1095
+ reversed:
1096
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric
1097
+ }
1098
+ )
1099
+ end
1100
+ def to_hash
1101
+ end
1102
+
1103
+ class CommissionStatusMetric < GrowsurfRuby::Internal::Type::BaseModel
1104
+ OrHash =
1105
+ T.type_alias do
1106
+ T.any(
1107
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::CommissionStatus::CommissionStatusMetric,
1108
+ GrowsurfRuby::Internal::AnyHash
1109
+ )
1110
+ end
1111
+
1112
+ sig { returns(T.nilable(Integer)) }
1113
+ attr_reader :count
1114
+
1115
+ sig { params(count: Integer).void }
1116
+ attr_writer :count
1117
+
1118
+ # Total commission amount in minor currency units.
1119
+ sig { returns(T.nilable(Integer)) }
1120
+ attr_reader :total_amount
1121
+
1122
+ sig { params(total_amount: Integer).void }
1123
+ attr_writer :total_amount
1124
+
1125
+ # Total attributed revenue in minor currency units.
1126
+ sig { returns(T.nilable(Integer)) }
1127
+ attr_reader :total_revenue
1128
+
1129
+ sig { params(total_revenue: Integer).void }
1130
+ attr_writer :total_revenue
1131
+
1132
+ sig do
1133
+ params(
1134
+ count: Integer,
1135
+ total_amount: Integer,
1136
+ total_revenue: Integer
1137
+ ).returns(T.attached_class)
1138
+ end
1139
+ def self.new(
1140
+ count: nil,
1141
+ # Total commission amount in minor currency units.
1142
+ total_amount: nil,
1143
+ # Total attributed revenue in minor currency units.
1144
+ total_revenue: nil
1145
+ )
1146
+ end
1147
+
1148
+ sig do
1149
+ override.returns(
1150
+ {
1151
+ count: Integer,
1152
+ total_amount: Integer,
1153
+ total_revenue: Integer
1154
+ }
1155
+ )
1156
+ end
1157
+ def to_hash
1158
+ end
1159
+ end
1160
+ end
1161
+
1162
+ class PayoutStatus < GrowsurfRuby::Internal::Type::BaseModel
1163
+ OrHash =
1164
+ T.type_alias do
1165
+ T.any(
1166
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus,
1167
+ GrowsurfRuby::Internal::AnyHash
1168
+ )
1169
+ end
1170
+
1171
+ sig do
1172
+ returns(
1173
+ T.nilable(
1174
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric
1175
+ )
1176
+ )
1177
+ end
1178
+ attr_reader :failed
1179
+
1180
+ sig do
1181
+ params(
1182
+ failed:
1183
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash
1184
+ ).void
1185
+ end
1186
+ attr_writer :failed
1187
+
1188
+ sig do
1189
+ returns(
1190
+ T.nilable(
1191
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric
1192
+ )
1193
+ )
1194
+ end
1195
+ attr_reader :issued
1196
+
1197
+ sig do
1198
+ params(
1199
+ issued:
1200
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash
1201
+ ).void
1202
+ end
1203
+ attr_writer :issued
1204
+
1205
+ sig do
1206
+ returns(
1207
+ T.nilable(
1208
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric
1209
+ )
1210
+ )
1211
+ end
1212
+ attr_reader :queued
1213
+
1214
+ sig do
1215
+ params(
1216
+ queued:
1217
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash
1218
+ ).void
1219
+ end
1220
+ attr_writer :queued
1221
+
1222
+ sig do
1223
+ returns(
1224
+ T.nilable(
1225
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric
1226
+ )
1227
+ )
1228
+ end
1229
+ attr_reader :upcoming
1230
+
1231
+ sig do
1232
+ params(
1233
+ upcoming:
1234
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash
1235
+ ).void
1236
+ end
1237
+ attr_writer :upcoming
1238
+
1239
+ # Affiliate only. Payout counts and amounts by status.
1240
+ sig do
1241
+ params(
1242
+ failed:
1243
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash,
1244
+ issued:
1245
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash,
1246
+ queued:
1247
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash,
1248
+ upcoming:
1249
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric::OrHash
1250
+ ).returns(T.attached_class)
1251
+ end
1252
+ def self.new(failed: nil, issued: nil, queued: nil, upcoming: nil)
1253
+ end
1254
+
1255
+ sig do
1256
+ override.returns(
1257
+ {
1258
+ failed:
1259
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric,
1260
+ issued:
1261
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric,
1262
+ queued:
1263
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric,
1264
+ upcoming:
1265
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric
1266
+ }
1267
+ )
1268
+ end
1269
+ def to_hash
1270
+ end
1271
+
1272
+ class PayoutStatusMetric < GrowsurfRuby::Internal::Type::BaseModel
1273
+ OrHash =
1274
+ T.type_alias do
1275
+ T.any(
1276
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::PayoutStatus::PayoutStatusMetric,
1277
+ GrowsurfRuby::Internal::AnyHash
1278
+ )
1279
+ end
1280
+
1281
+ sig { returns(T.nilable(Integer)) }
1282
+ attr_reader :count
1283
+
1284
+ sig { params(count: Integer).void }
1285
+ attr_writer :count
1286
+
1287
+ # Total payout amount in minor currency units.
1288
+ sig { returns(T.nilable(Integer)) }
1289
+ attr_reader :total_amount
1290
+
1291
+ sig { params(total_amount: Integer).void }
1292
+ attr_writer :total_amount
1293
+
1294
+ sig do
1295
+ params(count: Integer, total_amount: Integer).returns(
1296
+ T.attached_class
1297
+ )
1298
+ end
1299
+ def self.new(
1300
+ count: nil,
1301
+ # Total payout amount in minor currency units.
1302
+ total_amount: nil
1303
+ )
1304
+ end
1305
+
1306
+ sig do
1307
+ override.returns({ count: Integer, total_amount: Integer })
1308
+ end
1309
+ def to_hash
1310
+ end
1311
+ end
1312
+ end
1313
+
1314
+ class RewardStatus < GrowsurfRuby::Internal::Type::BaseModel
1315
+ OrHash =
1316
+ T.type_alias do
1317
+ T.any(
1318
+ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse::StatusCounts::RewardStatus,
1319
+ GrowsurfRuby::Internal::AnyHash
1320
+ )
1321
+ end
1322
+
1323
+ sig { returns(T.nilable(Integer)) }
1324
+ attr_reader :approved
1325
+
1326
+ sig { params(approved: Integer).void }
1327
+ attr_writer :approved
1328
+
1329
+ # Unapproved rewards awaiting fulfillment.
1330
+ sig { returns(T.nilable(Integer)) }
1331
+ attr_reader :pending
1332
+
1333
+ sig { params(pending: Integer).void }
1334
+ attr_writer :pending
1335
+
1336
+ sig do
1337
+ params(approved: Integer, pending: Integer).returns(
1338
+ T.attached_class
1339
+ )
1340
+ end
1341
+ def self.new(
1342
+ approved: nil,
1343
+ # Unapproved rewards awaiting fulfillment.
1344
+ pending: nil
1345
+ )
1346
+ end
1347
+
1348
+ sig { override.returns({ approved: Integer, pending: Integer }) }
1349
+ def to_hash
1350
+ end
1351
+ end
1352
+ end
345
1353
  end
346
1354
  end
347
1355
  end