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
|
@@ -0,0 +1,1468 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
# @see Revox::Resources::Campaigns#get_rows
|
|
6
|
+
class CampaignGetRowsResponse < Revox::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute page
|
|
8
|
+
#
|
|
9
|
+
# @return [Float]
|
|
10
|
+
required :page, Float
|
|
11
|
+
|
|
12
|
+
# @!attribute page_size
|
|
13
|
+
#
|
|
14
|
+
# @return [Float]
|
|
15
|
+
required :page_size, Float
|
|
16
|
+
|
|
17
|
+
# @!attribute rows
|
|
18
|
+
#
|
|
19
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row>]
|
|
20
|
+
required :rows, -> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row] }
|
|
21
|
+
|
|
22
|
+
# @!attribute total
|
|
23
|
+
#
|
|
24
|
+
# @return [Float]
|
|
25
|
+
required :total, Float
|
|
26
|
+
|
|
27
|
+
# @!method initialize(page:, page_size:, rows:, total:)
|
|
28
|
+
# @param page [Float]
|
|
29
|
+
# @param page_size [Float]
|
|
30
|
+
# @param rows [Array<Revox::Models::CampaignGetRowsResponse::Row>]
|
|
31
|
+
# @param total [Float]
|
|
32
|
+
|
|
33
|
+
class Row < Revox::Internal::Type::BaseModel
|
|
34
|
+
# @!attribute id
|
|
35
|
+
#
|
|
36
|
+
# @return [String]
|
|
37
|
+
required :id, String
|
|
38
|
+
|
|
39
|
+
# @!attribute input_data
|
|
40
|
+
#
|
|
41
|
+
# @return [Hash{Symbol=>String}]
|
|
42
|
+
required :input_data, Revox::Internal::Type::HashOf[String]
|
|
43
|
+
|
|
44
|
+
# @!attribute phone_number
|
|
45
|
+
#
|
|
46
|
+
# @return [String]
|
|
47
|
+
required :phone_number, String
|
|
48
|
+
|
|
49
|
+
# @!attribute row_index
|
|
50
|
+
#
|
|
51
|
+
# @return [Float]
|
|
52
|
+
required :row_index, Float
|
|
53
|
+
|
|
54
|
+
# @!attribute call
|
|
55
|
+
# This represent a call "order" that was requested by the user. A call order can
|
|
56
|
+
# be resolved over multiple call attempts spanning up to a few days.
|
|
57
|
+
#
|
|
58
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call, nil]
|
|
59
|
+
optional :call, -> { Revox::Models::CampaignGetRowsResponse::Row::Call }
|
|
60
|
+
|
|
61
|
+
# @!method initialize(id:, input_data:, phone_number:, row_index:, call: nil)
|
|
62
|
+
# Some parameter documentations has been truncated, see
|
|
63
|
+
# {Revox::Models::CampaignGetRowsResponse::Row} for more details.
|
|
64
|
+
#
|
|
65
|
+
# @param id [String]
|
|
66
|
+
#
|
|
67
|
+
# @param input_data [Hash{Symbol=>String}]
|
|
68
|
+
#
|
|
69
|
+
# @param phone_number [String]
|
|
70
|
+
#
|
|
71
|
+
# @param row_index [Float]
|
|
72
|
+
#
|
|
73
|
+
# @param call [Revox::Models::CampaignGetRowsResponse::Row::Call] This represent a call "order" that was requested by the user. A call order can b
|
|
74
|
+
|
|
75
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row#call
|
|
76
|
+
class Call < Revox::Internal::Type::BaseModel
|
|
77
|
+
# @!attribute id
|
|
78
|
+
# The ID of the call.
|
|
79
|
+
#
|
|
80
|
+
# @return [String]
|
|
81
|
+
required :id, String
|
|
82
|
+
|
|
83
|
+
# @!attribute assistant
|
|
84
|
+
#
|
|
85
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant, nil]
|
|
86
|
+
required :assistant, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant }, nil?: true
|
|
87
|
+
|
|
88
|
+
# @!attribute call_attempts
|
|
89
|
+
# All call attempts for this call order, ordered by most recent first.
|
|
90
|
+
#
|
|
91
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt>]
|
|
92
|
+
required :call_attempts,
|
|
93
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt] }
|
|
94
|
+
|
|
95
|
+
# @!attribute call_retry_config
|
|
96
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
97
|
+
# iterations. If not provided, defaults will be used.
|
|
98
|
+
#
|
|
99
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig, nil]
|
|
100
|
+
required :call_retry_config,
|
|
101
|
+
-> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig },
|
|
102
|
+
nil?: true
|
|
103
|
+
|
|
104
|
+
# @!attribute calls_count
|
|
105
|
+
# The number of call attempts made.
|
|
106
|
+
#
|
|
107
|
+
# @return [Float]
|
|
108
|
+
required :calls_count, Float
|
|
109
|
+
|
|
110
|
+
# @!attribute campaign
|
|
111
|
+
#
|
|
112
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign, nil]
|
|
113
|
+
required :campaign, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign }, nil?: true
|
|
114
|
+
|
|
115
|
+
# @!attribute created_at
|
|
116
|
+
# The time the call order was created.
|
|
117
|
+
#
|
|
118
|
+
# @return [Object]
|
|
119
|
+
required :created_at, Revox::Internal::Type::Unknown
|
|
120
|
+
|
|
121
|
+
# @!attribute direction
|
|
122
|
+
# Whether the call is inbound or outbound.
|
|
123
|
+
#
|
|
124
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Direction]
|
|
125
|
+
required :direction, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Direction }
|
|
126
|
+
|
|
127
|
+
# @!attribute first_sentence_delay_ms
|
|
128
|
+
# Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
129
|
+
#
|
|
130
|
+
# @return [Integer]
|
|
131
|
+
required :first_sentence_delay_ms, Integer
|
|
132
|
+
|
|
133
|
+
# @!attribute from_phone_number
|
|
134
|
+
# The phone number that made the call. Formatted in E.164 format. Example:
|
|
135
|
+
# +1234567890
|
|
136
|
+
#
|
|
137
|
+
# @return [String]
|
|
138
|
+
required :from_phone_number, String
|
|
139
|
+
|
|
140
|
+
# @!attribute is_cancelled
|
|
141
|
+
# DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
142
|
+
# Use `status` instead.
|
|
143
|
+
#
|
|
144
|
+
# @return [Boolean]
|
|
145
|
+
required :is_cancelled, Revox::Internal::Type::Boolean
|
|
146
|
+
|
|
147
|
+
# @!attribute is_completed
|
|
148
|
+
# DEPRECATED: Whether the call has completed. This is derived from `status`. Use
|
|
149
|
+
# `status` instead.
|
|
150
|
+
#
|
|
151
|
+
# @return [Boolean]
|
|
152
|
+
required :is_completed, Revox::Internal::Type::Boolean
|
|
153
|
+
|
|
154
|
+
# @!attribute last_call_attempt
|
|
155
|
+
# This represent a single call attempt. A call attempt is a single call made to
|
|
156
|
+
# the phone number.
|
|
157
|
+
#
|
|
158
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt, nil]
|
|
159
|
+
required :last_call_attempt,
|
|
160
|
+
-> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt },
|
|
161
|
+
nil?: true
|
|
162
|
+
|
|
163
|
+
# @!attribute llm_model
|
|
164
|
+
#
|
|
165
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1]
|
|
166
|
+
required :llm_model, union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel }
|
|
167
|
+
|
|
168
|
+
# @!attribute metadata
|
|
169
|
+
# Metadata stored with the call.
|
|
170
|
+
#
|
|
171
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
172
|
+
required :metadata, Revox::Internal::Type::HashOf[String], nil?: true
|
|
173
|
+
|
|
174
|
+
# @!attribute organization_id
|
|
175
|
+
# The ID of the organization that owns the call.
|
|
176
|
+
#
|
|
177
|
+
# @return [String]
|
|
178
|
+
required :organization_id, String
|
|
179
|
+
|
|
180
|
+
# @!attribute scheduled_at
|
|
181
|
+
# The time the call order is scheduled to start.
|
|
182
|
+
#
|
|
183
|
+
# @return [Object]
|
|
184
|
+
required :scheduled_at, Revox::Internal::Type::Unknown
|
|
185
|
+
|
|
186
|
+
# @!attribute status
|
|
187
|
+
# The status of the call.
|
|
188
|
+
#
|
|
189
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Status]
|
|
190
|
+
required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Status }
|
|
191
|
+
|
|
192
|
+
# @!attribute to_phone_number
|
|
193
|
+
# The phone number that received the call. Formatted in E.164 format. Example:
|
|
194
|
+
# +1234567890
|
|
195
|
+
#
|
|
196
|
+
# @return [String]
|
|
197
|
+
required :to_phone_number, String
|
|
198
|
+
|
|
199
|
+
# @!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:)
|
|
200
|
+
# Some parameter documentations has been truncated, see
|
|
201
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call} for more details.
|
|
202
|
+
#
|
|
203
|
+
# This represent a call "order" that was requested by the user. A call order can
|
|
204
|
+
# be resolved over multiple call attempts spanning up to a few days.
|
|
205
|
+
#
|
|
206
|
+
# @param id [String] The ID of the call.
|
|
207
|
+
#
|
|
208
|
+
# @param assistant [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant, nil]
|
|
209
|
+
#
|
|
210
|
+
# @param call_attempts [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt>] All call attempts for this call order, ordered by most recent first.
|
|
211
|
+
#
|
|
212
|
+
# @param call_retry_config [Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
|
|
213
|
+
#
|
|
214
|
+
# @param calls_count [Float] The number of call attempts made.
|
|
215
|
+
#
|
|
216
|
+
# @param campaign [Revox::Models::CampaignGetRowsResponse::Row::Call::Campaign, nil]
|
|
217
|
+
#
|
|
218
|
+
# @param created_at [Object] The time the call order was created.
|
|
219
|
+
#
|
|
220
|
+
# @param direction [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Direction] Whether the call is inbound or outbound.
|
|
221
|
+
#
|
|
222
|
+
# @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
223
|
+
#
|
|
224
|
+
# @param from_phone_number [String] The phone number that made the call. Formatted in E.164 format. Example: +123456
|
|
225
|
+
#
|
|
226
|
+
# @param is_cancelled [Boolean] DEPRECATED: Whether the call has been cancelled. This is derived from `status`.
|
|
227
|
+
#
|
|
228
|
+
# @param is_completed [Boolean] DEPRECATED: Whether the call has completed. This is derived from `status`. Use `
|
|
229
|
+
#
|
|
230
|
+
# @param last_call_attempt [Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt, nil] This represent a single call attempt. A call attempt is a single call made to th
|
|
231
|
+
#
|
|
232
|
+
# @param llm_model [Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1]
|
|
233
|
+
#
|
|
234
|
+
# @param metadata [Hash{Symbol=>String}, nil] Metadata stored with the call.
|
|
235
|
+
#
|
|
236
|
+
# @param organization_id [String] The ID of the organization that owns the call.
|
|
237
|
+
#
|
|
238
|
+
# @param scheduled_at [Object] The time the call order is scheduled to start.
|
|
239
|
+
#
|
|
240
|
+
# @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Status] The status of the call.
|
|
241
|
+
#
|
|
242
|
+
# @param to_phone_number [String] The phone number that received the call. Formatted in E.164 format. Example: +12
|
|
243
|
+
|
|
244
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#assistant
|
|
245
|
+
class Assistant < Revox::Internal::Type::BaseModel
|
|
246
|
+
# @!attribute id
|
|
247
|
+
#
|
|
248
|
+
# @return [String]
|
|
249
|
+
required :id, String
|
|
250
|
+
|
|
251
|
+
# @!attribute background_sound
|
|
252
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
253
|
+
# your AI agent is in an office.
|
|
254
|
+
#
|
|
255
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound, nil]
|
|
256
|
+
required :background_sound,
|
|
257
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound },
|
|
258
|
+
nil?: true
|
|
259
|
+
|
|
260
|
+
# @!attribute calendly
|
|
261
|
+
#
|
|
262
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly, nil]
|
|
263
|
+
required :calendly,
|
|
264
|
+
-> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly },
|
|
265
|
+
nil?: true
|
|
266
|
+
|
|
267
|
+
# @!attribute call_retry_config
|
|
268
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
269
|
+
# iterations. If not provided, defaults will be used.
|
|
270
|
+
#
|
|
271
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig, nil]
|
|
272
|
+
required :call_retry_config,
|
|
273
|
+
-> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig },
|
|
274
|
+
nil?: true
|
|
275
|
+
|
|
276
|
+
# @!attribute created_at
|
|
277
|
+
#
|
|
278
|
+
# @return [Object]
|
|
279
|
+
required :created_at, Revox::Internal::Type::Unknown
|
|
280
|
+
|
|
281
|
+
# @!attribute end_of_call_sentence
|
|
282
|
+
#
|
|
283
|
+
# @return [String, nil]
|
|
284
|
+
required :end_of_call_sentence, String, nil?: true
|
|
285
|
+
|
|
286
|
+
# @!attribute first_sentence
|
|
287
|
+
#
|
|
288
|
+
# @return [String, nil]
|
|
289
|
+
required :first_sentence, String, nil?: true
|
|
290
|
+
|
|
291
|
+
# @!attribute first_sentence_delay_ms
|
|
292
|
+
# Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
293
|
+
#
|
|
294
|
+
# @return [Integer]
|
|
295
|
+
required :first_sentence_delay_ms, Integer
|
|
296
|
+
|
|
297
|
+
# @!attribute first_sentence_mode
|
|
298
|
+
#
|
|
299
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode]
|
|
300
|
+
required :first_sentence_mode,
|
|
301
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode }
|
|
302
|
+
|
|
303
|
+
# @!attribute ivr_navigation_enabled
|
|
304
|
+
# Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
305
|
+
# skip turns to navigate phone menus.
|
|
306
|
+
#
|
|
307
|
+
# @return [Boolean]
|
|
308
|
+
required :ivr_navigation_enabled, Revox::Internal::Type::Boolean
|
|
309
|
+
|
|
310
|
+
# @!attribute llm_model
|
|
311
|
+
#
|
|
312
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1]
|
|
313
|
+
required :llm_model, union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel }
|
|
314
|
+
|
|
315
|
+
# @!attribute max_call_duration_secs
|
|
316
|
+
# The maximum duration of the call in seconds. This is the maximum time the call
|
|
317
|
+
# will be allowed to run.
|
|
318
|
+
#
|
|
319
|
+
# @return [Float]
|
|
320
|
+
required :max_call_duration_secs, Float
|
|
321
|
+
|
|
322
|
+
# @!attribute name
|
|
323
|
+
#
|
|
324
|
+
# @return [String]
|
|
325
|
+
required :name, String
|
|
326
|
+
|
|
327
|
+
# @!attribute organization_id
|
|
328
|
+
#
|
|
329
|
+
# @return [String]
|
|
330
|
+
required :organization_id, String
|
|
331
|
+
|
|
332
|
+
# @!attribute prompt
|
|
333
|
+
#
|
|
334
|
+
# @return [String]
|
|
335
|
+
required :prompt, String
|
|
336
|
+
|
|
337
|
+
# @!attribute structured_output_config
|
|
338
|
+
# The structured output config to use for the call. This is used to extract the
|
|
339
|
+
# data from the call (like email, name, company name, etc.).
|
|
340
|
+
#
|
|
341
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig>, nil]
|
|
342
|
+
required :structured_output_config,
|
|
343
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig] },
|
|
344
|
+
nil?: true
|
|
345
|
+
|
|
346
|
+
# @!attribute transfer_phone_number
|
|
347
|
+
# Phone number to transfer calls to when users request to speak to a human agent.
|
|
348
|
+
#
|
|
349
|
+
# @return [String, nil]
|
|
350
|
+
required :transfer_phone_number, String, nil?: true
|
|
351
|
+
|
|
352
|
+
# @!attribute updated_at
|
|
353
|
+
#
|
|
354
|
+
# @return [Object]
|
|
355
|
+
required :updated_at, Revox::Internal::Type::Unknown
|
|
356
|
+
|
|
357
|
+
# @!attribute voice
|
|
358
|
+
#
|
|
359
|
+
# @return [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice, nil]
|
|
360
|
+
required :voice, -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice }, nil?: true
|
|
361
|
+
|
|
362
|
+
# @!attribute voicemail_message
|
|
363
|
+
# If set, when voicemail is detected the agent will speak this message then hang
|
|
364
|
+
# up; if null, hang up immediately.
|
|
365
|
+
#
|
|
366
|
+
# @return [String, nil]
|
|
367
|
+
required :voicemail_message, String, nil?: true
|
|
368
|
+
|
|
369
|
+
# @!attribute webhook_url
|
|
370
|
+
# The webhook URL to call when the call is completed.
|
|
371
|
+
#
|
|
372
|
+
# @return [String, nil]
|
|
373
|
+
required :webhook_url, String, nil?: true
|
|
374
|
+
|
|
375
|
+
# @!attribute faq_items
|
|
376
|
+
#
|
|
377
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem>, nil]
|
|
378
|
+
optional :faq_items,
|
|
379
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem] }
|
|
380
|
+
|
|
381
|
+
# @!attribute pending_faq_count
|
|
382
|
+
#
|
|
383
|
+
# @return [Float, nil]
|
|
384
|
+
optional :pending_faq_count, Float
|
|
385
|
+
|
|
386
|
+
# @!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)
|
|
387
|
+
# Some parameter documentations has been truncated, see
|
|
388
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant} for more details.
|
|
389
|
+
#
|
|
390
|
+
# @param id [String]
|
|
391
|
+
#
|
|
392
|
+
# @param background_sound [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::BackgroundSound, nil] The background sound to play during the call. Useful to give the impression that
|
|
393
|
+
#
|
|
394
|
+
# @param calendly [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly, nil]
|
|
395
|
+
#
|
|
396
|
+
# @param call_retry_config [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig, nil] Configuration for call retry behavior including time windows, delays, and max it
|
|
397
|
+
#
|
|
398
|
+
# @param created_at [Object]
|
|
399
|
+
#
|
|
400
|
+
# @param end_of_call_sentence [String, nil]
|
|
401
|
+
#
|
|
402
|
+
# @param first_sentence [String, nil]
|
|
403
|
+
#
|
|
404
|
+
# @param first_sentence_delay_ms [Integer] Delay in milliseconds before speaking the first sentence. Default: 400.
|
|
405
|
+
#
|
|
406
|
+
# @param first_sentence_mode [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FirstSentenceMode]
|
|
407
|
+
#
|
|
408
|
+
# @param ivr_navigation_enabled [Boolean] Enable IVR navigation tools. When enabled, the assistant can send DTMF tones and
|
|
409
|
+
#
|
|
410
|
+
# @param llm_model [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1]
|
|
411
|
+
#
|
|
412
|
+
# @param max_call_duration_secs [Float] The maximum duration of the call in seconds. This is the maximum time the call w
|
|
413
|
+
#
|
|
414
|
+
# @param name [String]
|
|
415
|
+
#
|
|
416
|
+
# @param organization_id [String]
|
|
417
|
+
#
|
|
418
|
+
# @param prompt [String]
|
|
419
|
+
#
|
|
420
|
+
# @param structured_output_config [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig>, nil] The structured output config to use for the call. This is used to extract the da
|
|
421
|
+
#
|
|
422
|
+
# @param transfer_phone_number [String, nil] Phone number to transfer calls to when users request to speak to a human agent.
|
|
423
|
+
#
|
|
424
|
+
# @param updated_at [Object]
|
|
425
|
+
#
|
|
426
|
+
# @param voice [Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice, nil]
|
|
427
|
+
#
|
|
428
|
+
# @param voicemail_message [String, nil] If set, when voicemail is detected the agent will speak this message then hang u
|
|
429
|
+
#
|
|
430
|
+
# @param webhook_url [String, nil] The webhook URL to call when the call is completed.
|
|
431
|
+
#
|
|
432
|
+
# @param faq_items [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem>]
|
|
433
|
+
#
|
|
434
|
+
# @param pending_faq_count [Float]
|
|
435
|
+
|
|
436
|
+
# The background sound to play during the call. Useful to give the impression that
|
|
437
|
+
# your AI agent is in an office.
|
|
438
|
+
#
|
|
439
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#background_sound
|
|
440
|
+
module BackgroundSound
|
|
441
|
+
extend Revox::Internal::Type::Enum
|
|
442
|
+
|
|
443
|
+
AUDIO_OFFICE_OGG = :"audio/office.ogg"
|
|
444
|
+
|
|
445
|
+
# @!method self.values
|
|
446
|
+
# @return [Array<Symbol>]
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#calendly
|
|
450
|
+
class Calendly < Revox::Internal::Type::BaseModel
|
|
451
|
+
# @!attribute connection_id
|
|
452
|
+
# The connection ID representing the link between your Calendly account and Revox.
|
|
453
|
+
#
|
|
454
|
+
# @return [String]
|
|
455
|
+
required :connection_id, String
|
|
456
|
+
|
|
457
|
+
# @!attribute event_type_id
|
|
458
|
+
# The event type ID representing the event type to schedule. (eg:
|
|
459
|
+
# https://api.calendly.com/event_types/b2330295-2a91-4a1d-bb73-99e7707663d5)
|
|
460
|
+
#
|
|
461
|
+
# @return [String]
|
|
462
|
+
required :event_type_id, String
|
|
463
|
+
|
|
464
|
+
# @!method initialize(connection_id:, event_type_id:)
|
|
465
|
+
# Some parameter documentations has been truncated, see
|
|
466
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Calendly} for
|
|
467
|
+
# more details.
|
|
468
|
+
#
|
|
469
|
+
# @param connection_id [String] The connection ID representing the link between your Calendly account and Revox.
|
|
470
|
+
#
|
|
471
|
+
# @param event_type_id [String] The event type ID representing the event type to schedule. (eg: https://api.cale
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#call_retry_config
|
|
475
|
+
class CallRetryConfig < Revox::Internal::Type::BaseModel
|
|
476
|
+
# @!attribute calling_windows
|
|
477
|
+
#
|
|
478
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
479
|
+
required :calling_windows,
|
|
480
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow] }
|
|
481
|
+
|
|
482
|
+
# @!attribute max_retry_attempts
|
|
483
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
484
|
+
#
|
|
485
|
+
# @return [Integer]
|
|
486
|
+
required :max_retry_attempts, Integer
|
|
487
|
+
|
|
488
|
+
# @!attribute timezone
|
|
489
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
490
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
491
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
492
|
+
#
|
|
493
|
+
# @return [String, nil]
|
|
494
|
+
optional :timezone, String, nil?: true
|
|
495
|
+
|
|
496
|
+
# @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
|
|
497
|
+
# Some parameter documentations has been truncated, see
|
|
498
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig}
|
|
499
|
+
# for more details.
|
|
500
|
+
#
|
|
501
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
502
|
+
# iterations. If not provided, defaults will be used.
|
|
503
|
+
#
|
|
504
|
+
# @param calling_windows [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow>]
|
|
505
|
+
#
|
|
506
|
+
# @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
|
|
507
|
+
#
|
|
508
|
+
# @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
|
|
509
|
+
|
|
510
|
+
class CallingWindow < Revox::Internal::Type::BaseModel
|
|
511
|
+
# @!attribute calling_window_end_time
|
|
512
|
+
# End time for the calling window in the recipient's timezone (or
|
|
513
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
514
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
515
|
+
#
|
|
516
|
+
# @return [String]
|
|
517
|
+
required :calling_window_end_time, String
|
|
518
|
+
|
|
519
|
+
# @!attribute calling_window_start_time
|
|
520
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
521
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
522
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
523
|
+
#
|
|
524
|
+
# @return [String]
|
|
525
|
+
required :calling_window_start_time, String
|
|
526
|
+
|
|
527
|
+
# @!attribute retry_delay_seconds
|
|
528
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
529
|
+
#
|
|
530
|
+
# @return [Integer]
|
|
531
|
+
required :retry_delay_seconds, Integer
|
|
532
|
+
|
|
533
|
+
# @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
|
|
534
|
+
# Some parameter documentations has been truncated, see
|
|
535
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::CallRetryConfig::CallingWindow}
|
|
536
|
+
# for more details.
|
|
537
|
+
#
|
|
538
|
+
# @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
|
|
539
|
+
#
|
|
540
|
+
# @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
|
|
541
|
+
#
|
|
542
|
+
# @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
543
|
+
end
|
|
544
|
+
end
|
|
545
|
+
|
|
546
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#first_sentence_mode
|
|
547
|
+
module FirstSentenceMode
|
|
548
|
+
extend Revox::Internal::Type::Enum
|
|
549
|
+
|
|
550
|
+
GENERATED = :generated
|
|
551
|
+
STATIC = :static
|
|
552
|
+
NONE = :none
|
|
553
|
+
|
|
554
|
+
# @!method self.values
|
|
555
|
+
# @return [Array<Symbol>]
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#llm_model
|
|
559
|
+
module LlmModel
|
|
560
|
+
extend Revox::Internal::Type::Union
|
|
561
|
+
|
|
562
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0 }
|
|
563
|
+
|
|
564
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1 }
|
|
565
|
+
|
|
566
|
+
class UnionMember0 < Revox::Internal::Type::BaseModel
|
|
567
|
+
# @!attribute name
|
|
568
|
+
#
|
|
569
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
570
|
+
required :name,
|
|
571
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name }
|
|
572
|
+
|
|
573
|
+
# @!attribute type
|
|
574
|
+
#
|
|
575
|
+
# @return [Symbol, :"dedicated-instance"]
|
|
576
|
+
required :type, const: :"dedicated-instance"
|
|
577
|
+
|
|
578
|
+
# @!method initialize(name:, type: :"dedicated-instance")
|
|
579
|
+
# @param name [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0::Name]
|
|
580
|
+
# @param type [Symbol, :"dedicated-instance"]
|
|
581
|
+
|
|
582
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0#name
|
|
583
|
+
module Name
|
|
584
|
+
extend Revox::Internal::Type::Enum
|
|
585
|
+
|
|
586
|
+
GPT_4_1 = :"gpt-4.1"
|
|
587
|
+
MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
|
|
588
|
+
|
|
589
|
+
# @!method self.values
|
|
590
|
+
# @return [Array<Symbol>]
|
|
591
|
+
end
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
class UnionMember1 < Revox::Internal::Type::BaseModel
|
|
595
|
+
# @!attribute openrouter_model_id
|
|
596
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
597
|
+
#
|
|
598
|
+
# @return [String]
|
|
599
|
+
required :openrouter_model_id, String
|
|
600
|
+
|
|
601
|
+
# @!attribute openrouter_provider
|
|
602
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
603
|
+
#
|
|
604
|
+
# @return [String]
|
|
605
|
+
required :openrouter_provider, String
|
|
606
|
+
|
|
607
|
+
# @!attribute type
|
|
608
|
+
# Use a model from OpenRouter.
|
|
609
|
+
#
|
|
610
|
+
# @return [Symbol, :openrouter]
|
|
611
|
+
required :type, const: :openrouter
|
|
612
|
+
|
|
613
|
+
# @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
|
|
614
|
+
# @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
615
|
+
#
|
|
616
|
+
# @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
617
|
+
#
|
|
618
|
+
# @param type [Symbol, :openrouter] Use a model from OpenRouter.
|
|
619
|
+
end
|
|
620
|
+
|
|
621
|
+
# @!method self.variants
|
|
622
|
+
# @return [Array(Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::LlmModel::UnionMember1)]
|
|
623
|
+
end
|
|
624
|
+
|
|
625
|
+
class StructuredOutputConfig < Revox::Internal::Type::BaseModel
|
|
626
|
+
# @!attribute name
|
|
627
|
+
#
|
|
628
|
+
# @return [String]
|
|
629
|
+
required :name, String
|
|
630
|
+
|
|
631
|
+
# @!attribute required
|
|
632
|
+
#
|
|
633
|
+
# @return [Boolean]
|
|
634
|
+
required :required, Revox::Internal::Type::Boolean
|
|
635
|
+
|
|
636
|
+
# @!attribute type
|
|
637
|
+
#
|
|
638
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type]
|
|
639
|
+
required :type,
|
|
640
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type }
|
|
641
|
+
|
|
642
|
+
# @!attribute description
|
|
643
|
+
#
|
|
644
|
+
# @return [String, nil]
|
|
645
|
+
optional :description, String
|
|
646
|
+
|
|
647
|
+
# @!attribute enum_options
|
|
648
|
+
#
|
|
649
|
+
# @return [Array<String>, nil]
|
|
650
|
+
optional :enum_options, Revox::Internal::Type::ArrayOf[String]
|
|
651
|
+
|
|
652
|
+
# @!method initialize(name:, required:, type:, description: nil, enum_options: nil)
|
|
653
|
+
# @param name [String]
|
|
654
|
+
# @param required [Boolean]
|
|
655
|
+
# @param type [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig::Type]
|
|
656
|
+
# @param description [String]
|
|
657
|
+
# @param enum_options [Array<String>]
|
|
658
|
+
|
|
659
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::StructuredOutputConfig#type
|
|
660
|
+
module Type
|
|
661
|
+
extend Revox::Internal::Type::Enum
|
|
662
|
+
|
|
663
|
+
STRING = :string
|
|
664
|
+
NUMBER = :number
|
|
665
|
+
BOOLEAN = :boolean
|
|
666
|
+
ENUM = :enum
|
|
667
|
+
DATE = :date
|
|
668
|
+
DATETIME = :datetime
|
|
669
|
+
|
|
670
|
+
# @!method self.values
|
|
671
|
+
# @return [Array<Symbol>]
|
|
672
|
+
end
|
|
673
|
+
end
|
|
674
|
+
|
|
675
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant#voice
|
|
676
|
+
class Voice < Revox::Internal::Type::BaseModel
|
|
677
|
+
# @!attribute id
|
|
678
|
+
# The ID of the voice.
|
|
679
|
+
#
|
|
680
|
+
# @return [String]
|
|
681
|
+
required :id, String
|
|
682
|
+
|
|
683
|
+
# @!attribute provider
|
|
684
|
+
# The provider of the voice.
|
|
685
|
+
#
|
|
686
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider]
|
|
687
|
+
required :provider,
|
|
688
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider }
|
|
689
|
+
|
|
690
|
+
# @!attribute speed
|
|
691
|
+
# The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
692
|
+
# 0.7–1.2. Default is 1.0.
|
|
693
|
+
#
|
|
694
|
+
# @return [Float, nil]
|
|
695
|
+
optional :speed, Float
|
|
696
|
+
|
|
697
|
+
# @!method initialize(id:, provider:, speed: nil)
|
|
698
|
+
# Some parameter documentations has been truncated, see
|
|
699
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice} for more
|
|
700
|
+
# details.
|
|
701
|
+
#
|
|
702
|
+
# @param id [String] The ID of the voice.
|
|
703
|
+
#
|
|
704
|
+
# @param provider [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice::Provider] The provider of the voice.
|
|
705
|
+
#
|
|
706
|
+
# @param speed [Float] The speed of the voice. Range depends on provider: Cartesia 0.6–1.5, ElevenLabs
|
|
707
|
+
|
|
708
|
+
# The provider of the voice.
|
|
709
|
+
#
|
|
710
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::Voice#provider
|
|
711
|
+
module Provider
|
|
712
|
+
extend Revox::Internal::Type::Enum
|
|
713
|
+
|
|
714
|
+
CARTESIA = :cartesia
|
|
715
|
+
ELEVENLABS = :elevenlabs
|
|
716
|
+
|
|
717
|
+
# @!method self.values
|
|
718
|
+
# @return [Array<Symbol>]
|
|
719
|
+
end
|
|
720
|
+
end
|
|
721
|
+
|
|
722
|
+
class FaqItem < Revox::Internal::Type::BaseModel
|
|
723
|
+
# @!attribute answer
|
|
724
|
+
#
|
|
725
|
+
# @return [String]
|
|
726
|
+
required :answer, String
|
|
727
|
+
|
|
728
|
+
# @!attribute question
|
|
729
|
+
#
|
|
730
|
+
# @return [String]
|
|
731
|
+
required :question, String
|
|
732
|
+
|
|
733
|
+
# @!attribute id
|
|
734
|
+
#
|
|
735
|
+
# @return [String, nil]
|
|
736
|
+
optional :id, String
|
|
737
|
+
|
|
738
|
+
# @!attribute needs_human_answer
|
|
739
|
+
#
|
|
740
|
+
# @return [Boolean, nil]
|
|
741
|
+
optional :needs_human_answer, Revox::Internal::Type::Boolean
|
|
742
|
+
|
|
743
|
+
# @!attribute source
|
|
744
|
+
#
|
|
745
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source, nil]
|
|
746
|
+
optional :source,
|
|
747
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source }
|
|
748
|
+
|
|
749
|
+
# @!method initialize(answer:, question:, id: nil, needs_human_answer: nil, source: nil)
|
|
750
|
+
# @param answer [String]
|
|
751
|
+
# @param question [String]
|
|
752
|
+
# @param id [String]
|
|
753
|
+
# @param needs_human_answer [Boolean]
|
|
754
|
+
# @param source [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem::Source]
|
|
755
|
+
|
|
756
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::Assistant::FaqItem#source
|
|
757
|
+
module Source
|
|
758
|
+
extend Revox::Internal::Type::Enum
|
|
759
|
+
|
|
760
|
+
HUMAN = :human
|
|
761
|
+
AI = :ai
|
|
762
|
+
|
|
763
|
+
# @!method self.values
|
|
764
|
+
# @return [Array<Symbol>]
|
|
765
|
+
end
|
|
766
|
+
end
|
|
767
|
+
end
|
|
768
|
+
|
|
769
|
+
class CallAttempt < Revox::Internal::Type::BaseModel
|
|
770
|
+
# @!attribute id
|
|
771
|
+
# The ID of the call attempt.
|
|
772
|
+
#
|
|
773
|
+
# @return [String]
|
|
774
|
+
required :id, String
|
|
775
|
+
|
|
776
|
+
# @!attribute answered_at
|
|
777
|
+
# The time the call was answered.
|
|
778
|
+
#
|
|
779
|
+
# @return [Object]
|
|
780
|
+
required :answered_at, Revox::Internal::Type::Unknown
|
|
781
|
+
|
|
782
|
+
# @!attribute dial_error
|
|
783
|
+
# The SIP error that occurred.
|
|
784
|
+
#
|
|
785
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError, nil]
|
|
786
|
+
required :dial_error,
|
|
787
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError },
|
|
788
|
+
nil?: true
|
|
789
|
+
|
|
790
|
+
# @!attribute ended_at
|
|
791
|
+
# The time the call ended.
|
|
792
|
+
#
|
|
793
|
+
# @return [Object]
|
|
794
|
+
required :ended_at, Revox::Internal::Type::Unknown
|
|
795
|
+
|
|
796
|
+
# @!attribute phone_number
|
|
797
|
+
# The phone number that was called. Formatted in E.164 format. Example:
|
|
798
|
+
# +1234567890
|
|
799
|
+
#
|
|
800
|
+
# @return [String]
|
|
801
|
+
required :phone_number, String
|
|
802
|
+
|
|
803
|
+
# @!attribute recording_url
|
|
804
|
+
# The URL of the audio recording of the call.
|
|
805
|
+
#
|
|
806
|
+
# @return [String, nil]
|
|
807
|
+
required :recording_url, String, nil?: true
|
|
808
|
+
|
|
809
|
+
# @!attribute result
|
|
810
|
+
#
|
|
811
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result, nil]
|
|
812
|
+
required :result,
|
|
813
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result },
|
|
814
|
+
nil?: true
|
|
815
|
+
|
|
816
|
+
# @!attribute started_at
|
|
817
|
+
# The time the call started.
|
|
818
|
+
#
|
|
819
|
+
# @return [Object]
|
|
820
|
+
required :started_at, Revox::Internal::Type::Unknown
|
|
821
|
+
|
|
822
|
+
# @!attribute status
|
|
823
|
+
# The status of the call attempt.
|
|
824
|
+
#
|
|
825
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status]
|
|
826
|
+
required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status }
|
|
827
|
+
|
|
828
|
+
# @!attribute end_reason
|
|
829
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
830
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
831
|
+
#
|
|
832
|
+
# @return [String, nil]
|
|
833
|
+
optional :end_reason, String, nil?: true
|
|
834
|
+
|
|
835
|
+
# @!attribute ended_by
|
|
836
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
837
|
+
# 'system' (e.g. max duration limit).
|
|
838
|
+
#
|
|
839
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy, nil]
|
|
840
|
+
optional :ended_by,
|
|
841
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy },
|
|
842
|
+
nil?: true
|
|
843
|
+
|
|
844
|
+
# @!attribute structured_output
|
|
845
|
+
# The data extracted from the call, using the structured output config from the
|
|
846
|
+
# parent call object.
|
|
847
|
+
#
|
|
848
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
849
|
+
optional :structured_output,
|
|
850
|
+
Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown],
|
|
851
|
+
nil?: true
|
|
852
|
+
|
|
853
|
+
# @!attribute transcript
|
|
854
|
+
# The transcript of the call.
|
|
855
|
+
#
|
|
856
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript>, nil]
|
|
857
|
+
optional :transcript,
|
|
858
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript] },
|
|
859
|
+
nil?: true
|
|
860
|
+
|
|
861
|
+
# @!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)
|
|
862
|
+
# Some parameter documentations has been truncated, see
|
|
863
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt} for more
|
|
864
|
+
# details.
|
|
865
|
+
#
|
|
866
|
+
# This represent a single call attempt. A call attempt is a single call made to
|
|
867
|
+
# the phone number.
|
|
868
|
+
#
|
|
869
|
+
# @param id [String] The ID of the call attempt.
|
|
870
|
+
#
|
|
871
|
+
# @param answered_at [Object] The time the call was answered.
|
|
872
|
+
#
|
|
873
|
+
# @param dial_error [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::DialError, nil] The SIP error that occurred.
|
|
874
|
+
#
|
|
875
|
+
# @param ended_at [Object] The time the call ended.
|
|
876
|
+
#
|
|
877
|
+
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
878
|
+
#
|
|
879
|
+
# @param recording_url [String, nil] The URL of the audio recording of the call.
|
|
880
|
+
#
|
|
881
|
+
# @param result [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Result, nil]
|
|
882
|
+
#
|
|
883
|
+
# @param started_at [Object] The time the call started.
|
|
884
|
+
#
|
|
885
|
+
# @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Status] The status of the call attempt.
|
|
886
|
+
#
|
|
887
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
888
|
+
#
|
|
889
|
+
# @param ended_by [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
890
|
+
#
|
|
891
|
+
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
892
|
+
#
|
|
893
|
+
# @param transcript [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript>, nil] The transcript of the call.
|
|
894
|
+
|
|
895
|
+
# The SIP error that occurred.
|
|
896
|
+
#
|
|
897
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#dial_error
|
|
898
|
+
module DialError
|
|
899
|
+
extend Revox::Internal::Type::Enum
|
|
900
|
+
|
|
901
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
902
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
903
|
+
BUSY = :busy
|
|
904
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
905
|
+
NO_ANSWER = :no_answer
|
|
906
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
907
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
908
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
909
|
+
|
|
910
|
+
# @!method self.values
|
|
911
|
+
# @return [Array<Symbol>]
|
|
912
|
+
end
|
|
913
|
+
|
|
914
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#result
|
|
915
|
+
module Result
|
|
916
|
+
extend Revox::Internal::Type::Enum
|
|
917
|
+
|
|
918
|
+
IVR = :IVR
|
|
919
|
+
VOICEMAIL = :voicemail
|
|
920
|
+
HUMAN = :human
|
|
921
|
+
UNKNOWN = :unknown
|
|
922
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
923
|
+
|
|
924
|
+
# @!method self.values
|
|
925
|
+
# @return [Array<Symbol>]
|
|
926
|
+
end
|
|
927
|
+
|
|
928
|
+
# The status of the call attempt.
|
|
929
|
+
#
|
|
930
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#status
|
|
931
|
+
module Status
|
|
932
|
+
extend Revox::Internal::Type::Enum
|
|
933
|
+
|
|
934
|
+
QUEUED = :queued
|
|
935
|
+
RINGING = :ringing
|
|
936
|
+
ONGOING = :ongoing
|
|
937
|
+
COMPLETED = :completed
|
|
938
|
+
ERROR = :error
|
|
939
|
+
|
|
940
|
+
# @!method self.values
|
|
941
|
+
# @return [Array<Symbol>]
|
|
942
|
+
end
|
|
943
|
+
|
|
944
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
945
|
+
# 'system' (e.g. max duration limit).
|
|
946
|
+
#
|
|
947
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt#ended_by
|
|
948
|
+
module EndedBy
|
|
949
|
+
extend Revox::Internal::Type::Enum
|
|
950
|
+
|
|
951
|
+
AGENT = :agent
|
|
952
|
+
USER = :user
|
|
953
|
+
SYSTEM = :system
|
|
954
|
+
|
|
955
|
+
# @!method self.values
|
|
956
|
+
# @return [Array<Symbol>]
|
|
957
|
+
end
|
|
958
|
+
|
|
959
|
+
class Transcript < Revox::Internal::Type::BaseModel
|
|
960
|
+
# @!attribute content
|
|
961
|
+
#
|
|
962
|
+
# @return [String]
|
|
963
|
+
required :content, String
|
|
964
|
+
|
|
965
|
+
# @!attribute role
|
|
966
|
+
#
|
|
967
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role]
|
|
968
|
+
required :role,
|
|
969
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role }
|
|
970
|
+
|
|
971
|
+
# @!attribute tool_arguments
|
|
972
|
+
#
|
|
973
|
+
# @return [Hash{Symbol=>Object}, String, nil]
|
|
974
|
+
optional :tool_arguments,
|
|
975
|
+
union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::ToolArguments }
|
|
976
|
+
|
|
977
|
+
# @!attribute tool_is_error
|
|
978
|
+
#
|
|
979
|
+
# @return [Boolean, nil]
|
|
980
|
+
optional :tool_is_error, Revox::Internal::Type::Boolean
|
|
981
|
+
|
|
982
|
+
# @!attribute tool_name
|
|
983
|
+
#
|
|
984
|
+
# @return [String, nil]
|
|
985
|
+
optional :tool_name, String
|
|
986
|
+
|
|
987
|
+
# @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
|
|
988
|
+
# @param content [String]
|
|
989
|
+
# @param role [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::Role]
|
|
990
|
+
# @param tool_arguments [Hash{Symbol=>Object}, String]
|
|
991
|
+
# @param tool_is_error [Boolean]
|
|
992
|
+
# @param tool_name [String]
|
|
993
|
+
|
|
994
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript#role
|
|
995
|
+
module Role
|
|
996
|
+
extend Revox::Internal::Type::Enum
|
|
997
|
+
|
|
998
|
+
USER = :user
|
|
999
|
+
ASSISTANT = :assistant
|
|
1000
|
+
TOOL = :tool
|
|
1001
|
+
|
|
1002
|
+
# @!method self.values
|
|
1003
|
+
# @return [Array<Symbol>]
|
|
1004
|
+
end
|
|
1005
|
+
|
|
1006
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript#tool_arguments
|
|
1007
|
+
module ToolArguments
|
|
1008
|
+
extend Revox::Internal::Type::Union
|
|
1009
|
+
|
|
1010
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::CallAttempt::Transcript::ToolArguments::UnionMember0Map }
|
|
1011
|
+
|
|
1012
|
+
variant String
|
|
1013
|
+
|
|
1014
|
+
# @!method self.variants
|
|
1015
|
+
# @return [Array(Hash{Symbol=>Object}, String)]
|
|
1016
|
+
|
|
1017
|
+
# @type [Revox::Internal::Type::Converter]
|
|
1018
|
+
UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
|
|
1019
|
+
end
|
|
1020
|
+
end
|
|
1021
|
+
end
|
|
1022
|
+
|
|
1023
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#call_retry_config
|
|
1024
|
+
class CallRetryConfig < Revox::Internal::Type::BaseModel
|
|
1025
|
+
# @!attribute calling_windows
|
|
1026
|
+
#
|
|
1027
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow>]
|
|
1028
|
+
required :calling_windows,
|
|
1029
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow] }
|
|
1030
|
+
|
|
1031
|
+
# @!attribute max_retry_attempts
|
|
1032
|
+
# Maximum number of call retry attempts. Default: 3.
|
|
1033
|
+
#
|
|
1034
|
+
# @return [Integer]
|
|
1035
|
+
required :max_retry_attempts, Integer
|
|
1036
|
+
|
|
1037
|
+
# @!attribute timezone
|
|
1038
|
+
# Optional IANA timezone identifier to override the automatic timezone detection
|
|
1039
|
+
# from phone number. If not provided, timezone is determined from the recipient's
|
|
1040
|
+
# phone number country code. Examples: 'America/New_York', 'Europe/Paris'.
|
|
1041
|
+
#
|
|
1042
|
+
# @return [String, nil]
|
|
1043
|
+
optional :timezone, String, nil?: true
|
|
1044
|
+
|
|
1045
|
+
# @!method initialize(calling_windows:, max_retry_attempts:, timezone: nil)
|
|
1046
|
+
# Some parameter documentations has been truncated, see
|
|
1047
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig} for more
|
|
1048
|
+
# details.
|
|
1049
|
+
#
|
|
1050
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
1051
|
+
# iterations. If not provided, defaults will be used.
|
|
1052
|
+
#
|
|
1053
|
+
# @param calling_windows [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow>]
|
|
1054
|
+
#
|
|
1055
|
+
# @param max_retry_attempts [Integer] Maximum number of call retry attempts. Default: 3.
|
|
1056
|
+
#
|
|
1057
|
+
# @param timezone [String, nil] Optional IANA timezone identifier to override the automatic timezone detection f
|
|
1058
|
+
|
|
1059
|
+
class CallingWindow < Revox::Internal::Type::BaseModel
|
|
1060
|
+
# @!attribute calling_window_end_time
|
|
1061
|
+
# End time for the calling window in the recipient's timezone (or
|
|
1062
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
1063
|
+
# Examples: '17:00', '6pm'. Default: '18:00'.
|
|
1064
|
+
#
|
|
1065
|
+
# @return [String]
|
|
1066
|
+
required :calling_window_end_time, String
|
|
1067
|
+
|
|
1068
|
+
# @!attribute calling_window_start_time
|
|
1069
|
+
# Start time for the calling window in the recipient's timezone (or
|
|
1070
|
+
# timezone_override if provided). Format: 'HH:mm' (24-hour) or 'H:mma' (12-hour).
|
|
1071
|
+
# Examples: '09:00', '10am'. Default: '10:00'.
|
|
1072
|
+
#
|
|
1073
|
+
# @return [String]
|
|
1074
|
+
required :calling_window_start_time, String
|
|
1075
|
+
|
|
1076
|
+
# @!attribute retry_delay_seconds
|
|
1077
|
+
# Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
1078
|
+
#
|
|
1079
|
+
# @return [Integer]
|
|
1080
|
+
required :retry_delay_seconds, Integer
|
|
1081
|
+
|
|
1082
|
+
# @!method initialize(calling_window_end_time:, calling_window_start_time:, retry_delay_seconds:)
|
|
1083
|
+
# Some parameter documentations has been truncated, see
|
|
1084
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::CallRetryConfig::CallingWindow}
|
|
1085
|
+
# for more details.
|
|
1086
|
+
#
|
|
1087
|
+
# @param calling_window_end_time [String] End time for the calling window in the recipient's timezone (or timezone_overrid
|
|
1088
|
+
#
|
|
1089
|
+
# @param calling_window_start_time [String] Start time for the calling window in the recipient's timezone (or timezone_overr
|
|
1090
|
+
#
|
|
1091
|
+
# @param retry_delay_seconds [Integer] Delay between retry attempts in seconds. Default: 7200 (2 hours).
|
|
1092
|
+
end
|
|
1093
|
+
end
|
|
1094
|
+
|
|
1095
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#campaign
|
|
1096
|
+
class Campaign < Revox::Internal::Type::BaseModel
|
|
1097
|
+
# @!attribute id
|
|
1098
|
+
#
|
|
1099
|
+
# @return [String]
|
|
1100
|
+
required :id, String
|
|
1101
|
+
|
|
1102
|
+
# @!attribute name
|
|
1103
|
+
#
|
|
1104
|
+
# @return [String]
|
|
1105
|
+
required :name, String
|
|
1106
|
+
|
|
1107
|
+
# @!method initialize(id:, name:)
|
|
1108
|
+
# @param id [String]
|
|
1109
|
+
# @param name [String]
|
|
1110
|
+
end
|
|
1111
|
+
|
|
1112
|
+
# Whether the call is inbound or outbound.
|
|
1113
|
+
#
|
|
1114
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#direction
|
|
1115
|
+
module Direction
|
|
1116
|
+
extend Revox::Internal::Type::Enum
|
|
1117
|
+
|
|
1118
|
+
INBOUND = :inbound
|
|
1119
|
+
OUTBOUND = :outbound
|
|
1120
|
+
|
|
1121
|
+
# @!method self.values
|
|
1122
|
+
# @return [Array<Symbol>]
|
|
1123
|
+
end
|
|
1124
|
+
|
|
1125
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#last_call_attempt
|
|
1126
|
+
class LastCallAttempt < Revox::Internal::Type::BaseModel
|
|
1127
|
+
# @!attribute id
|
|
1128
|
+
# The ID of the call attempt.
|
|
1129
|
+
#
|
|
1130
|
+
# @return [String]
|
|
1131
|
+
required :id, String
|
|
1132
|
+
|
|
1133
|
+
# @!attribute answered_at
|
|
1134
|
+
# The time the call was answered.
|
|
1135
|
+
#
|
|
1136
|
+
# @return [Object]
|
|
1137
|
+
required :answered_at, Revox::Internal::Type::Unknown
|
|
1138
|
+
|
|
1139
|
+
# @!attribute dial_error
|
|
1140
|
+
# The SIP error that occurred.
|
|
1141
|
+
#
|
|
1142
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError, nil]
|
|
1143
|
+
required :dial_error,
|
|
1144
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError },
|
|
1145
|
+
nil?: true
|
|
1146
|
+
|
|
1147
|
+
# @!attribute ended_at
|
|
1148
|
+
# The time the call ended.
|
|
1149
|
+
#
|
|
1150
|
+
# @return [Object]
|
|
1151
|
+
required :ended_at, Revox::Internal::Type::Unknown
|
|
1152
|
+
|
|
1153
|
+
# @!attribute phone_number
|
|
1154
|
+
# The phone number that was called. Formatted in E.164 format. Example:
|
|
1155
|
+
# +1234567890
|
|
1156
|
+
#
|
|
1157
|
+
# @return [String]
|
|
1158
|
+
required :phone_number, String
|
|
1159
|
+
|
|
1160
|
+
# @!attribute recording_url
|
|
1161
|
+
# The URL of the audio recording of the call.
|
|
1162
|
+
#
|
|
1163
|
+
# @return [String, nil]
|
|
1164
|
+
required :recording_url, String, nil?: true
|
|
1165
|
+
|
|
1166
|
+
# @!attribute result
|
|
1167
|
+
#
|
|
1168
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result, nil]
|
|
1169
|
+
required :result,
|
|
1170
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result },
|
|
1171
|
+
nil?: true
|
|
1172
|
+
|
|
1173
|
+
# @!attribute started_at
|
|
1174
|
+
# The time the call started.
|
|
1175
|
+
#
|
|
1176
|
+
# @return [Object]
|
|
1177
|
+
required :started_at, Revox::Internal::Type::Unknown
|
|
1178
|
+
|
|
1179
|
+
# @!attribute status
|
|
1180
|
+
# The status of the call attempt.
|
|
1181
|
+
#
|
|
1182
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status]
|
|
1183
|
+
required :status, enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status }
|
|
1184
|
+
|
|
1185
|
+
# @!attribute end_reason
|
|
1186
|
+
# Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call',
|
|
1187
|
+
# 'voicemail', 'transfer', 'ivr_no_navigate'.
|
|
1188
|
+
#
|
|
1189
|
+
# @return [String, nil]
|
|
1190
|
+
optional :end_reason, String, nil?: true
|
|
1191
|
+
|
|
1192
|
+
# @!attribute ended_by
|
|
1193
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1194
|
+
# 'system' (e.g. max duration limit).
|
|
1195
|
+
#
|
|
1196
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy, nil]
|
|
1197
|
+
optional :ended_by,
|
|
1198
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy },
|
|
1199
|
+
nil?: true
|
|
1200
|
+
|
|
1201
|
+
# @!attribute structured_output
|
|
1202
|
+
# The data extracted from the call, using the structured output config from the
|
|
1203
|
+
# parent call object.
|
|
1204
|
+
#
|
|
1205
|
+
# @return [Hash{Symbol=>Object}, nil]
|
|
1206
|
+
optional :structured_output,
|
|
1207
|
+
Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown],
|
|
1208
|
+
nil?: true
|
|
1209
|
+
|
|
1210
|
+
# @!attribute transcript
|
|
1211
|
+
# The transcript of the call.
|
|
1212
|
+
#
|
|
1213
|
+
# @return [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript>, nil]
|
|
1214
|
+
optional :transcript,
|
|
1215
|
+
-> { Revox::Internal::Type::ArrayOf[Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript] },
|
|
1216
|
+
nil?: true
|
|
1217
|
+
|
|
1218
|
+
# @!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)
|
|
1219
|
+
# Some parameter documentations has been truncated, see
|
|
1220
|
+
# {Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt} for more
|
|
1221
|
+
# details.
|
|
1222
|
+
#
|
|
1223
|
+
# This represent a single call attempt. A call attempt is a single call made to
|
|
1224
|
+
# the phone number.
|
|
1225
|
+
#
|
|
1226
|
+
# @param id [String] The ID of the call attempt.
|
|
1227
|
+
#
|
|
1228
|
+
# @param answered_at [Object] The time the call was answered.
|
|
1229
|
+
#
|
|
1230
|
+
# @param dial_error [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::DialError, nil] The SIP error that occurred.
|
|
1231
|
+
#
|
|
1232
|
+
# @param ended_at [Object] The time the call ended.
|
|
1233
|
+
#
|
|
1234
|
+
# @param phone_number [String] The phone number that was called. Formatted in E.164 format. Example: +123456789
|
|
1235
|
+
#
|
|
1236
|
+
# @param recording_url [String, nil] The URL of the audio recording of the call.
|
|
1237
|
+
#
|
|
1238
|
+
# @param result [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Result, nil]
|
|
1239
|
+
#
|
|
1240
|
+
# @param started_at [Object] The time the call started.
|
|
1241
|
+
#
|
|
1242
|
+
# @param status [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Status] The status of the call attempt.
|
|
1243
|
+
#
|
|
1244
|
+
# @param end_reason [String, nil] Reason for ending the call when ended_by is 'agent'. E.g. 'tool_end_call', 'voic
|
|
1245
|
+
#
|
|
1246
|
+
# @param ended_by [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::EndedBy, nil] Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or 'syst
|
|
1247
|
+
#
|
|
1248
|
+
# @param structured_output [Hash{Symbol=>Object}, nil] The data extracted from the call, using the structured output config from the pa
|
|
1249
|
+
#
|
|
1250
|
+
# @param transcript [Array<Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript>, nil] The transcript of the call.
|
|
1251
|
+
|
|
1252
|
+
# The SIP error that occurred.
|
|
1253
|
+
#
|
|
1254
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#dial_error
|
|
1255
|
+
module DialError
|
|
1256
|
+
extend Revox::Internal::Type::Enum
|
|
1257
|
+
|
|
1258
|
+
NUMBER_NON_ATTRIBUTED = :number_non_attributed
|
|
1259
|
+
TOO_MANY_CALLS = :too_many_calls
|
|
1260
|
+
BUSY = :busy
|
|
1261
|
+
TEMPORARILY_UNAVAILABLE = :temporarily_unavailable
|
|
1262
|
+
NO_ANSWER = :no_answer
|
|
1263
|
+
NO_INTERNATIONAL_PERMISSION = :no_international_permission
|
|
1264
|
+
PRECONDITION_FAILED = :precondition_failed
|
|
1265
|
+
NON_CLASSIFIED_ERROR = :non_classified_error
|
|
1266
|
+
|
|
1267
|
+
# @!method self.values
|
|
1268
|
+
# @return [Array<Symbol>]
|
|
1269
|
+
end
|
|
1270
|
+
|
|
1271
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#result
|
|
1272
|
+
module Result
|
|
1273
|
+
extend Revox::Internal::Type::Enum
|
|
1274
|
+
|
|
1275
|
+
IVR = :IVR
|
|
1276
|
+
VOICEMAIL = :voicemail
|
|
1277
|
+
HUMAN = :human
|
|
1278
|
+
UNKNOWN = :unknown
|
|
1279
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
1280
|
+
|
|
1281
|
+
# @!method self.values
|
|
1282
|
+
# @return [Array<Symbol>]
|
|
1283
|
+
end
|
|
1284
|
+
|
|
1285
|
+
# The status of the call attempt.
|
|
1286
|
+
#
|
|
1287
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#status
|
|
1288
|
+
module Status
|
|
1289
|
+
extend Revox::Internal::Type::Enum
|
|
1290
|
+
|
|
1291
|
+
QUEUED = :queued
|
|
1292
|
+
RINGING = :ringing
|
|
1293
|
+
ONGOING = :ongoing
|
|
1294
|
+
COMPLETED = :completed
|
|
1295
|
+
ERROR = :error
|
|
1296
|
+
|
|
1297
|
+
# @!method self.values
|
|
1298
|
+
# @return [Array<Symbol>]
|
|
1299
|
+
end
|
|
1300
|
+
|
|
1301
|
+
# Who ended the call: 'agent' (AI agent), 'user' (caller/callee hung up), or
|
|
1302
|
+
# 'system' (e.g. max duration limit).
|
|
1303
|
+
#
|
|
1304
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt#ended_by
|
|
1305
|
+
module EndedBy
|
|
1306
|
+
extend Revox::Internal::Type::Enum
|
|
1307
|
+
|
|
1308
|
+
AGENT = :agent
|
|
1309
|
+
USER = :user
|
|
1310
|
+
SYSTEM = :system
|
|
1311
|
+
|
|
1312
|
+
# @!method self.values
|
|
1313
|
+
# @return [Array<Symbol>]
|
|
1314
|
+
end
|
|
1315
|
+
|
|
1316
|
+
class Transcript < Revox::Internal::Type::BaseModel
|
|
1317
|
+
# @!attribute content
|
|
1318
|
+
#
|
|
1319
|
+
# @return [String]
|
|
1320
|
+
required :content, String
|
|
1321
|
+
|
|
1322
|
+
# @!attribute role
|
|
1323
|
+
#
|
|
1324
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role]
|
|
1325
|
+
required :role,
|
|
1326
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role }
|
|
1327
|
+
|
|
1328
|
+
# @!attribute tool_arguments
|
|
1329
|
+
#
|
|
1330
|
+
# @return [Hash{Symbol=>Object}, String, nil]
|
|
1331
|
+
optional :tool_arguments,
|
|
1332
|
+
union: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::ToolArguments }
|
|
1333
|
+
|
|
1334
|
+
# @!attribute tool_is_error
|
|
1335
|
+
#
|
|
1336
|
+
# @return [Boolean, nil]
|
|
1337
|
+
optional :tool_is_error, Revox::Internal::Type::Boolean
|
|
1338
|
+
|
|
1339
|
+
# @!attribute tool_name
|
|
1340
|
+
#
|
|
1341
|
+
# @return [String, nil]
|
|
1342
|
+
optional :tool_name, String
|
|
1343
|
+
|
|
1344
|
+
# @!method initialize(content:, role:, tool_arguments: nil, tool_is_error: nil, tool_name: nil)
|
|
1345
|
+
# @param content [String]
|
|
1346
|
+
# @param role [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::Role]
|
|
1347
|
+
# @param tool_arguments [Hash{Symbol=>Object}, String]
|
|
1348
|
+
# @param tool_is_error [Boolean]
|
|
1349
|
+
# @param tool_name [String]
|
|
1350
|
+
|
|
1351
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript#role
|
|
1352
|
+
module Role
|
|
1353
|
+
extend Revox::Internal::Type::Enum
|
|
1354
|
+
|
|
1355
|
+
USER = :user
|
|
1356
|
+
ASSISTANT = :assistant
|
|
1357
|
+
TOOL = :tool
|
|
1358
|
+
|
|
1359
|
+
# @!method self.values
|
|
1360
|
+
# @return [Array<Symbol>]
|
|
1361
|
+
end
|
|
1362
|
+
|
|
1363
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript#tool_arguments
|
|
1364
|
+
module ToolArguments
|
|
1365
|
+
extend Revox::Internal::Type::Union
|
|
1366
|
+
|
|
1367
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LastCallAttempt::Transcript::ToolArguments::UnionMember0Map }
|
|
1368
|
+
|
|
1369
|
+
variant String
|
|
1370
|
+
|
|
1371
|
+
# @!method self.variants
|
|
1372
|
+
# @return [Array(Hash{Symbol=>Object}, String)]
|
|
1373
|
+
|
|
1374
|
+
# @type [Revox::Internal::Type::Converter]
|
|
1375
|
+
UnionMember0Map = Revox::Internal::Type::HashOf[Revox::Internal::Type::Unknown]
|
|
1376
|
+
end
|
|
1377
|
+
end
|
|
1378
|
+
end
|
|
1379
|
+
|
|
1380
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#llm_model
|
|
1381
|
+
module LlmModel
|
|
1382
|
+
extend Revox::Internal::Type::Union
|
|
1383
|
+
|
|
1384
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0 }
|
|
1385
|
+
|
|
1386
|
+
variant -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1 }
|
|
1387
|
+
|
|
1388
|
+
class UnionMember0 < Revox::Internal::Type::BaseModel
|
|
1389
|
+
# @!attribute name
|
|
1390
|
+
#
|
|
1391
|
+
# @return [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name]
|
|
1392
|
+
required :name,
|
|
1393
|
+
enum: -> { Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name }
|
|
1394
|
+
|
|
1395
|
+
# @!attribute type
|
|
1396
|
+
#
|
|
1397
|
+
# @return [Symbol, :"dedicated-instance"]
|
|
1398
|
+
required :type, const: :"dedicated-instance"
|
|
1399
|
+
|
|
1400
|
+
# @!method initialize(name:, type: :"dedicated-instance")
|
|
1401
|
+
# @param name [Symbol, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0::Name]
|
|
1402
|
+
# @param type [Symbol, :"dedicated-instance"]
|
|
1403
|
+
|
|
1404
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0#name
|
|
1405
|
+
module Name
|
|
1406
|
+
extend Revox::Internal::Type::Enum
|
|
1407
|
+
|
|
1408
|
+
GPT_4_1 = :"gpt-4.1"
|
|
1409
|
+
MINISTRAL_3_8B_INSTRUCT = :"ministral-3-8b-instruct"
|
|
1410
|
+
|
|
1411
|
+
# @!method self.values
|
|
1412
|
+
# @return [Array<Symbol>]
|
|
1413
|
+
end
|
|
1414
|
+
end
|
|
1415
|
+
|
|
1416
|
+
class UnionMember1 < Revox::Internal::Type::BaseModel
|
|
1417
|
+
# @!attribute openrouter_model_id
|
|
1418
|
+
# The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
1419
|
+
#
|
|
1420
|
+
# @return [String]
|
|
1421
|
+
required :openrouter_model_id, String
|
|
1422
|
+
|
|
1423
|
+
# @!attribute openrouter_provider
|
|
1424
|
+
# The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
1425
|
+
#
|
|
1426
|
+
# @return [String]
|
|
1427
|
+
required :openrouter_provider, String
|
|
1428
|
+
|
|
1429
|
+
# @!attribute type
|
|
1430
|
+
# Use a model from OpenRouter.
|
|
1431
|
+
#
|
|
1432
|
+
# @return [Symbol, :openrouter]
|
|
1433
|
+
required :type, const: :openrouter
|
|
1434
|
+
|
|
1435
|
+
# @!method initialize(openrouter_model_id:, openrouter_provider:, type: :openrouter)
|
|
1436
|
+
# @param openrouter_model_id [String] The model ID to use from OpenRouter. eg: openai/gpt-4.1
|
|
1437
|
+
#
|
|
1438
|
+
# @param openrouter_provider [String] The provider to use from OpenRouter. eg: nebius, openai, azure, etc.
|
|
1439
|
+
#
|
|
1440
|
+
# @param type [Symbol, :openrouter] Use a model from OpenRouter.
|
|
1441
|
+
end
|
|
1442
|
+
|
|
1443
|
+
# @!method self.variants
|
|
1444
|
+
# @return [Array(Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember0, Revox::Models::CampaignGetRowsResponse::Row::Call::LlmModel::UnionMember1)]
|
|
1445
|
+
end
|
|
1446
|
+
|
|
1447
|
+
# The status of the call.
|
|
1448
|
+
#
|
|
1449
|
+
# @see Revox::Models::CampaignGetRowsResponse::Row::Call#status
|
|
1450
|
+
module Status
|
|
1451
|
+
extend Revox::Internal::Type::Enum
|
|
1452
|
+
|
|
1453
|
+
INITIALIZING = :initializing
|
|
1454
|
+
QUEUED_FOR_CALLING = :queued_for_calling
|
|
1455
|
+
CALLING = :calling
|
|
1456
|
+
SCHEDULED = :scheduled
|
|
1457
|
+
COMPLETED = :completed
|
|
1458
|
+
CANCELLED = :cancelled
|
|
1459
|
+
ERRORED = :errored
|
|
1460
|
+
|
|
1461
|
+
# @!method self.values
|
|
1462
|
+
# @return [Array<Symbol>]
|
|
1463
|
+
end
|
|
1464
|
+
end
|
|
1465
|
+
end
|
|
1466
|
+
end
|
|
1467
|
+
end
|
|
1468
|
+
end
|