surge_api 0.17.0 → 0.18.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 +22 -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/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_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.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/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_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.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/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_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.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,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::CampaignListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list campaigns 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 campaigns 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::CampaignRetrieveParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the campaign 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 campaign 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,46 +11,26 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::CampaignUpdateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
returns(
|
|
18
|
-
T.any(
|
|
19
|
-
SurgeAPI::CampaignParams::StandardCampaignParams,
|
|
20
|
-
SurgeAPI::CampaignParams::ExternalCampaignParams
|
|
21
|
-
)
|
|
22
|
-
)
|
|
23
|
-
end
|
|
24
|
-
attr_accessor :campaign_params
|
|
14
|
+
# The ID of the campaign to update.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
25
17
|
|
|
26
18
|
sig do
|
|
27
19
|
params(
|
|
28
|
-
|
|
29
|
-
T.any(
|
|
30
|
-
SurgeAPI::CampaignParams::StandardCampaignParams::OrHash,
|
|
31
|
-
SurgeAPI::CampaignParams::ExternalCampaignParams::OrHash
|
|
32
|
-
),
|
|
20
|
+
id: String,
|
|
33
21
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
34
22
|
).returns(T.attached_class)
|
|
35
23
|
end
|
|
36
24
|
def self.new(
|
|
37
|
-
#
|
|
38
|
-
|
|
39
|
-
campaign_params:,
|
|
25
|
+
# The ID of the campaign to update.
|
|
26
|
+
id:,
|
|
40
27
|
request_options: {}
|
|
41
28
|
)
|
|
42
29
|
end
|
|
43
30
|
|
|
44
31
|
sig do
|
|
45
32
|
override.returns(
|
|
46
|
-
{
|
|
47
|
-
campaign_params:
|
|
48
|
-
T.any(
|
|
49
|
-
SurgeAPI::CampaignParams::StandardCampaignParams,
|
|
50
|
-
SurgeAPI::CampaignParams::ExternalCampaignParams
|
|
51
|
-
),
|
|
52
|
-
request_options: SurgeAPI::RequestOptions
|
|
53
|
-
}
|
|
33
|
+
{ id: String, request_options: SurgeAPI::RequestOptions }
|
|
54
34
|
)
|
|
55
35
|
end
|
|
56
36
|
def to_hash
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::ContactCreateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account for which the contact should be created.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
17
|
+
|
|
14
18
|
# The contact's phone number in E.164 format.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :phone_number
|
|
@@ -45,6 +49,7 @@ module SurgeAPI
|
|
|
45
49
|
|
|
46
50
|
sig do
|
|
47
51
|
params(
|
|
52
|
+
account_id: String,
|
|
48
53
|
phone_number: String,
|
|
49
54
|
email: String,
|
|
50
55
|
first_name: String,
|
|
@@ -54,6 +59,8 @@ module SurgeAPI
|
|
|
54
59
|
).returns(T.attached_class)
|
|
55
60
|
end
|
|
56
61
|
def self.new(
|
|
62
|
+
# The account for which the contact should be created.
|
|
63
|
+
account_id:,
|
|
57
64
|
# The contact's phone number in E.164 format.
|
|
58
65
|
phone_number:,
|
|
59
66
|
# The contact's email address.
|
|
@@ -71,6 +78,7 @@ module SurgeAPI
|
|
|
71
78
|
sig do
|
|
72
79
|
override.returns(
|
|
73
80
|
{
|
|
81
|
+
account_id: String,
|
|
74
82
|
phone_number: String,
|
|
75
83
|
email: String,
|
|
76
84
|
first_name: String,
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::ContactListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list contacts 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 contacts 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::ContactRetrieveParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the contact 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 contact 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::ContactUpdateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The ID of the contact to update.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# The contact's phone number in E.164 format.
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :phone_number
|
|
@@ -45,6 +49,7 @@ module SurgeAPI
|
|
|
45
49
|
|
|
46
50
|
sig do
|
|
47
51
|
params(
|
|
52
|
+
id: String,
|
|
48
53
|
phone_number: String,
|
|
49
54
|
email: String,
|
|
50
55
|
first_name: String,
|
|
@@ -54,6 +59,8 @@ module SurgeAPI
|
|
|
54
59
|
).returns(T.attached_class)
|
|
55
60
|
end
|
|
56
61
|
def self.new(
|
|
62
|
+
# The ID of the contact to update.
|
|
63
|
+
id:,
|
|
57
64
|
# The contact's phone number in E.164 format.
|
|
58
65
|
phone_number:,
|
|
59
66
|
# The contact's email address.
|
|
@@ -71,6 +78,7 @@ module SurgeAPI
|
|
|
71
78
|
sig do
|
|
72
79
|
override.returns(
|
|
73
80
|
{
|
|
81
|
+
id: String,
|
|
74
82
|
phone_number: String,
|
|
75
83
|
email: String,
|
|
76
84
|
first_name: String,
|
|
@@ -159,6 +159,8 @@ module SurgeAPI
|
|
|
159
159
|
IMAGE =
|
|
160
160
|
T.let(:image, SurgeAPI::Message::Attachment::Type::TaggedSymbol)
|
|
161
161
|
LINK = T.let(:link, SurgeAPI::Message::Attachment::Type::TaggedSymbol)
|
|
162
|
+
CONTACT =
|
|
163
|
+
T.let(:contact, SurgeAPI::Message::Attachment::Type::TaggedSymbol)
|
|
162
164
|
VIDEO =
|
|
163
165
|
T.let(:video, SurgeAPI::Message::Attachment::Type::TaggedSymbol)
|
|
164
166
|
|
|
@@ -11,48 +11,26 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::MessageCreateParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
#
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
sig do
|
|
18
|
-
returns(
|
|
19
|
-
T.any(
|
|
20
|
-
SurgeAPI::MessageParams::MessageParamsWithConversation,
|
|
21
|
-
SurgeAPI::MessageParams::SimpleMessageParams
|
|
22
|
-
)
|
|
23
|
-
)
|
|
24
|
-
end
|
|
25
|
-
attr_accessor :message_params
|
|
14
|
+
# The account from which the message should be sent.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :account_id
|
|
26
17
|
|
|
27
18
|
sig do
|
|
28
19
|
params(
|
|
29
|
-
|
|
30
|
-
T.any(
|
|
31
|
-
SurgeAPI::MessageParams::MessageParamsWithConversation::OrHash,
|
|
32
|
-
SurgeAPI::MessageParams::SimpleMessageParams::OrHash
|
|
33
|
-
),
|
|
20
|
+
account_id: String,
|
|
34
21
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
35
22
|
).returns(T.attached_class)
|
|
36
23
|
end
|
|
37
24
|
def self.new(
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
# 'to'/'from' parameters, but not both.
|
|
41
|
-
message_params:,
|
|
25
|
+
# The account from which the message should be sent.
|
|
26
|
+
account_id:,
|
|
42
27
|
request_options: {}
|
|
43
28
|
)
|
|
44
29
|
end
|
|
45
30
|
|
|
46
31
|
sig do
|
|
47
32
|
override.returns(
|
|
48
|
-
{
|
|
49
|
-
message_params:
|
|
50
|
-
T.any(
|
|
51
|
-
SurgeAPI::MessageParams::MessageParamsWithConversation,
|
|
52
|
-
SurgeAPI::MessageParams::SimpleMessageParams
|
|
53
|
-
),
|
|
54
|
-
request_options: SurgeAPI::RequestOptions
|
|
55
|
-
}
|
|
33
|
+
{ account_id: String, request_options: SurgeAPI::RequestOptions }
|
|
56
34
|
)
|
|
57
35
|
end
|
|
58
36
|
def to_hash
|
|
@@ -329,6 +329,11 @@ module SurgeAPI
|
|
|
329
329
|
:link,
|
|
330
330
|
SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
331
331
|
)
|
|
332
|
+
CONTACT =
|
|
333
|
+
T.let(
|
|
334
|
+
:contact,
|
|
335
|
+
SurgeAPI::MessageDeliveredWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
336
|
+
)
|
|
332
337
|
VIDEO =
|
|
333
338
|
T.let(
|
|
334
339
|
:video,
|
|
@@ -333,6 +333,11 @@ module SurgeAPI
|
|
|
333
333
|
:link,
|
|
334
334
|
SurgeAPI::MessageFailedWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
335
335
|
)
|
|
336
|
+
CONTACT =
|
|
337
|
+
T.let(
|
|
338
|
+
:contact,
|
|
339
|
+
SurgeAPI::MessageFailedWebhookEvent::Data::Attachment::Type::TaggedSymbol
|
|
340
|
+
)
|
|
336
341
|
VIDEO =
|
|
337
342
|
T.let(
|
|
338
343
|
:video,
|
|
@@ -11,6 +11,10 @@ module SurgeAPI
|
|
|
11
11
|
T.any(SurgeAPI::MessageListParams, SurgeAPI::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# The account ID to list messages 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 messages 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
|
|
@@ -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]) }
|