surge_api 0.17.0 → 0.19.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 +30 -0
- data/README.md +51 -16
- data/lib/surge_api/client.rb +22 -1
- data/lib/surge_api/internal/transport/base_client.rb +5 -0
- data/lib/surge_api/internal/util.rb +22 -7
- data/lib/surge_api/models/account_archive_params.rb +9 -1
- data/lib/surge_api/models/account_retrieve_status_params.rb +9 -1
- data/lib/surge_api/models/account_update_params.rb +9 -1
- data/lib/surge_api/models/attachment_get_file_params.rb +9 -1
- data/lib/surge_api/models/audience_add_contact_params.rb +9 -1
- data/lib/surge_api/models/audience_create_params.rb +9 -1
- data/lib/surge_api/models/audience_list_contacts_params.rb +9 -1
- data/lib/surge_api/models/blast_create_params.rb +9 -1
- data/lib/surge_api/models/call_ended_webhook_event.rb +25 -1
- data/lib/surge_api/models/campaign_create_params.rb +6 -10
- data/lib/surge_api/models/campaign_list_params.rb +9 -1
- data/lib/surge_api/models/campaign_retrieve_params.rb +9 -1
- data/lib/surge_api/models/campaign_update_params.rb +6 -10
- data/lib/surge_api/models/contact_create_params.rb +9 -1
- data/lib/surge_api/models/contact_list_params.rb +9 -1
- data/lib/surge_api/models/contact_retrieve_params.rb +9 -1
- data/lib/surge_api/models/contact_update_params.rb +9 -1
- data/lib/surge_api/models/message.rb +1 -0
- data/lib/surge_api/models/message_create_params.rb +6 -11
- data/lib/surge_api/models/message_delivered_webhook_event.rb +1 -0
- data/lib/surge_api/models/message_failed_webhook_event.rb +1 -0
- data/lib/surge_api/models/message_list_params.rb +9 -1
- data/lib/surge_api/models/message_params.rb +74 -2
- data/lib/surge_api/models/message_received_webhook_event.rb +1 -0
- data/lib/surge_api/models/message_retrieve_params.rb +9 -1
- data/lib/surge_api/models/message_sent_webhook_event.rb +1 -0
- data/lib/surge_api/models/phone_number.rb +1 -1
- data/lib/surge_api/models/phone_number_list_params.rb +9 -1
- data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
- data/lib/surge_api/models/phone_number_release_params.rb +22 -0
- data/lib/surge_api/models/phone_number_update_params.rb +38 -0
- data/lib/surge_api/models/recording_completed_webhook_event.rb +25 -1
- data/lib/surge_api/models/recording_delete_params.rb +9 -1
- data/lib/surge_api/models/recording_get_file_params.rb +9 -1
- data/lib/surge_api/models/recording_list_params.rb +9 -1
- data/lib/surge_api/models/recording_retrieve_params.rb +9 -1
- data/lib/surge_api/models/user_create_params.rb +9 -1
- data/lib/surge_api/models/user_create_token_params.rb +9 -1
- data/lib/surge_api/models/user_delete_params.rb +9 -1
- data/lib/surge_api/models/user_list_params.rb +9 -1
- data/lib/surge_api/models/user_retrieve_params.rb +9 -1
- data/lib/surge_api/models/user_update_params.rb +9 -1
- data/lib/surge_api/models/verification_check_params.rb +9 -1
- data/lib/surge_api/models/verification_create_params.rb +9 -1
- data/lib/surge_api/models/voicemail_received_webhook_event.rb +25 -1
- data/lib/surge_api/models.rb +4 -0
- data/lib/surge_api/resources/campaigns.rb +4 -14
- data/lib/surge_api/resources/messages.rb +6 -7
- data/lib/surge_api/resources/phone_numbers.rb +46 -0
- data/lib/surge_api/resources/verifications.rb +7 -4
- data/lib/surge_api/resources/webhooks.rb +11 -1
- data/lib/surge_api/version.rb +1 -1
- data/lib/surge_api.rb +3 -0
- data/rbi/surge_api/client.rbi +6 -0
- data/rbi/surge_api/internal/util.rbi +8 -0
- data/rbi/surge_api/models/account_archive_params.rbi +18 -5
- data/rbi/surge_api/models/account_retrieve_status_params.rbi +8 -0
- data/rbi/surge_api/models/account_update_params.rbi +8 -0
- data/rbi/surge_api/models/attachment_get_file_params.rbi +18 -5
- data/rbi/surge_api/models/audience_add_contact_params.rbi +12 -1
- data/rbi/surge_api/models/audience_create_params.rbi +12 -1
- data/rbi/surge_api/models/audience_list_contacts_params.rbi +8 -0
- data/rbi/surge_api/models/blast_create_params.rbi +8 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +27 -3
- data/rbi/surge_api/models/campaign_create_params.rbi +7 -27
- data/rbi/surge_api/models/campaign_list_params.rbi +8 -0
- data/rbi/surge_api/models/campaign_retrieve_params.rbi +18 -5
- data/rbi/surge_api/models/campaign_update_params.rbi +7 -27
- data/rbi/surge_api/models/contact_create_params.rbi +8 -0
- data/rbi/surge_api/models/contact_list_params.rbi +8 -0
- data/rbi/surge_api/models/contact_retrieve_params.rbi +18 -5
- data/rbi/surge_api/models/contact_update_params.rbi +8 -0
- data/rbi/surge_api/models/message.rbi +2 -0
- data/rbi/surge_api/models/message_create_params.rbi +7 -29
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +5 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +5 -0
- data/rbi/surge_api/models/message_list_params.rbi +8 -0
- data/rbi/surge_api/models/message_params.rbi +225 -6
- data/rbi/surge_api/models/message_received_webhook_event.rbi +5 -0
- data/rbi/surge_api/models/message_retrieve_params.rbi +18 -5
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +5 -0
- data/rbi/surge_api/models/phone_number_list_params.rbi +8 -0
- data/rbi/surge_api/models/phone_number_purchase_params.rbi +8 -0
- data/rbi/surge_api/models/phone_number_release_params.rbi +40 -0
- data/rbi/surge_api/models/phone_number_update_params.rbi +65 -0
- data/rbi/surge_api/models/recording_completed_webhook_event.rbi +27 -3
- data/rbi/surge_api/models/recording_delete_params.rbi +18 -5
- data/rbi/surge_api/models/recording_get_file_params.rbi +18 -5
- data/rbi/surge_api/models/recording_list_params.rbi +8 -0
- data/rbi/surge_api/models/recording_retrieve_params.rbi +18 -5
- data/rbi/surge_api/models/user_create_params.rbi +8 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +8 -0
- data/rbi/surge_api/models/user_delete_params.rbi +18 -5
- data/rbi/surge_api/models/user_list_params.rbi +8 -0
- data/rbi/surge_api/models/user_retrieve_params.rbi +18 -5
- data/rbi/surge_api/models/user_update_params.rbi +8 -0
- data/rbi/surge_api/models/verification_check_params.rbi +12 -1
- data/rbi/surge_api/models/verification_create_params.rbi +12 -1
- data/rbi/surge_api/models/voicemail_received_webhook_event.rbi +27 -3
- data/rbi/surge_api/models.rbi +4 -0
- data/rbi/surge_api/resources/campaigns.rbi +10 -2
- data/rbi/surge_api/resources/messages.rbi +9 -1
- data/rbi/surge_api/resources/phone_numbers.rbi +34 -0
- data/rbi/surge_api/resources/verifications.rbi +5 -1
- data/rbi/surge_api/resources/webhooks.rbi +10 -2
- data/sig/surge_api/client.rbs +3 -0
- data/sig/surge_api/internal/util.rbs +4 -0
- data/sig/surge_api/models/account_archive_params.rbs +8 -3
- data/sig/surge_api/models/account_retrieve_status_params.rbs +5 -0
- data/sig/surge_api/models/account_update_params.rbs +5 -0
- data/sig/surge_api/models/attachment_get_file_params.rbs +11 -3
- data/sig/surge_api/models/audience_add_contact_params.rbs +10 -2
- data/sig/surge_api/models/audience_create_params.rbs +6 -1
- data/sig/surge_api/models/audience_list_contacts_params.rbs +5 -1
- data/sig/surge_api/models/blast_create_params.rbs +5 -0
- data/sig/surge_api/models/call_ended_webhook_event.rbs +18 -3
- data/sig/surge_api/models/campaign_create_params.rbs +4 -9
- data/sig/surge_api/models/campaign_list_params.rbs +5 -1
- data/sig/surge_api/models/campaign_retrieve_params.rbs +8 -3
- data/sig/surge_api/models/campaign_update_params.rbs +4 -12
- data/sig/surge_api/models/contact_create_params.rbs +5 -0
- data/sig/surge_api/models/contact_list_params.rbs +5 -1
- data/sig/surge_api/models/contact_retrieve_params.rbs +8 -3
- data/sig/surge_api/models/contact_update_params.rbs +5 -0
- data/sig/surge_api/models/message.rbs +2 -1
- data/sig/surge_api/models/message_create_params.rbs +4 -9
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +2 -1
- data/sig/surge_api/models/message_failed_webhook_event.rbs +2 -1
- data/sig/surge_api/models/message_list_params.rbs +5 -1
- data/sig/surge_api/models/message_params.rbs +88 -6
- data/sig/surge_api/models/message_received_webhook_event.rbs +2 -1
- data/sig/surge_api/models/message_retrieve_params.rbs +8 -3
- data/sig/surge_api/models/message_sent_webhook_event.rbs +2 -1
- data/sig/surge_api/models/phone_number_list_params.rbs +5 -1
- data/sig/surge_api/models/phone_number_purchase_params.rbs +5 -0
- data/sig/surge_api/models/phone_number_release_params.rbs +20 -0
- data/sig/surge_api/models/phone_number_update_params.rbs +36 -0
- data/sig/surge_api/models/recording_completed_webhook_event.rbs +18 -3
- data/sig/surge_api/models/recording_delete_params.rbs +8 -3
- data/sig/surge_api/models/recording_get_file_params.rbs +11 -3
- data/sig/surge_api/models/recording_list_params.rbs +5 -1
- data/sig/surge_api/models/recording_retrieve_params.rbs +8 -3
- data/sig/surge_api/models/user_create_params.rbs +5 -0
- data/sig/surge_api/models/user_create_token_params.rbs +5 -1
- data/sig/surge_api/models/user_delete_params.rbs +8 -3
- data/sig/surge_api/models/user_list_params.rbs +5 -1
- data/sig/surge_api/models/user_retrieve_params.rbs +8 -3
- data/sig/surge_api/models/user_update_params.rbs +5 -0
- data/sig/surge_api/models/verification_check_params.rbs +6 -1
- data/sig/surge_api/models/verification_create_params.rbs +6 -1
- data/sig/surge_api/models/voicemail_received_webhook_event.rbs +18 -3
- data/sig/surge_api/models.rbs +4 -0
- data/sig/surge_api/resources/campaigns.rbs +2 -2
- data/sig/surge_api/resources/messages.rbs +1 -1
- data/sig/surge_api/resources/phone_numbers.rbs +12 -0
- data/sig/surge_api/resources/verifications.rbs +1 -0
- data/sig/surge_api/resources/webhooks.rbs +3 -1
- metadata +22 -2
|
@@ -85,6 +85,24 @@ module SurgeAPI
|
|
|
85
85
|
sig { params(send_at: Time).void }
|
|
86
86
|
attr_writer :send_at
|
|
87
87
|
|
|
88
|
+
# Per-message setting overrides.
|
|
89
|
+
sig do
|
|
90
|
+
returns(
|
|
91
|
+
T.nilable(
|
|
92
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
|
|
93
|
+
)
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
attr_reader :settings
|
|
97
|
+
|
|
98
|
+
sig do
|
|
99
|
+
params(
|
|
100
|
+
settings:
|
|
101
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::OrHash
|
|
102
|
+
).void
|
|
103
|
+
end
|
|
104
|
+
attr_writer :settings
|
|
105
|
+
|
|
88
106
|
# Create a message while including parameters for the conversation in which the
|
|
89
107
|
# message should be sent.
|
|
90
108
|
sig do
|
|
@@ -97,7 +115,9 @@ module SurgeAPI
|
|
|
97
115
|
],
|
|
98
116
|
body: String,
|
|
99
117
|
metadata: T::Hash[Symbol, String],
|
|
100
|
-
send_at: Time
|
|
118
|
+
send_at: Time,
|
|
119
|
+
settings:
|
|
120
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::OrHash
|
|
101
121
|
).returns(T.attached_class)
|
|
102
122
|
end
|
|
103
123
|
def self.new(
|
|
@@ -111,7 +131,9 @@ module SurgeAPI
|
|
|
111
131
|
metadata: nil,
|
|
112
132
|
# An optional datetime for scheduling message up to a couple of months in the
|
|
113
133
|
# future.
|
|
114
|
-
send_at: nil
|
|
134
|
+
send_at: nil,
|
|
135
|
+
# Per-message setting overrides.
|
|
136
|
+
settings: nil
|
|
115
137
|
)
|
|
116
138
|
end
|
|
117
139
|
|
|
@@ -126,7 +148,9 @@ module SurgeAPI
|
|
|
126
148
|
],
|
|
127
149
|
body: String,
|
|
128
150
|
metadata: T::Hash[Symbol, String],
|
|
129
|
-
send_at: Time
|
|
151
|
+
send_at: Time,
|
|
152
|
+
settings:
|
|
153
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings
|
|
130
154
|
}
|
|
131
155
|
)
|
|
132
156
|
end
|
|
@@ -302,6 +326,93 @@ module SurgeAPI
|
|
|
302
326
|
def to_hash
|
|
303
327
|
end
|
|
304
328
|
end
|
|
329
|
+
|
|
330
|
+
class Settings < SurgeAPI::Internal::Type::BaseModel
|
|
331
|
+
OrHash =
|
|
332
|
+
T.type_alias do
|
|
333
|
+
T.any(
|
|
334
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings,
|
|
335
|
+
SurgeAPI::Internal::AnyHash
|
|
336
|
+
)
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
# Override link shortening for this message.
|
|
340
|
+
sig do
|
|
341
|
+
returns(
|
|
342
|
+
T.nilable(
|
|
343
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::OrSymbol
|
|
344
|
+
)
|
|
345
|
+
)
|
|
346
|
+
end
|
|
347
|
+
attr_reader :link_shortening
|
|
348
|
+
|
|
349
|
+
sig do
|
|
350
|
+
params(
|
|
351
|
+
link_shortening:
|
|
352
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::OrSymbol
|
|
353
|
+
).void
|
|
354
|
+
end
|
|
355
|
+
attr_writer :link_shortening
|
|
356
|
+
|
|
357
|
+
# Per-message setting overrides.
|
|
358
|
+
sig do
|
|
359
|
+
params(
|
|
360
|
+
link_shortening:
|
|
361
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::OrSymbol
|
|
362
|
+
).returns(T.attached_class)
|
|
363
|
+
end
|
|
364
|
+
def self.new(
|
|
365
|
+
# Override link shortening for this message.
|
|
366
|
+
link_shortening: nil
|
|
367
|
+
)
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
sig do
|
|
371
|
+
override.returns(
|
|
372
|
+
{
|
|
373
|
+
link_shortening:
|
|
374
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::OrSymbol
|
|
375
|
+
}
|
|
376
|
+
)
|
|
377
|
+
end
|
|
378
|
+
def to_hash
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
# Override link shortening for this message.
|
|
382
|
+
module LinkShortening
|
|
383
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
384
|
+
|
|
385
|
+
TaggedSymbol =
|
|
386
|
+
T.type_alias do
|
|
387
|
+
T.all(
|
|
388
|
+
Symbol,
|
|
389
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening
|
|
390
|
+
)
|
|
391
|
+
end
|
|
392
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
393
|
+
|
|
394
|
+
ENABLED =
|
|
395
|
+
T.let(
|
|
396
|
+
:enabled,
|
|
397
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::TaggedSymbol
|
|
398
|
+
)
|
|
399
|
+
DISABLED =
|
|
400
|
+
T.let(
|
|
401
|
+
:disabled,
|
|
402
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::TaggedSymbol
|
|
403
|
+
)
|
|
404
|
+
|
|
405
|
+
sig do
|
|
406
|
+
override.returns(
|
|
407
|
+
T::Array[
|
|
408
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::Settings::LinkShortening::TaggedSymbol
|
|
409
|
+
]
|
|
410
|
+
)
|
|
411
|
+
end
|
|
412
|
+
def self.values
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
end
|
|
305
416
|
end
|
|
306
417
|
|
|
307
418
|
class SimpleMessageParams < SurgeAPI::Internal::Type::BaseModel
|
|
@@ -367,6 +478,22 @@ module SurgeAPI
|
|
|
367
478
|
sig { params(send_at: Time).void }
|
|
368
479
|
attr_writer :send_at
|
|
369
480
|
|
|
481
|
+
# Per-message setting overrides.
|
|
482
|
+
sig do
|
|
483
|
+
returns(
|
|
484
|
+
T.nilable(SurgeAPI::MessageParams::SimpleMessageParams::Settings)
|
|
485
|
+
)
|
|
486
|
+
end
|
|
487
|
+
attr_reader :settings
|
|
488
|
+
|
|
489
|
+
sig do
|
|
490
|
+
params(
|
|
491
|
+
settings:
|
|
492
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::OrHash
|
|
493
|
+
).void
|
|
494
|
+
end
|
|
495
|
+
attr_writer :settings
|
|
496
|
+
|
|
370
497
|
# Create a basic message by specifying just the to/from phone numbers.
|
|
371
498
|
sig do
|
|
372
499
|
params(
|
|
@@ -378,7 +505,9 @@ module SurgeAPI
|
|
|
378
505
|
body: String,
|
|
379
506
|
from: String,
|
|
380
507
|
metadata: T::Hash[Symbol, String],
|
|
381
|
-
send_at: Time
|
|
508
|
+
send_at: Time,
|
|
509
|
+
settings:
|
|
510
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::OrHash
|
|
382
511
|
).returns(T.attached_class)
|
|
383
512
|
end
|
|
384
513
|
def self.new(
|
|
@@ -395,7 +524,9 @@ module SurgeAPI
|
|
|
395
524
|
metadata: nil,
|
|
396
525
|
# An optional datetime for scheduling message up to a couple of months in the
|
|
397
526
|
# future.
|
|
398
|
-
send_at: nil
|
|
527
|
+
send_at: nil,
|
|
528
|
+
# Per-message setting overrides.
|
|
529
|
+
settings: nil
|
|
399
530
|
)
|
|
400
531
|
end
|
|
401
532
|
|
|
@@ -410,7 +541,8 @@ module SurgeAPI
|
|
|
410
541
|
body: String,
|
|
411
542
|
from: String,
|
|
412
543
|
metadata: T::Hash[Symbol, String],
|
|
413
|
-
send_at: Time
|
|
544
|
+
send_at: Time,
|
|
545
|
+
settings: SurgeAPI::MessageParams::SimpleMessageParams::Settings
|
|
414
546
|
}
|
|
415
547
|
)
|
|
416
548
|
end
|
|
@@ -442,6 +574,93 @@ module SurgeAPI
|
|
|
442
574
|
def to_hash
|
|
443
575
|
end
|
|
444
576
|
end
|
|
577
|
+
|
|
578
|
+
class Settings < SurgeAPI::Internal::Type::BaseModel
|
|
579
|
+
OrHash =
|
|
580
|
+
T.type_alias do
|
|
581
|
+
T.any(
|
|
582
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings,
|
|
583
|
+
SurgeAPI::Internal::AnyHash
|
|
584
|
+
)
|
|
585
|
+
end
|
|
586
|
+
|
|
587
|
+
# Override link shortening for this message.
|
|
588
|
+
sig do
|
|
589
|
+
returns(
|
|
590
|
+
T.nilable(
|
|
591
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::OrSymbol
|
|
592
|
+
)
|
|
593
|
+
)
|
|
594
|
+
end
|
|
595
|
+
attr_reader :link_shortening
|
|
596
|
+
|
|
597
|
+
sig do
|
|
598
|
+
params(
|
|
599
|
+
link_shortening:
|
|
600
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::OrSymbol
|
|
601
|
+
).void
|
|
602
|
+
end
|
|
603
|
+
attr_writer :link_shortening
|
|
604
|
+
|
|
605
|
+
# Per-message setting overrides.
|
|
606
|
+
sig do
|
|
607
|
+
params(
|
|
608
|
+
link_shortening:
|
|
609
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::OrSymbol
|
|
610
|
+
).returns(T.attached_class)
|
|
611
|
+
end
|
|
612
|
+
def self.new(
|
|
613
|
+
# Override link shortening for this message.
|
|
614
|
+
link_shortening: nil
|
|
615
|
+
)
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
sig do
|
|
619
|
+
override.returns(
|
|
620
|
+
{
|
|
621
|
+
link_shortening:
|
|
622
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::OrSymbol
|
|
623
|
+
}
|
|
624
|
+
)
|
|
625
|
+
end
|
|
626
|
+
def to_hash
|
|
627
|
+
end
|
|
628
|
+
|
|
629
|
+
# Override link shortening for this message.
|
|
630
|
+
module LinkShortening
|
|
631
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
632
|
+
|
|
633
|
+
TaggedSymbol =
|
|
634
|
+
T.type_alias do
|
|
635
|
+
T.all(
|
|
636
|
+
Symbol,
|
|
637
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening
|
|
638
|
+
)
|
|
639
|
+
end
|
|
640
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
641
|
+
|
|
642
|
+
ENABLED =
|
|
643
|
+
T.let(
|
|
644
|
+
:enabled,
|
|
645
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::TaggedSymbol
|
|
646
|
+
)
|
|
647
|
+
DISABLED =
|
|
648
|
+
T.let(
|
|
649
|
+
:disabled,
|
|
650
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::TaggedSymbol
|
|
651
|
+
)
|
|
652
|
+
|
|
653
|
+
sig do
|
|
654
|
+
override.returns(
|
|
655
|
+
T::Array[
|
|
656
|
+
SurgeAPI::MessageParams::SimpleMessageParams::Settings::LinkShortening::TaggedSymbol
|
|
657
|
+
]
|
|
658
|
+
)
|
|
659
|
+
end
|
|
660
|
+
def self.values
|
|
661
|
+
end
|
|
662
|
+
end
|
|
663
|
+
end
|
|
445
664
|
end
|
|
446
665
|
|
|
447
666
|
sig { override.returns(T::Array[SurgeAPI::MessageParams::Variants]) }
|
|
@@ -329,6 +329,11 @@ module SurgeAPI
|
|
|
329
329
|
:link,
|
|
330
330
|
SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
331
331
|
)
|
|
332
|
+
CONTACT =
|
|
333
|
+
T.let(
|
|
334
|
+
:contact,
|
|
335
|
+
SurgeAPI::MessageReceivedWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
336
|
+
)
|
|
332
337
|
VIDEO =
|
|
333
338
|
T.let(
|
|
334
339
|
:video,
|
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::MessageRetrieveParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the message to retrieve.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
sig do
|
|
15
|
-
params(
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
params(
|
|
20
|
+
id: String,
|
|
21
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
|
+
).returns(T.attached_class)
|
|
18
23
|
end
|
|
19
|
-
def self.new(
|
|
24
|
+
def self.new(
|
|
25
|
+
# The ID of the message to retrieve.
|
|
26
|
+
id:,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
20
29
|
end
|
|
21
30
|
|
|
22
|
-
sig
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ id: String, request_options: SurgeAPI::RequestOptions }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
23
36
|
def to_hash
|
|
24
37
|
end
|
|
25
38
|
end
|
|
@@ -320,6 +320,11 @@ module SurgeAPI
|
|
|
320
320
|
:link,
|
|
321
321
|
SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
322
322
|
)
|
|
323
|
+
CONTACT =
|
|
324
|
+
T.let(
|
|
325
|
+
:contact,
|
|
326
|
+
SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
327
|
+
)
|
|
323
328
|
VIDEO =
|
|
324
329
|
T.let(
|
|
325
330
|
:video,
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::PhoneNumberListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list phone numbers for.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
14
18
|
# Cursor for forward pagination. Use the next_cursor from a previous response.
|
|
15
19
|
sig { returns(T.nilable(String)) }
|
|
16
20
|
attr_reader :after
|
|
@@ -28,12 +32,15 @@ module SurgeAPI
|
|
|
28
32
|
|
|
29
33
|
sig do
|
|
30
34
|
params(
|
|
35
|
+
account_id: String,
|
|
31
36
|
after: String,
|
|
32
37
|
before: String,
|
|
33
38
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
34
39
|
).returns(T.attached_class)
|
|
35
40
|
end
|
|
36
41
|
def self.new(
|
|
42
|
+
# The account ID to list phone numbers for.
|
|
43
|
+
account_id:,
|
|
37
44
|
# Cursor for forward pagination. Use the next_cursor from a previous response.
|
|
38
45
|
after: nil,
|
|
39
46
|
# Cursor for backward pagination. Use the previous_cursor from a previous
|
|
@@ -46,6 +53,7 @@ module SurgeAPI
|
|
|
46
53
|
sig do
|
|
47
54
|
override.returns(
|
|
48
55
|
{
|
|
56
|
+
account_id: String,
|
|
49
57
|
after: String,
|
|
50
58
|
before: String,
|
|
51
59
|
request_options: SurgeAPI::RequestOptions
|
|
@@ -14,6 +14,10 @@ module SurgeAPI
|
|
|
14
14
|
)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
# The account for which the phone number should be created.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :account_id
|
|
20
|
+
|
|
17
21
|
# The desired area code for this phone number. If provided without type, the type
|
|
18
22
|
# will be inferred.
|
|
19
23
|
sig { returns(T.nilable(String)) }
|
|
@@ -60,6 +64,7 @@ module SurgeAPI
|
|
|
60
64
|
|
|
61
65
|
sig do
|
|
62
66
|
params(
|
|
67
|
+
account_id: String,
|
|
63
68
|
area_code: String,
|
|
64
69
|
latitude: Float,
|
|
65
70
|
longitude: Float,
|
|
@@ -69,6 +74,8 @@ module SurgeAPI
|
|
|
69
74
|
).returns(T.attached_class)
|
|
70
75
|
end
|
|
71
76
|
def self.new(
|
|
77
|
+
# The account for which the phone number should be created.
|
|
78
|
+
account_id:,
|
|
72
79
|
# The desired area code for this phone number. If provided without type, the type
|
|
73
80
|
# will be inferred.
|
|
74
81
|
area_code: nil,
|
|
@@ -91,6 +98,7 @@ module SurgeAPI
|
|
|
91
98
|
sig do
|
|
92
99
|
override.returns(
|
|
93
100
|
{
|
|
101
|
+
account_id: String,
|
|
94
102
|
area_code: String,
|
|
95
103
|
latitude: Float,
|
|
96
104
|
longitude: Float,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class PhoneNumberReleaseParams < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(SurgeAPI::PhoneNumberReleaseParams, SurgeAPI::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The ID of the phone number to release.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(
|
|
20
|
+
id: String,
|
|
21
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
|
+
).returns(T.attached_class)
|
|
23
|
+
end
|
|
24
|
+
def self.new(
|
|
25
|
+
# The ID of the phone number to release.
|
|
26
|
+
id:,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ id: String, request_options: SurgeAPI::RequestOptions }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
def to_hash
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class PhoneNumberUpdateParams < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(SurgeAPI::PhoneNumberUpdateParams, SurgeAPI::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The ID of the phone number to update.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
18
|
+
# Campaign ID to attach this number to (`cpn_...`).
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_reader :campaign_id
|
|
21
|
+
|
|
22
|
+
sig { params(campaign_id: String).void }
|
|
23
|
+
attr_writer :campaign_id
|
|
24
|
+
|
|
25
|
+
# A human-readable name for the phone number.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :name
|
|
28
|
+
|
|
29
|
+
sig { params(name: String).void }
|
|
30
|
+
attr_writer :name
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
id: String,
|
|
35
|
+
campaign_id: String,
|
|
36
|
+
name: String,
|
|
37
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
38
|
+
).returns(T.attached_class)
|
|
39
|
+
end
|
|
40
|
+
def self.new(
|
|
41
|
+
# The ID of the phone number to update.
|
|
42
|
+
id:,
|
|
43
|
+
# Campaign ID to attach this number to (`cpn_...`).
|
|
44
|
+
campaign_id: nil,
|
|
45
|
+
# A human-readable name for the phone number.
|
|
46
|
+
name: nil,
|
|
47
|
+
request_options: {}
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
sig do
|
|
52
|
+
override.returns(
|
|
53
|
+
{
|
|
54
|
+
id: String,
|
|
55
|
+
campaign_id: String,
|
|
56
|
+
name: String,
|
|
57
|
+
request_options: SurgeAPI::RequestOptions
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def to_hash
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -161,6 +161,18 @@ module SurgeAPI
|
|
|
161
161
|
end
|
|
162
162
|
attr_accessor :status
|
|
163
163
|
|
|
164
|
+
# The E.164 phone number of the caller
|
|
165
|
+
sig { returns(T.nilable(String)) }
|
|
166
|
+
attr_accessor :from
|
|
167
|
+
|
|
168
|
+
# The Surge phone number ID (e.g. pn\_...)
|
|
169
|
+
sig { returns(T.nilable(String)) }
|
|
170
|
+
attr_accessor :phone_number_id
|
|
171
|
+
|
|
172
|
+
# The E.164 phone number of the callee
|
|
173
|
+
sig { returns(T.nilable(String)) }
|
|
174
|
+
attr_accessor :to
|
|
175
|
+
|
|
164
176
|
# The call that produced this recording
|
|
165
177
|
sig do
|
|
166
178
|
params(
|
|
@@ -169,7 +181,10 @@ module SurgeAPI
|
|
|
169
181
|
duration: Integer,
|
|
170
182
|
initiated_at: Time,
|
|
171
183
|
status:
|
|
172
|
-
SurgeAPI::RecordingCompletedWebhookEvent::Data::Call::Status::OrSymbol
|
|
184
|
+
SurgeAPI::RecordingCompletedWebhookEvent::Data::Call::Status::OrSymbol,
|
|
185
|
+
from: T.nilable(String),
|
|
186
|
+
phone_number_id: T.nilable(String),
|
|
187
|
+
to: T.nilable(String)
|
|
173
188
|
).returns(T.attached_class)
|
|
174
189
|
end
|
|
175
190
|
def self.new(
|
|
@@ -182,7 +197,13 @@ module SurgeAPI
|
|
|
182
197
|
# When the call was initiated
|
|
183
198
|
initiated_at:,
|
|
184
199
|
# The status of the call
|
|
185
|
-
status
|
|
200
|
+
status:,
|
|
201
|
+
# The E.164 phone number of the caller
|
|
202
|
+
from: nil,
|
|
203
|
+
# The Surge phone number ID (e.g. pn\_...)
|
|
204
|
+
phone_number_id: nil,
|
|
205
|
+
# The E.164 phone number of the callee
|
|
206
|
+
to: nil
|
|
186
207
|
)
|
|
187
208
|
end
|
|
188
209
|
|
|
@@ -194,7 +215,10 @@ module SurgeAPI
|
|
|
194
215
|
duration: Integer,
|
|
195
216
|
initiated_at: Time,
|
|
196
217
|
status:
|
|
197
|
-
SurgeAPI::RecordingCompletedWebhookEvent::Data::Call::Status::TaggedSymbol
|
|
218
|
+
SurgeAPI::RecordingCompletedWebhookEvent::Data::Call::Status::TaggedSymbol,
|
|
219
|
+
from: T.nilable(String),
|
|
220
|
+
phone_number_id: T.nilable(String),
|
|
221
|
+
to: T.nilable(String)
|
|
198
222
|
}
|
|
199
223
|
)
|
|
200
224
|
end
|
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::RecordingDeleteParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the recording.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
sig do
|
|
15
|
-
params(
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
params(
|
|
20
|
+
id: String,
|
|
21
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
|
+
).returns(T.attached_class)
|
|
18
23
|
end
|
|
19
|
-
def self.new(
|
|
24
|
+
def self.new(
|
|
25
|
+
# The ID of the recording.
|
|
26
|
+
id:,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
20
29
|
end
|
|
21
30
|
|
|
22
|
-
sig
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ id: String, request_options: SurgeAPI::RequestOptions }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
23
36
|
def to_hash
|
|
24
37
|
end
|
|
25
38
|
end
|
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::RecordingGetFileParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the recording.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :recording_id
|
|
17
|
+
|
|
14
18
|
sig do
|
|
15
|
-
params(
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
params(
|
|
20
|
+
recording_id: String,
|
|
21
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
|
+
).returns(T.attached_class)
|
|
18
23
|
end
|
|
19
|
-
def self.new(
|
|
24
|
+
def self.new(
|
|
25
|
+
# The ID of the recording.
|
|
26
|
+
recording_id:,
|
|
27
|
+
request_options: {}
|
|
28
|
+
)
|
|
20
29
|
end
|
|
21
30
|
|
|
22
|
-
sig
|
|
31
|
+
sig do
|
|
32
|
+
override.returns(
|
|
33
|
+
{ recording_id: String, request_options: SurgeAPI::RequestOptions }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
23
36
|
def to_hash
|
|
24
37
|
end
|
|
25
38
|
end
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::RecordingListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list recordings for.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
14
18
|
# Cursor for forward pagination. Use the next_cursor from a previous response.
|
|
15
19
|
sig { returns(T.nilable(String)) }
|
|
16
20
|
attr_reader :after
|
|
@@ -28,12 +32,15 @@ module SurgeAPI
|
|
|
28
32
|
|
|
29
33
|
sig do
|
|
30
34
|
params(
|
|
35
|
+
account_id: String,
|
|
31
36
|
after: String,
|
|
32
37
|
before: String,
|
|
33
38
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
34
39
|
).returns(T.attached_class)
|
|
35
40
|
end
|
|
36
41
|
def self.new(
|
|
42
|
+
# The account ID to list recordings for.
|
|
43
|
+
account_id:,
|
|
37
44
|
# Cursor for forward pagination. Use the next_cursor from a previous response.
|
|
38
45
|
after: nil,
|
|
39
46
|
# Cursor for backward pagination. Use the previous_cursor from a previous
|
|
@@ -46,6 +53,7 @@ module SurgeAPI
|
|
|
46
53
|
sig do
|
|
47
54
|
override.returns(
|
|
48
55
|
{
|
|
56
|
+
account_id: String,
|
|
49
57
|
after: String,
|
|
50
58
|
before: String,
|
|
51
59
|
request_options: SurgeAPI::RequestOptions
|