surge_api 0.23.0 → 0.25.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 +28 -0
- data/README.md +9 -9
- data/lib/surge_api/client.rb +4 -0
- data/lib/surge_api/internal/type/union.rb +2 -2
- data/lib/surge_api/models/account_retrieve_status_params.rb +1 -0
- data/lib/surge_api/models/call_ended_webhook_event.rb +8 -3
- data/lib/surge_api/models/campaign.rb +21 -13
- data/lib/surge_api/models/campaign_approved_webhook_event.rb +9 -1
- data/lib/surge_api/models/campaign_params.rb +11 -12
- data/lib/surge_api/models/campaign_rejected_webhook_event.rb +135 -0
- data/lib/surge_api/models/campaign_submitted_webhook_event.rb +74 -0
- data/lib/surge_api/models/campaign_update_params.rb +188 -1
- data/lib/surge_api/models/campaign_warning_webhook_event.rb +134 -0
- data/lib/surge_api/models/message.rb +42 -2
- data/lib/surge_api/models/message_delivered_webhook_event.rb +29 -1
- data/lib/surge_api/models/message_failed_webhook_event.rb +26 -5
- data/lib/surge_api/models/message_received_webhook_event.rb +29 -1
- data/lib/surge_api/models/message_sent_webhook_event.rb +29 -1
- data/lib/surge_api/models/phone_number.rb +9 -1
- data/lib/surge_api/models/phone_number_attached_to_campaign_webhook_event.rb +9 -1
- data/lib/surge_api/models/phone_number_imported_webhook_event.rb +160 -0
- data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
- data/lib/surge_api/models/phone_number_update_params.rb +9 -1
- data/lib/surge_api/models/toll_free_campaign.rb +132 -0
- data/lib/surge_api/models/toll_free_campaign_consent_flow.rb +176 -0
- data/lib/surge_api/models/toll_free_campaign_create_params.rb +22 -0
- data/lib/surge_api/models/toll_free_campaign_list_params.rb +42 -0
- data/lib/surge_api/models/toll_free_campaign_params.rb +286 -0
- data/lib/surge_api/models/toll_free_campaign_retrieve_params.rb +22 -0
- data/lib/surge_api/models/toll_free_campaign_update_params.rb +278 -0
- data/lib/surge_api/models/unwrap_webhook_event.rb +9 -1
- data/lib/surge_api/models/user_create_token_params.rb +15 -1
- data/lib/surge_api/models.rb +22 -0
- data/lib/surge_api/resources/accounts.rb +2 -2
- data/lib/surge_api/resources/campaigns.rb +26 -8
- data/lib/surge_api/resources/phone_numbers.rb +6 -2
- data/lib/surge_api/resources/toll_free_campaigns.rb +140 -0
- data/lib/surge_api/resources/users.rb +6 -1
- data/lib/surge_api/resources/webhooks.rb +1 -1
- data/lib/surge_api/version.rb +1 -1
- data/lib/surge_api.rb +12 -0
- data/rbi/surge_api/client.rbi +3 -0
- data/rbi/surge_api/models/account_retrieve_status_params.rbi +5 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +6 -3
- data/rbi/surge_api/models/campaign.rbi +26 -19
- data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/campaign_params.rbi +17 -19
- data/rbi/surge_api/models/campaign_rejected_webhook_event.rbi +269 -0
- data/rbi/surge_api/models/campaign_submitted_webhook_event.rbi +149 -0
- data/rbi/surge_api/models/campaign_update_params.rbi +378 -1
- data/rbi/surge_api/models/campaign_warning_webhook_event.rbi +259 -0
- data/rbi/surge_api/models/message.rbi +50 -3
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +52 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +47 -5
- data/rbi/surge_api/models/message_received_webhook_event.rbi +49 -0
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +46 -0
- data/rbi/surge_api/models/phone_number.rbi +8 -0
- data/rbi/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/phone_number_imported_webhook_event.rbi +318 -0
- data/rbi/surge_api/models/phone_number_purchase_params.rbi +11 -0
- data/rbi/surge_api/models/phone_number_update_params.rbi +11 -0
- data/rbi/surge_api/models/toll_free_campaign.rbi +230 -0
- data/rbi/surge_api/models/toll_free_campaign_consent_flow.rbi +476 -0
- data/rbi/surge_api/models/toll_free_campaign_create_params.rbi +43 -0
- data/rbi/surge_api/models/toll_free_campaign_list_params.rbi +70 -0
- data/rbi/surge_api/models/toll_free_campaign_params.rbi +711 -0
- data/rbi/surge_api/models/toll_free_campaign_retrieve_params.rbi +43 -0
- data/rbi/surge_api/models/toll_free_campaign_update_params.rbi +760 -0
- data/rbi/surge_api/models/unwrap_webhook_event.rbi +4 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +17 -0
- data/rbi/surge_api/models.rbi +25 -0
- data/rbi/surge_api/resources/accounts.rbi +2 -2
- data/rbi/surge_api/resources/campaigns.rbi +94 -12
- data/rbi/surge_api/resources/phone_numbers.rbi +6 -0
- data/rbi/surge_api/resources/toll_free_campaigns.rbi +129 -0
- data/rbi/surge_api/resources/users.rbi +6 -0
- data/rbi/surge_api/resources/webhooks.rbi +4 -0
- data/sig/surge_api/client.rbs +2 -0
- data/sig/surge_api/models/account_retrieve_status_params.rbs +2 -1
- data/sig/surge_api/models/campaign.rbs +8 -1
- data/sig/surge_api/models/campaign_approved_webhook_event.rbs +5 -0
- data/sig/surge_api/models/campaign_rejected_webhook_event.rbs +115 -0
- data/sig/surge_api/models/campaign_submitted_webhook_event.rbs +67 -0
- data/sig/surge_api/models/campaign_update_params.rbs +128 -2
- data/sig/surge_api/models/campaign_warning_webhook_event.rbs +114 -0
- data/sig/surge_api/models/message.rbs +36 -3
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +20 -0
- data/sig/surge_api/models/message_failed_webhook_event.rbs +19 -4
- data/sig/surge_api/models/message_received_webhook_event.rbs +20 -0
- data/sig/surge_api/models/message_sent_webhook_event.rbs +20 -0
- data/sig/surge_api/models/phone_number.rbs +5 -0
- data/sig/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbs +5 -0
- data/sig/surge_api/models/phone_number_imported_webhook_event.rbs +130 -0
- data/sig/surge_api/models/phone_number_purchase_params.rbs +7 -0
- data/sig/surge_api/models/phone_number_update_params.rbs +12 -1
- data/sig/surge_api/models/toll_free_campaign.rbs +126 -0
- data/sig/surge_api/models/toll_free_campaign_consent_flow.rbs +207 -0
- data/sig/surge_api/models/toll_free_campaign_create_params.rbs +25 -0
- data/sig/surge_api/models/toll_free_campaign_list_params.rbs +36 -0
- data/sig/surge_api/models/toll_free_campaign_params.rbs +321 -0
- data/sig/surge_api/models/toll_free_campaign_retrieve_params.rbs +23 -0
- data/sig/surge_api/models/toll_free_campaign_update_params.rbs +332 -0
- data/sig/surge_api/models/unwrap_webhook_event.rbs +4 -0
- data/sig/surge_api/models/user_create_token_params.rbs +7 -1
- data/sig/surge_api/models.rbs +22 -0
- data/sig/surge_api/resources/campaigns.rbs +9 -1
- data/sig/surge_api/resources/phone_numbers.rbs +2 -0
- data/sig/surge_api/resources/toll_free_campaigns.rbs +44 -0
- data/sig/surge_api/resources/users.rbs +1 -0
- data/sig/surge_api/resources/webhooks.rbs +4 -0
- metadata +53 -7
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class PhoneNumberImportedWebhookEvent < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent,
|
|
10
|
+
SurgeAPI::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The ID of the account in which this event occurred
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
18
|
+
# The data associated with the event
|
|
19
|
+
sig { returns(SurgeAPI::PhoneNumberImportedWebhookEvent::Data) }
|
|
20
|
+
attr_reader :data
|
|
21
|
+
|
|
22
|
+
sig do
|
|
23
|
+
params(
|
|
24
|
+
data: SurgeAPI::PhoneNumberImportedWebhookEvent::Data::OrHash
|
|
25
|
+
).void
|
|
26
|
+
end
|
|
27
|
+
attr_writer :data
|
|
28
|
+
|
|
29
|
+
# The timestamp when this event occurred, in ISO8601 format
|
|
30
|
+
sig { returns(Time) }
|
|
31
|
+
attr_accessor :timestamp
|
|
32
|
+
|
|
33
|
+
# The type of the event. Always `phone_number.imported` for this event.
|
|
34
|
+
sig { returns(Symbol) }
|
|
35
|
+
attr_accessor :type
|
|
36
|
+
|
|
37
|
+
sig do
|
|
38
|
+
params(
|
|
39
|
+
account_id: String,
|
|
40
|
+
data: SurgeAPI::PhoneNumberImportedWebhookEvent::Data::OrHash,
|
|
41
|
+
timestamp: Time,
|
|
42
|
+
type: Symbol
|
|
43
|
+
).returns(T.attached_class)
|
|
44
|
+
end
|
|
45
|
+
def self.new(
|
|
46
|
+
# The ID of the account in which this event occurred
|
|
47
|
+
account_id:,
|
|
48
|
+
# The data associated with the event
|
|
49
|
+
data:,
|
|
50
|
+
# The timestamp when this event occurred, in ISO8601 format
|
|
51
|
+
timestamp:,
|
|
52
|
+
# The type of the event. Always `phone_number.imported` for this event.
|
|
53
|
+
type: :"phone_number.imported"
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
sig do
|
|
58
|
+
override.returns(
|
|
59
|
+
{
|
|
60
|
+
account_id: String,
|
|
61
|
+
data: SurgeAPI::PhoneNumberImportedWebhookEvent::Data,
|
|
62
|
+
timestamp: Time,
|
|
63
|
+
type: Symbol
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
def to_hash
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
class Data < SurgeAPI::Internal::Type::BaseModel
|
|
71
|
+
OrHash =
|
|
72
|
+
T.type_alias do
|
|
73
|
+
T.any(
|
|
74
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data,
|
|
75
|
+
SurgeAPI::Internal::AnyHash
|
|
76
|
+
)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# The unique identifier for the phone number
|
|
80
|
+
sig { returns(String) }
|
|
81
|
+
attr_accessor :id
|
|
82
|
+
|
|
83
|
+
# Campaign attachment details for a domestic local phone number
|
|
84
|
+
sig do
|
|
85
|
+
returns(
|
|
86
|
+
T.nilable(SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign)
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
attr_reader :campaign
|
|
90
|
+
|
|
91
|
+
sig do
|
|
92
|
+
params(
|
|
93
|
+
campaign:
|
|
94
|
+
T.nilable(
|
|
95
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::OrHash
|
|
96
|
+
)
|
|
97
|
+
).void
|
|
98
|
+
end
|
|
99
|
+
attr_writer :campaign
|
|
100
|
+
|
|
101
|
+
# Deprecated. The unique identifier of the campaign this phone number is attached
|
|
102
|
+
# to
|
|
103
|
+
sig { returns(T.nilable(String)) }
|
|
104
|
+
attr_accessor :campaign_id
|
|
105
|
+
|
|
106
|
+
# Set of key-value pairs that will be stored with the object.
|
|
107
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
108
|
+
attr_accessor :metadata
|
|
109
|
+
|
|
110
|
+
# A human-readable name for the phone number
|
|
111
|
+
sig { returns(T.nilable(String)) }
|
|
112
|
+
attr_accessor :name
|
|
113
|
+
|
|
114
|
+
# The phone number in E.164 format
|
|
115
|
+
sig { returns(String) }
|
|
116
|
+
attr_accessor :number
|
|
117
|
+
|
|
118
|
+
# Whether the phone number is local, toll-free, or short code
|
|
119
|
+
sig do
|
|
120
|
+
returns(
|
|
121
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
attr_accessor :type
|
|
125
|
+
|
|
126
|
+
# The data associated with the event
|
|
127
|
+
sig do
|
|
128
|
+
params(
|
|
129
|
+
id: String,
|
|
130
|
+
campaign:
|
|
131
|
+
T.nilable(
|
|
132
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::OrHash
|
|
133
|
+
),
|
|
134
|
+
campaign_id: T.nilable(String),
|
|
135
|
+
metadata: T::Hash[Symbol, String],
|
|
136
|
+
name: T.nilable(String),
|
|
137
|
+
number: String,
|
|
138
|
+
type:
|
|
139
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::OrSymbol
|
|
140
|
+
).returns(T.attached_class)
|
|
141
|
+
end
|
|
142
|
+
def self.new(
|
|
143
|
+
# The unique identifier for the phone number
|
|
144
|
+
id:,
|
|
145
|
+
# Campaign attachment details for a domestic local phone number
|
|
146
|
+
campaign:,
|
|
147
|
+
# Deprecated. The unique identifier of the campaign this phone number is attached
|
|
148
|
+
# to
|
|
149
|
+
campaign_id:,
|
|
150
|
+
# Set of key-value pairs that will be stored with the object.
|
|
151
|
+
metadata:,
|
|
152
|
+
# A human-readable name for the phone number
|
|
153
|
+
name:,
|
|
154
|
+
# The phone number in E.164 format
|
|
155
|
+
number:,
|
|
156
|
+
# Whether the phone number is local, toll-free, or short code
|
|
157
|
+
type:
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
sig do
|
|
162
|
+
override.returns(
|
|
163
|
+
{
|
|
164
|
+
id: String,
|
|
165
|
+
campaign:
|
|
166
|
+
T.nilable(
|
|
167
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign
|
|
168
|
+
),
|
|
169
|
+
campaign_id: T.nilable(String),
|
|
170
|
+
metadata: T::Hash[Symbol, String],
|
|
171
|
+
name: T.nilable(String),
|
|
172
|
+
number: String,
|
|
173
|
+
type:
|
|
174
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
175
|
+
}
|
|
176
|
+
)
|
|
177
|
+
end
|
|
178
|
+
def to_hash
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
class Campaign < SurgeAPI::Internal::Type::BaseModel
|
|
182
|
+
OrHash =
|
|
183
|
+
T.type_alias do
|
|
184
|
+
T.any(
|
|
185
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign,
|
|
186
|
+
SurgeAPI::Internal::AnyHash
|
|
187
|
+
)
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# The unique identifier of the campaign this phone number is attached to
|
|
191
|
+
sig { returns(String) }
|
|
192
|
+
attr_accessor :id
|
|
193
|
+
|
|
194
|
+
# The current campaign attachment status for this phone number.
|
|
195
|
+
sig do
|
|
196
|
+
returns(
|
|
197
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
attr_accessor :attachment_status
|
|
201
|
+
|
|
202
|
+
# Campaign attachment details for a domestic local phone number
|
|
203
|
+
sig do
|
|
204
|
+
params(
|
|
205
|
+
id: String,
|
|
206
|
+
attachment_status:
|
|
207
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::OrSymbol
|
|
208
|
+
).returns(T.attached_class)
|
|
209
|
+
end
|
|
210
|
+
def self.new(
|
|
211
|
+
# The unique identifier of the campaign this phone number is attached to
|
|
212
|
+
id:,
|
|
213
|
+
# The current campaign attachment status for this phone number.
|
|
214
|
+
attachment_status:
|
|
215
|
+
)
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
sig do
|
|
219
|
+
override.returns(
|
|
220
|
+
{
|
|
221
|
+
id: String,
|
|
222
|
+
attachment_status:
|
|
223
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
224
|
+
}
|
|
225
|
+
)
|
|
226
|
+
end
|
|
227
|
+
def to_hash
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
# The current campaign attachment status for this phone number.
|
|
231
|
+
module AttachmentStatus
|
|
232
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
233
|
+
|
|
234
|
+
TaggedSymbol =
|
|
235
|
+
T.type_alias do
|
|
236
|
+
T.all(
|
|
237
|
+
Symbol,
|
|
238
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus
|
|
239
|
+
)
|
|
240
|
+
end
|
|
241
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
242
|
+
|
|
243
|
+
ATTACHED =
|
|
244
|
+
T.let(
|
|
245
|
+
:attached,
|
|
246
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
247
|
+
)
|
|
248
|
+
ATTACHMENT_PENDING =
|
|
249
|
+
T.let(
|
|
250
|
+
:attachment_pending,
|
|
251
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
252
|
+
)
|
|
253
|
+
DETACHED =
|
|
254
|
+
T.let(
|
|
255
|
+
:detached,
|
|
256
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
257
|
+
)
|
|
258
|
+
DETACHMENT_PENDING =
|
|
259
|
+
T.let(
|
|
260
|
+
:detachment_pending,
|
|
261
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
262
|
+
)
|
|
263
|
+
|
|
264
|
+
sig do
|
|
265
|
+
override.returns(
|
|
266
|
+
T::Array[
|
|
267
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::AttachmentStatus::TaggedSymbol
|
|
268
|
+
]
|
|
269
|
+
)
|
|
270
|
+
end
|
|
271
|
+
def self.values
|
|
272
|
+
end
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
|
|
276
|
+
# Whether the phone number is local, toll-free, or short code
|
|
277
|
+
module Type
|
|
278
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
279
|
+
|
|
280
|
+
TaggedSymbol =
|
|
281
|
+
T.type_alias do
|
|
282
|
+
T.all(
|
|
283
|
+
Symbol,
|
|
284
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type
|
|
285
|
+
)
|
|
286
|
+
end
|
|
287
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
288
|
+
|
|
289
|
+
LOCAL =
|
|
290
|
+
T.let(
|
|
291
|
+
:local,
|
|
292
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
293
|
+
)
|
|
294
|
+
SHORT_CODE =
|
|
295
|
+
T.let(
|
|
296
|
+
:short_code,
|
|
297
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
298
|
+
)
|
|
299
|
+
TOLL_FREE =
|
|
300
|
+
T.let(
|
|
301
|
+
:toll_free,
|
|
302
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
sig do
|
|
306
|
+
override.returns(
|
|
307
|
+
T::Array[
|
|
308
|
+
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Type::TaggedSymbol
|
|
309
|
+
]
|
|
310
|
+
)
|
|
311
|
+
end
|
|
312
|
+
def self.values
|
|
313
|
+
end
|
|
314
|
+
end
|
|
315
|
+
end
|
|
316
|
+
end
|
|
317
|
+
end
|
|
318
|
+
end
|
|
@@ -42,6 +42,13 @@ module SurgeAPI
|
|
|
42
42
|
sig { params(longitude: Float).void }
|
|
43
43
|
attr_writer :longitude
|
|
44
44
|
|
|
45
|
+
# Set of key-value pairs that will be stored with the object.
|
|
46
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
47
|
+
attr_reader :metadata
|
|
48
|
+
|
|
49
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
|
50
|
+
attr_writer :metadata
|
|
51
|
+
|
|
45
52
|
# A human-readable name for the phone number. If not provided, defaults to the
|
|
46
53
|
# formatted phone number.
|
|
47
54
|
sig { returns(T.nilable(String)) }
|
|
@@ -76,6 +83,7 @@ module SurgeAPI
|
|
|
76
83
|
area_code: String,
|
|
77
84
|
latitude: Float,
|
|
78
85
|
longitude: Float,
|
|
86
|
+
metadata: T::Hash[Symbol, String],
|
|
79
87
|
name: String,
|
|
80
88
|
phone_number: String,
|
|
81
89
|
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
|
@@ -94,6 +102,8 @@ module SurgeAPI
|
|
|
94
102
|
# Longitude to search for nearby phone numbers. Must be used with latitude. If
|
|
95
103
|
# provided without type, type will be inferred as 'local'.
|
|
96
104
|
longitude: nil,
|
|
105
|
+
# Set of key-value pairs that will be stored with the object.
|
|
106
|
+
metadata: nil,
|
|
97
107
|
# A human-readable name for the phone number. If not provided, defaults to the
|
|
98
108
|
# formatted phone number.
|
|
99
109
|
name: nil,
|
|
@@ -114,6 +124,7 @@ module SurgeAPI
|
|
|
114
124
|
area_code: String,
|
|
115
125
|
latitude: Float,
|
|
116
126
|
longitude: Float,
|
|
127
|
+
metadata: T::Hash[Symbol, String],
|
|
117
128
|
name: String,
|
|
118
129
|
phone_number: String,
|
|
119
130
|
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
|
@@ -22,6 +22,13 @@ module SurgeAPI
|
|
|
22
22
|
sig { params(campaign_id: String).void }
|
|
23
23
|
attr_writer :campaign_id
|
|
24
24
|
|
|
25
|
+
# Set of key-value pairs that will be stored with the object.
|
|
26
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
27
|
+
attr_reader :metadata
|
|
28
|
+
|
|
29
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
|
30
|
+
attr_writer :metadata
|
|
31
|
+
|
|
25
32
|
# A human-readable name for the phone number.
|
|
26
33
|
sig { returns(T.nilable(String)) }
|
|
27
34
|
attr_reader :name
|
|
@@ -33,6 +40,7 @@ module SurgeAPI
|
|
|
33
40
|
params(
|
|
34
41
|
id: String,
|
|
35
42
|
campaign_id: String,
|
|
43
|
+
metadata: T::Hash[Symbol, String],
|
|
36
44
|
name: String,
|
|
37
45
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
38
46
|
).returns(T.attached_class)
|
|
@@ -42,6 +50,8 @@ module SurgeAPI
|
|
|
42
50
|
id:,
|
|
43
51
|
# Campaign ID to attach this number to (`cpn_...`).
|
|
44
52
|
campaign_id: nil,
|
|
53
|
+
# Set of key-value pairs that will be stored with the object.
|
|
54
|
+
metadata: nil,
|
|
45
55
|
# A human-readable name for the phone number.
|
|
46
56
|
name: nil,
|
|
47
57
|
request_options: {}
|
|
@@ -53,6 +63,7 @@ module SurgeAPI
|
|
|
53
63
|
{
|
|
54
64
|
id: String,
|
|
55
65
|
campaign_id: String,
|
|
66
|
+
metadata: T::Hash[Symbol, String],
|
|
56
67
|
name: String,
|
|
57
68
|
request_options: SurgeAPI::RequestOptions
|
|
58
69
|
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class TollFreeCampaign < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(SurgeAPI::TollFreeCampaign, SurgeAPI::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The toll-free campaign ID
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :id
|
|
14
|
+
|
|
15
|
+
sig { returns(T::Array[SurgeAPI::TollFreeCampaignConsentFlow::Variants]) }
|
|
16
|
+
attr_accessor :consent_flows
|
|
17
|
+
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_accessor :description
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
returns(T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol])
|
|
23
|
+
end
|
|
24
|
+
attr_accessor :includes
|
|
25
|
+
|
|
26
|
+
sig { returns(T::Array[String]) }
|
|
27
|
+
attr_accessor :message_samples
|
|
28
|
+
|
|
29
|
+
# The toll-free phone number ID
|
|
30
|
+
sig { returns(String) }
|
|
31
|
+
attr_accessor :phone_number_id
|
|
32
|
+
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_accessor :privacy_policy_url
|
|
35
|
+
|
|
36
|
+
# The current status of the toll-free campaign.
|
|
37
|
+
sig { returns(SurgeAPI::TollFreeCampaign::Status::TaggedSymbol) }
|
|
38
|
+
attr_accessor :status
|
|
39
|
+
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_accessor :terms_and_conditions_url
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
returns(T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol])
|
|
45
|
+
end
|
|
46
|
+
attr_accessor :use_cases
|
|
47
|
+
|
|
48
|
+
# A toll-free campaign registration for a phone number.
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
id: String,
|
|
52
|
+
consent_flows:
|
|
53
|
+
T::Array[
|
|
54
|
+
T.any(
|
|
55
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember0::OrHash,
|
|
56
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember1::OrHash,
|
|
57
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember2::OrHash,
|
|
58
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember3::OrHash,
|
|
59
|
+
SurgeAPI::TollFreeCampaignConsentFlow::Type::OrHash
|
|
60
|
+
)
|
|
61
|
+
],
|
|
62
|
+
description: T.nilable(String),
|
|
63
|
+
includes: T::Array[SurgeAPI::TollFreeCampaign::Include::OrSymbol],
|
|
64
|
+
message_samples: T::Array[String],
|
|
65
|
+
phone_number_id: String,
|
|
66
|
+
privacy_policy_url: T.nilable(String),
|
|
67
|
+
status: SurgeAPI::TollFreeCampaign::Status::OrSymbol,
|
|
68
|
+
terms_and_conditions_url: T.nilable(String),
|
|
69
|
+
use_cases: T::Array[SurgeAPI::TollFreeCampaign::UseCase::OrSymbol]
|
|
70
|
+
).returns(T.attached_class)
|
|
71
|
+
end
|
|
72
|
+
def self.new(
|
|
73
|
+
# The toll-free campaign ID
|
|
74
|
+
id:,
|
|
75
|
+
consent_flows:,
|
|
76
|
+
description:,
|
|
77
|
+
includes:,
|
|
78
|
+
message_samples:,
|
|
79
|
+
# The toll-free phone number ID
|
|
80
|
+
phone_number_id:,
|
|
81
|
+
privacy_policy_url:,
|
|
82
|
+
# The current status of the toll-free campaign.
|
|
83
|
+
status:,
|
|
84
|
+
terms_and_conditions_url:,
|
|
85
|
+
use_cases:
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
sig do
|
|
90
|
+
override.returns(
|
|
91
|
+
{
|
|
92
|
+
id: String,
|
|
93
|
+
consent_flows:
|
|
94
|
+
T::Array[SurgeAPI::TollFreeCampaignConsentFlow::Variants],
|
|
95
|
+
description: T.nilable(String),
|
|
96
|
+
includes:
|
|
97
|
+
T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol],
|
|
98
|
+
message_samples: T::Array[String],
|
|
99
|
+
phone_number_id: String,
|
|
100
|
+
privacy_policy_url: T.nilable(String),
|
|
101
|
+
status: SurgeAPI::TollFreeCampaign::Status::TaggedSymbol,
|
|
102
|
+
terms_and_conditions_url: T.nilable(String),
|
|
103
|
+
use_cases:
|
|
104
|
+
T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol]
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
def to_hash
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
module Include
|
|
112
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
113
|
+
|
|
114
|
+
TaggedSymbol =
|
|
115
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::Include) }
|
|
116
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
117
|
+
|
|
118
|
+
AGE_GATED =
|
|
119
|
+
T.let(:age_gated, SurgeAPI::TollFreeCampaign::Include::TaggedSymbol)
|
|
120
|
+
|
|
121
|
+
sig do
|
|
122
|
+
override.returns(
|
|
123
|
+
T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol]
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
def self.values
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# The current status of the toll-free campaign.
|
|
131
|
+
module Status
|
|
132
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
133
|
+
|
|
134
|
+
TaggedSymbol =
|
|
135
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::Status) }
|
|
136
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
137
|
+
|
|
138
|
+
ACTIVE =
|
|
139
|
+
T.let(:active, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
140
|
+
CANCELED =
|
|
141
|
+
T.let(:canceled, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
142
|
+
CREATED =
|
|
143
|
+
T.let(:created, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
144
|
+
IN_REVIEW =
|
|
145
|
+
T.let(:in_review, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
146
|
+
REJECTED =
|
|
147
|
+
T.let(:rejected, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
148
|
+
|
|
149
|
+
sig do
|
|
150
|
+
override.returns(
|
|
151
|
+
T::Array[SurgeAPI::TollFreeCampaign::Status::TaggedSymbol]
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
def self.values
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
module UseCase
|
|
159
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
160
|
+
|
|
161
|
+
TaggedSymbol =
|
|
162
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::UseCase) }
|
|
163
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
164
|
+
|
|
165
|
+
TWO_FACTOR_AUTHENTICATION =
|
|
166
|
+
T.let(
|
|
167
|
+
:two_factor_authentication,
|
|
168
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
169
|
+
)
|
|
170
|
+
ACCOUNT_NOTIFICATION =
|
|
171
|
+
T.let(
|
|
172
|
+
:account_notification,
|
|
173
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
174
|
+
)
|
|
175
|
+
CUSTOMER_CARE =
|
|
176
|
+
T.let(
|
|
177
|
+
:customer_care,
|
|
178
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
179
|
+
)
|
|
180
|
+
CHARITY =
|
|
181
|
+
T.let(:charity, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
182
|
+
DELIVERY_NOTIFICATION =
|
|
183
|
+
T.let(
|
|
184
|
+
:delivery_notification,
|
|
185
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
186
|
+
)
|
|
187
|
+
FRAUD_ALERT =
|
|
188
|
+
T.let(:fraud_alert, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
189
|
+
EVENT = T.let(:event, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
190
|
+
HIGHER_EDUCATION =
|
|
191
|
+
T.let(
|
|
192
|
+
:higher_education,
|
|
193
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
194
|
+
)
|
|
195
|
+
K12_EDUCATION =
|
|
196
|
+
T.let(
|
|
197
|
+
:k12_education,
|
|
198
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
199
|
+
)
|
|
200
|
+
MARKETING =
|
|
201
|
+
T.let(:marketing, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
202
|
+
POLLING_VOTING =
|
|
203
|
+
T.let(
|
|
204
|
+
:polling_voting,
|
|
205
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
206
|
+
)
|
|
207
|
+
POLITICAL =
|
|
208
|
+
T.let(:political, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
209
|
+
PUBLIC_SERVICE_ANNOUNCEMENT =
|
|
210
|
+
T.let(
|
|
211
|
+
:public_service_announcement,
|
|
212
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
213
|
+
)
|
|
214
|
+
SECURITY_ALERT =
|
|
215
|
+
T.let(
|
|
216
|
+
:security_alert,
|
|
217
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
sig do
|
|
221
|
+
override.returns(
|
|
222
|
+
T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol]
|
|
223
|
+
)
|
|
224
|
+
end
|
|
225
|
+
def self.values
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
end
|