revox 0.1.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 +81 -0
- data/README.md +39 -14
- data/lib/revox/client.rb +23 -1
- data/lib/revox/internal/transport/base_client.rb +5 -0
- data/lib/revox/internal/type/base_model.rb +3 -3
- data/lib/revox/internal/util.rb +22 -7
- data/lib/revox/models/assistant_clone_params.rb +20 -0
- data/lib/revox/models/assistant_clone_response.rb +1594 -0
- data/lib/revox/models/assistant_create_params.rb +1038 -13
- data/lib/revox/models/assistant_create_response.rb +1071 -11
- data/lib/revox/models/assistant_list_response.rb +1070 -11
- data/lib/revox/models/assistant_retrieve_response.rb +1066 -11
- data/lib/revox/models/assistant_update_params.rb +1038 -13
- data/lib/revox/models/assistant_update_response.rb +1097 -12
- 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_params.rb +1065 -13
- data/lib/revox/models/call_create_response.rb +1820 -98
- 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 +1822 -98
- 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_create_params.rb +67 -2
- data/lib/revox/models/campaign_create_response.rb +1314 -59
- data/lib/revox/models/campaign_get_rows_params.rb +1 -46
- data/lib/revox/models/campaign_get_rows_response.rb +1833 -115
- 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_list_response.rb +1312 -59
- 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_retrieve_response.rb +1312 -56
- 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/voice_list_response.rb +55 -1
- data/lib/revox/models/voice_preview_params.rb +49 -1
- data/lib/revox/models.rb +36 -2
- data/lib/revox/resources/assistants.rb +137 -8
- data/lib/revox/resources/auth_status.rb +32 -0
- data/lib/revox/resources/call.rb +131 -15
- data/lib/revox/resources/campaigns.rb +143 -17
- data/lib/revox/resources/phone_numbers.rb +74 -0
- data/lib/revox/resources/users.rb +17 -3
- data/lib/revox/resources/voices.rb +66 -10
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +40 -7
- data/rbi/revox/client.rbi +6 -0
- data/rbi/revox/internal/util.rbi +8 -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/assistant_create_params.rbi +2138 -103
- data/rbi/revox/models/assistant_create_response.rbi +2454 -199
- data/rbi/revox/models/assistant_list_response.rbi +2448 -195
- data/rbi/revox/models/assistant_retrieve_response.rbi +2401 -210
- data/rbi/revox/models/assistant_update_params.rbi +2138 -103
- data/rbi/revox/models/assistant_update_response.rbi +2504 -198
- 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_params.rbi +2382 -225
- data/rbi/revox/models/call_create_response.rbi +4116 -384
- 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 +4133 -399
- 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_create_params.rbi +136 -0
- data/rbi/revox/models/campaign_create_response.rbi +2911 -231
- data/rbi/revox/models/campaign_get_rows_params.rbi +2 -82
- data/rbi/revox/models/campaign_get_rows_response.rbi +4146 -409
- 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_list_response.rbi +2904 -230
- 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_retrieve_response.rbi +2911 -231
- 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/voice_list_response.rbi +105 -3
- data/rbi/revox/models/voice_preview_params.rbi +69 -0
- data/rbi/revox/models.rbi +36 -2
- data/rbi/revox/resources/assistants.rbi +296 -8
- data/rbi/revox/resources/auth_status.rbi +21 -0
- data/rbi/revox/resources/call.rbi +92 -6
- data/rbi/revox/resources/campaigns.rbi +106 -19
- data/rbi/revox/resources/phone_numbers.rbi +43 -0
- data/rbi/revox/resources/users.rbi +8 -2
- data/rbi/revox/resources/voices.rbi +56 -9
- data/sig/revox/client.rbs +4 -0
- data/sig/revox/internal/util.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/assistant_create_params.rbs +844 -11
- data/sig/revox/models/assistant_create_response.rbs +860 -3
- data/sig/revox/models/assistant_list_response.rbs +860 -3
- data/sig/revox/models/assistant_retrieve_response.rbs +859 -3
- data/sig/revox/models/assistant_update_params.rbs +844 -11
- data/sig/revox/models/assistant_update_response.rbs +886 -6
- 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_params.rbs +847 -13
- data/sig/revox/models/call_create_response.rbs +1519 -34
- 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 +1519 -34
- 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_create_params.rbs +54 -0
- data/sig/revox/models/campaign_create_response.rbs +1034 -6
- data/sig/revox/models/campaign_get_rows_params.rbs +2 -64
- data/sig/revox/models/campaign_get_rows_response.rbs +1527 -54
- 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_list_response.rbs +1034 -6
- 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_retrieve_response.rbs +1034 -6
- 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/voice_list_response.rbs +45 -3
- data/sig/revox/models/voice_preview_params.rbs +42 -1
- data/sig/revox/models.rbs +36 -2
- data/sig/revox/resources/assistants.rbs +61 -2
- data/sig/revox/resources/auth_status.rbs +11 -0
- data/sig/revox/resources/call.rbs +41 -3
- data/sig/revox/resources/campaigns.rbs +35 -5
- data/sig/revox/resources/phone_numbers.rbs +23 -0
- data/sig/revox/resources/users.rbs +3 -1
- data/sig/revox/resources/voices.rbs +17 -0
- metadata +122 -23
- data/lib/revox/models/call_list_params.rb +0 -52
- data/lib/revox/models/call_list_response.rb +0 -259
- data/lib/revox/models/users/me_retrieve_params.rb +0 -16
- data/lib/revox/models/users/me_retrieve_response.rb +0 -89
- data/lib/revox/models/users/me_update_params.rb +0 -22
- data/lib/revox/models/users/me_update_response.rb +0 -89
- data/lib/revox/resources/users/me.rb +0 -55
- data/rbi/revox/models/call_list_params.rbi +0 -94
- data/rbi/revox/models/call_list_response.rbi +0 -563
- data/rbi/revox/models/users/me_retrieve_params.rbi +0 -29
- data/rbi/revox/models/users/me_retrieve_response.rbi +0 -139
- data/rbi/revox/models/users/me_update_params.rbi +0 -43
- data/rbi/revox/models/users/me_update_response.rbi +0 -139
- data/rbi/revox/resources/users/me.rbi +0 -33
- data/sig/revox/models/call_list_params.rbs +0 -63
- data/sig/revox/models/call_list_response.rbs +0 -226
- data/sig/revox/models/users/me_retrieve_params.rbs +0 -16
- data/sig/revox/models/users/me_retrieve_response.rbs +0 -70
- data/sig/revox/models/users/me_update_params.rbs +0 -28
- data/sig/revox/models/users/me_update_response.rbs +0 -70
- data/sig/revox/resources/users/me.rbs +0 -18
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
module Revox
|
|
4
4
|
module Resources
|
|
5
5
|
class Campaigns
|
|
6
|
-
# Create a new outbound calling campaign
|
|
7
|
-
#
|
|
8
|
-
# of starting right away.
|
|
6
|
+
# Create a new outbound calling campaign. By default the campaign launches
|
|
7
|
+
# immediately. Set launch to false to save as a draft for later review.
|
|
9
8
|
sig do
|
|
10
9
|
params(
|
|
11
10
|
assistant_id: String,
|
|
12
11
|
contacts: T::Array[Revox::CampaignCreateParams::Contact::OrHash],
|
|
12
|
+
launch: T::Boolean,
|
|
13
13
|
name: String,
|
|
14
|
+
type: Revox::CampaignCreateParams::Type::OrSymbol,
|
|
14
15
|
call_retry_config:
|
|
15
16
|
Revox::CampaignCreateParams::CallRetryConfig::OrHash,
|
|
16
17
|
from_phone_number: String,
|
|
@@ -24,8 +25,13 @@ module Revox
|
|
|
24
25
|
assistant_id:,
|
|
25
26
|
# The list of contacts to call
|
|
26
27
|
contacts:,
|
|
28
|
+
# Whether to launch the campaign immediately. Set to false to save as a draft.
|
|
29
|
+
launch:,
|
|
27
30
|
# The name of the campaign
|
|
28
31
|
name:,
|
|
32
|
+
# Campaign type. 'jump_in' campaigns only dial while someone is on the campaign
|
|
33
|
+
# page and auto-pause when unattended.
|
|
34
|
+
type:,
|
|
29
35
|
# Override retry configuration for calls in this campaign. If not provided, uses
|
|
30
36
|
# the assistant's retry config.
|
|
31
37
|
call_retry_config: nil,
|
|
@@ -51,6 +57,48 @@ module Revox
|
|
|
51
57
|
def retrieve(id, request_options: {})
|
|
52
58
|
end
|
|
53
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
|
+
|
|
54
102
|
# Retrieve all campaigns for your organization, including both active and
|
|
55
103
|
# completed ones.
|
|
56
104
|
sig do
|
|
@@ -95,28 +143,67 @@ module Revox
|
|
|
95
143
|
def export_rows(id, request_options: {})
|
|
96
144
|
end
|
|
97
145
|
|
|
98
|
-
# Retrieve
|
|
99
|
-
#
|
|
146
|
+
# Retrieve all contact rows for a campaign. Useful for loading draft campaign data
|
|
147
|
+
# for editing.
|
|
100
148
|
sig do
|
|
101
149
|
params(
|
|
102
150
|
id: String,
|
|
103
|
-
page: Float,
|
|
104
|
-
page_size: Float,
|
|
105
|
-
query: String,
|
|
106
|
-
result: Revox::CampaignGetRowsParams::Result::OrSymbol,
|
|
107
|
-
statuses: String,
|
|
108
151
|
request_options: Revox::RequestOptions::OrHash
|
|
109
152
|
).returns(Revox::Models::CampaignGetRowsResponse)
|
|
110
153
|
end
|
|
111
|
-
def get_rows(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
154
|
+
def get_rows(id, request_options: {})
|
|
155
|
+
end
|
|
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: {})
|
|
120
207
|
end
|
|
121
208
|
|
|
122
209
|
# @api private
|
|
@@ -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) }
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
module Revox
|
|
4
4
|
module Resources
|
|
5
5
|
class Voices
|
|
6
|
-
# Retrieve details for a single voice by its unique ID and provider.
|
|
7
|
-
# voice name, description, and provider metadata.
|
|
6
|
+
# Retrieve details for a single voice by its unique ID and provider.
|
|
8
7
|
sig do
|
|
9
8
|
params(
|
|
10
9
|
id: String,
|
|
@@ -20,10 +19,8 @@ module Revox
|
|
|
20
19
|
)
|
|
21
20
|
end
|
|
22
21
|
|
|
23
|
-
# Retrieve
|
|
24
|
-
#
|
|
25
|
-
# provider-specific ID. Use this endpoint to browse voices before assigning one to
|
|
26
|
-
# an assistant or a call.
|
|
22
|
+
# Retrieve all voices available for AI calls, including preset voices from
|
|
23
|
+
# Cartesia/ElevenLabs and your organization's cloned voices.
|
|
27
24
|
sig do
|
|
28
25
|
params(request_options: Revox::RequestOptions::OrHash).returns(
|
|
29
26
|
Revox::Models::VoiceListResponse
|
|
@@ -32,13 +29,54 @@ module Revox
|
|
|
32
29
|
def list(request_options: {})
|
|
33
30
|
end
|
|
34
31
|
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
|
|
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
|
+
|
|
71
|
+
# Generate a short audio preview for a given voice.
|
|
38
72
|
sig do
|
|
39
73
|
params(
|
|
40
74
|
provider: Revox::VoicePreviewParams::Provider::OrSymbol,
|
|
41
75
|
voice_id: String,
|
|
76
|
+
model: Revox::VoicePreviewParams::Model::OrSymbol,
|
|
77
|
+
speed: Float,
|
|
78
|
+
text: String,
|
|
79
|
+
volume: Float,
|
|
42
80
|
request_options: Revox::RequestOptions::OrHash
|
|
43
81
|
).void
|
|
44
82
|
end
|
|
@@ -47,6 +85,15 @@ module Revox
|
|
|
47
85
|
provider:,
|
|
48
86
|
# The voice ID to generate a preview for.
|
|
49
87
|
voice_id:,
|
|
88
|
+
# Cartesia model for the preview. Defaults to sonic-3. Ignored for other
|
|
89
|
+
# providers.
|
|
90
|
+
model: nil,
|
|
91
|
+
# Speed for preview. Cartesia 0.6–1.5, ElevenLabs 0.7–1.2. Default 1.0.
|
|
92
|
+
speed: nil,
|
|
93
|
+
# Custom text for the preview. If omitted, a short default is used.
|
|
94
|
+
text: nil,
|
|
95
|
+
# Volume for Cartesia preview (0.5–2.0). Ignored for other providers.
|
|
96
|
+
volume: nil,
|
|
50
97
|
request_options: {}
|
|
51
98
|
)
|
|
52
99
|
end
|
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
|
data/sig/revox/internal/util.rbs
CHANGED
|
@@ -45,8 +45,12 @@ module Revox
|
|
|
45
45
|
-> top?
|
|
46
46
|
} -> top?
|
|
47
47
|
|
|
48
|
+
RFC_3986_NOT_PCHARS: Regexp
|
|
49
|
+
|
|
48
50
|
def self?.uri_origin: (URI::Generic uri) -> String
|
|
49
51
|
|
|
52
|
+
def self?.encode_path: (String | Integer path) -> String
|
|
53
|
+
|
|
50
54
|
def self?.interpolate_path: (String | ::Array[String] path) -> String
|
|
51
55
|
|
|
52
56
|
def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
|
|
@@ -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
|