revox 0.3.0 → 0.4.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.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +38 -38
  4. data/lib/revox/models/assistant_clone_response.rb +87 -65
  5. data/lib/revox/models/assistant_create_params.rb +90 -66
  6. data/lib/revox/models/assistant_create_response.rb +87 -65
  7. data/lib/revox/models/assistant_list_response.rb +87 -65
  8. data/lib/revox/models/assistant_retrieve_response.rb +86 -65
  9. data/lib/revox/models/assistant_update_params.rb +90 -66
  10. data/lib/revox/models/assistant_update_response.rb +87 -65
  11. data/lib/revox/models/call_create_params.rb +117 -90
  12. data/lib/revox/models/call_create_response.rb +670 -90
  13. data/lib/revox/models/call_export_params.rb +1 -3
  14. data/lib/revox/models/call_phone_history_response.rb +0 -3
  15. data/lib/revox/models/call_retrieve_response.rb +671 -90
  16. data/lib/revox/models/call_search_params.rb +1 -3
  17. data/lib/revox/models/call_search_response.rb +670 -90
  18. data/lib/revox/models/campaign_create_params.rb +7 -57
  19. data/lib/revox/models/campaign_create_response.rb +108 -119
  20. data/lib/revox/models/campaign_get_rows_response.rb +672 -90
  21. data/lib/revox/models/campaign_list_response.rb +108 -119
  22. data/lib/revox/models/campaign_retrieve_response.rb +108 -119
  23. data/lib/revox/models/campaign_statistics_response.rb +51 -23
  24. data/lib/revox/models/campaign_update_params.rb +9 -78
  25. data/lib/revox/models/campaign_update_response.rb +108 -119
  26. data/lib/revox/models/phone_number_list_response.rb +87 -65
  27. data/lib/revox/models/phone_number_update_response.rb +87 -65
  28. data/lib/revox/models/voice_list_response.rb +1 -0
  29. data/lib/revox/models/voice_preview_params.rb +1 -0
  30. data/lib/revox/models/voice_retrieve_params.rb +1 -0
  31. data/lib/revox/models.rb +0 -2
  32. data/lib/revox/resources/assistants.rb +10 -10
  33. data/lib/revox/resources/call.rb +4 -4
  34. data/lib/revox/resources/campaigns.rb +13 -45
  35. data/lib/revox/version.rb +1 -1
  36. data/lib/revox.rb +0 -2
  37. data/rbi/revox/models/assistant_clone_response.rbi +157 -147
  38. data/rbi/revox/models/assistant_create_params.rbi +148 -162
  39. data/rbi/revox/models/assistant_create_response.rbi +157 -147
  40. data/rbi/revox/models/assistant_list_response.rbi +157 -147
  41. data/rbi/revox/models/assistant_retrieve_response.rbi +153 -147
  42. data/rbi/revox/models/assistant_update_params.rbi +148 -162
  43. data/rbi/revox/models/assistant_update_response.rbi +157 -147
  44. data/rbi/revox/models/call_create_params.rbi +190 -187
  45. data/rbi/revox/models/call_create_response.rbi +1138 -227
  46. data/rbi/revox/models/call_export_params.rbi +5 -15
  47. data/rbi/revox/models/call_phone_history_response.rbi +0 -15
  48. data/rbi/revox/models/call_retrieve_response.rbi +1138 -227
  49. data/rbi/revox/models/call_search_params.rbi +2 -9
  50. data/rbi/revox/models/call_search_response.rbi +1138 -227
  51. data/rbi/revox/models/campaign_create_params.rbi +9 -87
  52. data/rbi/revox/models/campaign_create_response.rbi +188 -266
  53. data/rbi/revox/models/campaign_get_rows_response.rbi +1138 -225
  54. data/rbi/revox/models/campaign_list_response.rbi +188 -262
  55. data/rbi/revox/models/campaign_retrieve_response.rbi +188 -266
  56. data/rbi/revox/models/campaign_statistics_response.rbi +94 -36
  57. data/rbi/revox/models/campaign_update_params.rbi +10 -128
  58. data/rbi/revox/models/campaign_update_response.rbi +188 -266
  59. data/rbi/revox/models/phone_number_list_response.rbi +157 -147
  60. data/rbi/revox/models/phone_number_update_response.rbi +157 -147
  61. data/rbi/revox/models/voice_list_response.rbi +5 -0
  62. data/rbi/revox/models/voice_preview_params.rbi +2 -0
  63. data/rbi/revox/models/voice_retrieve_params.rbi +2 -0
  64. data/rbi/revox/models.rbi +0 -2
  65. data/rbi/revox/resources/assistants.rbi +40 -22
  66. data/rbi/revox/resources/call.rbi +7 -4
  67. data/rbi/revox/resources/campaigns.rbi +12 -44
  68. data/sig/revox/models/assistant_clone_response.rbs +46 -54
  69. data/sig/revox/models/assistant_create_params.rbs +39 -58
  70. data/sig/revox/models/assistant_create_response.rbs +46 -54
  71. data/sig/revox/models/assistant_list_response.rbs +46 -54
  72. data/sig/revox/models/assistant_retrieve_response.rbs +46 -54
  73. data/sig/revox/models/assistant_update_params.rbs +39 -58
  74. data/sig/revox/models/assistant_update_response.rbs +46 -54
  75. data/sig/revox/models/call_create_params.rbs +50 -71
  76. data/sig/revox/models/call_create_response.rbs +468 -77
  77. data/sig/revox/models/call_export_params.rbs +2 -6
  78. data/sig/revox/models/call_phone_history_response.rbs +1 -10
  79. data/sig/revox/models/call_retrieve_response.rbs +468 -77
  80. data/sig/revox/models/call_search_params.rbs +2 -6
  81. data/sig/revox/models/call_search_response.rbs +468 -77
  82. data/sig/revox/models/campaign_create_params.rbs +5 -50
  83. data/sig/revox/models/campaign_create_response.rbs +62 -98
  84. data/sig/revox/models/campaign_get_rows_response.rbs +467 -73
  85. data/sig/revox/models/campaign_list_response.rbs +62 -98
  86. data/sig/revox/models/campaign_retrieve_response.rbs +62 -98
  87. data/sig/revox/models/campaign_statistics_response.rbs +55 -24
  88. data/sig/revox/models/campaign_update_params.rbs +1 -69
  89. data/sig/revox/models/campaign_update_response.rbs +62 -98
  90. data/sig/revox/models/phone_number_list_response.rbs +46 -54
  91. data/sig/revox/models/phone_number_update_response.rbs +46 -54
  92. data/sig/revox/models/voice_list_response.rbs +2 -1
  93. data/sig/revox/models/voice_preview_params.rbs +2 -1
  94. data/sig/revox/models/voice_retrieve_params.rbs +2 -1
  95. data/sig/revox/models.rbs +0 -2
  96. data/sig/revox/resources/assistants.rbs +4 -4
  97. data/sig/revox/resources/call.rbs +1 -1
  98. data/sig/revox/resources/campaigns.rbs +0 -12
  99. metadata +2 -8
  100. data/lib/revox/models/campaign_launch_params.rb +0 -20
  101. data/lib/revox/models/campaign_launch_response.rb +0 -2030
  102. data/rbi/revox/models/campaign_launch_params.rbi +0 -33
  103. data/rbi/revox/models/campaign_launch_response.rbi +0 -4170
  104. data/sig/revox/models/campaign_launch_params.rbs +0 -20
  105. data/sig/revox/models/campaign_launch_response.rbs +0 -1694
@@ -22,6 +22,7 @@ module Revox
22
22
  funnel: Revox::Models::CampaignStatisticsResponse::Statistics::Funnel,
23
23
  hot_lead_outcomes: ::Array[String],
24
24
  inbound: Revox::Models::CampaignStatisticsResponse::Statistics::Inbound,
25
+ jump_in: Revox::Models::CampaignStatisticsResponse::Statistics::JumpIn,
25
26
  leads: Revox::Models::CampaignStatisticsResponse::Statistics::Leads,
26
27
  outcome_breakdown: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown]
27
28
  }
@@ -39,6 +40,8 @@ module Revox
39
40
 
40
41
  attr_accessor inbound: Revox::Models::CampaignStatisticsResponse::Statistics::Inbound
41
42
 
43
+ attr_accessor jump_in: Revox::Models::CampaignStatisticsResponse::Statistics::JumpIn
44
+
42
45
  attr_accessor leads: Revox::Models::CampaignStatisticsResponse::Statistics::Leads
43
46
 
44
47
  attr_accessor outcome_breakdown: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown]
@@ -50,6 +53,7 @@ module Revox
50
53
  funnel: Revox::Models::CampaignStatisticsResponse::Statistics::Funnel,
51
54
  hot_lead_outcomes: ::Array[String],
52
55
  inbound: Revox::Models::CampaignStatisticsResponse::Statistics::Inbound,
56
+ jump_in: Revox::Models::CampaignStatisticsResponse::Statistics::JumpIn,
53
57
  leads: Revox::Models::CampaignStatisticsResponse::Statistics::Leads,
54
58
  outcome_breakdown: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown]
55
59
  ) -> void
@@ -61,6 +65,7 @@ module Revox
61
65
  funnel: Revox::Models::CampaignStatisticsResponse::Statistics::Funnel,
62
66
  hot_lead_outcomes: ::Array[String],
63
67
  inbound: Revox::Models::CampaignStatisticsResponse::Statistics::Inbound,
68
+ jump_in: Revox::Models::CampaignStatisticsResponse::Statistics::JumpIn,
64
69
  leads: Revox::Models::CampaignStatisticsResponse::Statistics::Leads,
65
70
  outcome_breakdown: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::OutcomeBreakdown]
66
71
  }
@@ -126,12 +131,11 @@ module Revox
126
131
  timezone: String
127
132
  }
128
133
 
129
- type status = :draft | :running | :paused | :completed
134
+ type status = :running | :paused | :completed
130
135
 
131
136
  module Status
132
137
  extend Revox::Internal::Type::Enum
133
138
 
134
- DRAFT: :draft
135
139
  RUNNING: :running
136
140
  PAUSED: :paused
137
141
  COMPLETED: :completed
@@ -290,32 +294,59 @@ module Revox
290
294
  def to_hash: -> { unique_callers: Float }
291
295
  end
292
296
 
297
+ type jump_in =
298
+ {
299
+ joined_calls: Float,
300
+ median_conversation_seconds: Float?,
301
+ median_time_to_join_seconds: Float?
302
+ }
303
+
304
+ class JumpIn < Revox::Internal::Type::BaseModel
305
+ attr_accessor joined_calls: Float
306
+
307
+ attr_accessor median_conversation_seconds: Float?
308
+
309
+ attr_accessor median_time_to_join_seconds: Float?
310
+
311
+ def initialize: (
312
+ joined_calls: Float,
313
+ median_conversation_seconds: Float?,
314
+ median_time_to_join_seconds: Float?
315
+ ) -> void
316
+
317
+ def to_hash: -> {
318
+ joined_calls: Float,
319
+ median_conversation_seconds: Float?,
320
+ median_time_to_join_seconds: Float?
321
+ }
322
+ end
323
+
293
324
  type leads =
294
325
  {
295
- hot: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot],
296
- warm: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm]
326
+ callback_requested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested],
327
+ interested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested]
297
328
  }
298
329
 
299
330
  class Leads < Revox::Internal::Type::BaseModel
300
- attr_accessor hot: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot]
331
+ attr_accessor callback_requested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested]
301
332
 
302
- attr_accessor warm: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm]
333
+ attr_accessor interested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested]
303
334
 
304
335
  def initialize: (
305
- hot: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot],
306
- warm: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm]
336
+ callback_requested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested],
337
+ interested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested]
307
338
  ) -> void
308
339
 
309
340
  def to_hash: -> {
310
- hot: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot],
311
- warm: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm]
341
+ callback_requested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested],
342
+ interested: ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested]
312
343
  }
313
344
 
314
- type hot =
345
+ type callback_requested =
315
346
  {
316
347
  attempt_id: String?,
317
348
  call_id: String,
318
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::direction,
349
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested::direction,
319
350
  email: String?,
320
351
  last_activity_at: top,
321
352
  name: String,
@@ -323,12 +354,12 @@ module Revox
323
354
  summary: String?
324
355
  }
325
356
 
326
- class Hot < Revox::Internal::Type::BaseModel
357
+ class CallbackRequested < Revox::Internal::Type::BaseModel
327
358
  attr_accessor attempt_id: String?
328
359
 
329
360
  attr_accessor call_id: String
330
361
 
331
- attr_accessor direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::direction
362
+ attr_accessor direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested::direction
332
363
 
333
364
  attr_accessor email: String?
334
365
 
@@ -343,7 +374,7 @@ module Revox
343
374
  def initialize: (
344
375
  attempt_id: String?,
345
376
  call_id: String,
346
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::direction,
377
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested::direction,
347
378
  email: String?,
348
379
  last_activity_at: top,
349
380
  name: String,
@@ -354,7 +385,7 @@ module Revox
354
385
  def to_hash: -> {
355
386
  attempt_id: String?,
356
387
  call_id: String,
357
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::direction,
388
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested::direction,
358
389
  email: String?,
359
390
  last_activity_at: top,
360
391
  name: String,
@@ -370,15 +401,15 @@ module Revox
370
401
  INBOUND: :inbound
371
402
  OUTBOUND: :outbound
372
403
 
373
- def self?.values: -> ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Hot::direction]
404
+ def self?.values: -> ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::CallbackRequested::direction]
374
405
  end
375
406
  end
376
407
 
377
- type warm =
408
+ type interested =
378
409
  {
379
410
  attempt_id: String?,
380
411
  call_id: String,
381
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::direction,
412
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested::direction,
382
413
  email: String?,
383
414
  last_activity_at: top,
384
415
  name: String,
@@ -386,12 +417,12 @@ module Revox
386
417
  summary: String?
387
418
  }
388
419
 
389
- class Warm < Revox::Internal::Type::BaseModel
420
+ class Interested < Revox::Internal::Type::BaseModel
390
421
  attr_accessor attempt_id: String?
391
422
 
392
423
  attr_accessor call_id: String
393
424
 
394
- attr_accessor direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::direction
425
+ attr_accessor direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested::direction
395
426
 
396
427
  attr_accessor email: String?
397
428
 
@@ -406,7 +437,7 @@ module Revox
406
437
  def initialize: (
407
438
  attempt_id: String?,
408
439
  call_id: String,
409
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::direction,
440
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested::direction,
410
441
  email: String?,
411
442
  last_activity_at: top,
412
443
  name: String,
@@ -417,7 +448,7 @@ module Revox
417
448
  def to_hash: -> {
418
449
  attempt_id: String?,
419
450
  call_id: String,
420
- direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::direction,
451
+ direction: Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested::direction,
421
452
  email: String?,
422
453
  last_activity_at: top,
423
454
  name: String,
@@ -433,7 +464,7 @@ module Revox
433
464
  INBOUND: :inbound
434
465
  OUTBOUND: :outbound
435
466
 
436
- def self?.values: -> ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Warm::direction]
467
+ def self?.values: -> ::Array[Revox::Models::CampaignStatisticsResponse::Statistics::Leads::Interested::direction]
437
468
  end
438
469
  end
439
470
  end
@@ -3,14 +3,10 @@ module Revox
3
3
  type campaign_update_params =
4
4
  {
5
5
  id: String,
6
- assistant_id: String,
7
6
  call_retry_config: Revox::CampaignUpdateParams::CallRetryConfig?,
8
- contacts: ::Array[Revox::CampaignUpdateParams::Contact],
9
7
  from_phone_number: String?,
10
8
  max_concurrent_calls: Float?,
11
- name: String,
12
- scheduled_at: Revox::Models::CampaignUpdateParams::scheduled_at?,
13
- type: Revox::Models::CampaignUpdateParams::type_
9
+ name: String
14
10
  }
15
11
  & Revox::Internal::Type::request_parameters
16
12
 
@@ -20,18 +16,8 @@ module Revox
20
16
 
21
17
  attr_accessor id: String
22
18
 
23
- attr_reader assistant_id: String?
24
-
25
- def assistant_id=: (String) -> String
26
-
27
19
  attr_accessor call_retry_config: Revox::CampaignUpdateParams::CallRetryConfig?
28
20
 
29
- attr_reader contacts: ::Array[Revox::CampaignUpdateParams::Contact]?
30
-
31
- def contacts=: (
32
- ::Array[Revox::CampaignUpdateParams::Contact]
33
- ) -> ::Array[Revox::CampaignUpdateParams::Contact]
34
-
35
21
  attr_accessor from_phone_number: String?
36
22
 
37
23
  attr_accessor max_concurrent_calls: Float?
@@ -40,37 +26,21 @@ module Revox
40
26
 
41
27
  def name=: (String) -> String
42
28
 
43
- attr_accessor scheduled_at: Revox::Models::CampaignUpdateParams::scheduled_at?
44
-
45
- attr_reader type: Revox::Models::CampaignUpdateParams::type_?
46
-
47
- def type=: (
48
- Revox::Models::CampaignUpdateParams::type_
49
- ) -> Revox::Models::CampaignUpdateParams::type_
50
-
51
29
  def initialize: (
52
30
  id: String,
53
- ?assistant_id: String,
54
31
  ?call_retry_config: Revox::CampaignUpdateParams::CallRetryConfig?,
55
- ?contacts: ::Array[Revox::CampaignUpdateParams::Contact],
56
32
  ?from_phone_number: String?,
57
33
  ?max_concurrent_calls: Float?,
58
34
  ?name: String,
59
- ?scheduled_at: Revox::Models::CampaignUpdateParams::scheduled_at?,
60
- ?type: Revox::Models::CampaignUpdateParams::type_,
61
35
  ?request_options: Revox::request_opts
62
36
  ) -> void
63
37
 
64
38
  def to_hash: -> {
65
39
  id: String,
66
- assistant_id: String,
67
40
  call_retry_config: Revox::CampaignUpdateParams::CallRetryConfig?,
68
- contacts: ::Array[Revox::CampaignUpdateParams::Contact],
69
41
  from_phone_number: String?,
70
42
  max_concurrent_calls: Float?,
71
43
  name: String,
72
- scheduled_at: Revox::Models::CampaignUpdateParams::scheduled_at?,
73
- type: Revox::Models::CampaignUpdateParams::type_,
74
44
  request_options: Revox::RequestOptions
75
45
  }
76
46
 
@@ -160,44 +130,6 @@ module Revox
160
130
  }
161
131
  end
162
132
  end
163
-
164
- type contact =
165
- { prompt_variables: ::Hash[Symbol, String], to_phone_number: String }
166
-
167
- class Contact < Revox::Internal::Type::BaseModel
168
- attr_accessor prompt_variables: ::Hash[Symbol, String]
169
-
170
- attr_accessor to_phone_number: String
171
-
172
- def initialize: (
173
- prompt_variables: ::Hash[Symbol, String],
174
- to_phone_number: String
175
- ) -> void
176
-
177
- def to_hash: -> {
178
- prompt_variables: ::Hash[Symbol, String],
179
- to_phone_number: String
180
- }
181
- end
182
-
183
- type scheduled_at = Time | top
184
-
185
- module ScheduledAt
186
- extend Revox::Internal::Type::Union
187
-
188
- def self?.variants: -> ::Array[Revox::Models::CampaignUpdateParams::scheduled_at]
189
- end
190
-
191
- type type_ = :regular | :jump_in
192
-
193
- module Type
194
- extend Revox::Internal::Type::Enum
195
-
196
- REGULAR: :regular
197
- JUMP_IN: :jump_in
198
-
199
- def self?.values: -> ::Array[Revox::Models::CampaignUpdateParams::type_]
200
- end
201
133
  end
202
134
  end
203
135
  end