revox 0.0.2 → 0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +63 -22
- data/lib/revox/client.rb +4 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +31 -0
- data/lib/revox/models/assistant_create_params.rb +2 -2
- data/lib/revox/models/assistant_delete_params.rb +7 -1
- data/lib/revox/models/assistant_retrieve_params.rb +7 -1
- data/lib/revox/models/assistant_update_params.rb +10 -3
- data/lib/revox/models/call_create_params.rb +2 -2
- data/lib/revox/models/call_create_response.rb +720 -12
- data/lib/revox/models/call_list_params.rb +30 -7
- data/lib/revox/models/call_list_response.rb +63 -1
- data/lib/revox/models/call_retrieve_params.rb +7 -1
- data/lib/revox/models/call_retrieve_response.rb +723 -12
- data/lib/revox/models/campaign_cancel_params.rb +20 -0
- data/lib/revox/models/campaign_cancel_response.rb +16 -0
- data/lib/revox/models/campaign_create_params.rb +174 -0
- data/lib/revox/models/campaign_create_response.rb +775 -0
- data/lib/revox/models/campaign_delete_params.rb +20 -0
- data/lib/revox/models/campaign_delete_response.rb +16 -0
- data/lib/revox/models/campaign_export_rows_params.rb +20 -0
- data/lib/revox/models/campaign_export_rows_response.rb +22 -0
- data/lib/revox/models/campaign_get_rows_params.rb +65 -0
- data/lib/revox/models/campaign_get_rows_response.rb +1468 -0
- data/lib/revox/models/campaign_list_params.rb +14 -0
- data/lib/revox/models/campaign_list_response.rb +771 -0
- data/lib/revox/models/campaign_retrieve_params.rb +20 -0
- data/lib/revox/models/campaign_retrieve_response.rb +776 -0
- data/lib/revox/models/voice_preview_params.rb +1 -9
- data/lib/revox/models/voice_retrieve_params.rb +7 -1
- data/lib/revox/models.rb +14 -0
- data/lib/revox/resources/assistants.rb +26 -2
- data/lib/revox/resources/call.rb +20 -8
- data/lib/revox/resources/campaigns.rb +181 -0
- data/lib/revox/resources/voices.rb +12 -8
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +15 -0
- data/rbi/revox/client.rbi +3 -0
- data/rbi/revox/internal/util.rbi +20 -0
- data/rbi/revox/models/assistant_create_params.rbi +3 -5
- data/rbi/revox/models/assistant_delete_params.rbi +11 -5
- data/rbi/revox/models/assistant_retrieve_params.rbi +11 -5
- data/rbi/revox/models/assistant_update_params.rbi +9 -5
- data/rbi/revox/models/call_create_params.rbi +3 -5
- data/rbi/revox/models/call_create_response.rbi +1537 -11
- data/rbi/revox/models/call_list_params.rbi +53 -6
- data/rbi/revox/models/call_list_response.rbi +162 -0
- data/rbi/revox/models/call_retrieve_params.rbi +11 -5
- data/rbi/revox/models/call_retrieve_response.rbi +1543 -11
- data/rbi/revox/models/campaign_cancel_params.rbi +33 -0
- data/rbi/revox/models/campaign_cancel_response.rbi +23 -0
- data/rbi/revox/models/campaign_create_params.rbi +297 -0
- data/rbi/revox/models/campaign_create_response.rbi +1490 -0
- data/rbi/revox/models/campaign_delete_params.rbi +33 -0
- data/rbi/revox/models/campaign_delete_response.rbi +23 -0
- data/rbi/revox/models/campaign_export_rows_params.rbi +33 -0
- data/rbi/revox/models/campaign_export_rows_response.rbi +29 -0
- data/rbi/revox/models/campaign_get_rows_params.rbi +113 -0
- data/rbi/revox/models/campaign_get_rows_response.rbi +2981 -0
- data/rbi/revox/models/campaign_list_params.rbi +27 -0
- data/rbi/revox/models/campaign_list_response.rbi +1482 -0
- data/rbi/revox/models/campaign_retrieve_params.rbi +33 -0
- data/rbi/revox/models/campaign_retrieve_response.rbi +1495 -0
- data/rbi/revox/models/voice_preview_params.rbi +0 -11
- data/rbi/revox/models/voice_retrieve_params.rbi +6 -1
- data/rbi/revox/models.rbi +14 -0
- data/rbi/revox/resources/assistants.rbi +21 -2
- data/rbi/revox/resources/call.rbi +18 -6
- data/rbi/revox/resources/campaigns.rbi +128 -0
- data/rbi/revox/resources/voices.rbi +9 -7
- data/sig/revox/client.rbs +2 -0
- data/sig/revox/internal/util.rbs +10 -0
- data/sig/revox/models/assistant_create_params.rbs +8 -4
- data/sig/revox/models/assistant_delete_params.rbs +8 -3
- data/sig/revox/models/assistant_retrieve_params.rbs +8 -3
- data/sig/revox/models/assistant_update_params.rbs +13 -4
- data/sig/revox/models/call_create_params.rbs +8 -4
- data/sig/revox/models/call_create_response.rbs +615 -8
- data/sig/revox/models/call_list_params.rbs +42 -7
- data/sig/revox/models/call_list_response.rbs +57 -2
- data/sig/revox/models/call_retrieve_params.rbs +9 -3
- data/sig/revox/models/call_retrieve_response.rbs +615 -8
- data/sig/revox/models/campaign_cancel_params.rbs +20 -0
- data/sig/revox/models/campaign_cancel_response.rbs +13 -0
- data/sig/revox/models/campaign_create_params.rbs +149 -0
- data/sig/revox/models/campaign_create_response.rbs +666 -0
- data/sig/revox/models/campaign_delete_params.rbs +20 -0
- data/sig/revox/models/campaign_delete_response.rbs +13 -0
- data/sig/revox/models/campaign_export_rows_params.rbs +20 -0
- data/sig/revox/models/campaign_export_rows_response.rbs +15 -0
- data/sig/revox/models/campaign_get_rows_params.rbs +82 -0
- data/sig/revox/models/campaign_get_rows_response.rbs +1220 -0
- data/sig/revox/models/campaign_list_params.rbs +14 -0
- data/sig/revox/models/campaign_list_response.rbs +666 -0
- data/sig/revox/models/campaign_retrieve_params.rbs +20 -0
- data/sig/revox/models/campaign_retrieve_response.rbs +666 -0
- data/sig/revox/models/voice_preview_params.rbs +1 -8
- data/sig/revox/models/voice_retrieve_params.rbs +5 -1
- data/sig/revox/models.rbs +14 -0
- data/sig/revox/resources/assistants.rbs +2 -2
- data/sig/revox/resources/call.rbs +3 -2
- data/sig/revox/resources/campaigns.rbs +52 -0
- data/sig/revox/resources/voices.rbs +0 -1
- metadata +47 -2
|
@@ -25,6 +25,11 @@ module Revox
|
|
|
25
25
|
# @return [String]
|
|
26
26
|
required :id, String
|
|
27
27
|
|
|
28
|
+
# @!attribute assistant
|
|
29
|
+
#
|
|
30
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Assistant, nil]
|
|
31
|
+
required :assistant, -> { Revox::Models::CallRetrieveResponse::Call::Assistant }, nil?: true
|
|
32
|
+
|
|
28
33
|
# @!attribute call_attempts
|
|
29
34
|
# All call attempts for this call order, ordered by most recent first.
|
|
30
35
|
#
|
|
@@ -45,6 +50,11 @@ module Revox
|
|
|
45
50
|
# @return [Float]
|
|
46
51
|
required :calls_count, Float
|
|
47
52
|
|
|
53
|
+
# @!attribute campaign
|
|
54
|
+
#
|
|
55
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Campaign, nil]
|
|
56
|
+
required :campaign, -> { Revox::Models::CallRetrieveResponse::Call::Campaign }, nil?: true
|
|
57
|
+
|
|
48
58
|
# @!attribute created_at
|
|
49
59
|
# The time the call order was created.
|
|
50
60
|
#
|
|
@@ -71,13 +81,15 @@ module Revox
|
|
|
71
81
|
required :from_phone_number, String
|
|
72
82
|
|
|
73
83
|
# @!attribute is_cancelled
|
|
74
|
-
# Whether the call
|
|
84
|
+
# DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
85
|
+
# Use `status` instead.
|
|
75
86
|
#
|
|
76
87
|
# @return [Boolean]
|
|
77
88
|
required :is_cancelled, Revox::Internal::Type::Boolean
|
|
78
89
|
|
|
79
90
|
# @!attribute is_completed
|
|
80
|
-
# Whether the call
|
|
91
|
+
# DEPRECATED: Whether the call has completed. This is derived from `status`. Use
|
|
92
|
+
# `status` instead.
|
|
81
93
|
#
|
|
82
94
|
# @return [Boolean]
|
|
83
95
|
required :is_completed, Revox::Internal::Type::Boolean
|
|
@@ -100,11 +112,11 @@ module Revox
|
|
|
100
112
|
# @return [Hash{Symbol=>String}, nil]
|
|
101
113
|
required :metadata, Revox::Internal::Type::HashOf[String], nil?: true
|
|
102
114
|
|
|
103
|
-
# @!attribute
|
|
104
|
-
# The
|
|
115
|
+
# @!attribute organization_id
|
|
116
|
+
# The ID of the organization that owns the call.
|
|
105
117
|
#
|
|
106
|
-
# @return [
|
|
107
|
-
required :
|
|
118
|
+
# @return [String]
|
|
119
|
+
required :organization_id, String
|
|
108
120
|
|
|
109
121
|
# @!attribute scheduled_at
|
|
110
122
|
# The time the call order is scheduled to start.
|
|
@@ -112,6 +124,12 @@ module Revox
|
|
|
112
124
|
# @return [Object]
|
|
113
125
|
required :scheduled_at, Revox::Internal::Type::Unknown
|
|
114
126
|
|
|
127
|
+
# @!attribute status
|
|
128
|
+
# The status of the call.
|
|
129
|
+
#
|
|
130
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Status]
|
|
131
|
+
required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::Status }
|
|
132
|
+
|
|
115
133
|
# @!attribute to_phone_number
|
|
116
134
|
# The phone number that received the call. Formatted in E.164 format. Example:
|
|
117
135
|
# +1234567890
|
|
@@ -119,7 +137,7 @@ module Revox
|
|
|
119
137
|
# @return [String]
|
|
120
138
|
required :to_phone_number, String
|
|
121
139
|
|
|
122
|
-
# @!method initialize(id:, call_attempts:, call_retry_config:, calls_count:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:,
|
|
140
|
+
# @!method initialize(id:, assistant:, call_attempts:, call_retry_config:, calls_count:, campaign:, created_at:, direction:, first_sentence_delay_ms:, from_phone_number:, is_cancelled:, is_completed:, last_call_attempt:, llm_model:, metadata:, organization_id:, scheduled_at:, status:, to_phone_number:)
|
|
123
141
|
# Some parameter documentations has been truncated, see
|
|
124
142
|
# {Revox::Models::CallRetrieveResponse::Call} for more details.
|
|
125
143
|
#
|
|
@@ -128,12 +146,16 @@ module Revox
|
|
|
128
146
|
#
|
|
129
147
|
# @param id [String] The ID of the call.
|
|
130
148
|
#
|
|
149
|
+
# @param assistant [Revox::Models::CallRetrieveResponse::Call::Assistant, nil]
|
|
150
|
+
#
|
|
131
151
|
# @param call_attempts [Array<Revox::Models::CallRetrieveResponse::Call::CallAttempt>] All call attempts for this call order, ordered by most recent first.
|
|
132
152
|
#
|
|
133
153
|
# @param call_retry_config [Revox::Models::CallRetrieveResponse::Call::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
|
|
134
154
|
#
|
|
135
155
|
# @param calls_count [Float] The number of call attempts made.
|
|
136
156
|
#
|
|
157
|
+
# @param campaign [Revox::Models::CallRetrieveResponse::Call::Campaign, nil]
|
|
158
|
+
#
|
|
137
159
|
# @param created_at [Object] The time the call order was created.
|
|
138
160
|
#
|
|
139
161
|
# @param direction [Symbol, Revox::Models::CallRetrieveResponse::Call::Direction] Whether the call is inbound or outbound.
|
|
@@ -142,9 +164,9 @@ module Revox
|
|
|
142
164
|
#
|
|
143
165
|
# @param from_phone_number [String] The phone number that made the call. Formatted in E.164 format. Example: +123456
|
|
144
166
|
#
|
|
145
|
-
# @param is_cancelled [Boolean] Whether the call
|
|
167
|
+
# @param is_cancelled [Boolean] DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
146
168
|
#
|
|
147
|
-
# @param is_completed [Boolean] Whether the call
|
|
169
|
+
# @param is_completed [Boolean] DEPRECATED: Whether the call has completed. This is derived from `status`. Use `
|
|
148
170
|
#
|
|
149
171
|
# @param last_call_attempt [Revox::Models::CallRetrieveResponse::Call::LastCallAttempt, nil] This represent a single call attempt. A call attempt is a single call made to th
|
|
150
172
|
#
|
|
@@ -152,12 +174,534 @@ module Revox
|
|
|
152
174
|
#
|
|
153
175
|
# @param metadata [Hash{Symbol=>String}, nil] Metadata stored with the call.
|
|
154
176
|
#
|
|
155
|
-
# @param
|
|
177
|
+
# @param organization_id [String] The ID of the organization that owns the call.
|
|
156
178
|
#
|
|
157
179
|
# @param scheduled_at [Object] The time the call order is scheduled to start.
|
|
158
180
|
#
|
|
181
|
+
# @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::Status] The status of the call.
|
|
182
|
+
#
|
|
159
183
|
# @param to_phone_number [String] The phone number that received the call. Formatted in E.164 format. Example: +12
|
|
160
184
|
|
|
185
|
+
# @see Revox::Models::CallRetrieveResponse::Call#assistant
|
|
186
|
+
class Assistant < Revox::Internal::Type::BaseModel
|
|
187
|
+
# @!attribute id
|
|
188
|
+
#
|
|
189
|
+
# @return [String]
|
|
190
|
+
required :id, String
|
|
191
|
+
|
|
192
|
+
# @!attribute background_sound
|
|
193
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
194
|
+
# your AI agent is in an office.
|
|
195
|
+
#
|
|
196
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound, nil]
|
|
197
|
+
required :background_sound,
|
|
198
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound },
|
|
199
|
+
nil?: true
|
|
200
|
+
|
|
201
|
+
# @!attribute calendly
|
|
202
|
+
#
|
|
203
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly, nil]
|
|
204
|
+
required :calendly, -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly }, nil?: true
|
|
205
|
+
|
|
206
|
+
# @!attribute call_retry_config
|
|
207
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
208
|
+
# iterations. If not provided, defaults will be used.
|
|
209
|
+
#
|
|
210
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig, nil]
|
|
211
|
+
required :call_retry_config,
|
|
212
|
+
-> { Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig },
|
|
213
|
+
nil?: true
|
|
214
|
+
|
|
215
|
+
# @!attribute created_at
|
|
216
|
+
#
|
|
217
|
+
# @return [Object]
|
|
218
|
+
required :created_at, Revox::Internal::Type::Unknown
|
|
219
|
+
|
|
220
|
+
# @!attribute end_of_call_sentence
|
|
221
|
+
#
|
|
222
|
+
# @return [String, nil]
|
|
223
|
+
required :end_of_call_sentence, String, nil?: true
|
|
224
|
+
|
|
225
|
+
# @!attribute first_sentence
|
|
226
|
+
#
|
|
227
|
+
# @return [String, nil]
|
|
228
|
+
required :first_sentence, String, nil?: true
|
|
229
|
+
|
|
230
|
+
# @!attribute first_sentence_delay_ms
|
|
231
|
+
# Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
232
|
+
#
|
|
233
|
+
# @return [Integer]
|
|
234
|
+
required :first_sentence_delay_ms, Integer
|
|
235
|
+
|
|
236
|
+
# @!attribute first_sentence_mode
|
|
237
|
+
#
|
|
238
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode]
|
|
239
|
+
required :first_sentence_mode,
|
|
240
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode }
|
|
241
|
+
|
|
242
|
+
# @!attribute ivr_navigation_enabled
|
|
243
|
+
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
244
|
+
# skip turns to navigate phone menus.
|
|
245
|
+
#
|
|
246
|
+
# @return [Boolean]
|
|
247
|
+
required :ivr_navigation_enabled, Revox::Internal::Type::Boolean
|
|
248
|
+
|
|
249
|
+
# @!attribute llm_model
|
|
250
|
+
#
|
|
251
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1]
|
|
252
|
+
required :llm_model, union: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel }
|
|
253
|
+
|
|
254
|
+
# @!attribute max_call_duration_secs
|
|
255
|
+
# The maximum duration of the call in seconds. This is the maximum time the call
|
|
256
|
+
# will be allowed to run.
|
|
257
|
+
#
|
|
258
|
+
# @return [Float]
|
|
259
|
+
required :max_call_duration_secs, Float
|
|
260
|
+
|
|
261
|
+
# @!attribute name
|
|
262
|
+
#
|
|
263
|
+
# @return [String]
|
|
264
|
+
required :name, String
|
|
265
|
+
|
|
266
|
+
# @!attribute organization_id
|
|
267
|
+
#
|
|
268
|
+
# @return [String]
|
|
269
|
+
required :organization_id, String
|
|
270
|
+
|
|
271
|
+
# @!attribute prompt
|
|
272
|
+
#
|
|
273
|
+
# @return [String]
|
|
274
|
+
required :prompt, String
|
|
275
|
+
|
|
276
|
+
# @!attribute structured_output_config
|
|
277
|
+
# The structured output config to use for the call. This is used to extract the
|
|
278
|
+
# data from the call (like email, name, company name, etc.).
|
|
279
|
+
#
|
|
280
|
+
# @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig>, nil]
|
|
281
|
+
required :structured_output_config,
|
|
282
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig] },
|
|
283
|
+
nil?: true
|
|
284
|
+
|
|
285
|
+
# @!attribute transfer_phone_number
|
|
286
|
+
# Phone number to transfer calls to when users request to speak to a human agent.
|
|
287
|
+
#
|
|
288
|
+
# @return [String, nil]
|
|
289
|
+
required :transfer_phone_number, String, nil?: true
|
|
290
|
+
|
|
291
|
+
# @!attribute updated_at
|
|
292
|
+
#
|
|
293
|
+
# @return [Object]
|
|
294
|
+
required :updated_at, Revox::Internal::Type::Unknown
|
|
295
|
+
|
|
296
|
+
# @!attribute voice
|
|
297
|
+
#
|
|
298
|
+
# @return [Revox::Models::CallRetrieveResponse::Call::Assistant::Voice, nil]
|
|
299
|
+
required :voice, -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Voice }, nil?: true
|
|
300
|
+
|
|
301
|
+
# @!attribute voicemail_message
|
|
302
|
+
# If set, when voicemail is detected the agent will speak this message then hang
|
|
303
|
+
# up; if null, hang up immediately.
|
|
304
|
+
#
|
|
305
|
+
# @return [String, nil]
|
|
306
|
+
required :voicemail_message, String, nil?: true
|
|
307
|
+
|
|
308
|
+
# @!attribute webhook_url
|
|
309
|
+
# The webhook URL to call when the call is completed.
|
|
310
|
+
#
|
|
311
|
+
# @return [String, nil]
|
|
312
|
+
required :webhook_url, String, nil?: true
|
|
313
|
+
|
|
314
|
+
# @!attribute faq_items
|
|
315
|
+
#
|
|
316
|
+
# @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem>, nil]
|
|
317
|
+
optional :faq_items,
|
|
318
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem] }
|
|
319
|
+
|
|
320
|
+
# @!attribute pending_faq_count
|
|
321
|
+
#
|
|
322
|
+
# @return [Float, nil]
|
|
323
|
+
optional :pending_faq_count, Float
|
|
324
|
+
|
|
325
|
+
# @!method initialize(id:, background_sound:, calendly:, call_retry_config:, created_at:, end_of_call_sentence:, first_sentence:, first_sentence_delay_ms:, first_sentence_mode:, ivr_navigation_enabled:, llm_model:, max_call_duration_secs:, name:, organization_id:, prompt:, structured_output_config:, transfer_phone_number:, updated_at:, voice:, voicemail_message:, webhook_url:, faq_items: nil, pending_faq_count: nil)
|
|
326
|
+
# Some parameter documentations has been truncated, see
|
|
327
|
+
# {Revox::Models::CallRetrieveResponse::Call::Assistant} for more details.
|
|
328
|
+
#
|
|
329
|
+
# @param id [String]
|
|
330
|
+
#
|
|
331
|
+
# @param background_sound [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
|
|
332
|
+
#
|
|
333
|
+
# @param calendly [Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly, nil]
|
|
334
|
+
#
|
|
335
|
+
# @param call_retry_config [Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
|
|
336
|
+
#
|
|
337
|
+
# @param created_at [Object]
|
|
338
|
+
#
|
|
339
|
+
# @param end_of_call_sentence [String, nil]
|
|
340
|
+
#
|
|
341
|
+
# @param first_sentence [String, nil]
|
|
342
|
+
#
|
|
343
|
+
# @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
344
|
+
#
|
|
345
|
+
# @param first_sentence_mode [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FirstSentenceMode]
|
|
346
|
+
#
|
|
347
|
+
# @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
348
|
+
#
|
|
349
|
+
# @param llm_model [Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1]
|
|
350
|
+
#
|
|
351
|
+
# @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
|
|
352
|
+
#
|
|
353
|
+
# @param name [String]
|
|
354
|
+
#
|
|
355
|
+
# @param organization_id [String]
|
|
356
|
+
#
|
|
357
|
+
# @param prompt [String]
|
|
358
|
+
#
|
|
359
|
+
# @param structured_output_config [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig>, nil] The structured output config to use for the call. This is used to extract the da
|
|
360
|
+
#
|
|
361
|
+
# @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
|
|
362
|
+
#
|
|
363
|
+
# @param updated_at [Object]
|
|
364
|
+
#
|
|
365
|
+
# @param voice [Revox::Models::CallRetrieveResponse::Call::Assistant::Voice, nil]
|
|
366
|
+
#
|
|
367
|
+
# @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
|
|
368
|
+
#
|
|
369
|
+
# @param webhook_url [String, nil] The webhook URL to call when the call is completed.
|
|
370
|
+
#
|
|
371
|
+
# @param faq_items [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem>]
|
|
372
|
+
#
|
|
373
|
+
# @param pending_faq_count [Float]
|
|
374
|
+
|
|
375
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
376
|
+
# your AI agent is in an office.
|
|
377
|
+
#
|
|
378
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#background_sound
|
|
379
|
+
module BackgroundSound
|
|
380
|
+
extend Revox::Internal::Type::Enum
|
|
381
|
+
|
|
382
|
+
AUDIO_OFFICE_OGG = :"audio/office.ogg"
|
|
383
|
+
|
|
384
|
+
# @!method self.values
|
|
385
|
+
# @return [Array<Symbol>]
|
|
386
|
+
end
|
|
387
|
+
|
|
388
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#calendly
|
|
389
|
+
class Calendly < Revox::Internal::Type::BaseModel
|
|
390
|
+
# @!attribute connection_id
|
|
391
|
+
# The connection ID representing the link between your Calendly account and Revox.
|
|
392
|
+
#
|
|
393
|
+
# @return [String]
|
|
394
|
+
required :connection_id, String
|
|
395
|
+
|
|
396
|
+
# @!attribute event_type_id
|
|
397
|
+
# The event type ID representing the event type to schedule. (eg:
|
|
398
|
+
# https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
|
|
399
|
+
#
|
|
400
|
+
# @return [String]
|
|
401
|
+
required :event_type_id, String
|
|
402
|
+
|
|
403
|
+
# @!method initialize(connection_id:, event_type_id:)
|
|
404
|
+
# Some parameter documentations has been truncated, see
|
|
405
|
+
# {Revox::Models::CallRetrieveResponse::Call::Assistant::Calendly} for more
|
|
406
|
+
# details.
|
|
407
|
+
#
|
|
408
|
+
# @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
|
|
409
|
+
#
|
|
410
|
+
# @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#call_retry_config
|
|
414
|
+
class CallRetryConfig < Revox::Internal::Type::BaseModel
|
|
415
|
+
# @!attribute calling_windows
|
|
416
|
+
#
|
|
417
|
+
# @return [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
418
|
+
required :calling_windows,
|
|
419
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow] }
|
|
420
|
+
|
|
421
|
+
# @!attribute max_retry_attempts
|
|
422
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
423
|
+
#
|
|
424
|
+
# @return [Integer]
|
|
425
|
+
required :max_retry_attempts, Integer
|
|
426
|
+
|
|
427
|
+
# @!attribute timezone
|
|
428
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
429
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
430
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
431
|
+
#
|
|
432
|
+
# @return [String, nil]
|
|
433
|
+
optional :timezone, String, nil?: true
|
|
434
|
+
|
|
435
|
+
# @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
|
|
436
|
+
# Some parameter documentations has been truncated, see
|
|
437
|
+
# {Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig} for more
|
|
438
|
+
# details.
|
|
439
|
+
#
|
|
440
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
441
|
+
# iterations. If not provided, defaults will be used.
|
|
442
|
+
#
|
|
443
|
+
# @param calling_windows [Array<Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
444
|
+
#
|
|
445
|
+
# @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
|
|
446
|
+
#
|
|
447
|
+
# @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
|
|
448
|
+
|
|
449
|
+
class CallingWindow < Revox::Internal::Type::BaseModel
|
|
450
|
+
# @!attribute calling_window_end_time
|
|
451
|
+
# End time for the calling window in the recipient's timezone (or
|
|
452
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
453
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
454
|
+
#
|
|
455
|
+
# @return [String]
|
|
456
|
+
required :calling_window_end_time, String
|
|
457
|
+
|
|
458
|
+
# @!attribute calling_window_start_time
|
|
459
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
460
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
461
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
462
|
+
#
|
|
463
|
+
# @return [String]
|
|
464
|
+
required :calling_window_start_time, String
|
|
465
|
+
|
|
466
|
+
# @!attribute retry_delay_seconds
|
|
467
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
468
|
+
#
|
|
469
|
+
# @return [Integer]
|
|
470
|
+
required :retry_delay_seconds, Integer
|
|
471
|
+
|
|
472
|
+
# @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
|
|
473
|
+
# Some parameter documentations has been truncated, see
|
|
474
|
+
# {Revox::Models::CallRetrieveResponse::Call::Assistant::CallRetryConfig::CallingWindow}
|
|
475
|
+
# for more details.
|
|
476
|
+
#
|
|
477
|
+
# @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
|
|
478
|
+
#
|
|
479
|
+
# @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
|
|
480
|
+
#
|
|
481
|
+
# @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
482
|
+
end
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#first_sentence_mode
|
|
486
|
+
module FirstSentenceMode
|
|
487
|
+
extend Revox::Internal::Type::Enum
|
|
488
|
+
|
|
489
|
+
GENERATED = :generated
|
|
490
|
+
STATIC = :static
|
|
491
|
+
NONE = :none
|
|
492
|
+
|
|
493
|
+
# @!method self.values
|
|
494
|
+
# @return [Array<Symbol>]
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#llm_model
|
|
498
|
+
module LlmModel
|
|
499
|
+
extend Revox::Internal::Type::Union
|
|
500
|
+
|
|
501
|
+
variant -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0 }
|
|
502
|
+
|
|
503
|
+
variant -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1 }
|
|
504
|
+
|
|
505
|
+
class UnionMember0 < Revox::Internal::Type::BaseModel
|
|
506
|
+
# @!attribute name
|
|
507
|
+
#
|
|
508
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
509
|
+
required :name,
|
|
510
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name }
|
|
511
|
+
|
|
512
|
+
# @!attribute type
|
|
513
|
+
#
|
|
514
|
+
# @return [Symbol, :"dedicated-instance"]
|
|
515
|
+
required :type, const: :"dedicated-instance"
|
|
516
|
+
|
|
517
|
+
# @!method initialize(name:, type: :"dedicated-instance")
|
|
518
|
+
# @param name [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
519
|
+
# @param type [Symbol, :"dedicated-instance"]
|
|
520
|
+
|
|
521
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0#name
|
|
522
|
+
module Name
|
|
523
|
+
extend Revox::Internal::Type::Enum
|
|
524
|
+
|
|
525
|
+
GPT_4_1 = :"gpt-4.1"
|
|
526
|
+
MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
|
|
527
|
+
|
|
528
|
+
# @!method self.values
|
|
529
|
+
# @return [Array<Symbol>]
|
|
530
|
+
end
|
|
531
|
+
end
|
|
532
|
+
|
|
533
|
+
class UnionMember1 < Revox::Internal::Type::BaseModel
|
|
534
|
+
# @!attribute openrouter_model_id
|
|
535
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
536
|
+
#
|
|
537
|
+
# @return [String]
|
|
538
|
+
required :openrouter_model_id, String
|
|
539
|
+
|
|
540
|
+
# @!attribute openrouter_provider
|
|
541
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
542
|
+
#
|
|
543
|
+
# @return [String]
|
|
544
|
+
required :openrouter_provider, String
|
|
545
|
+
|
|
546
|
+
# @!attribute type
|
|
547
|
+
# Use a model from OpenRouter.
|
|
548
|
+
#
|
|
549
|
+
# @return [Symbol, :openrouter]
|
|
550
|
+
required :type, const: :openrouter
|
|
551
|
+
|
|
552
|
+
# @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
|
|
553
|
+
# @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
554
|
+
#
|
|
555
|
+
# @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
556
|
+
#
|
|
557
|
+
# @param type [Symbol, :openrouter] Use a model from OpenRouter.
|
|
558
|
+
end
|
|
559
|
+
|
|
560
|
+
# @!method self.variants
|
|
561
|
+
# @return [Array(Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::Assistant::LlmModel::UnionMember1)]
|
|
562
|
+
end
|
|
563
|
+
|
|
564
|
+
class StructuredOutputConfig < Revox::Internal::Type::BaseModel
|
|
565
|
+
# @!attribute name
|
|
566
|
+
#
|
|
567
|
+
# @return [String]
|
|
568
|
+
required :name, String
|
|
569
|
+
|
|
570
|
+
# @!attribute required
|
|
571
|
+
#
|
|
572
|
+
# @return [Boolean]
|
|
573
|
+
required :required, Revox::Internal::Type::Boolean
|
|
574
|
+
|
|
575
|
+
# @!attribute type
|
|
576
|
+
#
|
|
577
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type]
|
|
578
|
+
required :type,
|
|
579
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type }
|
|
580
|
+
|
|
581
|
+
# @!attribute description
|
|
582
|
+
#
|
|
583
|
+
# @return [String, nil]
|
|
584
|
+
optional :description, String
|
|
585
|
+
|
|
586
|
+
# @!attribute enum_options
|
|
587
|
+
#
|
|
588
|
+
# @return [Array<String>, nil]
|
|
589
|
+
optional :enum_options, Revox::Internal::Type::ArrayOf[String]
|
|
590
|
+
|
|
591
|
+
# @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
|
|
592
|
+
# @param name [String]
|
|
593
|
+
# @param required [Boolean]
|
|
594
|
+
# @param type [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig::Type]
|
|
595
|
+
# @param description [String]
|
|
596
|
+
# @param enum_options [Array<String>]
|
|
597
|
+
|
|
598
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant::StructuredOutputConfig#type
|
|
599
|
+
module Type
|
|
600
|
+
extend Revox::Internal::Type::Enum
|
|
601
|
+
|
|
602
|
+
STRING = :string
|
|
603
|
+
NUMBER = :number
|
|
604
|
+
BOOLEAN = :boolean
|
|
605
|
+
ENUM = :enum
|
|
606
|
+
DATE = :date
|
|
607
|
+
DATETIME = :datetime
|
|
608
|
+
|
|
609
|
+
# @!method self.values
|
|
610
|
+
# @return [Array<Symbol>]
|
|
611
|
+
end
|
|
612
|
+
end
|
|
613
|
+
|
|
614
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant#voice
|
|
615
|
+
class Voice < Revox::Internal::Type::BaseModel
|
|
616
|
+
# @!attribute id
|
|
617
|
+
# The ID of the voice.
|
|
618
|
+
#
|
|
619
|
+
# @return [String]
|
|
620
|
+
required :id, String
|
|
621
|
+
|
|
622
|
+
# @!attribute provider
|
|
623
|
+
# The provider of the voice.
|
|
624
|
+
#
|
|
625
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider]
|
|
626
|
+
required :provider, enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider }
|
|
627
|
+
|
|
628
|
+
# @!attribute speed
|
|
629
|
+
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
630
|
+
# 0.7–1.2. Default is 1.0.
|
|
631
|
+
#
|
|
632
|
+
# @return [Float, nil]
|
|
633
|
+
optional :speed, Float
|
|
634
|
+
|
|
635
|
+
# @!method initialize(id:, provider:, speed: nil)
|
|
636
|
+
# Some parameter documentations has been truncated, see
|
|
637
|
+
# {Revox::Models::CallRetrieveResponse::Call::Assistant::Voice} for more details.
|
|
638
|
+
#
|
|
639
|
+
# @param id [String] The ID of the voice.
|
|
640
|
+
#
|
|
641
|
+
# @param provider [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::Voice::Provider] The provider of the voice.
|
|
642
|
+
#
|
|
643
|
+
# @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
644
|
+
|
|
645
|
+
# The provider of the voice.
|
|
646
|
+
#
|
|
647
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant::Voice#provider
|
|
648
|
+
module Provider
|
|
649
|
+
extend Revox::Internal::Type::Enum
|
|
650
|
+
|
|
651
|
+
CARTESIA = :cartesia
|
|
652
|
+
ELEVENLABS = :elevenlabs
|
|
653
|
+
|
|
654
|
+
# @!method self.values
|
|
655
|
+
# @return [Array<Symbol>]
|
|
656
|
+
end
|
|
657
|
+
end
|
|
658
|
+
|
|
659
|
+
class FaqItem < Revox::Internal::Type::BaseModel
|
|
660
|
+
# @!attribute answer
|
|
661
|
+
#
|
|
662
|
+
# @return [String]
|
|
663
|
+
required :answer, String
|
|
664
|
+
|
|
665
|
+
# @!attribute question
|
|
666
|
+
#
|
|
667
|
+
# @return [String]
|
|
668
|
+
required :question, String
|
|
669
|
+
|
|
670
|
+
# @!attribute id
|
|
671
|
+
#
|
|
672
|
+
# @return [String, nil]
|
|
673
|
+
optional :id, String
|
|
674
|
+
|
|
675
|
+
# @!attribute needs_human_answer
|
|
676
|
+
#
|
|
677
|
+
# @return [Boolean, nil]
|
|
678
|
+
optional :needs_human_answer, Revox::Internal::Type::Boolean
|
|
679
|
+
|
|
680
|
+
# @!attribute source
|
|
681
|
+
#
|
|
682
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source, nil]
|
|
683
|
+
optional :source, enum: -> { Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source }
|
|
684
|
+
|
|
685
|
+
# @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
|
|
686
|
+
# @param answer [String]
|
|
687
|
+
# @param question [String]
|
|
688
|
+
# @param id [String]
|
|
689
|
+
# @param needs_human_answer [Boolean]
|
|
690
|
+
# @param source [Symbol, Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem::Source]
|
|
691
|
+
|
|
692
|
+
# @see Revox::Models::CallRetrieveResponse::Call::Assistant::FaqItem#source
|
|
693
|
+
module Source
|
|
694
|
+
extend Revox::Internal::Type::Enum
|
|
695
|
+
|
|
696
|
+
HUMAN = :human
|
|
697
|
+
AI = :ai
|
|
698
|
+
|
|
699
|
+
# @!method self.values
|
|
700
|
+
# @return [Array<Symbol>]
|
|
701
|
+
end
|
|
702
|
+
end
|
|
703
|
+
end
|
|
704
|
+
|
|
161
705
|
class CallAttempt < Revox::Internal::Type::BaseModel
|
|
162
706
|
# @!attribute id
|
|
163
707
|
# The ID of the call attempt.
|
|
@@ -171,6 +715,14 @@ module Revox
|
|
|
171
715
|
# @return [Object]
|
|
172
716
|
required :answered_at, Revox::Internal::Type::Unknown
|
|
173
717
|
|
|
718
|
+
# @!attribute dial_error
|
|
719
|
+
# The SIP error that occurred.
|
|
720
|
+
#
|
|
721
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError, nil]
|
|
722
|
+
required :dial_error,
|
|
723
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError },
|
|
724
|
+
nil?: true
|
|
725
|
+
|
|
174
726
|
# @!attribute ended_at
|
|
175
727
|
# The time the call ended.
|
|
176
728
|
#
|
|
@@ -207,6 +759,22 @@ module Revox
|
|
|
207
759
|
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status]
|
|
208
760
|
required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status }
|
|
209
761
|
|
|
762
|
+
# @!attribute end_reason
|
|
763
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
764
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
765
|
+
#
|
|
766
|
+
# @return [String, nil]
|
|
767
|
+
optional :end_reason, String, nil?: true
|
|
768
|
+
|
|
769
|
+
# @!attribute ended_by
|
|
770
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
771
|
+
# 'system' (e.g. max duration limit).
|
|
772
|
+
#
|
|
773
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy, nil]
|
|
774
|
+
optional :ended_by,
|
|
775
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy },
|
|
776
|
+
nil?: true
|
|
777
|
+
|
|
210
778
|
# @!attribute structured_output
|
|
211
779
|
# The data extracted from the call, using the structured output config from the
|
|
212
780
|
# parent call object.
|
|
@@ -224,7 +792,7 @@ module Revox
|
|
|
224
792
|
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript] },
|
|
225
793
|
nil?: true
|
|
226
794
|
|
|
227
|
-
# @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
|
|
795
|
+
# @!method initialize(id:, answered_at:, dial_error:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, end_reason: nil, ended_by: nil, structured_output: nil, transcript: nil)
|
|
228
796
|
# Some parameter documentations has been truncated, see
|
|
229
797
|
# {Revox::Models::CallRetrieveResponse::Call::CallAttempt} for more details.
|
|
230
798
|
#
|
|
@@ -235,6 +803,8 @@ module Revox
|
|
|
235
803
|
#
|
|
236
804
|
# @param answered_at [Object] The time the call was answered.
|
|
237
805
|
#
|
|
806
|
+
# @param dial_error [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::DialError, nil] The SIP error that occurred.
|
|
807
|
+
#
|
|
238
808
|
# @param ended_at [Object] The time the call ended.
|
|
239
809
|
#
|
|
240
810
|
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
@@ -247,10 +817,33 @@ module Revox
|
|
|
247
817
|
#
|
|
248
818
|
# @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::Status] The status of the call attempt.
|
|
249
819
|
#
|
|
820
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
821
|
+
#
|
|
822
|
+
# @param ended_by [Symbol, Revox::Models::CallRetrieveResponse::Call::CallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
823
|
+
#
|
|
250
824
|
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
251
825
|
#
|
|
252
826
|
# @param transcript [Array<Revox::Models::CallRetrieveResponse::Call::CallAttempt::Transcript>, nil] The transcript of the call.
|
|
253
827
|
|
|
828
|
+
# The SIP error that occurred.
|
|
829
|
+
#
|
|
830
|
+
# @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#dial_error
|
|
831
|
+
module DialError
|
|
832
|
+
extend Revox::Internal::Type::Enum
|
|
833
|
+
|
|
834
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
835
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
836
|
+
BUSY = :busy
|
|
837
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
838
|
+
NO_ANSWER = :no_answer
|
|
839
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
840
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
841
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
842
|
+
|
|
843
|
+
# @!method self.values
|
|
844
|
+
# @return [Array<Symbol>]
|
|
845
|
+
end
|
|
846
|
+
|
|
254
847
|
# @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#result
|
|
255
848
|
module Result
|
|
256
849
|
extend Revox::Internal::Type::Enum
|
|
@@ -259,6 +852,7 @@ module Revox
|
|
|
259
852
|
VOICEMAIL = :voicemail
|
|
260
853
|
HUMAN = :human
|
|
261
854
|
UNKNOWN = :unknown
|
|
855
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
262
856
|
|
|
263
857
|
# @!method self.values
|
|
264
858
|
# @return [Array<Symbol>]
|
|
@@ -274,6 +868,22 @@ module Revox
|
|
|
274
868
|
RINGING = :ringing
|
|
275
869
|
ONGOING = :ongoing
|
|
276
870
|
COMPLETED = :completed
|
|
871
|
+
ERROR = :error
|
|
872
|
+
|
|
873
|
+
# @!method self.values
|
|
874
|
+
# @return [Array<Symbol>]
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
878
|
+
# 'system' (e.g. max duration limit).
|
|
879
|
+
#
|
|
880
|
+
# @see Revox::Models::CallRetrieveResponse::Call::CallAttempt#ended_by
|
|
881
|
+
module EndedBy
|
|
882
|
+
extend Revox::Internal::Type::Enum
|
|
883
|
+
|
|
884
|
+
AGENT = :agent
|
|
885
|
+
USER = :user
|
|
886
|
+
SYSTEM = :system
|
|
277
887
|
|
|
278
888
|
# @!method self.values
|
|
279
889
|
# @return [Array<Symbol>]
|
|
@@ -413,6 +1023,23 @@ module Revox
|
|
|
413
1023
|
end
|
|
414
1024
|
end
|
|
415
1025
|
|
|
1026
|
+
# @see Revox::Models::CallRetrieveResponse::Call#campaign
|
|
1027
|
+
class Campaign < Revox::Internal::Type::BaseModel
|
|
1028
|
+
# @!attribute id
|
|
1029
|
+
#
|
|
1030
|
+
# @return [String]
|
|
1031
|
+
required :id, String
|
|
1032
|
+
|
|
1033
|
+
# @!attribute name
|
|
1034
|
+
#
|
|
1035
|
+
# @return [String]
|
|
1036
|
+
required :name, String
|
|
1037
|
+
|
|
1038
|
+
# @!method initialize(id:, name:)
|
|
1039
|
+
# @param id [String]
|
|
1040
|
+
# @param name [String]
|
|
1041
|
+
end
|
|
1042
|
+
|
|
416
1043
|
# Whether the call is inbound or outbound.
|
|
417
1044
|
#
|
|
418
1045
|
# @see Revox::Models::CallRetrieveResponse::Call#direction
|
|
@@ -440,6 +1067,14 @@ module Revox
|
|
|
440
1067
|
# @return [Object]
|
|
441
1068
|
required :answered_at, Revox::Internal::Type::Unknown
|
|
442
1069
|
|
|
1070
|
+
# @!attribute dial_error
|
|
1071
|
+
# The SIP error that occurred.
|
|
1072
|
+
#
|
|
1073
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError, nil]
|
|
1074
|
+
required :dial_error,
|
|
1075
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError },
|
|
1076
|
+
nil?: true
|
|
1077
|
+
|
|
443
1078
|
# @!attribute ended_at
|
|
444
1079
|
# The time the call ended.
|
|
445
1080
|
#
|
|
@@ -478,6 +1113,22 @@ module Revox
|
|
|
478
1113
|
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status]
|
|
479
1114
|
required :status, enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status }
|
|
480
1115
|
|
|
1116
|
+
# @!attribute end_reason
|
|
1117
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
1118
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
1119
|
+
#
|
|
1120
|
+
# @return [String, nil]
|
|
1121
|
+
optional :end_reason, String, nil?: true
|
|
1122
|
+
|
|
1123
|
+
# @!attribute ended_by
|
|
1124
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1125
|
+
# 'system' (e.g. max duration limit).
|
|
1126
|
+
#
|
|
1127
|
+
# @return [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy, nil]
|
|
1128
|
+
optional :ended_by,
|
|
1129
|
+
enum: -> { Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy },
|
|
1130
|
+
nil?: true
|
|
1131
|
+
|
|
481
1132
|
# @!attribute structured_output
|
|
482
1133
|
# The data extracted from the call, using the structured output config from the
|
|
483
1134
|
# parent call object.
|
|
@@ -495,7 +1146,7 @@ module Revox
|
|
|
495
1146
|
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript] },
|
|
496
1147
|
nil?: true
|
|
497
1148
|
|
|
498
|
-
# @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
|
|
1149
|
+
# @!method initialize(id:, answered_at:, dial_error:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, end_reason: nil, ended_by: nil, structured_output: nil, transcript: nil)
|
|
499
1150
|
# Some parameter documentations has been truncated, see
|
|
500
1151
|
# {Revox::Models::CallRetrieveResponse::Call::LastCallAttempt} for more details.
|
|
501
1152
|
#
|
|
@@ -506,6 +1157,8 @@ module Revox
|
|
|
506
1157
|
#
|
|
507
1158
|
# @param answered_at [Object] The time the call was answered.
|
|
508
1159
|
#
|
|
1160
|
+
# @param dial_error [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::DialError, nil] The SIP error that occurred.
|
|
1161
|
+
#
|
|
509
1162
|
# @param ended_at [Object] The time the call ended.
|
|
510
1163
|
#
|
|
511
1164
|
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
@@ -518,10 +1171,33 @@ module Revox
|
|
|
518
1171
|
#
|
|
519
1172
|
# @param status [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Status] The status of the call attempt.
|
|
520
1173
|
#
|
|
1174
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
1175
|
+
#
|
|
1176
|
+
# @param ended_by [Symbol, Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
1177
|
+
#
|
|
521
1178
|
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
522
1179
|
#
|
|
523
1180
|
# @param transcript [Array<Revox::Models::CallRetrieveResponse::Call::LastCallAttempt::Transcript>, nil] The transcript of the call.
|
|
524
1181
|
|
|
1182
|
+
# The SIP error that occurred.
|
|
1183
|
+
#
|
|
1184
|
+
# @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#dial_error
|
|
1185
|
+
module DialError
|
|
1186
|
+
extend Revox::Internal::Type::Enum
|
|
1187
|
+
|
|
1188
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
1189
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
1190
|
+
BUSY = :busy
|
|
1191
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
1192
|
+
NO_ANSWER = :no_answer
|
|
1193
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
1194
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
1195
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
1196
|
+
|
|
1197
|
+
# @!method self.values
|
|
1198
|
+
# @return [Array<Symbol>]
|
|
1199
|
+
end
|
|
1200
|
+
|
|
525
1201
|
# @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#result
|
|
526
1202
|
module Result
|
|
527
1203
|
extend Revox::Internal::Type::Enum
|
|
@@ -530,6 +1206,7 @@ module Revox
|
|
|
530
1206
|
VOICEMAIL = :voicemail
|
|
531
1207
|
HUMAN = :human
|
|
532
1208
|
UNKNOWN = :unknown
|
|
1209
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
533
1210
|
|
|
534
1211
|
# @!method self.values
|
|
535
1212
|
# @return [Array<Symbol>]
|
|
@@ -545,6 +1222,22 @@ module Revox
|
|
|
545
1222
|
RINGING = :ringing
|
|
546
1223
|
ONGOING = :ongoing
|
|
547
1224
|
COMPLETED = :completed
|
|
1225
|
+
ERROR = :error
|
|
1226
|
+
|
|
1227
|
+
# @!method self.values
|
|
1228
|
+
# @return [Array<Symbol>]
|
|
1229
|
+
end
|
|
1230
|
+
|
|
1231
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1232
|
+
# 'system' (e.g. max duration limit).
|
|
1233
|
+
#
|
|
1234
|
+
# @see Revox::Models::CallRetrieveResponse::Call::LastCallAttempt#ended_by
|
|
1235
|
+
module EndedBy
|
|
1236
|
+
extend Revox::Internal::Type::Enum
|
|
1237
|
+
|
|
1238
|
+
AGENT = :agent
|
|
1239
|
+
USER = :user
|
|
1240
|
+
SYSTEM = :system
|
|
548
1241
|
|
|
549
1242
|
# @!method self.values
|
|
550
1243
|
# @return [Array<Symbol>]
|
|
@@ -678,6 +1371,24 @@ module Revox
|
|
|
678
1371
|
# @!method self.variants
|
|
679
1372
|
# @return [Array(Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember0, Revox::Models::CallRetrieveResponse::Call::LlmModel::UnionMember1)]
|
|
680
1373
|
end
|
|
1374
|
+
|
|
1375
|
+
# The status of the call.
|
|
1376
|
+
#
|
|
1377
|
+
# @see Revox::Models::CallRetrieveResponse::Call#status
|
|
1378
|
+
module Status
|
|
1379
|
+
extend Revox::Internal::Type::Enum
|
|
1380
|
+
|
|
1381
|
+
INITIALIZING = :initializing
|
|
1382
|
+
QUEUED_FOR_CALLING = :queued_for_calling
|
|
1383
|
+
CALLING = :calling
|
|
1384
|
+
SCHEDULED = :scheduled
|
|
1385
|
+
COMPLETED = :completed
|
|
1386
|
+
CANCELLED = :cancelled
|
|
1387
|
+
ERRORED = :errored
|
|
1388
|
+
|
|
1389
|
+
# @!method self.values
|
|
1390
|
+
# @return [Array<Symbol>]
|
|
1391
|
+
end
|
|
681
1392
|
end
|
|
682
1393
|
end
|
|
683
1394
|
end
|