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::CallCreateResponse::Call::Assistant, nil]
|
|
31
|
+
required :assistant, -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Campaign, nil]
|
|
56
|
+
required :campaign, -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Status]
|
|
131
|
+
required :status, enum: -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::Call::Assistant, nil]
|
|
150
|
+
#
|
|
131
151
|
# @param call_attempts [Array<Revox::Models::CallCreateResponse::Call::CallAttempt>] All call attempts for this call order, ordered by most recent first.
|
|
132
152
|
#
|
|
133
153
|
# @param call_retry_config [Revox::Models::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::Call::LastCallAttempt, nil] This represent a single call attempt. A call attempt is a single call made to th
|
|
150
172
|
#
|
|
@@ -152,12 +174,533 @@ 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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::Call::Assistant::BackgroundSound, nil]
|
|
197
|
+
required :background_sound,
|
|
198
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::Assistant::BackgroundSound },
|
|
199
|
+
nil?: true
|
|
200
|
+
|
|
201
|
+
# @!attribute calendly
|
|
202
|
+
#
|
|
203
|
+
# @return [Revox::Models::CallCreateResponse::Call::Assistant::Calendly, nil]
|
|
204
|
+
required :calendly, -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::CallRetryConfig, nil]
|
|
211
|
+
required :call_retry_config,
|
|
212
|
+
-> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::FirstSentenceMode]
|
|
239
|
+
required :first_sentence_mode,
|
|
240
|
+
enum: -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember1]
|
|
252
|
+
required :llm_model, union: -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::StructuredOutputConfig>, nil]
|
|
281
|
+
required :structured_output_config,
|
|
282
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::Voice, nil]
|
|
299
|
+
required :voice, -> { Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant::FaqItem>, nil]
|
|
317
|
+
optional :faq_items,
|
|
318
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallCreateResponse::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::CallCreateResponse::Call::Assistant} for more details.
|
|
328
|
+
#
|
|
329
|
+
# @param id [String]
|
|
330
|
+
#
|
|
331
|
+
# @param background_sound [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
|
|
332
|
+
#
|
|
333
|
+
# @param calendly [Revox::Models::CallCreateResponse::Call::Assistant::Calendly, nil]
|
|
334
|
+
#
|
|
335
|
+
# @param call_retry_config [Revox::Models::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::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::CallCreateResponse::Call::Assistant::Calendly} for more details.
|
|
406
|
+
#
|
|
407
|
+
# @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
|
|
408
|
+
#
|
|
409
|
+
# @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant#call_retry_config
|
|
413
|
+
class CallRetryConfig < Revox::Internal::Type::BaseModel
|
|
414
|
+
# @!attribute calling_windows
|
|
415
|
+
#
|
|
416
|
+
# @return [Array<Revox::Models::CallCreateResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
417
|
+
required :calling_windows,
|
|
418
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallCreateResponse::Call::Assistant::CallRetryConfig::CallingWindow] }
|
|
419
|
+
|
|
420
|
+
# @!attribute max_retry_attempts
|
|
421
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
422
|
+
#
|
|
423
|
+
# @return [Integer]
|
|
424
|
+
required :max_retry_attempts, Integer
|
|
425
|
+
|
|
426
|
+
# @!attribute timezone
|
|
427
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
428
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
429
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
430
|
+
#
|
|
431
|
+
# @return [String, nil]
|
|
432
|
+
optional :timezone, String, nil?: true
|
|
433
|
+
|
|
434
|
+
# @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
|
|
435
|
+
# Some parameter documentations has been truncated, see
|
|
436
|
+
# {Revox::Models::CallCreateResponse::Call::Assistant::CallRetryConfig} for more
|
|
437
|
+
# details.
|
|
438
|
+
#
|
|
439
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
440
|
+
# iterations. If not provided, defaults will be used.
|
|
441
|
+
#
|
|
442
|
+
# @param calling_windows [Array<Revox::Models::CallCreateResponse::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
443
|
+
#
|
|
444
|
+
# @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
|
|
445
|
+
#
|
|
446
|
+
# @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
|
|
447
|
+
|
|
448
|
+
class CallingWindow < Revox::Internal::Type::BaseModel
|
|
449
|
+
# @!attribute calling_window_end_time
|
|
450
|
+
# End time for the calling window in the recipient's timezone (or
|
|
451
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
452
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
453
|
+
#
|
|
454
|
+
# @return [String]
|
|
455
|
+
required :calling_window_end_time, String
|
|
456
|
+
|
|
457
|
+
# @!attribute calling_window_start_time
|
|
458
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
459
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
460
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
461
|
+
#
|
|
462
|
+
# @return [String]
|
|
463
|
+
required :calling_window_start_time, String
|
|
464
|
+
|
|
465
|
+
# @!attribute retry_delay_seconds
|
|
466
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
467
|
+
#
|
|
468
|
+
# @return [Integer]
|
|
469
|
+
required :retry_delay_seconds, Integer
|
|
470
|
+
|
|
471
|
+
# @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
|
|
472
|
+
# Some parameter documentations has been truncated, see
|
|
473
|
+
# {Revox::Models::CallCreateResponse::Call::Assistant::CallRetryConfig::CallingWindow}
|
|
474
|
+
# for more details.
|
|
475
|
+
#
|
|
476
|
+
# @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
|
|
477
|
+
#
|
|
478
|
+
# @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
|
|
479
|
+
#
|
|
480
|
+
# @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
481
|
+
end
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant#first_sentence_mode
|
|
485
|
+
module FirstSentenceMode
|
|
486
|
+
extend Revox::Internal::Type::Enum
|
|
487
|
+
|
|
488
|
+
GENERATED = :generated
|
|
489
|
+
STATIC = :static
|
|
490
|
+
NONE = :none
|
|
491
|
+
|
|
492
|
+
# @!method self.values
|
|
493
|
+
# @return [Array<Symbol>]
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant#llm_model
|
|
497
|
+
module LlmModel
|
|
498
|
+
extend Revox::Internal::Type::Union
|
|
499
|
+
|
|
500
|
+
variant -> { Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0 }
|
|
501
|
+
|
|
502
|
+
variant -> { Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember1 }
|
|
503
|
+
|
|
504
|
+
class UnionMember0 < Revox::Internal::Type::BaseModel
|
|
505
|
+
# @!attribute name
|
|
506
|
+
#
|
|
507
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
508
|
+
required :name,
|
|
509
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0::Name }
|
|
510
|
+
|
|
511
|
+
# @!attribute type
|
|
512
|
+
#
|
|
513
|
+
# @return [Symbol, :"dedicated-instance"]
|
|
514
|
+
required :type, const: :"dedicated-instance"
|
|
515
|
+
|
|
516
|
+
# @!method initialize(name:, type: :"dedicated-instance")
|
|
517
|
+
# @param name [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
518
|
+
# @param type [Symbol, :"dedicated-instance"]
|
|
519
|
+
|
|
520
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0#name
|
|
521
|
+
module Name
|
|
522
|
+
extend Revox::Internal::Type::Enum
|
|
523
|
+
|
|
524
|
+
GPT_4_1 = :"gpt-4.1"
|
|
525
|
+
MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
|
|
526
|
+
|
|
527
|
+
# @!method self.values
|
|
528
|
+
# @return [Array<Symbol>]
|
|
529
|
+
end
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
class UnionMember1 < Revox::Internal::Type::BaseModel
|
|
533
|
+
# @!attribute openrouter_model_id
|
|
534
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
535
|
+
#
|
|
536
|
+
# @return [String]
|
|
537
|
+
required :openrouter_model_id, String
|
|
538
|
+
|
|
539
|
+
# @!attribute openrouter_provider
|
|
540
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
541
|
+
#
|
|
542
|
+
# @return [String]
|
|
543
|
+
required :openrouter_provider, String
|
|
544
|
+
|
|
545
|
+
# @!attribute type
|
|
546
|
+
# Use a model from OpenRouter.
|
|
547
|
+
#
|
|
548
|
+
# @return [Symbol, :openrouter]
|
|
549
|
+
required :type, const: :openrouter
|
|
550
|
+
|
|
551
|
+
# @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
|
|
552
|
+
# @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
553
|
+
#
|
|
554
|
+
# @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
555
|
+
#
|
|
556
|
+
# @param type [Symbol, :openrouter] Use a model from OpenRouter.
|
|
557
|
+
end
|
|
558
|
+
|
|
559
|
+
# @!method self.variants
|
|
560
|
+
# @return [Array(Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CallCreateResponse::Call::Assistant::LlmModel::UnionMember1)]
|
|
561
|
+
end
|
|
562
|
+
|
|
563
|
+
class StructuredOutputConfig < Revox::Internal::Type::BaseModel
|
|
564
|
+
# @!attribute name
|
|
565
|
+
#
|
|
566
|
+
# @return [String]
|
|
567
|
+
required :name, String
|
|
568
|
+
|
|
569
|
+
# @!attribute required
|
|
570
|
+
#
|
|
571
|
+
# @return [Boolean]
|
|
572
|
+
required :required, Revox::Internal::Type::Boolean
|
|
573
|
+
|
|
574
|
+
# @!attribute type
|
|
575
|
+
#
|
|
576
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::StructuredOutputConfig::Type]
|
|
577
|
+
required :type,
|
|
578
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::Assistant::StructuredOutputConfig::Type }
|
|
579
|
+
|
|
580
|
+
# @!attribute description
|
|
581
|
+
#
|
|
582
|
+
# @return [String, nil]
|
|
583
|
+
optional :description, String
|
|
584
|
+
|
|
585
|
+
# @!attribute enum_options
|
|
586
|
+
#
|
|
587
|
+
# @return [Array<String>, nil]
|
|
588
|
+
optional :enum_options, Revox::Internal::Type::ArrayOf[String]
|
|
589
|
+
|
|
590
|
+
# @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
|
|
591
|
+
# @param name [String]
|
|
592
|
+
# @param required [Boolean]
|
|
593
|
+
# @param type [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::StructuredOutputConfig::Type]
|
|
594
|
+
# @param description [String]
|
|
595
|
+
# @param enum_options [Array<String>]
|
|
596
|
+
|
|
597
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant::StructuredOutputConfig#type
|
|
598
|
+
module Type
|
|
599
|
+
extend Revox::Internal::Type::Enum
|
|
600
|
+
|
|
601
|
+
STRING = :string
|
|
602
|
+
NUMBER = :number
|
|
603
|
+
BOOLEAN = :boolean
|
|
604
|
+
ENUM = :enum
|
|
605
|
+
DATE = :date
|
|
606
|
+
DATETIME = :datetime
|
|
607
|
+
|
|
608
|
+
# @!method self.values
|
|
609
|
+
# @return [Array<Symbol>]
|
|
610
|
+
end
|
|
611
|
+
end
|
|
612
|
+
|
|
613
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant#voice
|
|
614
|
+
class Voice < Revox::Internal::Type::BaseModel
|
|
615
|
+
# @!attribute id
|
|
616
|
+
# The ID of the voice.
|
|
617
|
+
#
|
|
618
|
+
# @return [String]
|
|
619
|
+
required :id, String
|
|
620
|
+
|
|
621
|
+
# @!attribute provider
|
|
622
|
+
# The provider of the voice.
|
|
623
|
+
#
|
|
624
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::Voice::Provider]
|
|
625
|
+
required :provider, enum: -> { Revox::Models::CallCreateResponse::Call::Assistant::Voice::Provider }
|
|
626
|
+
|
|
627
|
+
# @!attribute speed
|
|
628
|
+
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
629
|
+
# 0.7–1.2. Default is 1.0.
|
|
630
|
+
#
|
|
631
|
+
# @return [Float, nil]
|
|
632
|
+
optional :speed, Float
|
|
633
|
+
|
|
634
|
+
# @!method initialize(id:, provider:, speed: nil)
|
|
635
|
+
# Some parameter documentations has been truncated, see
|
|
636
|
+
# {Revox::Models::CallCreateResponse::Call::Assistant::Voice} for more details.
|
|
637
|
+
#
|
|
638
|
+
# @param id [String] The ID of the voice.
|
|
639
|
+
#
|
|
640
|
+
# @param provider [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::Voice::Provider] The provider of the voice.
|
|
641
|
+
#
|
|
642
|
+
# @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
643
|
+
|
|
644
|
+
# The provider of the voice.
|
|
645
|
+
#
|
|
646
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant::Voice#provider
|
|
647
|
+
module Provider
|
|
648
|
+
extend Revox::Internal::Type::Enum
|
|
649
|
+
|
|
650
|
+
CARTESIA = :cartesia
|
|
651
|
+
ELEVENLABS = :elevenlabs
|
|
652
|
+
|
|
653
|
+
# @!method self.values
|
|
654
|
+
# @return [Array<Symbol>]
|
|
655
|
+
end
|
|
656
|
+
end
|
|
657
|
+
|
|
658
|
+
class FaqItem < Revox::Internal::Type::BaseModel
|
|
659
|
+
# @!attribute answer
|
|
660
|
+
#
|
|
661
|
+
# @return [String]
|
|
662
|
+
required :answer, String
|
|
663
|
+
|
|
664
|
+
# @!attribute question
|
|
665
|
+
#
|
|
666
|
+
# @return [String]
|
|
667
|
+
required :question, String
|
|
668
|
+
|
|
669
|
+
# @!attribute id
|
|
670
|
+
#
|
|
671
|
+
# @return [String, nil]
|
|
672
|
+
optional :id, String
|
|
673
|
+
|
|
674
|
+
# @!attribute needs_human_answer
|
|
675
|
+
#
|
|
676
|
+
# @return [Boolean, nil]
|
|
677
|
+
optional :needs_human_answer, Revox::Internal::Type::Boolean
|
|
678
|
+
|
|
679
|
+
# @!attribute source
|
|
680
|
+
#
|
|
681
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::FaqItem::Source, nil]
|
|
682
|
+
optional :source, enum: -> { Revox::Models::CallCreateResponse::Call::Assistant::FaqItem::Source }
|
|
683
|
+
|
|
684
|
+
# @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
|
|
685
|
+
# @param answer [String]
|
|
686
|
+
# @param question [String]
|
|
687
|
+
# @param id [String]
|
|
688
|
+
# @param needs_human_answer [Boolean]
|
|
689
|
+
# @param source [Symbol, Revox::Models::CallCreateResponse::Call::Assistant::FaqItem::Source]
|
|
690
|
+
|
|
691
|
+
# @see Revox::Models::CallCreateResponse::Call::Assistant::FaqItem#source
|
|
692
|
+
module Source
|
|
693
|
+
extend Revox::Internal::Type::Enum
|
|
694
|
+
|
|
695
|
+
HUMAN = :human
|
|
696
|
+
AI = :ai
|
|
697
|
+
|
|
698
|
+
# @!method self.values
|
|
699
|
+
# @return [Array<Symbol>]
|
|
700
|
+
end
|
|
701
|
+
end
|
|
702
|
+
end
|
|
703
|
+
|
|
161
704
|
class CallAttempt < Revox::Internal::Type::BaseModel
|
|
162
705
|
# @!attribute id
|
|
163
706
|
# The ID of the call attempt.
|
|
@@ -171,6 +714,14 @@ module Revox
|
|
|
171
714
|
# @return [Object]
|
|
172
715
|
required :answered_at, Revox::Internal::Type::Unknown
|
|
173
716
|
|
|
717
|
+
# @!attribute dial_error
|
|
718
|
+
# The SIP error that occurred.
|
|
719
|
+
#
|
|
720
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::DialError, nil]
|
|
721
|
+
required :dial_error,
|
|
722
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::CallAttempt::DialError },
|
|
723
|
+
nil?: true
|
|
724
|
+
|
|
174
725
|
# @!attribute ended_at
|
|
175
726
|
# The time the call ended.
|
|
176
727
|
#
|
|
@@ -207,6 +758,20 @@ module Revox
|
|
|
207
758
|
# @return [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::Status]
|
|
208
759
|
required :status, enum: -> { Revox::Models::CallCreateResponse::Call::CallAttempt::Status }
|
|
209
760
|
|
|
761
|
+
# @!attribute end_reason
|
|
762
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
763
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
764
|
+
#
|
|
765
|
+
# @return [String, nil]
|
|
766
|
+
optional :end_reason, String, nil?: true
|
|
767
|
+
|
|
768
|
+
# @!attribute ended_by
|
|
769
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
770
|
+
# 'system' (e.g. max duration limit).
|
|
771
|
+
#
|
|
772
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::EndedBy, nil]
|
|
773
|
+
optional :ended_by, enum: -> { Revox::Models::CallCreateResponse::Call::CallAttempt::EndedBy }, nil?: true
|
|
774
|
+
|
|
210
775
|
# @!attribute structured_output
|
|
211
776
|
# The data extracted from the call, using the structured output config from the
|
|
212
777
|
# parent call object.
|
|
@@ -224,7 +789,7 @@ module Revox
|
|
|
224
789
|
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallCreateResponse::Call::CallAttempt::Transcript] },
|
|
225
790
|
nil?: true
|
|
226
791
|
|
|
227
|
-
# @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
|
|
792
|
+
# @!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
793
|
# Some parameter documentations has been truncated, see
|
|
229
794
|
# {Revox::Models::CallCreateResponse::Call::CallAttempt} for more details.
|
|
230
795
|
#
|
|
@@ -235,6 +800,8 @@ module Revox
|
|
|
235
800
|
#
|
|
236
801
|
# @param answered_at [Object] The time the call was answered.
|
|
237
802
|
#
|
|
803
|
+
# @param dial_error [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::DialError, nil] The SIP error that occurred.
|
|
804
|
+
#
|
|
238
805
|
# @param ended_at [Object] The time the call ended.
|
|
239
806
|
#
|
|
240
807
|
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
@@ -247,10 +814,33 @@ module Revox
|
|
|
247
814
|
#
|
|
248
815
|
# @param status [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::Status] The status of the call attempt.
|
|
249
816
|
#
|
|
817
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
818
|
+
#
|
|
819
|
+
# @param ended_by [Symbol, Revox::Models::CallCreateResponse::Call::CallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
820
|
+
#
|
|
250
821
|
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
251
822
|
#
|
|
252
823
|
# @param transcript [Array<Revox::Models::CallCreateResponse::Call::CallAttempt::Transcript>, nil] The transcript of the call.
|
|
253
824
|
|
|
825
|
+
# The SIP error that occurred.
|
|
826
|
+
#
|
|
827
|
+
# @see Revox::Models::CallCreateResponse::Call::CallAttempt#dial_error
|
|
828
|
+
module DialError
|
|
829
|
+
extend Revox::Internal::Type::Enum
|
|
830
|
+
|
|
831
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
832
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
833
|
+
BUSY = :busy
|
|
834
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
835
|
+
NO_ANSWER = :no_answer
|
|
836
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
837
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
838
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
839
|
+
|
|
840
|
+
# @!method self.values
|
|
841
|
+
# @return [Array<Symbol>]
|
|
842
|
+
end
|
|
843
|
+
|
|
254
844
|
# @see Revox::Models::CallCreateResponse::Call::CallAttempt#result
|
|
255
845
|
module Result
|
|
256
846
|
extend Revox::Internal::Type::Enum
|
|
@@ -259,6 +849,7 @@ module Revox
|
|
|
259
849
|
VOICEMAIL = :voicemail
|
|
260
850
|
HUMAN = :human
|
|
261
851
|
UNKNOWN = :unknown
|
|
852
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
262
853
|
|
|
263
854
|
# @!method self.values
|
|
264
855
|
# @return [Array<Symbol>]
|
|
@@ -274,6 +865,22 @@ module Revox
|
|
|
274
865
|
RINGING = :ringing
|
|
275
866
|
ONGOING = :ongoing
|
|
276
867
|
COMPLETED = :completed
|
|
868
|
+
ERROR = :error
|
|
869
|
+
|
|
870
|
+
# @!method self.values
|
|
871
|
+
# @return [Array<Symbol>]
|
|
872
|
+
end
|
|
873
|
+
|
|
874
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
875
|
+
# 'system' (e.g. max duration limit).
|
|
876
|
+
#
|
|
877
|
+
# @see Revox::Models::CallCreateResponse::Call::CallAttempt#ended_by
|
|
878
|
+
module EndedBy
|
|
879
|
+
extend Revox::Internal::Type::Enum
|
|
880
|
+
|
|
881
|
+
AGENT = :agent
|
|
882
|
+
USER = :user
|
|
883
|
+
SYSTEM = :system
|
|
277
884
|
|
|
278
885
|
# @!method self.values
|
|
279
886
|
# @return [Array<Symbol>]
|
|
@@ -413,6 +1020,23 @@ module Revox
|
|
|
413
1020
|
end
|
|
414
1021
|
end
|
|
415
1022
|
|
|
1023
|
+
# @see Revox::Models::CallCreateResponse::Call#campaign
|
|
1024
|
+
class Campaign < Revox::Internal::Type::BaseModel
|
|
1025
|
+
# @!attribute id
|
|
1026
|
+
#
|
|
1027
|
+
# @return [String]
|
|
1028
|
+
required :id, String
|
|
1029
|
+
|
|
1030
|
+
# @!attribute name
|
|
1031
|
+
#
|
|
1032
|
+
# @return [String]
|
|
1033
|
+
required :name, String
|
|
1034
|
+
|
|
1035
|
+
# @!method initialize(id:, name:)
|
|
1036
|
+
# @param id [String]
|
|
1037
|
+
# @param name [String]
|
|
1038
|
+
end
|
|
1039
|
+
|
|
416
1040
|
# Whether the call is inbound or outbound.
|
|
417
1041
|
#
|
|
418
1042
|
# @see Revox::Models::CallCreateResponse::Call#direction
|
|
@@ -440,6 +1064,14 @@ module Revox
|
|
|
440
1064
|
# @return [Object]
|
|
441
1065
|
required :answered_at, Revox::Internal::Type::Unknown
|
|
442
1066
|
|
|
1067
|
+
# @!attribute dial_error
|
|
1068
|
+
# The SIP error that occurred.
|
|
1069
|
+
#
|
|
1070
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::DialError, nil]
|
|
1071
|
+
required :dial_error,
|
|
1072
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::LastCallAttempt::DialError },
|
|
1073
|
+
nil?: true
|
|
1074
|
+
|
|
443
1075
|
# @!attribute ended_at
|
|
444
1076
|
# The time the call ended.
|
|
445
1077
|
#
|
|
@@ -478,6 +1110,22 @@ module Revox
|
|
|
478
1110
|
# @return [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::Status]
|
|
479
1111
|
required :status, enum: -> { Revox::Models::CallCreateResponse::Call::LastCallAttempt::Status }
|
|
480
1112
|
|
|
1113
|
+
# @!attribute end_reason
|
|
1114
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
1115
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
1116
|
+
#
|
|
1117
|
+
# @return [String, nil]
|
|
1118
|
+
optional :end_reason, String, nil?: true
|
|
1119
|
+
|
|
1120
|
+
# @!attribute ended_by
|
|
1121
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1122
|
+
# 'system' (e.g. max duration limit).
|
|
1123
|
+
#
|
|
1124
|
+
# @return [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::EndedBy, nil]
|
|
1125
|
+
optional :ended_by,
|
|
1126
|
+
enum: -> { Revox::Models::CallCreateResponse::Call::LastCallAttempt::EndedBy },
|
|
1127
|
+
nil?: true
|
|
1128
|
+
|
|
481
1129
|
# @!attribute structured_output
|
|
482
1130
|
# The data extracted from the call, using the structured output config from the
|
|
483
1131
|
# parent call object.
|
|
@@ -495,7 +1143,7 @@ module Revox
|
|
|
495
1143
|
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CallCreateResponse::Call::LastCallAttempt::Transcript] },
|
|
496
1144
|
nil?: true
|
|
497
1145
|
|
|
498
|
-
# @!method initialize(id:, answered_at:, ended_at:, phone_number:, recording_url:, result:, started_at:, status:, structured_output: nil, transcript: nil)
|
|
1146
|
+
# @!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
1147
|
# Some parameter documentations has been truncated, see
|
|
500
1148
|
# {Revox::Models::CallCreateResponse::Call::LastCallAttempt} for more details.
|
|
501
1149
|
#
|
|
@@ -506,6 +1154,8 @@ module Revox
|
|
|
506
1154
|
#
|
|
507
1155
|
# @param answered_at [Object] The time the call was answered.
|
|
508
1156
|
#
|
|
1157
|
+
# @param dial_error [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::DialError, nil] The SIP error that occurred.
|
|
1158
|
+
#
|
|
509
1159
|
# @param ended_at [Object] The time the call ended.
|
|
510
1160
|
#
|
|
511
1161
|
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
@@ -518,10 +1168,33 @@ module Revox
|
|
|
518
1168
|
#
|
|
519
1169
|
# @param status [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::Status] The status of the call attempt.
|
|
520
1170
|
#
|
|
1171
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
1172
|
+
#
|
|
1173
|
+
# @param ended_by [Symbol, Revox::Models::CallCreateResponse::Call::LastCallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
1174
|
+
#
|
|
521
1175
|
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
522
1176
|
#
|
|
523
1177
|
# @param transcript [Array<Revox::Models::CallCreateResponse::Call::LastCallAttempt::Transcript>, nil] The transcript of the call.
|
|
524
1178
|
|
|
1179
|
+
# The SIP error that occurred.
|
|
1180
|
+
#
|
|
1181
|
+
# @see Revox::Models::CallCreateResponse::Call::LastCallAttempt#dial_error
|
|
1182
|
+
module DialError
|
|
1183
|
+
extend Revox::Internal::Type::Enum
|
|
1184
|
+
|
|
1185
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
1186
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
1187
|
+
BUSY = :busy
|
|
1188
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
1189
|
+
NO_ANSWER = :no_answer
|
|
1190
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
1191
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
1192
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
1193
|
+
|
|
1194
|
+
# @!method self.values
|
|
1195
|
+
# @return [Array<Symbol>]
|
|
1196
|
+
end
|
|
1197
|
+
|
|
525
1198
|
# @see Revox::Models::CallCreateResponse::Call::LastCallAttempt#result
|
|
526
1199
|
module Result
|
|
527
1200
|
extend Revox::Internal::Type::Enum
|
|
@@ -530,6 +1203,7 @@ module Revox
|
|
|
530
1203
|
VOICEMAIL = :voicemail
|
|
531
1204
|
HUMAN = :human
|
|
532
1205
|
UNKNOWN = :unknown
|
|
1206
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
533
1207
|
|
|
534
1208
|
# @!method self.values
|
|
535
1209
|
# @return [Array<Symbol>]
|
|
@@ -545,6 +1219,22 @@ module Revox
|
|
|
545
1219
|
RINGING = :ringing
|
|
546
1220
|
ONGOING = :ongoing
|
|
547
1221
|
COMPLETED = :completed
|
|
1222
|
+
ERROR = :error
|
|
1223
|
+
|
|
1224
|
+
# @!method self.values
|
|
1225
|
+
# @return [Array<Symbol>]
|
|
1226
|
+
end
|
|
1227
|
+
|
|
1228
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1229
|
+
# 'system' (e.g. max duration limit).
|
|
1230
|
+
#
|
|
1231
|
+
# @see Revox::Models::CallCreateResponse::Call::LastCallAttempt#ended_by
|
|
1232
|
+
module EndedBy
|
|
1233
|
+
extend Revox::Internal::Type::Enum
|
|
1234
|
+
|
|
1235
|
+
AGENT = :agent
|
|
1236
|
+
USER = :user
|
|
1237
|
+
SYSTEM = :system
|
|
548
1238
|
|
|
549
1239
|
# @!method self.values
|
|
550
1240
|
# @return [Array<Symbol>]
|
|
@@ -678,6 +1368,24 @@ module Revox
|
|
|
678
1368
|
# @!method self.variants
|
|
679
1369
|
# @return [Array(Revox::Models::CallCreateResponse::Call::LlmModel::UnionMember0, Revox::Models::CallCreateResponse::Call::LlmModel::UnionMember1)]
|
|
680
1370
|
end
|
|
1371
|
+
|
|
1372
|
+
# The status of the call.
|
|
1373
|
+
#
|
|
1374
|
+
# @see Revox::Models::CallCreateResponse::Call#status
|
|
1375
|
+
module Status
|
|
1376
|
+
extend Revox::Internal::Type::Enum
|
|
1377
|
+
|
|
1378
|
+
INITIALIZING = :initializing
|
|
1379
|
+
QUEUED_FOR_CALLING = :queued_for_calling
|
|
1380
|
+
CALLING = :calling
|
|
1381
|
+
SCHEDULED = :scheduled
|
|
1382
|
+
COMPLETED = :completed
|
|
1383
|
+
CANCELLED = :cancelled
|
|
1384
|
+
ERRORED = :errored
|
|
1385
|
+
|
|
1386
|
+
# @!method self.values
|
|
1387
|
+
# @return [Array<Symbol>]
|
|
1388
|
+
end
|
|
681
1389
|
end
|
|
682
1390
|
end
|
|
683
1391
|
end
|