revox 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +38 -38
  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 +1616 -0
  8. data/lib/revox/models/assistant_create_params.rb +90 -66
  9. data/lib/revox/models/assistant_create_response.rb +87 -65
  10. data/lib/revox/models/assistant_list_response.rb +87 -65
  11. data/lib/revox/models/assistant_retrieve_response.rb +86 -65
  12. data/lib/revox/models/assistant_update_params.rb +90 -66
  13. data/lib/revox/models/assistant_update_response.rb +87 -65
  14. data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
  15. data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
  16. data/lib/revox/models/call_cancel_params.rb +20 -0
  17. data/lib/revox/models/call_cancel_response.rb +16 -0
  18. data/lib/revox/models/call_create_params.rb +117 -90
  19. data/lib/revox/models/call_create_response.rb +680 -90
  20. data/lib/revox/models/call_export_params.rb +203 -0
  21. data/lib/revox/models/call_export_response.rb +22 -0
  22. data/lib/revox/models/call_pause_params.rb +20 -0
  23. data/lib/revox/models/call_pause_response.rb +16 -0
  24. data/lib/revox/models/call_phone_history_params.rb +14 -0
  25. data/lib/revox/models/call_phone_history_response.rb +95 -0
  26. data/lib/revox/models/call_resume_params.rb +20 -0
  27. data/lib/revox/models/call_resume_response.rb +16 -0
  28. data/lib/revox/models/call_retrieve_response.rb +681 -90
  29. data/lib/revox/models/call_search_params.rb +169 -0
  30. data/lib/revox/models/call_search_response.rb +3694 -0
  31. data/lib/revox/models/campaign_create_params.rb +7 -57
  32. data/lib/revox/models/campaign_create_response.rb +108 -119
  33. data/lib/revox/models/campaign_get_rows_response.rb +682 -90
  34. data/lib/revox/models/campaign_list_response.rb +108 -119
  35. data/lib/revox/models/campaign_pause_params.rb +20 -0
  36. data/lib/revox/models/campaign_pause_response.rb +16 -0
  37. data/lib/revox/models/campaign_resume_params.rb +20 -0
  38. data/lib/revox/models/campaign_resume_response.rb +16 -0
  39. data/lib/revox/models/campaign_retrieve_response.rb +108 -119
  40. data/lib/revox/models/campaign_statistics_params.rb +20 -0
  41. data/lib/revox/models/campaign_statistics_response.rb +514 -0
  42. data/lib/revox/models/campaign_update_params.rb +165 -0
  43. data/lib/revox/models/campaign_update_response.rb +2019 -0
  44. data/lib/revox/models/phone_number_delete_params.rb +20 -0
  45. data/lib/revox/models/phone_number_delete_response.rb +16 -0
  46. data/lib/revox/models/phone_number_list_params.rb +14 -0
  47. data/lib/revox/models/phone_number_list_response.rb +1799 -0
  48. data/lib/revox/models/phone_number_update_params.rb +32 -0
  49. data/lib/revox/models/phone_number_update_response.rb +1799 -0
  50. data/lib/revox/models/user_retrieve_params.rb +14 -0
  51. data/lib/revox/models/user_retrieve_response.rb +99 -0
  52. data/lib/revox/models/voice_clone_params.rb +78 -0
  53. data/lib/revox/models/voice_clone_response.rb +40 -0
  54. data/lib/revox/models/voice_delete_params.rb +20 -0
  55. data/lib/revox/models/voice_delete_response.rb +16 -0
  56. data/lib/revox/models/voice_list_response.rb +1 -0
  57. data/lib/revox/models/voice_preview_params.rb +1 -0
  58. data/lib/revox/models/voice_retrieve_params.rb +1 -0
  59. data/lib/revox/models.rb +35 -1
  60. data/lib/revox/resources/assistants.rb +31 -10
  61. data/lib/revox/resources/auth_status.rb +32 -0
  62. data/lib/revox/resources/call.rb +149 -4
  63. data/lib/revox/resources/campaigns.rb +110 -11
  64. data/lib/revox/resources/phone_numbers.rb +74 -0
  65. data/lib/revox/resources/users.rb +17 -3
  66. data/lib/revox/resources/voices.rb +50 -0
  67. data/lib/revox/version.rb +1 -1
  68. data/lib/revox.rb +38 -5
  69. data/rbi/revox/client.rbi +6 -0
  70. data/rbi/revox/models/assistant_clone_params.rbi +33 -0
  71. data/rbi/revox/models/assistant_clone_response.rbi +3351 -0
  72. data/rbi/revox/models/assistant_create_params.rbi +148 -162
  73. data/rbi/revox/models/assistant_create_response.rbi +157 -147
  74. data/rbi/revox/models/assistant_list_response.rbi +157 -147
  75. data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
  76. data/rbi/revox/models/assistant_update_params.rbi +148 -162
  77. data/rbi/revox/models/assistant_update_response.rbi +157 -147
  78. data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
  79. data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
  80. data/rbi/revox/models/call_cancel_params.rbi +33 -0
  81. data/rbi/revox/models/call_cancel_response.rbi +23 -0
  82. data/rbi/revox/models/call_create_params.rbi +190 -187
  83. data/rbi/revox/models/call_create_response.rbi +1150 -227
  84. data/rbi/revox/models/call_export_params.rbi +446 -0
  85. data/rbi/revox/models/call_export_response.rbi +26 -0
  86. data/rbi/revox/models/call_pause_params.rbi +31 -0
  87. data/rbi/revox/models/call_pause_response.rbi +23 -0
  88. data/rbi/revox/models/call_phone_history_params.rbi +27 -0
  89. data/rbi/revox/models/call_phone_history_response.rbi +209 -0
  90. data/rbi/revox/models/call_resume_params.rbi +33 -0
  91. data/rbi/revox/models/call_resume_response.rbi +23 -0
  92. data/rbi/revox/models/call_retrieve_response.rbi +1150 -227
  93. data/rbi/revox/models/call_search_params.rbi +281 -0
  94. data/rbi/revox/models/call_search_response.rbi +7504 -0
  95. data/rbi/revox/models/campaign_create_params.rbi +9 -87
  96. data/rbi/revox/models/campaign_create_response.rbi +188 -266
  97. data/rbi/revox/models/campaign_get_rows_response.rbi +1150 -225
  98. data/rbi/revox/models/campaign_list_response.rbi +188 -262
  99. data/rbi/revox/models/campaign_pause_params.rbi +33 -0
  100. data/rbi/revox/models/campaign_pause_response.rbi +23 -0
  101. data/rbi/revox/models/campaign_resume_params.rbi +33 -0
  102. data/rbi/revox/models/campaign_resume_response.rbi +23 -0
  103. data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
  104. data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
  105. data/rbi/revox/models/campaign_statistics_response.rbi +1069 -0
  106. data/rbi/revox/models/campaign_update_params.rbi +313 -0
  107. data/rbi/revox/models/campaign_update_response.rbi +4092 -0
  108. data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
  109. data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
  110. data/rbi/revox/models/phone_number_list_params.rbi +27 -0
  111. data/rbi/revox/models/phone_number_list_response.rbi +3690 -0
  112. data/rbi/revox/models/phone_number_update_params.rbi +53 -0
  113. data/rbi/revox/models/phone_number_update_response.rbi +3693 -0
  114. data/rbi/revox/models/user_retrieve_params.rbi +27 -0
  115. data/rbi/revox/models/user_retrieve_response.rbi +140 -0
  116. data/rbi/revox/models/voice_clone_params.rbi +141 -0
  117. data/rbi/revox/models/voice_clone_response.rbi +53 -0
  118. data/rbi/revox/models/voice_delete_params.rbi +33 -0
  119. data/rbi/revox/models/voice_delete_response.rbi +23 -0
  120. data/rbi/revox/models/voice_list_response.rbi +5 -0
  121. data/rbi/revox/models/voice_preview_params.rbi +2 -0
  122. data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
  123. data/rbi/revox/models.rbi +35 -1
  124. data/rbi/revox/resources/assistants.rbi +52 -22
  125. data/rbi/revox/resources/auth_status.rbi +21 -0
  126. data/rbi/revox/resources/call.rbi +114 -4
  127. data/rbi/revox/resources/campaigns.rbi +77 -15
  128. data/rbi/revox/resources/phone_numbers.rbi +43 -0
  129. data/rbi/revox/resources/users.rbi +8 -2
  130. data/rbi/revox/resources/voices.rbi +39 -0
  131. data/sig/revox/client.rbs +4 -0
  132. data/sig/revox/models/assistant_clone_params.rbs +20 -0
  133. data/sig/revox/models/assistant_clone_response.rbs +1310 -0
  134. data/sig/revox/models/assistant_create_params.rbs +39 -58
  135. data/sig/revox/models/assistant_create_response.rbs +46 -54
  136. data/sig/revox/models/assistant_list_response.rbs +46 -54
  137. data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
  138. data/sig/revox/models/assistant_update_params.rbs +39 -58
  139. data/sig/revox/models/assistant_update_response.rbs +46 -54
  140. data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
  141. data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
  142. data/sig/revox/models/call_cancel_params.rbs +20 -0
  143. data/sig/revox/models/call_cancel_response.rbs +13 -0
  144. data/sig/revox/models/call_create_params.rbs +50 -71
  145. data/sig/revox/models/call_create_response.rbs +473 -77
  146. data/sig/revox/models/call_export_params.rbs +230 -0
  147. data/sig/revox/models/call_export_response.rbs +15 -0
  148. data/sig/revox/models/call_pause_params.rbs +20 -0
  149. data/sig/revox/models/call_pause_response.rbs +13 -0
  150. data/sig/revox/models/call_phone_history_params.rbs +15 -0
  151. data/sig/revox/models/call_phone_history_response.rbs +93 -0
  152. data/sig/revox/models/call_resume_params.rbs +20 -0
  153. data/sig/revox/models/call_resume_response.rbs +13 -0
  154. data/sig/revox/models/call_retrieve_response.rbs +473 -77
  155. data/sig/revox/models/call_search_params.rbs +194 -0
  156. data/sig/revox/models/call_search_response.rbs +3045 -0
  157. data/sig/revox/models/campaign_create_params.rbs +5 -50
  158. data/sig/revox/models/campaign_create_response.rbs +62 -98
  159. data/sig/revox/models/campaign_get_rows_response.rbs +472 -73
  160. data/sig/revox/models/campaign_list_response.rbs +62 -98
  161. data/sig/revox/models/campaign_pause_params.rbs +20 -0
  162. data/sig/revox/models/campaign_pause_response.rbs +13 -0
  163. data/sig/revox/models/campaign_resume_params.rbs +20 -0
  164. data/sig/revox/models/campaign_resume_response.rbs +13 -0
  165. data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
  166. data/sig/revox/models/campaign_statistics_params.rbs +20 -0
  167. data/sig/revox/models/campaign_statistics_response.rbs +489 -0
  168. data/sig/revox/models/campaign_update_params.rbs +135 -0
  169. data/sig/revox/models/campaign_update_response.rbs +1658 -0
  170. data/sig/revox/models/phone_number_delete_params.rbs +20 -0
  171. data/sig/revox/models/phone_number_delete_response.rbs +13 -0
  172. data/sig/revox/models/phone_number_list_params.rbs +15 -0
  173. data/sig/revox/models/phone_number_list_response.rbs +1454 -0
  174. data/sig/revox/models/phone_number_update_params.rbs +32 -0
  175. data/sig/revox/models/phone_number_update_response.rbs +1452 -0
  176. data/sig/revox/models/user_retrieve_params.rbs +14 -0
  177. data/sig/revox/models/user_retrieve_response.rbs +71 -0
  178. data/sig/revox/models/voice_clone_params.rbs +79 -0
  179. data/sig/revox/models/voice_clone_response.rbs +40 -0
  180. data/sig/revox/models/voice_delete_params.rbs +20 -0
  181. data/sig/revox/models/voice_delete_response.rbs +13 -0
  182. data/sig/revox/models/voice_list_response.rbs +2 -1
  183. data/sig/revox/models/voice_preview_params.rbs +2 -1
  184. data/sig/revox/models/voice_retrieve_params.rbs +2 -1
  185. data/sig/revox/models.rbs +35 -1
  186. data/sig/revox/resources/assistants.rbs +9 -4
  187. data/sig/revox/resources/auth_status.rbs +11 -0
  188. data/sig/revox/resources/call.rbs +46 -1
  189. data/sig/revox/resources/campaigns.rbs +24 -3
  190. data/sig/revox/resources/phone_numbers.rbs +23 -0
  191. data/sig/revox/resources/users.rbs +3 -1
  192. data/sig/revox/resources/voices.rbs +13 -0
  193. metadata +116 -17
  194. data/lib/revox/models/users/me_retrieve_params.rb +0 -16
  195. data/lib/revox/models/users/me_retrieve_response.rb +0 -101
  196. data/lib/revox/models/users/me_update_params.rb +0 -22
  197. data/lib/revox/models/users/me_update_response.rb +0 -101
  198. data/lib/revox/resources/users/me.rb +0 -55
  199. data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
  200. data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
  201. data/rbi/revox/models/users/me_update_params.rbi +0 -43
  202. data/rbi/revox/models/users/me_update_response.rbi +0 -149
  203. data/rbi/revox/resources/users/me.rbi +0 -33
  204. data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
  205. data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
  206. data/sig/revox/models/users/me_update_params.rbs +0 -28
  207. data/sig/revox/models/users/me_update_response.rbs +0 -75
  208. data/sig/revox/resources/users/me.rbs +0 -18
@@ -0,0 +1,203 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#export
6
+ class CallExportParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!attribute filters
11
+ #
12
+ # @return [Revox::Models::CallExportParams::Filters]
13
+ required :filters, -> { Revox::CallExportParams::Filters }
14
+
15
+ # @!attribute include_metadata
16
+ # Whether to include the metadata in the CSV file. These are the fields you
17
+ # (optionally) attached when placing the call.
18
+ #
19
+ # @return [Boolean, nil]
20
+ optional :include_metadata, Revox::Internal::Type::Boolean
21
+
22
+ # @!attribute include_structured_output_fields
23
+ # Whether to include the structured output fields in the CSV file. These are
24
+ # generated by our AI agent during call analysis phase.
25
+ #
26
+ # @return [Boolean, nil]
27
+ optional :include_structured_output_fields, Revox::Internal::Type::Boolean
28
+
29
+ # @!method initialize(filters:, include_metadata: nil, include_structured_output_fields: nil, request_options: {})
30
+ # Some parameter documentations has been truncated, see
31
+ # {Revox::Models::CallExportParams} for more details.
32
+ #
33
+ # @param filters [Revox::Models::CallExportParams::Filters]
34
+ #
35
+ # @param include_metadata [Boolean] Whether to include the metadata in the CSV file. These are the fields you (optio
36
+ #
37
+ # @param include_structured_output_fields [Boolean] Whether to include the structured output fields in the CSV file. These are gener
38
+ #
39
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
40
+
41
+ class Filters < Revox::Internal::Type::BaseModel
42
+ # @!attribute assignee_ids
43
+ #
44
+ # @return [Array<String>]
45
+ required :assignee_ids, Revox::Internal::Type::ArrayOf[String]
46
+
47
+ # @!attribute assistant_ids
48
+ #
49
+ # @return [Array<String>]
50
+ required :assistant_ids, Revox::Internal::Type::ArrayOf[String]
51
+
52
+ # @!attribute campaign_ids
53
+ #
54
+ # @return [Array<String>]
55
+ required :campaign_ids, Revox::Internal::Type::ArrayOf[String]
56
+
57
+ # @!attribute directions
58
+ #
59
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Direction>]
60
+ required :directions,
61
+ -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Direction] }
62
+
63
+ # @!attribute from_phone_numbers
64
+ #
65
+ # @return [Array<String>]
66
+ required :from_phone_numbers, Revox::Internal::Type::ArrayOf[String]
67
+
68
+ # @!attribute outcomes
69
+ #
70
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Outcome>]
71
+ required :outcomes, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Outcome] }
72
+
73
+ # @!attribute page
74
+ #
75
+ # @return [Integer]
76
+ required :page, Integer
77
+
78
+ # @!attribute page_size
79
+ #
80
+ # @return [Integer]
81
+ required :page_size, Integer
82
+
83
+ # @!attribute results
84
+ #
85
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Result>]
86
+ required :results, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Result] }
87
+
88
+ # @!attribute statuses
89
+ #
90
+ # @return [Array<Symbol, Revox::Models::CallExportParams::Filters::Status>]
91
+ required :statuses, -> { Revox::Internal::Type::ArrayOf[enum: Revox::CallExportParams::Filters::Status] }
92
+
93
+ # @!attribute call_ids
94
+ #
95
+ # @return [Array<String>, nil]
96
+ optional :call_ids, Revox::Internal::Type::ArrayOf[String]
97
+
98
+ # @!attribute query
99
+ #
100
+ # @return [String, nil]
101
+ optional :query, String
102
+
103
+ # @!attribute sort_by
104
+ #
105
+ # @return [String, nil]
106
+ optional :sort_by, String
107
+
108
+ # @!attribute sort_direction
109
+ #
110
+ # @return [Symbol, Revox::Models::CallExportParams::Filters::SortDirection, nil]
111
+ optional :sort_direction, enum: -> { Revox::CallExportParams::Filters::SortDirection }
112
+
113
+ # @!attribute to_phone_number
114
+ #
115
+ # @return [String, nil]
116
+ optional :to_phone_number, String
117
+
118
+ # @!method initialize(assignee_ids:, assistant_ids:, campaign_ids:, directions:, from_phone_numbers:, outcomes:, page:, page_size:, results:, statuses:, call_ids: nil, query: nil, sort_by: nil, sort_direction: nil, to_phone_number: nil)
119
+ # @param assignee_ids [Array<String>]
120
+ # @param assistant_ids [Array<String>]
121
+ # @param campaign_ids [Array<String>]
122
+ # @param directions [Array<Symbol, Revox::Models::CallExportParams::Filters::Direction>]
123
+ # @param from_phone_numbers [Array<String>]
124
+ # @param outcomes [Array<Symbol, Revox::Models::CallExportParams::Filters::Outcome>]
125
+ # @param page [Integer]
126
+ # @param page_size [Integer]
127
+ # @param results [Array<Symbol, Revox::Models::CallExportParams::Filters::Result>]
128
+ # @param statuses [Array<Symbol, Revox::Models::CallExportParams::Filters::Status>]
129
+ # @param call_ids [Array<String>]
130
+ # @param query [String]
131
+ # @param sort_by [String]
132
+ # @param sort_direction [Symbol, Revox::Models::CallExportParams::Filters::SortDirection]
133
+ # @param to_phone_number [String]
134
+
135
+ module Direction
136
+ extend Revox::Internal::Type::Enum
137
+
138
+ INBOUND = :inbound
139
+ OUTBOUND = :outbound
140
+
141
+ # @!method self.values
142
+ # @return [Array<Symbol>]
143
+ end
144
+
145
+ module Outcome
146
+ extend Revox::Internal::Type::Enum
147
+
148
+ NOT_INTERESTED = :not_interested
149
+ INTERESTED = :interested
150
+ COMPLETED = :completed
151
+ REQUESTED_CALLBACK_LATER = :requested_callback_later
152
+ NONE = :none
153
+
154
+ # @!method self.values
155
+ # @return [Array<Symbol>]
156
+ end
157
+
158
+ module Result
159
+ extend Revox::Internal::Type::Enum
160
+
161
+ IVR = :IVR
162
+ VOICEMAIL = :voicemail
163
+ HUMAN = :human
164
+ UNKNOWN = :unknown
165
+ IOS_SCREENING_FILTER = :"ios-screening-filter"
166
+ NONE = :none
167
+
168
+ # @!method self.values
169
+ # @return [Array<Symbol>]
170
+ end
171
+
172
+ module Status
173
+ extend Revox::Internal::Type::Enum
174
+
175
+ INITIALIZING = :initializing
176
+ QUEUED_FOR_CALLING = :queued_for_calling
177
+ CALLING = :calling
178
+ POST_PROCESSING = :post_processing
179
+ NOT_LAUNCHED = :not_launched
180
+ SCHEDULED = :scheduled
181
+ PAUSED = :paused
182
+ COMPLETED = :completed
183
+ CANCELLED = :cancelled
184
+ ERRORED = :errored
185
+
186
+ # @!method self.values
187
+ # @return [Array<Symbol>]
188
+ end
189
+
190
+ # @see Revox::Models::CallExportParams::Filters#sort_direction
191
+ module SortDirection
192
+ extend Revox::Internal::Type::Enum
193
+
194
+ ASC = :asc
195
+ DESC = :desc
196
+
197
+ # @!method self.values
198
+ # @return [Array<Symbol>]
199
+ end
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#export
6
+ class CallExportResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute csv
8
+ #
9
+ # @return [String]
10
+ required :csv, String
11
+
12
+ # @!attribute filename
13
+ #
14
+ # @return [String]
15
+ required :filename, String
16
+
17
+ # @!method initialize(csv:, filename:)
18
+ # @param csv [String]
19
+ # @param filename [String]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#pause
6
+ class CallPauseParams < 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::Call#pause
6
+ class CallPauseResponse < 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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#phone_history
6
+ class CallPhoneHistoryParams < Revox::Internal::Type::BaseModel
7
+ extend Revox::Internal::Type::RequestParameters::Converter
8
+ include Revox::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#phone_history
6
+ class CallPhoneHistoryResponse < Revox::Internal::Type::BaseModel
7
+ # @!attribute phone_history
8
+ #
9
+ # @return [Hash{Symbol=>Revox::Models::CallPhoneHistoryResponse::PhoneHistory}]
10
+ required :phone_history,
11
+ -> { Revox::Internal::Type::HashOf[Revox::Models::CallPhoneHistoryResponse::PhoneHistory] }
12
+
13
+ # @!method initialize(phone_history:)
14
+ # @param phone_history [Hash{Symbol=>Revox::Models::CallPhoneHistoryResponse::PhoneHistory}]
15
+
16
+ class PhoneHistory < Revox::Internal::Type::BaseModel
17
+ # @!attribute campaigns
18
+ #
19
+ # @return [Array<Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign>]
20
+ required :campaigns,
21
+ -> { Revox::Internal::Type::ArrayOf[Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign] }
22
+
23
+ # @!attribute count
24
+ #
25
+ # @return [Float]
26
+ required :count, Float
27
+
28
+ # @!attribute do_not_contact
29
+ #
30
+ # @return [Boolean]
31
+ required :do_not_contact, Revox::Internal::Type::Boolean
32
+
33
+ # @!attribute hot
34
+ #
35
+ # @return [Boolean]
36
+ required :hot, Revox::Internal::Type::Boolean
37
+
38
+ # @!attribute last_called_at
39
+ #
40
+ # @return [String, nil]
41
+ required :last_called_at, String, nil?: true
42
+
43
+ # @!attribute last_outcome
44
+ #
45
+ # @return [Symbol, Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome, nil]
46
+ required :last_outcome,
47
+ enum: -> { Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome },
48
+ nil?: true
49
+
50
+ # @!attribute reached_human
51
+ #
52
+ # @return [Boolean]
53
+ required :reached_human, Revox::Internal::Type::Boolean
54
+
55
+ # @!method initialize(campaigns:, count:, do_not_contact:, hot:, last_called_at:, last_outcome:, reached_human:)
56
+ # @param campaigns [Array<Revox::Models::CallPhoneHistoryResponse::PhoneHistory::Campaign>]
57
+ # @param count [Float]
58
+ # @param do_not_contact [Boolean]
59
+ # @param hot [Boolean]
60
+ # @param last_called_at [String, nil]
61
+ # @param last_outcome [Symbol, Revox::Models::CallPhoneHistoryResponse::PhoneHistory::LastOutcome, nil]
62
+ # @param reached_human [Boolean]
63
+
64
+ class Campaign < Revox::Internal::Type::BaseModel
65
+ # @!attribute id
66
+ #
67
+ # @return [String]
68
+ required :id, String
69
+
70
+ # @!attribute name
71
+ #
72
+ # @return [String]
73
+ required :name, String
74
+
75
+ # @!method initialize(id:, name:)
76
+ # @param id [String]
77
+ # @param name [String]
78
+ end
79
+
80
+ # @see Revox::Models::CallPhoneHistoryResponse::PhoneHistory#last_outcome
81
+ module LastOutcome
82
+ extend Revox::Internal::Type::Enum
83
+
84
+ NOT_INTERESTED = :not_interested
85
+ INTERESTED = :interested
86
+ COMPLETED = :completed
87
+ REQUESTED_CALLBACK_LATER = :requested_callback_later
88
+
89
+ # @!method self.values
90
+ # @return [Array<Symbol>]
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Revox
4
+ module Models
5
+ # @see Revox::Resources::Call#resume
6
+ class CallResumeParams < 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::Call#resume
6
+ class CallResumeResponse < 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