revox 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +1 -1
- data/lib/revox/client.rb +8 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/models/assistant_clone_params.rb +20 -0
- data/lib/revox/models/assistant_clone_response.rb +1594 -0
- data/lib/revox/models/auth_status_retrieve_params.rb +14 -0
- data/lib/revox/models/auth_status_retrieve_response.rb +17 -0
- data/lib/revox/models/call_cancel_params.rb +20 -0
- data/lib/revox/models/call_cancel_response.rb +16 -0
- data/lib/revox/models/call_create_response.rb +11 -1
- data/lib/revox/models/call_export_params.rb +205 -0
- data/lib/revox/models/call_export_response.rb +22 -0
- data/lib/revox/models/call_pause_params.rb +20 -0
- data/lib/revox/models/call_pause_response.rb +16 -0
- data/lib/revox/models/call_phone_history_params.rb +14 -0
- data/lib/revox/models/call_phone_history_response.rb +98 -0
- data/lib/revox/models/call_resume_params.rb +20 -0
- data/lib/revox/models/call_resume_response.rb +16 -0
- data/lib/revox/models/call_retrieve_response.rb +11 -1
- data/lib/revox/models/call_search_params.rb +171 -0
- data/lib/revox/models/call_search_response.rb +3114 -0
- data/lib/revox/models/campaign_get_rows_response.rb +11 -1
- data/lib/revox/models/campaign_launch_params.rb +20 -0
- data/lib/revox/models/campaign_launch_response.rb +2030 -0
- data/lib/revox/models/campaign_pause_params.rb +20 -0
- data/lib/revox/models/campaign_pause_response.rb +16 -0
- data/lib/revox/models/campaign_resume_params.rb +20 -0
- data/lib/revox/models/campaign_resume_response.rb +16 -0
- data/lib/revox/models/campaign_statistics_params.rb +20 -0
- data/lib/revox/models/campaign_statistics_response.rb +486 -0
- data/lib/revox/models/campaign_update_params.rb +234 -0
- data/lib/revox/models/campaign_update_response.rb +2030 -0
- data/lib/revox/models/phone_number_delete_params.rb +20 -0
- data/lib/revox/models/phone_number_delete_response.rb +16 -0
- data/lib/revox/models/phone_number_list_params.rb +14 -0
- data/lib/revox/models/phone_number_list_response.rb +1777 -0
- data/lib/revox/models/phone_number_update_params.rb +32 -0
- data/lib/revox/models/phone_number_update_response.rb +1777 -0
- data/lib/revox/models/user_retrieve_params.rb +14 -0
- data/lib/revox/models/user_retrieve_response.rb +99 -0
- data/lib/revox/models/voice_clone_params.rb +78 -0
- data/lib/revox/models/voice_clone_response.rb +40 -0
- data/lib/revox/models/voice_delete_params.rb +20 -0
- data/lib/revox/models/voice_delete_response.rb +16 -0
- data/lib/revox/models.rb +37 -1
- data/lib/revox/resources/assistants.rb +21 -0
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +145 -0
- data/lib/revox/resources/campaigns.rb +131 -0
- data/lib/revox/resources/phone_numbers.rb +74 -0
- data/lib/revox/resources/users.rb +17 -3
- data/lib/revox/resources/voices.rb +50 -0
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +40 -5
- data/rbi/revox/client.rbi +6 -0
- data/rbi/revox/models/assistant_clone_params.rbi +33 -0
- data/rbi/revox/models/assistant_clone_response.rbi +3341 -0
- data/rbi/revox/models/auth_status_retrieve_params.rbi +27 -0
- data/rbi/revox/models/auth_status_retrieve_response.rbi +30 -0
- data/rbi/revox/models/call_cancel_params.rbi +33 -0
- data/rbi/revox/models/call_cancel_response.rbi +23 -0
- data/rbi/revox/models/call_create_response.rbi +12 -0
- data/rbi/revox/models/call_export_params.rbi +456 -0
- data/rbi/revox/models/call_export_response.rbi +26 -0
- data/rbi/revox/models/call_pause_params.rbi +31 -0
- data/rbi/revox/models/call_pause_response.rbi +23 -0
- data/rbi/revox/models/call_phone_history_params.rbi +27 -0
- data/rbi/revox/models/call_phone_history_response.rbi +224 -0
- data/rbi/revox/models/call_resume_params.rbi +33 -0
- data/rbi/revox/models/call_resume_response.rbi +23 -0
- data/rbi/revox/models/call_retrieve_response.rbi +12 -0
- data/rbi/revox/models/call_search_params.rbi +288 -0
- data/rbi/revox/models/call_search_response.rbi +6593 -0
- data/rbi/revox/models/campaign_get_rows_response.rbi +12 -0
- data/rbi/revox/models/campaign_launch_params.rbi +33 -0
- data/rbi/revox/models/campaign_launch_response.rbi +4170 -0
- data/rbi/revox/models/campaign_pause_params.rbi +33 -0
- data/rbi/revox/models/campaign_pause_response.rbi +23 -0
- data/rbi/revox/models/campaign_resume_params.rbi +33 -0
- data/rbi/revox/models/campaign_resume_response.rbi +23 -0
- data/rbi/revox/models/campaign_statistics_params.rbi +33 -0
- data/rbi/revox/models/campaign_statistics_response.rbi +1011 -0
- data/rbi/revox/models/campaign_update_params.rbi +431 -0
- data/rbi/revox/models/campaign_update_response.rbi +4170 -0
- data/rbi/revox/models/phone_number_delete_params.rbi +33 -0
- data/rbi/revox/models/phone_number_delete_response.rbi +26 -0
- data/rbi/revox/models/phone_number_list_params.rbi +27 -0
- data/rbi/revox/models/phone_number_list_response.rbi +3680 -0
- data/rbi/revox/models/phone_number_update_params.rbi +53 -0
- data/rbi/revox/models/phone_number_update_response.rbi +3683 -0
- data/rbi/revox/models/user_retrieve_params.rbi +27 -0
- data/rbi/revox/models/user_retrieve_response.rbi +140 -0
- data/rbi/revox/models/voice_clone_params.rbi +141 -0
- data/rbi/revox/models/voice_clone_response.rbi +53 -0
- data/rbi/revox/models/voice_delete_params.rbi +33 -0
- data/rbi/revox/models/voice_delete_response.rbi +23 -0
- data/rbi/revox/models.rbi +37 -1
- data/rbi/revox/resources/assistants.rbi +12 -0
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +107 -0
- data/rbi/revox/resources/campaigns.rbi +94 -0
- data/rbi/revox/resources/phone_numbers.rbi +43 -0
- data/rbi/revox/resources/users.rbi +8 -2
- data/rbi/revox/resources/voices.rbi +39 -0
- data/sig/revox/client.rbs +4 -0
- data/sig/revox/models/assistant_clone_params.rbs +20 -0
- data/sig/revox/models/assistant_clone_response.rbs +1318 -0
- data/sig/revox/models/auth_status_retrieve_params.rbs +15 -0
- data/sig/revox/models/auth_status_retrieve_response.rbs +13 -0
- data/sig/revox/models/call_cancel_params.rbs +20 -0
- data/sig/revox/models/call_cancel_response.rbs +13 -0
- data/sig/revox/models/call_create_response.rbs +5 -0
- data/sig/revox/models/call_export_params.rbs +234 -0
- data/sig/revox/models/call_export_response.rbs +15 -0
- data/sig/revox/models/call_pause_params.rbs +20 -0
- data/sig/revox/models/call_pause_response.rbs +13 -0
- data/sig/revox/models/call_phone_history_params.rbs +15 -0
- data/sig/revox/models/call_phone_history_response.rbs +102 -0
- data/sig/revox/models/call_resume_params.rbs +20 -0
- data/sig/revox/models/call_resume_response.rbs +13 -0
- data/sig/revox/models/call_retrieve_response.rbs +5 -0
- data/sig/revox/models/call_search_params.rbs +198 -0
- data/sig/revox/models/call_search_response.rbs +2654 -0
- data/sig/revox/models/campaign_get_rows_response.rbs +5 -0
- data/sig/revox/models/campaign_launch_params.rbs +20 -0
- data/sig/revox/models/campaign_launch_response.rbs +1694 -0
- data/sig/revox/models/campaign_pause_params.rbs +20 -0
- data/sig/revox/models/campaign_pause_response.rbs +13 -0
- data/sig/revox/models/campaign_resume_params.rbs +20 -0
- data/sig/revox/models/campaign_resume_response.rbs +13 -0
- data/sig/revox/models/campaign_statistics_params.rbs +20 -0
- data/sig/revox/models/campaign_statistics_response.rbs +458 -0
- data/sig/revox/models/campaign_update_params.rbs +203 -0
- data/sig/revox/models/campaign_update_response.rbs +1694 -0
- data/sig/revox/models/phone_number_delete_params.rbs +20 -0
- data/sig/revox/models/phone_number_delete_response.rbs +13 -0
- data/sig/revox/models/phone_number_list_params.rbs +15 -0
- data/sig/revox/models/phone_number_list_response.rbs +1462 -0
- data/sig/revox/models/phone_number_update_params.rbs +32 -0
- data/sig/revox/models/phone_number_update_response.rbs +1460 -0
- data/sig/revox/models/user_retrieve_params.rbs +14 -0
- data/sig/revox/models/user_retrieve_response.rbs +71 -0
- data/sig/revox/models/voice_clone_params.rbs +79 -0
- data/sig/revox/models/voice_clone_response.rbs +40 -0
- data/sig/revox/models/voice_delete_params.rbs +20 -0
- data/sig/revox/models/voice_delete_response.rbs +13 -0
- data/sig/revox/models.rbs +37 -1
- data/sig/revox/resources/assistants.rbs +5 -0
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +45 -0
- data/sig/revox/resources/campaigns.rbs +33 -0
- data/sig/revox/resources/phone_numbers.rbs +23 -0
- data/sig/revox/resources/users.rbs +3 -1
- data/sig/revox/resources/voices.rbs +13 -0
- metadata +121 -16
- data/lib/revox/models/users/me_retrieve_params.rb +0 -16
- data/lib/revox/models/users/me_retrieve_response.rb +0 -101
- data/lib/revox/models/users/me_update_params.rb +0 -22
- data/lib/revox/models/users/me_update_response.rb +0 -101
- data/lib/revox/resources/users/me.rb +0 -55
- data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
- data/rbi/revox/models/users/me_retrieve_response.rbi +0 -149
- data/rbi/revox/models/users/me_update_params.rbi +0 -43
- data/rbi/revox/models/users/me_update_response.rbi +0 -149
- data/rbi/revox/resources/users/me.rbi +0 -33
- data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
- data/sig/revox/models/users/me_retrieve_response.rbs +0 -75
- data/sig/revox/models/users/me_update_params.rbs +0 -28
- data/sig/revox/models/users/me_update_response.rbs +0 -75
- data/sig/revox/resources/users/me.rbs +0 -18
|
@@ -57,6 +57,48 @@ module Revox
|
|
|
57
57
|
def retrieve(id, request_options: {})
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
# Update editable fields on a campaign. Draft campaigns support updating all
|
|
61
|
+
# fields including assistant, contacts, and settings. Non-draft campaigns only
|
|
62
|
+
# support renaming.
|
|
63
|
+
sig do
|
|
64
|
+
params(
|
|
65
|
+
id: String,
|
|
66
|
+
assistant_id: String,
|
|
67
|
+
call_retry_config:
|
|
68
|
+
T.nilable(Revox::CampaignUpdateParams::CallRetryConfig::OrHash),
|
|
69
|
+
contacts: T::Array[Revox::CampaignUpdateParams::Contact::OrHash],
|
|
70
|
+
from_phone_number: T.nilable(String),
|
|
71
|
+
max_concurrent_calls: T.nilable(Float),
|
|
72
|
+
name: String,
|
|
73
|
+
scheduled_at:
|
|
74
|
+
T.nilable(Revox::CampaignUpdateParams::ScheduledAt::Variants),
|
|
75
|
+
type: Revox::CampaignUpdateParams::Type::OrSymbol,
|
|
76
|
+
request_options: Revox::RequestOptions::OrHash
|
|
77
|
+
).returns(Revox::Models::CampaignUpdateResponse)
|
|
78
|
+
end
|
|
79
|
+
def update(
|
|
80
|
+
id,
|
|
81
|
+
# The ID of the assistant to use (draft only)
|
|
82
|
+
assistant_id: nil,
|
|
83
|
+
# Configuration for call retry behavior including time windows, delays, and max
|
|
84
|
+
# iterations. If not provided, defaults will be used.
|
|
85
|
+
call_retry_config: nil,
|
|
86
|
+
# Replace contact list (draft only)
|
|
87
|
+
contacts: nil,
|
|
88
|
+
# The phone number to use for outbound calls (draft only)
|
|
89
|
+
from_phone_number: nil,
|
|
90
|
+
# Maximum concurrent calls (draft only)
|
|
91
|
+
max_concurrent_calls: nil,
|
|
92
|
+
# Campaign display name
|
|
93
|
+
name: nil,
|
|
94
|
+
# Scheduled start time (draft only)
|
|
95
|
+
scheduled_at: nil,
|
|
96
|
+
# Campaign type (draft only)
|
|
97
|
+
type: nil,
|
|
98
|
+
request_options: {}
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
|
|
60
102
|
# Retrieve all campaigns for your organization, including both active and
|
|
61
103
|
# completed ones.
|
|
62
104
|
sig do
|
|
@@ -112,6 +154,58 @@ module Revox
|
|
|
112
154
|
def get_rows(id, request_options: {})
|
|
113
155
|
end
|
|
114
156
|
|
|
157
|
+
# Launch a previously saved draft campaign. This starts all calls immediately (or
|
|
158
|
+
# queues them if scheduled_at is set). The campaign must be in draft status.
|
|
159
|
+
sig do
|
|
160
|
+
params(
|
|
161
|
+
id: String,
|
|
162
|
+
request_options: Revox::RequestOptions::OrHash
|
|
163
|
+
).returns(Revox::Models::CampaignLaunchResponse)
|
|
164
|
+
end
|
|
165
|
+
def launch(id, request_options: {})
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Pause a running campaign so no further calls are placed. In-progress calls are
|
|
169
|
+
# allowed to finish; pending and scheduled calls are held until the campaign is
|
|
170
|
+
# resumed. Scheduled retry timers keep counting down, so a call resumed before its
|
|
171
|
+
# time fires on schedule, while one resumed after its time fires at the next
|
|
172
|
+
# available calling window.
|
|
173
|
+
sig do
|
|
174
|
+
params(
|
|
175
|
+
id: String,
|
|
176
|
+
request_options: Revox::RequestOptions::OrHash
|
|
177
|
+
).returns(Revox::Models::CampaignPauseResponse)
|
|
178
|
+
end
|
|
179
|
+
def pause(id, request_options: {})
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Resume a paused campaign. Held calls continue from where they left off; calls
|
|
183
|
+
# whose scheduled time passed during the pause are placed at the next available
|
|
184
|
+
# calling window.
|
|
185
|
+
sig do
|
|
186
|
+
params(
|
|
187
|
+
id: String,
|
|
188
|
+
request_options: Revox::RequestOptions::OrHash
|
|
189
|
+
).returns(Revox::Models::CampaignResumeResponse)
|
|
190
|
+
end
|
|
191
|
+
def resume(id, request_options: {})
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Retrieve the "Statistiques" report for a campaign: the four-tile cascade funnel
|
|
195
|
+
# (appelés → eus en ligne → réels échanges → leads chauds), two secondary tiles,
|
|
196
|
+
# the distribution of exchanges by outcome, the list of hot leads, and
|
|
197
|
+
# data-extraction coverage. All counts are over distinct E.164-normalized phone
|
|
198
|
+
# numbers, and the outcome-based categories derive exclusively from calls.outcome.
|
|
199
|
+
# Cascade percentages are null when their denominator is zero.
|
|
200
|
+
sig do
|
|
201
|
+
params(
|
|
202
|
+
id: String,
|
|
203
|
+
request_options: Revox::RequestOptions::OrHash
|
|
204
|
+
).returns(Revox::Models::CampaignStatisticsResponse)
|
|
205
|
+
end
|
|
206
|
+
def statistics(id, request_options: {})
|
|
207
|
+
end
|
|
208
|
+
|
|
115
209
|
# @api private
|
|
116
210
|
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
117
211
|
def self.new(client:)
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Resources
|
|
5
|
+
class PhoneNumbers
|
|
6
|
+
# Update a phone number
|
|
7
|
+
sig do
|
|
8
|
+
params(
|
|
9
|
+
id: String,
|
|
10
|
+
inbound_assistant_id: T.nilable(String),
|
|
11
|
+
label: T.nilable(String),
|
|
12
|
+
request_options: Revox::RequestOptions::OrHash
|
|
13
|
+
).returns(Revox::Models::PhoneNumberUpdateResponse)
|
|
14
|
+
end
|
|
15
|
+
def update(id, inbound_assistant_id: nil, label: nil, request_options: {})
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Get phone numbers
|
|
19
|
+
sig do
|
|
20
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
21
|
+
Revox::Models::PhoneNumberListResponse
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
def list(request_options: {})
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Delete a phone number
|
|
28
|
+
sig do
|
|
29
|
+
params(
|
|
30
|
+
id: String,
|
|
31
|
+
request_options: Revox::RequestOptions::OrHash
|
|
32
|
+
).returns(Revox::Models::PhoneNumberDeleteResponse)
|
|
33
|
+
end
|
|
34
|
+
def delete(id, request_options: {})
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @api private
|
|
38
|
+
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
39
|
+
def self.new(client:)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
module Revox
|
|
4
4
|
module Resources
|
|
5
5
|
class Users
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
# Get the current authenticated user.
|
|
7
|
+
sig do
|
|
8
|
+
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
9
|
+
Revox::Models::UserRetrieveResponse
|
|
10
|
+
)
|
|
11
|
+
end
|
|
12
|
+
def retrieve(request_options: {})
|
|
13
|
+
end
|
|
8
14
|
|
|
9
15
|
# @api private
|
|
10
16
|
sig { params(client: Revox::Client).returns(T.attached_class) }
|
|
@@ -29,6 +29,45 @@ module Revox
|
|
|
29
29
|
def list(request_options: {})
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
+
# Delete a cloned voice. Only cloned voices can be deleted. Returns 409 if the
|
|
33
|
+
# voice is in use by an assistant.
|
|
34
|
+
sig do
|
|
35
|
+
params(
|
|
36
|
+
id: String,
|
|
37
|
+
request_options: Revox::RequestOptions::OrHash
|
|
38
|
+
).returns(Revox::Models::VoiceDeleteResponse)
|
|
39
|
+
end
|
|
40
|
+
def delete(
|
|
41
|
+
# The cloned voice ID to delete.
|
|
42
|
+
id,
|
|
43
|
+
request_options: {}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Clone a voice from an audio recording. Send audio as a base64-encoded string.
|
|
48
|
+
# The cloned voice will be available in GET /voices.
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
audio: String,
|
|
52
|
+
content_type: Revox::VoiceCloneParams::ContentType::OrSymbol,
|
|
53
|
+
language: Revox::VoiceCloneParams::Language::OrSymbol,
|
|
54
|
+
name: String,
|
|
55
|
+
request_options: Revox::RequestOptions::OrHash
|
|
56
|
+
).returns(Revox::Models::VoiceCloneResponse)
|
|
57
|
+
end
|
|
58
|
+
def clone_(
|
|
59
|
+
# Base64-encoded audio data (max ~7.5MB decoded)
|
|
60
|
+
audio:,
|
|
61
|
+
# MIME type of the audio
|
|
62
|
+
content_type:,
|
|
63
|
+
# Language of the voice
|
|
64
|
+
language:,
|
|
65
|
+
# Name for the cloned voice
|
|
66
|
+
name:,
|
|
67
|
+
request_options: {}
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
32
71
|
# Generate a short audio preview for a given voice.
|
|
33
72
|
sig do
|
|
34
73
|
params(
|
data/sig/revox/client.rbs
CHANGED
|
@@ -10,8 +10,12 @@ module Revox
|
|
|
10
10
|
|
|
11
11
|
attr_reader api_key: String
|
|
12
12
|
|
|
13
|
+
attr_reader auth_status: Revox::Resources::AuthStatus
|
|
14
|
+
|
|
13
15
|
attr_reader campaigns: Revox::Resources::Campaigns
|
|
14
16
|
|
|
17
|
+
attr_reader phone_numbers: Revox::Resources::PhoneNumbers
|
|
18
|
+
|
|
15
19
|
attr_reader assistants: Revox::Resources::Assistants
|
|
16
20
|
|
|
17
21
|
attr_reader call: Revox::Resources::Call
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Revox
|
|
2
|
+
module Models
|
|
3
|
+
type assistant_clone_params =
|
|
4
|
+
{ id: String } & Revox::Internal::Type::request_parameters
|
|
5
|
+
|
|
6
|
+
class AssistantCloneParams < Revox::Internal::Type::BaseModel
|
|
7
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Revox::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
attr_accessor id: String
|
|
11
|
+
|
|
12
|
+
def initialize: (
|
|
13
|
+
id: String,
|
|
14
|
+
?request_options: Revox::request_opts
|
|
15
|
+
) -> void
|
|
16
|
+
|
|
17
|
+
def to_hash: -> { id: String, request_options: Revox::RequestOptions }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|