revox 0.4.0 → 0.5.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 +7 -0
- data/README.md +11 -11
- data/lib/revox/models/campaign_launch_params.rb +201 -0
- data/lib/revox/models/campaign_launch_response.rb +3903 -0
- data/lib/revox/models.rb +2 -0
- data/lib/revox/resources/campaigns.rb +36 -0
- data/lib/revox/version.rb +1 -1
- data/lib/revox.rb +2 -0
- data/rbi/revox/models/campaign_launch_params.rbi +542 -0
- data/rbi/revox/models/campaign_launch_response.rbi +7889 -0
- data/rbi/revox/models.rbi +2 -0
- data/rbi/revox/resources/campaigns.rbi +26 -0
- data/sig/revox/models/campaign_launch_params.rbs +233 -0
- data/sig/revox/models/campaign_launch_response.rbs +3196 -0
- data/sig/revox/models.rbs +2 -0
- data/sig/revox/resources/campaigns.rbs +8 -0
- metadata +7 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 41aac7797615fd013e839d0c86fdfa4d91e63bf84aefd38a5dba8b5b21adaadb
|
|
4
|
+
data.tar.gz: e1debea088c862fc5e8fb25af0e3d3922c182b0f31bf68f39764b97daecc1474
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d3560afab65ac8e1156b3a82795817bad62024de8e00571a39602e874aa4415c873ce1180339606bbe8120a524c5265f36622c59ec6a9414bed3e28293f96a5
|
|
7
|
+
data.tar.gz: a63fa996ca7d7a93725fd9d55c3f8169b84200e659a4cd48b3d533211414eb444f90025d5dfde9dc453d5a3d7981af1ac8fe07847366f415cd31de9d533e55af
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/revoxai/revox-ruby/compare/v0.4.0...v0.5.0) (2026-08-24)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add campaigns.launch for starting campaign calls ([ac41a27](https://github.com/revoxai/revox-ruby/commit/ac41a279c94ddacab86ac8e5d0c79d6909b031f5))
|
|
9
|
+
|
|
3
10
|
## 0.4.0 (2026-08-21)
|
|
4
11
|
|
|
5
12
|
Full Changelog: [v0.3.0...v0.4.0](https://github.com/revoxai/revox-ruby/compare/v0.3.0...v0.4.0)
|
data/README.md
CHANGED
|
@@ -8,8 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
|
8
8
|
|
|
9
9
|
Use the Revox MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
10
10
|
|
|
11
|
-
[](https://cursor.com/en-US/install-mcp?name=%40revoxai%2Fsdk-mcp&config=
|
|
12
|
-
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40revoxai%2Fsdk-mcp%22%2C%
|
|
11
|
+
[](https://cursor.com/en-US/install-mcp?name=%40revoxai%2Fsdk-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkByZXZveGFpL3Nkay1tY3AiXSwiZW52Ijp7IlJFVk9YX0FQSV9LRVkiOiJNeSBBUEkgS2V5In19)
|
|
12
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40revoxai%2Fsdk-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40revoxai%2Fsdk-mcp%22%5D%2C%22env%22%3A%7B%22REVOX_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)
|
|
13
13
|
|
|
14
14
|
> Note: You may need to set environment variables in your MCP client.
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
24
24
|
<!-- x-release-please-start-version -->
|
|
25
25
|
|
|
26
26
|
```ruby
|
|
27
|
-
gem "revox", "~> 0.
|
|
27
|
+
gem "revox", "~> 0.5.0"
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
<!-- x-release-please-end -->
|
|
@@ -262,25 +262,25 @@ revox.campaigns.create(**params)
|
|
|
262
262
|
Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
|
|
263
263
|
|
|
264
264
|
```ruby
|
|
265
|
-
# :
|
|
266
|
-
puts(Revox::
|
|
265
|
+
# :ai_first
|
|
266
|
+
puts(Revox::CampaignLaunchParams::Mode::AI_FIRST)
|
|
267
267
|
|
|
268
|
-
# Revealed type: `T.all(Revox::
|
|
269
|
-
T.reveal_type(Revox::
|
|
268
|
+
# Revealed type: `T.all(Revox::CampaignLaunchParams::Mode, Symbol)`
|
|
269
|
+
T.reveal_type(Revox::CampaignLaunchParams::Mode::AI_FIRST)
|
|
270
270
|
```
|
|
271
271
|
|
|
272
272
|
Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
|
|
273
273
|
|
|
274
274
|
```ruby
|
|
275
275
|
# Using the enum constants preserves the tagged type information:
|
|
276
|
-
revox.
|
|
277
|
-
|
|
276
|
+
revox.campaigns.launch(
|
|
277
|
+
mode: Revox::CampaignLaunchParams::Mode::AI_FIRST,
|
|
278
278
|
# …
|
|
279
279
|
)
|
|
280
280
|
|
|
281
281
|
# Literal values are also permissible:
|
|
282
|
-
revox.
|
|
283
|
-
|
|
282
|
+
revox.campaigns.launch(
|
|
283
|
+
mode: :ai_first,
|
|
284
284
|
# …
|
|
285
285
|
)
|
|
286
286
|
```
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Revox
|
|
4
|
+
module Models
|
|
5
|
+
# @see Revox::Resources::Campaigns#launch
|
|
6
|
+
class CampaignLaunchParams < Revox::Internal::Type::BaseModel
|
|
7
|
+
extend Revox::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Revox::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute id
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :id, String
|
|
14
|
+
|
|
15
|
+
# @!attribute mode
|
|
16
|
+
#
|
|
17
|
+
# @return [Symbol, Revox::Models::CampaignLaunchParams::Mode]
|
|
18
|
+
required :mode, enum: -> { Revox::CampaignLaunchParams::Mode }
|
|
19
|
+
|
|
20
|
+
# @!attribute selection
|
|
21
|
+
#
|
|
22
|
+
# @return [Revox::Models::CampaignLaunchParams::Selection]
|
|
23
|
+
required :selection, -> { Revox::CampaignLaunchParams::Selection }
|
|
24
|
+
|
|
25
|
+
# @!attribute scheduled_at
|
|
26
|
+
# When to place the calls (ISO 8601). Omit to launch now. ai_first only — a speed
|
|
27
|
+
# dial session cannot be scheduled.
|
|
28
|
+
#
|
|
29
|
+
# @return [Time, nil]
|
|
30
|
+
optional :scheduled_at, Time
|
|
31
|
+
|
|
32
|
+
# @!method initialize(id:, mode:, selection:, scheduled_at: nil, request_options: {})
|
|
33
|
+
# Some parameter documentations has been truncated, see
|
|
34
|
+
# {Revox::Models::CampaignLaunchParams} for more details.
|
|
35
|
+
#
|
|
36
|
+
# @param id [String]
|
|
37
|
+
#
|
|
38
|
+
# @param mode [Symbol, Revox::Models::CampaignLaunchParams::Mode]
|
|
39
|
+
#
|
|
40
|
+
# @param selection [Revox::Models::CampaignLaunchParams::Selection]
|
|
41
|
+
#
|
|
42
|
+
# @param scheduled_at [Time] When to place the calls (ISO 8601). Omit to launch now. ai_first only — a speed
|
|
43
|
+
#
|
|
44
|
+
# @param request_options [Revox::RequestOptions, Hash{Symbol=>Object}]
|
|
45
|
+
|
|
46
|
+
module Mode
|
|
47
|
+
extend Revox::Internal::Type::Enum
|
|
48
|
+
|
|
49
|
+
AI_FIRST = :ai_first
|
|
50
|
+
SPEED_DIAL = :speed_dial
|
|
51
|
+
|
|
52
|
+
# @!method self.values
|
|
53
|
+
# @return [Array<Symbol>]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
class Selection < Revox::Internal::Type::BaseModel
|
|
57
|
+
# @!attribute filters
|
|
58
|
+
#
|
|
59
|
+
# @return [Revox::Models::CampaignLaunchParams::Selection::Filters]
|
|
60
|
+
required :filters, -> { Revox::CampaignLaunchParams::Selection::Filters }
|
|
61
|
+
|
|
62
|
+
# @!attribute rows
|
|
63
|
+
#
|
|
64
|
+
# @return [Revox::Models::CampaignLaunchParams::Selection::Rows]
|
|
65
|
+
required :rows, -> { Revox::CampaignLaunchParams::Selection::Rows }
|
|
66
|
+
|
|
67
|
+
# @!method initialize(filters:, rows:)
|
|
68
|
+
# @param filters [Revox::Models::CampaignLaunchParams::Selection::Filters]
|
|
69
|
+
# @param rows [Revox::Models::CampaignLaunchParams::Selection::Rows]
|
|
70
|
+
|
|
71
|
+
# @see Revox::Models::CampaignLaunchParams::Selection#filters
|
|
72
|
+
class Filters < Revox::Internal::Type::BaseModel
|
|
73
|
+
# @!attribute assignee_ids
|
|
74
|
+
#
|
|
75
|
+
# @return [Array<String>]
|
|
76
|
+
required :assignee_ids, Revox::Internal::Type::ArrayOf[String]
|
|
77
|
+
|
|
78
|
+
# @!attribute directions
|
|
79
|
+
#
|
|
80
|
+
# @return [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Direction>]
|
|
81
|
+
required :directions,
|
|
82
|
+
-> { Revox::Internal::Type::ArrayOf[enum: Revox::CampaignLaunchParams::Selection::Filters::Direction] }
|
|
83
|
+
|
|
84
|
+
# @!attribute outcomes
|
|
85
|
+
#
|
|
86
|
+
# @return [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Outcome>]
|
|
87
|
+
required :outcomes,
|
|
88
|
+
-> { Revox::Internal::Type::ArrayOf[enum: Revox::CampaignLaunchParams::Selection::Filters::Outcome] }
|
|
89
|
+
|
|
90
|
+
# @!attribute results
|
|
91
|
+
#
|
|
92
|
+
# @return [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Result>]
|
|
93
|
+
required :results,
|
|
94
|
+
-> { Revox::Internal::Type::ArrayOf[enum: Revox::CampaignLaunchParams::Selection::Filters::Result] }
|
|
95
|
+
|
|
96
|
+
# @!attribute statuses
|
|
97
|
+
#
|
|
98
|
+
# @return [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Status>]
|
|
99
|
+
required :statuses,
|
|
100
|
+
-> { Revox::Internal::Type::ArrayOf[enum: Revox::CampaignLaunchParams::Selection::Filters::Status] }
|
|
101
|
+
|
|
102
|
+
# @!attribute query
|
|
103
|
+
#
|
|
104
|
+
# @return [String, nil]
|
|
105
|
+
optional :query, String
|
|
106
|
+
|
|
107
|
+
# @!method initialize(assignee_ids:, directions:, outcomes:, results:, statuses:, query: nil)
|
|
108
|
+
# @param assignee_ids [Array<String>]
|
|
109
|
+
# @param directions [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Direction>]
|
|
110
|
+
# @param outcomes [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Outcome>]
|
|
111
|
+
# @param results [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Result>]
|
|
112
|
+
# @param statuses [Array<Symbol, Revox::Models::CampaignLaunchParams::Selection::Filters::Status>]
|
|
113
|
+
# @param query [String]
|
|
114
|
+
|
|
115
|
+
module Direction
|
|
116
|
+
extend Revox::Internal::Type::Enum
|
|
117
|
+
|
|
118
|
+
INBOUND = :inbound
|
|
119
|
+
OUTBOUND = :outbound
|
|
120
|
+
|
|
121
|
+
# @!method self.values
|
|
122
|
+
# @return [Array<Symbol>]
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
module Outcome
|
|
126
|
+
extend Revox::Internal::Type::Enum
|
|
127
|
+
|
|
128
|
+
NOT_INTERESTED = :not_interested
|
|
129
|
+
INTERESTED = :interested
|
|
130
|
+
COMPLETED = :completed
|
|
131
|
+
REQUESTED_CALLBACK_LATER = :requested_callback_later
|
|
132
|
+
NONE = :none
|
|
133
|
+
|
|
134
|
+
# @!method self.values
|
|
135
|
+
# @return [Array<Symbol>]
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
module Result
|
|
139
|
+
extend Revox::Internal::Type::Enum
|
|
140
|
+
|
|
141
|
+
IVR = :IVR
|
|
142
|
+
VOICEMAIL = :voicemail
|
|
143
|
+
HUMAN = :human
|
|
144
|
+
UNKNOWN = :unknown
|
|
145
|
+
IOS_SCREENING_FILTER = :"ios-screening-filter"
|
|
146
|
+
NONE = :none
|
|
147
|
+
|
|
148
|
+
# @!method self.values
|
|
149
|
+
# @return [Array<Symbol>]
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
module Status
|
|
153
|
+
extend Revox::Internal::Type::Enum
|
|
154
|
+
|
|
155
|
+
INITIALIZING = :initializing
|
|
156
|
+
QUEUED_FOR_CALLING = :queued_for_calling
|
|
157
|
+
CALLING = :calling
|
|
158
|
+
POST_PROCESSING = :post_processing
|
|
159
|
+
NOT_LAUNCHED = :not_launched
|
|
160
|
+
SCHEDULED = :scheduled
|
|
161
|
+
PAUSED = :paused
|
|
162
|
+
COMPLETED = :completed
|
|
163
|
+
CANCELLED = :cancelled
|
|
164
|
+
ERRORED = :errored
|
|
165
|
+
|
|
166
|
+
# @!method self.values
|
|
167
|
+
# @return [Array<Symbol>]
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# @see Revox::Models::CampaignLaunchParams::Selection#rows
|
|
172
|
+
class Rows < Revox::Internal::Type::BaseModel
|
|
173
|
+
# @!attribute call_ids
|
|
174
|
+
#
|
|
175
|
+
# @return [Array<String>]
|
|
176
|
+
required :call_ids, Revox::Internal::Type::ArrayOf[String]
|
|
177
|
+
|
|
178
|
+
# @!attribute mode
|
|
179
|
+
#
|
|
180
|
+
# @return [Symbol, Revox::Models::CampaignLaunchParams::Selection::Rows::Mode]
|
|
181
|
+
required :mode, enum: -> { Revox::CampaignLaunchParams::Selection::Rows::Mode }
|
|
182
|
+
|
|
183
|
+
# @!method initialize(call_ids:, mode:)
|
|
184
|
+
# @param call_ids [Array<String>]
|
|
185
|
+
# @param mode [Symbol, Revox::Models::CampaignLaunchParams::Selection::Rows::Mode]
|
|
186
|
+
|
|
187
|
+
# @see Revox::Models::CampaignLaunchParams::Selection::Rows#mode
|
|
188
|
+
module Mode
|
|
189
|
+
extend Revox::Internal::Type::Enum
|
|
190
|
+
|
|
191
|
+
ALL_EXCEPT = :all_except
|
|
192
|
+
ONLY = :only
|
|
193
|
+
|
|
194
|
+
# @!method self.values
|
|
195
|
+
# @return [Array<Symbol>]
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
end
|