surge_api 0.2.0 → 0.2.1
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 +20 -0
- data/README.md +12 -63
- data/lib/surge_api/internal/transport/pooled_net_requester.rb +30 -24
- data/lib/surge_api/internal/util.rb +5 -5
- data/lib/surge_api/models/account_create_params.rb +13 -6
- data/lib/surge_api/models/account_update_params.rb +13 -6
- data/lib/surge_api/models/campaign_create_params.rb +7 -183
- data/lib/surge_api/models/campaign_params.rb +228 -0
- data/lib/surge_api/models/message_create_params.rb +8 -134
- data/lib/surge_api/models/message_params.rb +216 -0
- data/lib/surge_api/models.rb +4 -0
- data/lib/surge_api/resources/campaigns.rb +7 -18
- data/lib/surge_api/resources/messages.rb +7 -12
- data/lib/surge_api/version.rb +1 -1
- data/lib/surge_api.rb +2 -0
- data/rbi/surge_api/models/account_create_params.rbi +19 -8
- data/rbi/surge_api/models/account_update_params.rbi +19 -8
- data/rbi/surge_api/models/campaign_create_params.rbi +20 -346
- data/rbi/surge_api/models/campaign_params.rbi +481 -0
- data/rbi/surge_api/models/message_create_params.rbi +24 -243
- data/rbi/surge_api/models/message_params.rbi +430 -0
- data/rbi/surge_api/models.rbi +4 -0
- data/rbi/surge_api/resources/campaigns.rbi +4 -89
- data/rbi/surge_api/resources/messages.rbi +5 -22
- data/sig/surge_api/models/campaign_create_params.rbs +7 -106
- data/sig/surge_api/models/campaign_params.rbs +141 -0
- data/sig/surge_api/models/message_create_params.rbs +7 -119
- data/sig/surge_api/models/message_params.rbs +189 -0
- data/sig/surge_api/models.rbs +4 -0
- data/sig/surge_api/resources/campaigns.rbs +1 -9
- data/sig/surge_api/resources/messages.rbs +1 -6
- metadata +8 -2
|
@@ -1,127 +1,28 @@
|
|
|
1
1
|
module SurgeAPI
|
|
2
2
|
module Models
|
|
3
3
|
type campaign_create_params =
|
|
4
|
-
{
|
|
5
|
-
consent_flow: String,
|
|
6
|
-
description: String,
|
|
7
|
-
message_samples: ::Array[String],
|
|
8
|
-
privacy_policy_url: String,
|
|
9
|
-
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
|
10
|
-
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
|
11
|
-
includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
|
12
|
-
link_sample: String,
|
|
13
|
-
terms_and_conditions_url: String
|
|
14
|
-
}
|
|
4
|
+
{ campaign_params: SurgeAPI::Models::campaign_params }
|
|
15
5
|
& SurgeAPI::Internal::Type::request_parameters
|
|
16
6
|
|
|
17
7
|
class CampaignCreateParams < SurgeAPI::Internal::Type::BaseModel
|
|
18
8
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
19
9
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
20
10
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
attr_accessor description: String
|
|
24
|
-
|
|
25
|
-
attr_accessor message_samples: ::Array[String]
|
|
26
|
-
|
|
27
|
-
attr_accessor privacy_policy_url: String
|
|
28
|
-
|
|
29
|
-
attr_accessor use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case]
|
|
30
|
-
|
|
31
|
-
attr_accessor volume: SurgeAPI::Models::CampaignCreateParams::volume
|
|
11
|
+
def campaign_params: -> SurgeAPI::Models::campaign_params
|
|
32
12
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
|
37
|
-
) -> ::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
|
38
|
-
|
|
39
|
-
attr_reader link_sample: String?
|
|
40
|
-
|
|
41
|
-
def link_sample=: (String) -> String
|
|
42
|
-
|
|
43
|
-
attr_reader terms_and_conditions_url: String?
|
|
44
|
-
|
|
45
|
-
def terms_and_conditions_url=: (String) -> String
|
|
13
|
+
def campaign_params=: (
|
|
14
|
+
SurgeAPI::Models::campaign_params _
|
|
15
|
+
) -> SurgeAPI::Models::campaign_params
|
|
46
16
|
|
|
47
17
|
def initialize: (
|
|
48
|
-
|
|
49
|
-
description: String,
|
|
50
|
-
message_samples: ::Array[String],
|
|
51
|
-
privacy_policy_url: String,
|
|
52
|
-
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
|
53
|
-
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
|
54
|
-
?includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
|
55
|
-
?link_sample: String,
|
|
56
|
-
?terms_and_conditions_url: String,
|
|
18
|
+
campaign_params: SurgeAPI::Models::campaign_params,
|
|
57
19
|
?request_options: SurgeAPI::request_opts
|
|
58
20
|
) -> void
|
|
59
21
|
|
|
60
22
|
def to_hash: -> {
|
|
61
|
-
|
|
62
|
-
description: String,
|
|
63
|
-
message_samples: ::Array[String],
|
|
64
|
-
privacy_policy_url: String,
|
|
65
|
-
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
|
66
|
-
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
|
67
|
-
includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
|
68
|
-
link_sample: String,
|
|
69
|
-
terms_and_conditions_url: String,
|
|
23
|
+
campaign_params: SurgeAPI::Models::campaign_params,
|
|
70
24
|
request_options: SurgeAPI::RequestOptions
|
|
71
25
|
}
|
|
72
|
-
|
|
73
|
-
type use_case =
|
|
74
|
-
:account_notification
|
|
75
|
-
| :customer_care
|
|
76
|
-
| :delivery_notification
|
|
77
|
-
| :fraud_alert
|
|
78
|
-
| :higher_education
|
|
79
|
-
| :marketing
|
|
80
|
-
| :polling_voting
|
|
81
|
-
| :public_service_announcement
|
|
82
|
-
| :security_alert
|
|
83
|
-
| :two_factor_authentication
|
|
84
|
-
|
|
85
|
-
module UseCase
|
|
86
|
-
extend SurgeAPI::Internal::Type::Enum
|
|
87
|
-
|
|
88
|
-
ACCOUNT_NOTIFICATION: :account_notification
|
|
89
|
-
CUSTOMER_CARE: :customer_care
|
|
90
|
-
DELIVERY_NOTIFICATION: :delivery_notification
|
|
91
|
-
FRAUD_ALERT: :fraud_alert
|
|
92
|
-
HIGHER_EDUCATION: :higher_education
|
|
93
|
-
MARKETING: :marketing
|
|
94
|
-
POLLING_VOTING: :polling_voting
|
|
95
|
-
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
|
96
|
-
SECURITY_ALERT: :security_alert
|
|
97
|
-
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
|
98
|
-
|
|
99
|
-
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::use_case]
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
type volume = :high | :low
|
|
103
|
-
|
|
104
|
-
module Volume
|
|
105
|
-
extend SurgeAPI::Internal::Type::Enum
|
|
106
|
-
|
|
107
|
-
HIGH: :high
|
|
108
|
-
LOW: :low
|
|
109
|
-
|
|
110
|
-
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::volume]
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
type include_ = :links | :phone_numbers | :age_gated | :direct_lending
|
|
114
|
-
|
|
115
|
-
module Include
|
|
116
|
-
extend SurgeAPI::Internal::Type::Enum
|
|
117
|
-
|
|
118
|
-
LINKS: :links
|
|
119
|
-
PHONE_NUMBERS: :phone_numbers
|
|
120
|
-
AGE_GATED: :age_gated
|
|
121
|
-
DIRECT_LENDING: :direct_lending
|
|
122
|
-
|
|
123
|
-
def self?.values: -> ::Array[SurgeAPI::Models::CampaignCreateParams::include_]
|
|
124
|
-
end
|
|
125
26
|
end
|
|
126
27
|
end
|
|
127
28
|
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type campaign_params =
|
|
4
|
+
SurgeAPI::CampaignParams::StandardCampaignParams
|
|
5
|
+
| SurgeAPI::CampaignParams::ExternalCampaignParams
|
|
6
|
+
|
|
7
|
+
module CampaignParams
|
|
8
|
+
extend SurgeAPI::Internal::Type::Union
|
|
9
|
+
|
|
10
|
+
type standard_campaign_params =
|
|
11
|
+
{
|
|
12
|
+
consent_flow: String,
|
|
13
|
+
description: String,
|
|
14
|
+
message_samples: ::Array[String],
|
|
15
|
+
privacy_policy_url: String,
|
|
16
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
|
|
17
|
+
volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
|
|
18
|
+
includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
|
|
19
|
+
link_sample: String,
|
|
20
|
+
terms_and_conditions_url: String
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
class StandardCampaignParams < SurgeAPI::Internal::Type::BaseModel
|
|
24
|
+
attr_accessor consent_flow: String
|
|
25
|
+
|
|
26
|
+
attr_accessor description: String
|
|
27
|
+
|
|
28
|
+
attr_accessor message_samples: ::Array[String]
|
|
29
|
+
|
|
30
|
+
attr_accessor privacy_policy_url: String
|
|
31
|
+
|
|
32
|
+
attr_accessor use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case]
|
|
33
|
+
|
|
34
|
+
attr_accessor volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume
|
|
35
|
+
|
|
36
|
+
attr_reader includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_]?
|
|
37
|
+
|
|
38
|
+
def includes=: (
|
|
39
|
+
::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_]
|
|
40
|
+
) -> ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_]
|
|
41
|
+
|
|
42
|
+
attr_reader link_sample: String?
|
|
43
|
+
|
|
44
|
+
def link_sample=: (String) -> String
|
|
45
|
+
|
|
46
|
+
attr_reader terms_and_conditions_url: String?
|
|
47
|
+
|
|
48
|
+
def terms_and_conditions_url=: (String) -> String
|
|
49
|
+
|
|
50
|
+
def initialize: (
|
|
51
|
+
consent_flow: String,
|
|
52
|
+
description: String,
|
|
53
|
+
message_samples: ::Array[String],
|
|
54
|
+
privacy_policy_url: String,
|
|
55
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
|
|
56
|
+
volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
|
|
57
|
+
?includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
|
|
58
|
+
?link_sample: String,
|
|
59
|
+
?terms_and_conditions_url: String
|
|
60
|
+
) -> void
|
|
61
|
+
|
|
62
|
+
def to_hash: -> {
|
|
63
|
+
consent_flow: String,
|
|
64
|
+
description: String,
|
|
65
|
+
message_samples: ::Array[String],
|
|
66
|
+
privacy_policy_url: String,
|
|
67
|
+
use_cases: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case],
|
|
68
|
+
volume: SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume,
|
|
69
|
+
includes: ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_],
|
|
70
|
+
link_sample: String,
|
|
71
|
+
terms_and_conditions_url: String
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
type use_case =
|
|
75
|
+
:account_notification
|
|
76
|
+
| :customer_care
|
|
77
|
+
| :delivery_notification
|
|
78
|
+
| :fraud_alert
|
|
79
|
+
| :higher_education
|
|
80
|
+
| :marketing
|
|
81
|
+
| :polling_voting
|
|
82
|
+
| :public_service_announcement
|
|
83
|
+
| :security_alert
|
|
84
|
+
| :two_factor_authentication
|
|
85
|
+
|
|
86
|
+
module UseCase
|
|
87
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
88
|
+
|
|
89
|
+
ACCOUNT_NOTIFICATION: :account_notification
|
|
90
|
+
CUSTOMER_CARE: :customer_care
|
|
91
|
+
DELIVERY_NOTIFICATION: :delivery_notification
|
|
92
|
+
FRAUD_ALERT: :fraud_alert
|
|
93
|
+
HIGHER_EDUCATION: :higher_education
|
|
94
|
+
MARKETING: :marketing
|
|
95
|
+
POLLING_VOTING: :polling_voting
|
|
96
|
+
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
|
97
|
+
SECURITY_ALERT: :security_alert
|
|
98
|
+
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
|
99
|
+
|
|
100
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::use_case]
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
type volume = :high | :low
|
|
104
|
+
|
|
105
|
+
module Volume
|
|
106
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
107
|
+
|
|
108
|
+
HIGH: :high
|
|
109
|
+
LOW: :low
|
|
110
|
+
|
|
111
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::volume]
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
type include_ = :links | :phone_numbers | :age_gated | :direct_lending
|
|
115
|
+
|
|
116
|
+
module Include
|
|
117
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
118
|
+
|
|
119
|
+
LINKS: :links
|
|
120
|
+
PHONE_NUMBERS: :phone_numbers
|
|
121
|
+
AGE_GATED: :age_gated
|
|
122
|
+
DIRECT_LENDING: :direct_lending
|
|
123
|
+
|
|
124
|
+
def self?.values: -> ::Array[SurgeAPI::Models::CampaignParams::StandardCampaignParams::include_]
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
type external_campaign_params = { tcr_id: String }
|
|
129
|
+
|
|
130
|
+
class ExternalCampaignParams < SurgeAPI::Internal::Type::BaseModel
|
|
131
|
+
attr_accessor tcr_id: String
|
|
132
|
+
|
|
133
|
+
def initialize: (tcr_id: String) -> void
|
|
134
|
+
|
|
135
|
+
def to_hash: -> { tcr_id: String }
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def self?.variants: -> ::Array[SurgeAPI::Models::campaign_params]
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -1,140 +1,28 @@
|
|
|
1
1
|
module SurgeAPI
|
|
2
2
|
module Models
|
|
3
3
|
type message_create_params =
|
|
4
|
-
{
|
|
5
|
-
conversation: SurgeAPI::MessageCreateParams::Conversation,
|
|
6
|
-
attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
|
7
|
-
body: String,
|
|
8
|
-
send_at: Time,
|
|
9
|
-
to: String,
|
|
10
|
-
from: String
|
|
11
|
-
}
|
|
4
|
+
{ message_params: SurgeAPI::Models::message_params }
|
|
12
5
|
& SurgeAPI::Internal::Type::request_parameters
|
|
13
6
|
|
|
14
7
|
class MessageCreateParams < SurgeAPI::Internal::Type::BaseModel
|
|
15
8
|
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
16
9
|
include SurgeAPI::Internal::Type::RequestParameters
|
|
17
10
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
attr_reader attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment]?
|
|
21
|
-
|
|
22
|
-
def attachments=: (
|
|
23
|
-
::Array[SurgeAPI::MessageCreateParams::Attachment]
|
|
24
|
-
) -> ::Array[SurgeAPI::MessageCreateParams::Attachment]
|
|
25
|
-
|
|
26
|
-
attr_reader body: String?
|
|
27
|
-
|
|
28
|
-
def body=: (String) -> String
|
|
29
|
-
|
|
30
|
-
attr_reader send_at: Time?
|
|
31
|
-
|
|
32
|
-
def send_at=: (Time) -> Time
|
|
33
|
-
|
|
34
|
-
attr_accessor to: String
|
|
11
|
+
def message_params: -> SurgeAPI::Models::message_params
|
|
35
12
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
13
|
+
def message_params=: (
|
|
14
|
+
SurgeAPI::Models::message_params _
|
|
15
|
+
) -> SurgeAPI::Models::message_params
|
|
39
16
|
|
|
40
17
|
def initialize: (
|
|
41
|
-
|
|
42
|
-
to: String,
|
|
43
|
-
?attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
|
44
|
-
?body: String,
|
|
45
|
-
?send_at: Time,
|
|
46
|
-
?from: String,
|
|
18
|
+
message_params: SurgeAPI::Models::message_params,
|
|
47
19
|
?request_options: SurgeAPI::request_opts
|
|
48
20
|
) -> void
|
|
49
21
|
|
|
50
22
|
def to_hash: -> {
|
|
51
|
-
|
|
52
|
-
attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
|
53
|
-
body: String,
|
|
54
|
-
send_at: Time,
|
|
55
|
-
to: String,
|
|
56
|
-
from: String,
|
|
23
|
+
message_params: SurgeAPI::Models::message_params,
|
|
57
24
|
request_options: SurgeAPI::RequestOptions
|
|
58
25
|
}
|
|
59
|
-
|
|
60
|
-
type conversation =
|
|
61
|
-
{
|
|
62
|
-
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
|
63
|
-
phone_number: String
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
|
67
|
-
attr_accessor contact: SurgeAPI::MessageCreateParams::Conversation::Contact
|
|
68
|
-
|
|
69
|
-
attr_reader phone_number: String?
|
|
70
|
-
|
|
71
|
-
def phone_number=: (String) -> String
|
|
72
|
-
|
|
73
|
-
def initialize: (
|
|
74
|
-
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
|
75
|
-
?phone_number: String
|
|
76
|
-
) -> void
|
|
77
|
-
|
|
78
|
-
def to_hash: -> {
|
|
79
|
-
contact: SurgeAPI::MessageCreateParams::Conversation::Contact,
|
|
80
|
-
phone_number: String
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
type contact =
|
|
84
|
-
{
|
|
85
|
-
phone_number: String,
|
|
86
|
-
email: String,
|
|
87
|
-
first_name: String,
|
|
88
|
-
last_name: String,
|
|
89
|
-
metadata: ::Hash[Symbol, String]
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
class Contact < SurgeAPI::Internal::Type::BaseModel
|
|
93
|
-
attr_accessor phone_number: String
|
|
94
|
-
|
|
95
|
-
attr_reader email: String?
|
|
96
|
-
|
|
97
|
-
def email=: (String) -> String
|
|
98
|
-
|
|
99
|
-
attr_reader first_name: String?
|
|
100
|
-
|
|
101
|
-
def first_name=: (String) -> String
|
|
102
|
-
|
|
103
|
-
attr_reader last_name: String?
|
|
104
|
-
|
|
105
|
-
def last_name=: (String) -> String
|
|
106
|
-
|
|
107
|
-
attr_reader metadata: ::Hash[Symbol, String]?
|
|
108
|
-
|
|
109
|
-
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
110
|
-
|
|
111
|
-
def initialize: (
|
|
112
|
-
phone_number: String,
|
|
113
|
-
?email: String,
|
|
114
|
-
?first_name: String,
|
|
115
|
-
?last_name: String,
|
|
116
|
-
?metadata: ::Hash[Symbol, String]
|
|
117
|
-
) -> void
|
|
118
|
-
|
|
119
|
-
def to_hash: -> {
|
|
120
|
-
phone_number: String,
|
|
121
|
-
email: String,
|
|
122
|
-
first_name: String,
|
|
123
|
-
last_name: String,
|
|
124
|
-
metadata: ::Hash[Symbol, String]
|
|
125
|
-
}
|
|
126
|
-
end
|
|
127
|
-
end
|
|
128
|
-
|
|
129
|
-
type attachment = { url: String }
|
|
130
|
-
|
|
131
|
-
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
|
132
|
-
attr_accessor url: String
|
|
133
|
-
|
|
134
|
-
def initialize: (url: String) -> void
|
|
135
|
-
|
|
136
|
-
def to_hash: -> { url: String }
|
|
137
|
-
end
|
|
138
26
|
end
|
|
139
27
|
end
|
|
140
28
|
end
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type message_params =
|
|
4
|
+
SurgeAPI::MessageParams::MessageParamsWithConversation
|
|
5
|
+
| SurgeAPI::MessageParams::SimpleMessageParams
|
|
6
|
+
|
|
7
|
+
module MessageParams
|
|
8
|
+
extend SurgeAPI::Internal::Type::Union
|
|
9
|
+
|
|
10
|
+
type message_params_with_conversation =
|
|
11
|
+
{
|
|
12
|
+
conversation: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation,
|
|
13
|
+
attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
|
|
14
|
+
body: String,
|
|
15
|
+
send_at: Time
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
class MessageParamsWithConversation < SurgeAPI::Internal::Type::BaseModel
|
|
19
|
+
attr_accessor conversation: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation
|
|
20
|
+
|
|
21
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment]?
|
|
22
|
+
|
|
23
|
+
def attachments=: (
|
|
24
|
+
::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment]
|
|
25
|
+
) -> ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment]
|
|
26
|
+
|
|
27
|
+
attr_reader body: String?
|
|
28
|
+
|
|
29
|
+
def body=: (String) -> String
|
|
30
|
+
|
|
31
|
+
attr_reader send_at: Time?
|
|
32
|
+
|
|
33
|
+
def send_at=: (Time) -> Time
|
|
34
|
+
|
|
35
|
+
def initialize: (
|
|
36
|
+
conversation: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation,
|
|
37
|
+
?attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
|
|
38
|
+
?body: String,
|
|
39
|
+
?send_at: Time
|
|
40
|
+
) -> void
|
|
41
|
+
|
|
42
|
+
def to_hash: -> {
|
|
43
|
+
conversation: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation,
|
|
44
|
+
attachments: ::Array[SurgeAPI::MessageParams::MessageParamsWithConversation::Attachment],
|
|
45
|
+
body: String,
|
|
46
|
+
send_at: Time
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
type conversation =
|
|
50
|
+
{
|
|
51
|
+
contact: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation::Contact,
|
|
52
|
+
phone_number: String
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
class Conversation < SurgeAPI::Internal::Type::BaseModel
|
|
56
|
+
attr_accessor contact: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation::Contact
|
|
57
|
+
|
|
58
|
+
attr_reader phone_number: String?
|
|
59
|
+
|
|
60
|
+
def phone_number=: (String) -> String
|
|
61
|
+
|
|
62
|
+
def initialize: (
|
|
63
|
+
contact: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation::Contact,
|
|
64
|
+
?phone_number: String
|
|
65
|
+
) -> void
|
|
66
|
+
|
|
67
|
+
def to_hash: -> {
|
|
68
|
+
contact: SurgeAPI::MessageParams::MessageParamsWithConversation::Conversation::Contact,
|
|
69
|
+
phone_number: String
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type contact =
|
|
73
|
+
{
|
|
74
|
+
phone_number: String,
|
|
75
|
+
email: String,
|
|
76
|
+
first_name: String,
|
|
77
|
+
last_name: String,
|
|
78
|
+
metadata: ::Hash[Symbol, String]
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
class Contact < SurgeAPI::Internal::Type::BaseModel
|
|
82
|
+
attr_accessor phone_number: String
|
|
83
|
+
|
|
84
|
+
attr_reader email: String?
|
|
85
|
+
|
|
86
|
+
def email=: (String) -> String
|
|
87
|
+
|
|
88
|
+
attr_reader first_name: String?
|
|
89
|
+
|
|
90
|
+
def first_name=: (String) -> String
|
|
91
|
+
|
|
92
|
+
attr_reader last_name: String?
|
|
93
|
+
|
|
94
|
+
def last_name=: (String) -> String
|
|
95
|
+
|
|
96
|
+
attr_reader metadata: ::Hash[Symbol, String]?
|
|
97
|
+
|
|
98
|
+
def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
99
|
+
|
|
100
|
+
def initialize: (
|
|
101
|
+
phone_number: String,
|
|
102
|
+
?email: String,
|
|
103
|
+
?first_name: String,
|
|
104
|
+
?last_name: String,
|
|
105
|
+
?metadata: ::Hash[Symbol, String]
|
|
106
|
+
) -> void
|
|
107
|
+
|
|
108
|
+
def to_hash: -> {
|
|
109
|
+
phone_number: String,
|
|
110
|
+
email: String,
|
|
111
|
+
first_name: String,
|
|
112
|
+
last_name: String,
|
|
113
|
+
metadata: ::Hash[Symbol, String]
|
|
114
|
+
}
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
type attachment = { url: String }
|
|
119
|
+
|
|
120
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
|
121
|
+
attr_accessor url: String
|
|
122
|
+
|
|
123
|
+
def initialize: (url: String) -> void
|
|
124
|
+
|
|
125
|
+
def to_hash: -> { url: String }
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
type simple_message_params =
|
|
130
|
+
{
|
|
131
|
+
to: String,
|
|
132
|
+
attachments: ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment],
|
|
133
|
+
body: String,
|
|
134
|
+
from: String,
|
|
135
|
+
send_at: Time
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
class SimpleMessageParams < SurgeAPI::Internal::Type::BaseModel
|
|
139
|
+
attr_accessor to: String
|
|
140
|
+
|
|
141
|
+
attr_reader attachments: ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment]?
|
|
142
|
+
|
|
143
|
+
def attachments=: (
|
|
144
|
+
::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment]
|
|
145
|
+
) -> ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment]
|
|
146
|
+
|
|
147
|
+
attr_reader body: String?
|
|
148
|
+
|
|
149
|
+
def body=: (String) -> String
|
|
150
|
+
|
|
151
|
+
attr_reader from: String?
|
|
152
|
+
|
|
153
|
+
def from=: (String) -> String
|
|
154
|
+
|
|
155
|
+
attr_reader send_at: Time?
|
|
156
|
+
|
|
157
|
+
def send_at=: (Time) -> Time
|
|
158
|
+
|
|
159
|
+
def initialize: (
|
|
160
|
+
to: String,
|
|
161
|
+
?attachments: ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment],
|
|
162
|
+
?body: String,
|
|
163
|
+
?from: String,
|
|
164
|
+
?send_at: Time
|
|
165
|
+
) -> void
|
|
166
|
+
|
|
167
|
+
def to_hash: -> {
|
|
168
|
+
to: String,
|
|
169
|
+
attachments: ::Array[SurgeAPI::MessageParams::SimpleMessageParams::Attachment],
|
|
170
|
+
body: String,
|
|
171
|
+
from: String,
|
|
172
|
+
send_at: Time
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
type attachment = { url: String }
|
|
176
|
+
|
|
177
|
+
class Attachment < SurgeAPI::Internal::Type::BaseModel
|
|
178
|
+
attr_accessor url: String
|
|
179
|
+
|
|
180
|
+
def initialize: (url: String) -> void
|
|
181
|
+
|
|
182
|
+
def to_hash: -> { url: String }
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def self?.variants: -> ::Array[SurgeAPI::Models::message_params]
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
data/sig/surge_api/models.rbs
CHANGED
|
@@ -21,6 +21,8 @@ module SurgeAPI
|
|
|
21
21
|
|
|
22
22
|
class CampaignCreateParams = SurgeAPI::Models::CampaignCreateParams
|
|
23
23
|
|
|
24
|
+
module CampaignParams = SurgeAPI::Models::CampaignParams
|
|
25
|
+
|
|
24
26
|
class Contact = SurgeAPI::Models::Contact
|
|
25
27
|
|
|
26
28
|
class ContactCreateParams = SurgeAPI::Models::ContactCreateParams
|
|
@@ -45,6 +47,8 @@ module SurgeAPI
|
|
|
45
47
|
|
|
46
48
|
class MessageFailedWebhookEvent = SurgeAPI::Models::MessageFailedWebhookEvent
|
|
47
49
|
|
|
50
|
+
module MessageParams = SurgeAPI::Models::MessageParams
|
|
51
|
+
|
|
48
52
|
class MessageReceivedWebhookEvent = SurgeAPI::Models::MessageReceivedWebhookEvent
|
|
49
53
|
|
|
50
54
|
class MessageSentWebhookEvent = SurgeAPI::Models::MessageSentWebhookEvent
|
|
@@ -3,15 +3,7 @@ module SurgeAPI
|
|
|
3
3
|
class Campaigns
|
|
4
4
|
def create: (
|
|
5
5
|
String account_id,
|
|
6
|
-
|
|
7
|
-
description: String,
|
|
8
|
-
message_samples: ::Array[String],
|
|
9
|
-
privacy_policy_url: String,
|
|
10
|
-
use_cases: ::Array[SurgeAPI::Models::CampaignCreateParams::use_case],
|
|
11
|
-
volume: SurgeAPI::Models::CampaignCreateParams::volume,
|
|
12
|
-
?includes: ::Array[SurgeAPI::Models::CampaignCreateParams::include_],
|
|
13
|
-
?link_sample: String,
|
|
14
|
-
?terms_and_conditions_url: String,
|
|
6
|
+
campaign_params: SurgeAPI::Models::CampaignParams,
|
|
15
7
|
?request_options: SurgeAPI::request_opts
|
|
16
8
|
) -> SurgeAPI::Campaign
|
|
17
9
|
|
|
@@ -3,12 +3,7 @@ module SurgeAPI
|
|
|
3
3
|
class Messages
|
|
4
4
|
def create: (
|
|
5
5
|
String account_id,
|
|
6
|
-
|
|
7
|
-
to: String,
|
|
8
|
-
?attachments: ::Array[SurgeAPI::MessageCreateParams::Attachment],
|
|
9
|
-
?body: String,
|
|
10
|
-
?send_at: Time,
|
|
11
|
-
?from: String,
|
|
6
|
+
message_params: SurgeAPI::Models::MessageParams,
|
|
12
7
|
?request_options: SurgeAPI::request_opts
|
|
13
8
|
) -> SurgeAPI::Message
|
|
14
9
|
|