revox 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +1 -1
  4. data/lib/revox/client.rb +8 -0
  5. data/lib/revox/internal/type/base_model.rb +3 -3
  6. data/lib/revox/models/assistant_clone_params.rb +20 -0
  7. data/lib/revox/models/assistant_clone_response.rb +1594 -0
  8. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  9. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  10. data/lib/revox/models/call_cancel_params.rb +20 -0
  11. data/lib/revox/models/call_cancel_response.rb +16 -0
  12. data/lib/revox/models/call_create_response.rb +11 -1
  13. data/lib/revox/models/call_export_params.rb +205 -0
  14. data/lib/revox/models/call_export_response.rb +22 -0
  15. data/lib/revox/models/call_pause_params.rb +20 -0
  16. data/lib/revox/models/call_pause_response.rb +16 -0
  17. data/lib/revox/models/call_phone_history_params.rb +14 -0
  18. data/lib/revox/models/call_phone_history_response.rb +98 -0
  19. data/lib/revox/models/call_resume_params.rb +20 -0
  20. data/lib/revox/models/call_resume_response.rb +16 -0
  21. data/lib/revox/models/call_retrieve_response.rb +11 -1
  22. data/lib/revox/models/call_search_params.rb +171 -0
  23. data/lib/revox/models/call_search_response.rb +3114 -0
  24. data/lib/revox/models/campaign_get_rows_response.rb +11 -1
  25. data/lib/revox/models/campaign_launch_params.rb +20 -0
  26. data/lib/revox/models/campaign_launch_response.rb +2030 -0
  27. data/lib/revox/models/campaign_pause_params.rb +20 -0
  28. data/lib/revox/models/campaign_pause_response.rb +16 -0
  29. data/lib/revox/models/campaign_resume_params.rb +20 -0
  30. data/lib/revox/models/campaign_resume_response.rb +16 -0
  31. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  32. data/lib/revox/models/campaign_statistics_response.rb +486 -0
  33. data/lib/revox/models/campaign_update_params.rb +234 -0
  34. data/lib/revox/models/campaign_update_response.rb +2030 -0
  35. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  36. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  37. data/lib/revox/models/phone_number_list_params.rb +14 -0
  38. data/lib/revox/models/phone_number_list_response.rb +1777 -0
  39. data/lib/revox/models/phone_number_update_params.rb +32 -0
  40. data/lib/revox/models/phone_number_update_response.rb +1777 -0
  41. data/lib/revox/models/user_retrieve_params.rb +14 -0
  42. data/lib/revox/models/user_retrieve_response.rb +99 -0
  43. data/lib/revox/models/voice_clone_params.rb +78 -0
  44. data/lib/revox/models/voice_clone_response.rb +40 -0
  45. data/lib/revox/models/voice_delete_params.rb +20 -0
  46. data/lib/revox/models/voice_delete_response.rb +16 -0
  47. data/lib/revox/models.rb +37 -1
  48. data/lib/revox/resources/assistants.rb +21 -0
  49. data/lib/revox/resources/auth_status.rb +32 -0
  50. data/lib/revox/resources/call.rb +145 -0
  51. data/lib/revox/resources/campaigns.rb +131 -0
  52. data/lib/revox/resources/phone_numbers.rb +74 -0
  53. data/lib/revox/resources/users.rb +17 -3
  54. data/lib/revox/resources/voices.rb +50 -0
  55. data/lib/revox/version.rb +1 -1
  56. data/lib/revox.rb +40 -5
  57. data/rbi/revox/client.rbi +6 -0
  58. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  59. data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
  60. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  61. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  62. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  63. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  64. data/rbi/revox/models/call_create_response.rbi +12 -0
  65. data/rbi/revox/models/call_export_params.rbi +456 -0
  66. data/rbi/revox/models/call_export_response.rbi +26 -0
  67. data/rbi/revox/models/call_pause_params.rbi +31 -0
  68. data/rbi/revox/models/call_pause_response.rbi +23 -0
  69. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  70. data/rbi/revox/models/call_phone_history_response.rbi +224 -0
  71. data/rbi/revox/models/call_resume_params.rbi +33 -0
  72. data/rbi/revox/models/call_resume_response.rbi +23 -0
  73. data/rbi/revox/models/call_retrieve_response.rbi +12 -0
  74. data/rbi/revox/models/call_search_params.rbi +288 -0
  75. data/rbi/revox/models/call_search_response.rbi +6593 -0
  76. data/rbi/revox/models/campaign_get_rows_response.rbi +12 -0
  77. data/rbi/revox/models/campaign_launch_params.rbi +33 -0
  78. data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
  79. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  80. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  81. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  82. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  83. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  84. data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
  85. data/rbi/revox/models/campaign_update_params.rbi +431 -0
  86. data/rbi/revox/models/campaign_update_response.rbi +4170 -0
  87. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  88. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  89. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  90. data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
  91. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  92. data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
  93. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  94. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  95. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  96. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  97. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  98. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  99. data/rbi/revox/models.rbi +37 -1
  100. data/rbi/revox/resources/assistants.rbi +12 -0
  101. data/rbi/revox/resources/auth_status.rbi +21 -0
  102. data/rbi/revox/resources/call.rbi +107 -0
  103. data/rbi/revox/resources/campaigns.rbi +94 -0
  104. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  105. data/rbi/revox/resources/users.rbi +8 -2
  106. data/rbi/revox/resources/voices.rbi +39 -0
  107. data/sig/revox/client.rbs +4 -0
  108. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  109. data/sig/revox/models/assistant_clone_response.rbs +1318 -0
  110. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  111. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  112. data/sig/revox/models/call_cancel_params.rbs +20 -0
  113. data/sig/revox/models/call_cancel_response.rbs +13 -0
  114. data/sig/revox/models/call_create_response.rbs +5 -0
  115. data/sig/revox/models/call_export_params.rbs +234 -0
  116. data/sig/revox/models/call_export_response.rbs +15 -0
  117. data/sig/revox/models/call_pause_params.rbs +20 -0
  118. data/sig/revox/models/call_pause_response.rbs +13 -0
  119. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  120. data/sig/revox/models/call_phone_history_response.rbs +102 -0
  121. data/sig/revox/models/call_resume_params.rbs +20 -0
  122. data/sig/revox/models/call_resume_response.rbs +13 -0
  123. data/sig/revox/models/call_retrieve_response.rbs +5 -0
  124. data/sig/revox/models/call_search_params.rbs +198 -0
  125. data/sig/revox/models/call_search_response.rbs +2654 -0
  126. data/sig/revox/models/campaign_get_rows_response.rbs +5 -0
  127. data/sig/revox/models/campaign_launch_params.rbs +20 -0
  128. data/sig/revox/models/campaign_launch_response.rbs +1694 -0
  129. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  130. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  131. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  132. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  133. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  134. data/sig/revox/models/campaign_statistics_response.rbs +458 -0
  135. data/sig/revox/models/campaign_update_params.rbs +203 -0
  136. data/sig/revox/models/campaign_update_response.rbs +1694 -0
  137. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  138. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  139. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  140. data/sig/revox/models/phone_number_list_response.rbs +1462 -0
  141. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  142. data/sig/revox/models/phone_number_update_response.rbs +1460 -0
  143. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  144. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  145. data/sig/revox/models/voice_clone_params.rbs +79 -0
  146. data/sig/revox/models/voice_clone_response.rbs +40 -0
  147. data/sig/revox/models/voice_delete_params.rbs +20 -0
  148. data/sig/revox/models/voice_delete_response.rbs +13 -0
  149. data/sig/revox/models.rbs +37 -1
  150. data/sig/revox/resources/assistants.rbs +5 -0
  151. data/sig/revox/resources/auth_status.rbs +11 -0
  152. data/sig/revox/resources/call.rbs +45 -0
  153. data/sig/revox/resources/campaigns.rbs +33 -0
  154. data/sig/revox/resources/phone_numbers.rbs +23 -0
  155. data/sig/revox/resources/users.rbs +3 -1
  156. data/sig/revox/resources/voices.rbs +13 -0
  157. metadata +121 -16
  158. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  159. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  160. data/lib/revox/models/users/me_update_params.rb +0 -22
  161. data/lib/revox/models/users/me_update_response.rb +0 -101
  162. data/lib/revox/resources/users/me.rb +0 -55
  163. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  164. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  165. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  166. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  167. data/rbi/revox/resources/users/me.rbi +0 -33
  168. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  169. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  170. data/sig/revox/models/users/me_update_params.rbs +0 -28
  171. data/sig/revox/models/users/me_update_response.rbs +0 -75
  172. data/sig/revox/resources/users/me.rbs +0 -18
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#pause
6
+ class CampaignPauseParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#pause
6
+ class CampaignPauseResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#resume
6
+ class CampaignResumeParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#resume
6
+ class CampaignResumeResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Revox::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#statistics
6
+ class CampaignStatisticsParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!method initialize(id:, request_options: {})
16
+ # @param id [String]
17
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,486 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Campaigns#statistics
6
+ class CampaignStatisticsResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute statistics
8
+ #
9
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics]
10
+ required :statistics, -> { Revox::Models::CampaignStatisticsResponse::Statistics }
11
+
12
+ # @!method initialize(statistics:)
13
+ # @param statistics [Revox::Models::CampaignStatisticsResponse::Statistics]
14
+
15
+ # @see Revox::Models::CampaignStatisticsResponse#statistics
16
+ class Statistics < Revox::Internal::Type::BaseModel
17
+ # @!attribute campaign
18
+ #
19
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Campaign]
20
+ required :campaign, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Campaign }
21
+
22
+ # @!attribute data_extraction
23
+ #
24
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::DataExtraction, nil]
25
+ required :data_extraction,
26
+ -> { Revox::Models::CampaignStatisticsResponse::Statistics::DataExtraction },
27
+ nil?: true
28
+
29
+ # @!attribute effort
30
+ #
31
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Effort]
32
+ required :effort, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Effort }
33
+
34
+ # @!attribute funnel
35
+ #
36
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel]
37
+ required :funnel, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Funnel }
38
+
39
+ # @!attribute hot_lead_outcomes
40
+ #
41
+ # @return [Array<String>]
42
+ required :hot_lead_outcomes, Revox::Internal::Type::ArrayOf[String]
43
+
44
+ # @!attribute inbound
45
+ #
46
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Inbound]
47
+ required :inbound, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Inbound }
48
+
49
+ # @!attribute leads
50
+ #
51
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Leads]
52
+ required :leads, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Leads }
53
+
54
+ # @!attribute outcome_breakdown
55
+ #
56
+ # @return [Array<Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown>]
57
+ required :outcome_breakdown,
58
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown] }
59
+
60
+ # @!method initialize(campaign:, data_extraction:, effort:, funnel:, hot_lead_outcomes:, inbound:, leads:, outcome_breakdown:)
61
+ # @param campaign [Revox::Models::CampaignStatisticsResponse::Statistics::Campaign]
62
+ # @param data_extraction [Revox::Models::CampaignStatisticsResponse::Statistics::DataExtraction, nil]
63
+ # @param effort [Revox::Models::CampaignStatisticsResponse::Statistics::Effort]
64
+ # @param funnel [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel]
65
+ # @param hot_lead_outcomes [Array<String>]
66
+ # @param inbound [Revox::Models::CampaignStatisticsResponse::Statistics::Inbound]
67
+ # @param leads [Revox::Models::CampaignStatisticsResponse::Statistics::Leads]
68
+ # @param outcome_breakdown [Array<Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown>]
69
+
70
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#campaign
71
+ class Campaign < Revox::Internal::Type::BaseModel
72
+ # @!attribute id
73
+ #
74
+ # @return [String]
75
+ required :id, String
76
+
77
+ # @!attribute agent_name
78
+ #
79
+ # @return [String, nil]
80
+ required :agent_name, String, nil?: true
81
+
82
+ # @!attribute first_activity_at
83
+ #
84
+ # @return [Object]
85
+ required :first_activity_at, Revox::Internal::Type::Unknown
86
+
87
+ # @!attribute has_activity
88
+ #
89
+ # @return [Boolean]
90
+ required :has_activity, Revox::Internal::Type::Boolean
91
+
92
+ # @!attribute is_cancelled
93
+ #
94
+ # @return [Boolean]
95
+ required :is_cancelled, Revox::Internal::Type::Boolean
96
+
97
+ # @!attribute last_activity_at
98
+ #
99
+ # @return [Object]
100
+ required :last_activity_at, Revox::Internal::Type::Unknown
101
+
102
+ # @!attribute max_attempts_per_contact
103
+ #
104
+ # @return [Float, nil]
105
+ required :max_attempts_per_contact, Float, nil?: true
106
+
107
+ # @!attribute name
108
+ #
109
+ # @return [String]
110
+ required :name, String
111
+
112
+ # @!attribute status
113
+ #
114
+ # @return [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Campaign::Status]
115
+ required :status, enum: -> { Revox::Models::CampaignStatisticsResponse::Statistics::Campaign::Status }
116
+
117
+ # @!attribute timezone
118
+ #
119
+ # @return [String]
120
+ required :timezone, String
121
+
122
+ # @!method initialize(id:, agent_name:, first_activity_at:, has_activity:, is_cancelled:, last_activity_at:, max_attempts_per_contact:, name:, status:, timezone:)
123
+ # @param id [String]
124
+ # @param agent_name [String, nil]
125
+ # @param first_activity_at [Object]
126
+ # @param has_activity [Boolean]
127
+ # @param is_cancelled [Boolean]
128
+ # @param last_activity_at [Object]
129
+ # @param max_attempts_per_contact [Float, nil]
130
+ # @param name [String]
131
+ # @param status [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Campaign::Status]
132
+ # @param timezone [String]
133
+
134
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Campaign#status
135
+ module Status
136
+ extend Revox::Internal::Type::Enum
137
+
138
+ DRAFT = :draft
139
+ RUNNING = :running
140
+ PAUSED = :paused
141
+ COMPLETED = :completed
142
+
143
+ # @!method self.values
144
+ # @return [Array<Symbol>]
145
+ end
146
+ end
147
+
148
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#data_extraction
149
+ class DataExtraction < Revox::Internal::Type::BaseModel
150
+ # @!attribute fields
151
+ #
152
+ # @return [Array<String>]
153
+ required :fields, Revox::Internal::Type::ArrayOf[String]
154
+
155
+ # @!attribute intro
156
+ #
157
+ # @return [String]
158
+ required :intro, String
159
+
160
+ # @!method initialize(fields:, intro:)
161
+ # @param fields [Array<String>]
162
+ # @param intro [String]
163
+ end
164
+
165
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#effort
166
+ class Effort < Revox::Internal::Type::BaseModel
167
+ # @!attribute calls_total
168
+ #
169
+ # @return [Float]
170
+ required :calls_total, Float
171
+
172
+ # @!attribute inbound_calls
173
+ #
174
+ # @return [Float]
175
+ required :inbound_calls, Float
176
+
177
+ # @!attribute outbound_attempts
178
+ #
179
+ # @return [Float]
180
+ required :outbound_attempts, Float
181
+
182
+ # @!method initialize(calls_total:, inbound_calls:, outbound_attempts:)
183
+ # @param calls_total [Float]
184
+ # @param inbound_calls [Float]
185
+ # @param outbound_attempts [Float]
186
+ end
187
+
188
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#funnel
189
+ class Funnel < Revox::Internal::Type::BaseModel
190
+ # @!attribute called
191
+ #
192
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Called]
193
+ required :called, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Called }
194
+
195
+ # @!attribute hot_leads
196
+ #
197
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::HotLeads]
198
+ required :hot_leads, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::HotLeads }
199
+
200
+ # @!attribute reached
201
+ #
202
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Reached]
203
+ required :reached, -> { Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Reached }
204
+
205
+ # @!attribute real_exchanges
206
+ #
207
+ # @return [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::RealExchanges]
208
+ required :real_exchanges,
209
+ -> { Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::RealExchanges }
210
+
211
+ # @!method initialize(called:, hot_leads:, reached:, real_exchanges:)
212
+ # @param called [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Called]
213
+ # @param hot_leads [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::HotLeads]
214
+ # @param reached [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::Reached]
215
+ # @param real_exchanges [Revox::Models::CampaignStatisticsResponse::Statistics::Funnel::RealExchanges]
216
+
217
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Funnel#called
218
+ class Called < Revox::Internal::Type::BaseModel
219
+ # @!attribute count
220
+ #
221
+ # @return [Float]
222
+ required :count, Float
223
+
224
+ # @!attribute imported_rows
225
+ #
226
+ # @return [Float]
227
+ required :imported_rows, Float
228
+
229
+ # @!method initialize(count:, imported_rows:)
230
+ # @param count [Float]
231
+ # @param imported_rows [Float]
232
+ end
233
+
234
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Funnel#hot_leads
235
+ class HotLeads < Revox::Internal::Type::BaseModel
236
+ # @!attribute count
237
+ #
238
+ # @return [Float]
239
+ required :count, Float
240
+
241
+ # @!attribute pct_of_reached
242
+ #
243
+ # @return [Float, nil]
244
+ required :pct_of_reached, Float, nil?: true
245
+
246
+ # @!method initialize(count:, pct_of_reached:)
247
+ # @param count [Float]
248
+ # @param pct_of_reached [Float, nil]
249
+ end
250
+
251
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Funnel#reached
252
+ class Reached < Revox::Internal::Type::BaseModel
253
+ # @!attribute count
254
+ #
255
+ # @return [Float]
256
+ required :count, Float
257
+
258
+ # @!attribute inbound
259
+ #
260
+ # @return [Float]
261
+ required :inbound, Float
262
+
263
+ # @!attribute outbound
264
+ #
265
+ # @return [Float]
266
+ required :outbound, Float
267
+
268
+ # @!attribute overlap
269
+ #
270
+ # @return [Float]
271
+ required :overlap, Float
272
+
273
+ # @!attribute pct_of_called
274
+ #
275
+ # @return [Float, nil]
276
+ required :pct_of_called, Float, nil?: true
277
+
278
+ # @!method initialize(count:, inbound:, outbound:, overlap:, pct_of_called:)
279
+ # @param count [Float]
280
+ # @param inbound [Float]
281
+ # @param outbound [Float]
282
+ # @param overlap [Float]
283
+ # @param pct_of_called [Float, nil]
284
+ end
285
+
286
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Funnel#real_exchanges
287
+ class RealExchanges < Revox::Internal::Type::BaseModel
288
+ # @!attribute count
289
+ #
290
+ # @return [Float]
291
+ required :count, Float
292
+
293
+ # @!attribute pct_of_reached
294
+ #
295
+ # @return [Float, nil]
296
+ required :pct_of_reached, Float, nil?: true
297
+
298
+ # @!method initialize(count:, pct_of_reached:)
299
+ # @param count [Float]
300
+ # @param pct_of_reached [Float, nil]
301
+ end
302
+ end
303
+
304
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#inbound
305
+ class Inbound < Revox::Internal::Type::BaseModel
306
+ # @!attribute unique_callers
307
+ #
308
+ # @return [Float]
309
+ required :unique_callers, Float
310
+
311
+ # @!method initialize(unique_callers:)
312
+ # @param unique_callers [Float]
313
+ end
314
+
315
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics#leads
316
+ class Leads < Revox::Internal::Type::BaseModel
317
+ # @!attribute hot
318
+ #
319
+ # @return [Array<Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot>]
320
+ required :hot,
321
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot] }
322
+
323
+ # @!attribute warm
324
+ #
325
+ # @return [Array<Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm>]
326
+ required :warm,
327
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm] }
328
+
329
+ # @!method initialize(hot:, warm:)
330
+ # @param hot [Array<Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot>]
331
+ # @param warm [Array<Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm>]
332
+
333
+ class Hot < Revox::Internal::Type::BaseModel
334
+ # @!attribute attempt_id
335
+ #
336
+ # @return [String, nil]
337
+ required :attempt_id, String, nil?: true
338
+
339
+ # @!attribute call_id
340
+ #
341
+ # @return [String]
342
+ required :call_id, String
343
+
344
+ # @!attribute direction
345
+ #
346
+ # @return [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::Direction]
347
+ required :direction,
348
+ enum: -> { Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::Direction }
349
+
350
+ # @!attribute email
351
+ #
352
+ # @return [String, nil]
353
+ required :email, String, nil?: true
354
+
355
+ # @!attribute last_activity_at
356
+ #
357
+ # @return [Object]
358
+ required :last_activity_at, Revox::Internal::Type::Unknown
359
+
360
+ # @!attribute name
361
+ #
362
+ # @return [String]
363
+ required :name, String
364
+
365
+ # @!attribute phone
366
+ #
367
+ # @return [String]
368
+ required :phone, String
369
+
370
+ # @!attribute summary
371
+ #
372
+ # @return [String, nil]
373
+ required :summary, String, nil?: true
374
+
375
+ # @!method initialize(attempt_id:, call_id:, direction:, email:, last_activity_at:, name:, phone:, summary:)
376
+ # @param attempt_id [String, nil]
377
+ # @param call_id [String]
378
+ # @param direction [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::Direction]
379
+ # @param email [String, nil]
380
+ # @param last_activity_at [Object]
381
+ # @param name [String]
382
+ # @param phone [String]
383
+ # @param summary [String, nil]
384
+
385
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot#direction
386
+ module Direction
387
+ extend Revox::Internal::Type::Enum
388
+
389
+ INBOUND = :inbound
390
+ OUTBOUND = :outbound
391
+
392
+ # @!method self.values
393
+ # @return [Array<Symbol>]
394
+ end
395
+ end
396
+
397
+ class Warm < Revox::Internal::Type::BaseModel
398
+ # @!attribute attempt_id
399
+ #
400
+ # @return [String, nil]
401
+ required :attempt_id, String, nil?: true
402
+
403
+ # @!attribute call_id
404
+ #
405
+ # @return [String]
406
+ required :call_id, String
407
+
408
+ # @!attribute direction
409
+ #
410
+ # @return [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::Direction]
411
+ required :direction,
412
+ enum: -> { Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::Direction }
413
+
414
+ # @!attribute email
415
+ #
416
+ # @return [String, nil]
417
+ required :email, String, nil?: true
418
+
419
+ # @!attribute last_activity_at
420
+ #
421
+ # @return [Object]
422
+ required :last_activity_at, Revox::Internal::Type::Unknown
423
+
424
+ # @!attribute name
425
+ #
426
+ # @return [String]
427
+ required :name, String
428
+
429
+ # @!attribute phone
430
+ #
431
+ # @return [String]
432
+ required :phone, String
433
+
434
+ # @!attribute summary
435
+ #
436
+ # @return [String, nil]
437
+ required :summary, String, nil?: true
438
+
439
+ # @!method initialize(attempt_id:, call_id:, direction:, email:, last_activity_at:, name:, phone:, summary:)
440
+ # @param attempt_id [String, nil]
441
+ # @param call_id [String]
442
+ # @param direction [Symbol, Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::Direction]
443
+ # @param email [String, nil]
444
+ # @param last_activity_at [Object]
445
+ # @param name [String]
446
+ # @param phone [String]
447
+ # @param summary [String, nil]
448
+
449
+ # @see Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm#direction
450
+ module Direction
451
+ extend Revox::Internal::Type::Enum
452
+
453
+ INBOUND = :inbound
454
+ OUTBOUND = :outbound
455
+
456
+ # @!method self.values
457
+ # @return [Array<Symbol>]
458
+ end
459
+ end
460
+ end
461
+
462
+ class OutcomeBreakdown < Revox::Internal::Type::BaseModel
463
+ # @!attribute count
464
+ #
465
+ # @return [Float]
466
+ required :count, Float
467
+
468
+ # @!attribute label
469
+ #
470
+ # @return [String]
471
+ required :label, String
472
+
473
+ # @!attribute outcome
474
+ #
475
+ # @return [String]
476
+ required :outcome, String
477
+
478
+ # @!method initialize(count:, label:, outcome:)
479
+ # @param count [Float]
480
+ # @param label [String]
481
+ # @param outcome [String]
482
+ end
483
+ end
484
+ end
485
+ end
486
+ end