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
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::RecordingRetrieveParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the recording 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 recording 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
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserCreateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account for which the user should be created.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
14
18
|
# The user's first name.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :first_name
|
|
@@ -38,6 +42,7 @@ module SurgeAPI
|
|
|
38
42
|
|
|
39
43
|
sig do
|
|
40
44
|
params(
|
|
45
|
+
account_id: String,
|
|
41
46
|
first_name: String,
|
|
42
47
|
last_name: String,
|
|
43
48
|
metadata: T::Hash[Symbol, String],
|
|
@@ -46,6 +51,8 @@ module SurgeAPI
|
|
|
46
51
|
).returns(T.attached_class)
|
|
47
52
|
end
|
|
48
53
|
def self.new(
|
|
54
|
+
# The account for which the user should be created.
|
|
55
|
+
account_id:,
|
|
49
56
|
# The user's first name.
|
|
50
57
|
first_name:,
|
|
51
58
|
# The user's last name.
|
|
@@ -61,6 +68,7 @@ module SurgeAPI
|
|
|
61
68
|
sig do
|
|
62
69
|
override.returns(
|
|
63
70
|
{
|
|
71
|
+
account_id: String,
|
|
64
72
|
first_name: String,
|
|
65
73
|
last_name: String,
|
|
66
74
|
metadata: T::Hash[Symbol, String],
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserCreateTokenParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The user for which the token represents authentication.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :user_id
|
|
17
|
+
|
|
14
18
|
# For how many seconds the token should be accepted. Defaults to 15 minutes.
|
|
15
19
|
sig { returns(T.nilable(Integer)) }
|
|
16
20
|
attr_reader :duration_seconds
|
|
@@ -20,11 +24,14 @@ module SurgeAPI
|
|
|
20
24
|
|
|
21
25
|
sig do
|
|
22
26
|
params(
|
|
27
|
+
user_id: String,
|
|
23
28
|
duration_seconds: Integer,
|
|
24
29
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
25
30
|
).returns(T.attached_class)
|
|
26
31
|
end
|
|
27
32
|
def self.new(
|
|
33
|
+
# The user for which the token represents authentication.
|
|
34
|
+
user_id:,
|
|
28
35
|
# For how many seconds the token should be accepted. Defaults to 15 minutes.
|
|
29
36
|
duration_seconds: nil,
|
|
30
37
|
request_options: {}
|
|
@@ -34,6 +41,7 @@ module SurgeAPI
|
|
|
34
41
|
sig do
|
|
35
42
|
override.returns(
|
|
36
43
|
{
|
|
44
|
+
user_id: String,
|
|
37
45
|
duration_seconds: Integer,
|
|
38
46
|
request_options: SurgeAPI::RequestOptions
|
|
39
47
|
}
|
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserDeleteParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the user to delete.
|
|
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 user to delete.
|
|
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,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list users 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 users 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
|
|
@@ -11,15 +11,28 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserRetrieveParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the user 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 user 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
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::UserUpdateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the user to update.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# The user's first name.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :first_name
|
|
@@ -38,6 +42,7 @@ module SurgeAPI
|
|
|
38
42
|
|
|
39
43
|
sig do
|
|
40
44
|
params(
|
|
45
|
+
id: String,
|
|
41
46
|
first_name: String,
|
|
42
47
|
last_name: String,
|
|
43
48
|
metadata: T::Hash[Symbol, String],
|
|
@@ -46,6 +51,8 @@ module SurgeAPI
|
|
|
46
51
|
).returns(T.attached_class)
|
|
47
52
|
end
|
|
48
53
|
def self.new(
|
|
54
|
+
# The ID of the user to update.
|
|
55
|
+
id:,
|
|
49
56
|
# The user's first name.
|
|
50
57
|
first_name:,
|
|
51
58
|
# The user's last name.
|
|
@@ -61,6 +68,7 @@ module SurgeAPI
|
|
|
61
68
|
sig do
|
|
62
69
|
override.returns(
|
|
63
70
|
{
|
|
71
|
+
id: String,
|
|
64
72
|
first_name: String,
|
|
65
73
|
last_name: String,
|
|
66
74
|
metadata: T::Hash[Symbol, String],
|
|
@@ -11,17 +11,24 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::VerificationCheckParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the verification to check against.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# The Verification code that was received.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :code
|
|
17
21
|
|
|
18
22
|
sig do
|
|
19
23
|
params(
|
|
24
|
+
id: String,
|
|
20
25
|
code: String,
|
|
21
26
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
27
|
).returns(T.attached_class)
|
|
23
28
|
end
|
|
24
29
|
def self.new(
|
|
30
|
+
# The ID of the verification to check against.
|
|
31
|
+
id:,
|
|
25
32
|
# The Verification code that was received.
|
|
26
33
|
code:,
|
|
27
34
|
request_options: {}
|
|
@@ -30,7 +37,11 @@ module SurgeAPI
|
|
|
30
37
|
|
|
31
38
|
sig do
|
|
32
39
|
override.returns(
|
|
33
|
-
{
|
|
40
|
+
{
|
|
41
|
+
id: String,
|
|
42
|
+
code: String,
|
|
43
|
+
request_options: SurgeAPI::RequestOptions
|
|
44
|
+
}
|
|
34
45
|
)
|
|
35
46
|
end
|
|
36
47
|
def to_hash
|
|
@@ -11,17 +11,24 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::VerificationCreateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account to associate with the verification.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
14
18
|
# The phone number to be verified. In E.164 format.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :phone_number
|
|
17
21
|
|
|
18
22
|
sig do
|
|
19
23
|
params(
|
|
24
|
+
account_id: String,
|
|
20
25
|
phone_number: String,
|
|
21
26
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
22
27
|
).returns(T.attached_class)
|
|
23
28
|
end
|
|
24
29
|
def self.new(
|
|
30
|
+
# The account to associate with the verification.
|
|
31
|
+
account_id:,
|
|
25
32
|
# The phone number to be verified. In E.164 format.
|
|
26
33
|
phone_number:,
|
|
27
34
|
request_options: {}
|
|
@@ -30,7 +37,11 @@ module SurgeAPI
|
|
|
30
37
|
|
|
31
38
|
sig do
|
|
32
39
|
override.returns(
|
|
33
|
-
{
|
|
40
|
+
{
|
|
41
|
+
account_id: String,
|
|
42
|
+
phone_number: String,
|
|
43
|
+
request_options: SurgeAPI::RequestOptions
|
|
44
|
+
}
|
|
34
45
|
)
|
|
35
46
|
end
|
|
36
47
|
def to_hash
|
|
@@ -167,6 +167,18 @@ module SurgeAPI
|
|
|
167
167
|
end
|
|
168
168
|
attr_accessor :status
|
|
169
169
|
|
|
170
|
+
# The E.164 phone number of the caller
|
|
171
|
+
sig { returns(T.nilable(String)) }
|
|
172
|
+
attr_accessor :from
|
|
173
|
+
|
|
174
|
+
# The Surge phone number ID (e.g. pn\_...)
|
|
175
|
+
sig { returns(T.nilable(String)) }
|
|
176
|
+
attr_accessor :phone_number_id
|
|
177
|
+
|
|
178
|
+
# The E.164 phone number of the callee
|
|
179
|
+
sig { returns(T.nilable(String)) }
|
|
180
|
+
attr_accessor :to
|
|
181
|
+
|
|
170
182
|
# The call that resulted in this voicemail
|
|
171
183
|
sig do
|
|
172
184
|
params(
|
|
@@ -175,7 +187,10 @@ module SurgeAPI
|
|
|
175
187
|
duration: Integer,
|
|
176
188
|
initiated_at: Time,
|
|
177
189
|
status:
|
|
178
|
-
SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call::Status::OrSymbol
|
|
190
|
+
SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call::Status::OrSymbol,
|
|
191
|
+
from: T.nilable(String),
|
|
192
|
+
phone_number_id: T.nilable(String),
|
|
193
|
+
to: T.nilable(String)
|
|
179
194
|
).returns(T.attached_class)
|
|
180
195
|
end
|
|
181
196
|
def self.new(
|
|
@@ -188,7 +203,13 @@ module SurgeAPI
|
|
|
188
203
|
# When the call was initiated
|
|
189
204
|
initiated_at:,
|
|
190
205
|
# The status of the call
|
|
191
|
-
status
|
|
206
|
+
status:,
|
|
207
|
+
# The E.164 phone number of the caller
|
|
208
|
+
from: nil,
|
|
209
|
+
# The Surge phone number ID (e.g. pn\_...)
|
|
210
|
+
phone_number_id: nil,
|
|
211
|
+
# The E.164 phone number of the callee
|
|
212
|
+
to: nil
|
|
192
213
|
)
|
|
193
214
|
end
|
|
194
215
|
|
|
@@ -200,7 +221,10 @@ module SurgeAPI
|
|
|
200
221
|
duration: Integer,
|
|
201
222
|
initiated_at: Time,
|
|
202
223
|
status:
|
|
203
|
-
SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call::Status::TaggedSymbol
|
|
224
|
+
SurgeAPI::VoicemailReceivedWebhookEvent::Data::Call::Status::TaggedSymbol,
|
|
225
|
+
from: T.nilable(String),
|
|
226
|
+
phone_number_id: T.nilable(String),
|
|
227
|
+
to: T.nilable(String)
|
|
204
228
|
}
|
|
205
229
|
)
|
|
206
230
|
end
|
data/rbi/surge_api/models.rbi
CHANGED
|
@@ -93,6 +93,10 @@ module SurgeAPI
|
|
|
93
93
|
|
|
94
94
|
PhoneNumberPurchaseParams = SurgeAPI::Models::PhoneNumberPurchaseParams
|
|
95
95
|
|
|
96
|
+
PhoneNumberReleaseParams = SurgeAPI::Models::PhoneNumberReleaseParams
|
|
97
|
+
|
|
98
|
+
PhoneNumberUpdateParams = SurgeAPI::Models::PhoneNumberUpdateParams
|
|
99
|
+
|
|
96
100
|
RecordingCompletedWebhookEvent =
|
|
97
101
|
SurgeAPI::Models::RecordingCompletedWebhookEvent
|
|
98
102
|
|
|
@@ -7,7 +7,11 @@ module SurgeAPI
|
|
|
7
7
|
sig do
|
|
8
8
|
params(
|
|
9
9
|
account_id: String,
|
|
10
|
-
campaign_params:
|
|
10
|
+
campaign_params:
|
|
11
|
+
T.any(
|
|
12
|
+
SurgeAPI::CampaignParams::StandardCampaignParams::OrHash,
|
|
13
|
+
SurgeAPI::CampaignParams::ExternalCampaignParams::OrHash
|
|
14
|
+
),
|
|
11
15
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
12
16
|
).returns(SurgeAPI::Campaign)
|
|
13
17
|
end
|
|
@@ -42,7 +46,11 @@ module SurgeAPI
|
|
|
42
46
|
sig do
|
|
43
47
|
params(
|
|
44
48
|
id: String,
|
|
45
|
-
campaign_params:
|
|
49
|
+
campaign_params:
|
|
50
|
+
T.any(
|
|
51
|
+
SurgeAPI::CampaignParams::StandardCampaignParams::OrHash,
|
|
52
|
+
SurgeAPI::CampaignParams::ExternalCampaignParams::OrHash
|
|
53
|
+
),
|
|
46
54
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
47
55
|
).returns(SurgeAPI::Campaign)
|
|
48
56
|
end
|
|
@@ -28,10 +28,18 @@ module SurgeAPI
|
|
|
28
28
|
# are provided. Similarly the `from` field cannot be used together with the
|
|
29
29
|
# `conversation` field, and `conversation.phone_number` should be specified
|
|
30
30
|
# instead.
|
|
31
|
+
#
|
|
32
|
+
# Optionally, you can pass a `settings` object to override account-level settings
|
|
33
|
+
# for this message. Currently the only supported setting is `link_shortening`,
|
|
34
|
+
# which accepts `"enabled"` or `"disabled"`.
|
|
31
35
|
sig do
|
|
32
36
|
params(
|
|
33
37
|
account_id: String,
|
|
34
|
-
message_params:
|
|
38
|
+
message_params:
|
|
39
|
+
T.any(
|
|
40
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation::OrHash,
|
|
41
|
+
SurgeAPI::MessageParams::SimpleMessageParams::OrHash
|
|
42
|
+
),
|
|
35
43
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
36
44
|
).returns(SurgeAPI::Message)
|
|
37
45
|
end
|
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
module SurgeAPI
|
|
4
4
|
module Resources
|
|
5
5
|
class PhoneNumbers
|
|
6
|
+
# Updates a phone number's details.
|
|
7
|
+
sig do
|
|
8
|
+
params(
|
|
9
|
+
id: String,
|
|
10
|
+
campaign_id: String,
|
|
11
|
+
name: String,
|
|
12
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
13
|
+
).returns(SurgeAPI::PhoneNumber)
|
|
14
|
+
end
|
|
15
|
+
def update(
|
|
16
|
+
# The ID of the phone number to update.
|
|
17
|
+
id,
|
|
18
|
+
# Campaign ID to attach this number to (`cpn_...`).
|
|
19
|
+
campaign_id: nil,
|
|
20
|
+
# A human-readable name for the phone number.
|
|
21
|
+
name: nil,
|
|
22
|
+
request_options: {}
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
6
26
|
# List all phone numbers for an account with cursor-based pagination.
|
|
7
27
|
sig do
|
|
8
28
|
params(
|
|
@@ -59,6 +79,20 @@ module SurgeAPI
|
|
|
59
79
|
)
|
|
60
80
|
end
|
|
61
81
|
|
|
82
|
+
# Releases a phone number from the account.
|
|
83
|
+
sig do
|
|
84
|
+
params(
|
|
85
|
+
id: String,
|
|
86
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
|
87
|
+
).returns(SurgeAPI::PhoneNumber)
|
|
88
|
+
end
|
|
89
|
+
def release(
|
|
90
|
+
# The ID of the phone number to release.
|
|
91
|
+
id,
|
|
92
|
+
request_options: {}
|
|
93
|
+
)
|
|
94
|
+
end
|
|
95
|
+
|
|
62
96
|
# @api private
|
|
63
97
|
sig { params(client: SurgeAPI::Client).returns(T.attached_class) }
|
|
64
98
|
def self.new(client:)
|
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
module SurgeAPI
|
|
4
4
|
module Resources
|
|
5
5
|
class Verifications
|
|
6
|
-
# Creates a new Verification and sends the code to the given phone
|
|
6
|
+
# Creates a new Verification for an account and sends the code to the given phone
|
|
7
|
+
# number.
|
|
7
8
|
sig do
|
|
8
9
|
params(
|
|
10
|
+
account_id: String,
|
|
9
11
|
phone_number: String,
|
|
10
12
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
11
13
|
).returns(SurgeAPI::Verification)
|
|
12
14
|
end
|
|
13
15
|
def create(
|
|
16
|
+
# The account to associate with the verification.
|
|
17
|
+
account_id,
|
|
14
18
|
# The phone number to be verified. In E.164 format.
|
|
15
19
|
phone_number:,
|
|
16
20
|
request_options: {}
|
|
@@ -4,7 +4,11 @@ module SurgeAPI
|
|
|
4
4
|
module Resources
|
|
5
5
|
class Webhooks
|
|
6
6
|
sig do
|
|
7
|
-
params(
|
|
7
|
+
params(
|
|
8
|
+
payload: String,
|
|
9
|
+
headers: T::Hash[String, String],
|
|
10
|
+
key: T.nilable(String)
|
|
11
|
+
).returns(
|
|
8
12
|
T.any(
|
|
9
13
|
SurgeAPI::CallEndedWebhookEvent,
|
|
10
14
|
SurgeAPI::CampaignApprovedWebhookEvent,
|
|
@@ -24,7 +28,11 @@ module SurgeAPI
|
|
|
24
28
|
end
|
|
25
29
|
def unwrap(
|
|
26
30
|
# The raw webhook payload as a string
|
|
27
|
-
payload
|
|
31
|
+
payload,
|
|
32
|
+
# The raw HTTP headers that came with the payload
|
|
33
|
+
headers:,
|
|
34
|
+
# The webhook signing key
|
|
35
|
+
key: @client.webhook_signing_secret
|
|
28
36
|
)
|
|
29
37
|
end
|
|
30
38
|
|
data/sig/surge_api/client.rbs
CHANGED
|
@@ -10,6 +10,8 @@ module SurgeAPI
|
|
|
10
10
|
|
|
11
11
|
attr_reader api_key: String
|
|
12
12
|
|
|
13
|
+
attr_reader webhook_signing_secret: String?
|
|
14
|
+
|
|
13
15
|
attr_reader accounts: SurgeAPI::Resources::Accounts
|
|
14
16
|
|
|
15
17
|
attr_reader attachments: SurgeAPI::Resources::Attachments
|
|
@@ -38,6 +40,7 @@ module SurgeAPI
|
|
|
38
40
|
|
|
39
41
|
def initialize: (
|
|
40
42
|
?api_key: String?,
|
|
43
|
+
?webhook_signing_secret: String?,
|
|
41
44
|
?base_url: String?,
|
|
42
45
|
?max_retries: Integer,
|
|
43
46
|
?timeout: Float,
|
|
@@ -45,8 +45,12 @@ module SurgeAPI
|
|
|
45
45
|
-> top?
|
|
46
46
|
} -> top?
|
|
47
47
|
|
|
48
|
+
RFC_3986_NOT_PCHARS: Regexp
|
|
49
|
+
|
|
48
50
|
def self?.uri_origin: (URI::Generic uri) -> String
|
|
49
51
|
|
|
52
|
+
def self?.encode_path: (String | Integer path) -> String
|
|
53
|
+
|
|
50
54
|
def self?.interpolate_path: (String | ::Array[String] path) -> String
|
|
51
55
|
|
|
52
56
|
def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
module SurgeAPI
|
|
2
2
|
module Models
|
|
3
3
|
type account_archive_params =
|
|
4
|
-
{
|
|
4
|
+
{ id: String } & SurgeAPI::Internal::Type::request_parameters
|
|
5
5
|
|
|
6
6
|
class AccountArchiveParams < SurgeAPI::Internal::Type::BaseModel
|
|
7
7
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
attr_accessor id: String
|
|
11
11
|
|
|
12
|
-
def
|
|
12
|
+
def initialize: (
|
|
13
|
+
id: String,
|
|
14
|
+
?request_options: SurgeAPI::request_opts
|
|
15
|
+
) -> void
|
|
16
|
+
|
|
17
|
+
def to_hash: -> { id: String, request_options: SurgeAPI::RequestOptions }
|
|
13
18
|
end
|
|
14
19
|
end
|
|
15
20
|
end
|
|
@@ -2,6 +2,7 @@ module SurgeAPI
|
|
|
2
2
|
module Models
|
|
3
3
|
type account_retrieve_status_params =
|
|
4
4
|
{
|
|
5
|
+
account_id: String,
|
|
5
6
|
capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
|
|
6
7
|
}
|
|
7
8
|
& SurgeAPI::Internal::Type::request_parameters
|
|
@@ -10,6 +11,8 @@ module SurgeAPI
|
|
|
10
11
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
11
12
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
12
13
|
|
|
14
|
+
attr_accessor account_id: String
|
|
15
|
+
|
|
13
16
|
attr_reader capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]?
|
|
14
17
|
|
|
15
18
|
def capabilities=: (
|
|
@@ -17,11 +20,13 @@ module SurgeAPI
|
|
|
17
20
|
) -> ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability]
|
|
18
21
|
|
|
19
22
|
def initialize: (
|
|
23
|
+
account_id: String,
|
|
20
24
|
?capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability],
|
|
21
25
|
?request_options: SurgeAPI::request_opts
|
|
22
26
|
) -> void
|
|
23
27
|
|
|
24
28
|
def to_hash: -> {
|
|
29
|
+
account_id: String,
|
|
25
30
|
capabilities: ::Array[SurgeAPI::Models::AccountRetrieveStatusParams::capability],
|
|
26
31
|
request_options: SurgeAPI::RequestOptions
|
|
27
32
|
}
|
|
@@ -2,6 +2,7 @@ module SurgeAPI
|
|
|
2
2
|
module Models
|
|
3
3
|
type account_update_params =
|
|
4
4
|
{
|
|
5
|
+
id: String,
|
|
5
6
|
brand_name: String,
|
|
6
7
|
name: String,
|
|
7
8
|
organization: SurgeAPI::AccountUpdateParams::Organization,
|
|
@@ -13,6 +14,8 @@ module SurgeAPI
|
|
|
13
14
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
14
15
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
15
16
|
|
|
17
|
+
attr_accessor id: String
|
|
18
|
+
|
|
16
19
|
attr_reader brand_name: String?
|
|
17
20
|
|
|
18
21
|
def brand_name=: (String) -> String
|
|
@@ -30,6 +33,7 @@ module SurgeAPI
|
|
|
30
33
|
attr_accessor time_zone: String?
|
|
31
34
|
|
|
32
35
|
def initialize: (
|
|
36
|
+
id: String,
|
|
33
37
|
?brand_name: String,
|
|
34
38
|
?name: String,
|
|
35
39
|
?organization: SurgeAPI::AccountUpdateParams::Organization,
|
|
@@ -38,6 +42,7 @@ module SurgeAPI
|
|
|
38
42
|
) -> void
|
|
39
43
|
|
|
40
44
|
def to_hash: -> {
|
|
45
|
+
id: String,
|
|
41
46
|
brand_name: String,
|
|
42
47
|
name: String,
|
|
43
48
|
organization: SurgeAPI::AccountUpdateParams::Organization,
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
module SurgeAPI
|
|
2
2
|
module Models
|
|
3
3
|
type attachment_get_file_params =
|
|
4
|
-
{
|
|
4
|
+
{ attachment_id: String } & SurgeAPI::Internal::Type::request_parameters
|
|
5
5
|
|
|
6
6
|
class AttachmentGetFileParams < SurgeAPI::Internal::Type::BaseModel
|
|
7
7
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
attr_accessor attachment_id: String
|
|
11
11
|
|
|
12
|
-
def
|
|
12
|
+
def initialize: (
|
|
13
|
+
attachment_id: String,
|
|
14
|
+
?request_options: SurgeAPI::request_opts
|
|
15
|
+
) -> void
|
|
16
|
+
|
|
17
|
+
def to_hash: -> {
|
|
18
|
+
attachment_id: String,
|
|
19
|
+
request_options: SurgeAPI::RequestOptions
|
|
20
|
+
}
|
|
13
21
|
end
|
|
14
22
|
end
|
|
15
23
|
end
|