surge_api 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +9 -9
- data/lib/surge_api/client.rb +4 -0
- data/lib/surge_api/internal/type/union.rb +2 -2
- data/lib/surge_api/models/call_ended_webhook_event.rb +8 -3
- data/lib/surge_api/models/campaign.rb +15 -7
- data/lib/surge_api/models/campaign_approved_webhook_event.rb +9 -1
- data/lib/surge_api/models/campaign_params.rb +6 -6
- data/lib/surge_api/models/campaign_rejected_webhook_event.rb +135 -0
- data/lib/surge_api/models/campaign_submitted_webhook_event.rb +74 -0
- data/lib/surge_api/models/campaign_update_params.rb +188 -1
- data/lib/surge_api/models/campaign_warning_webhook_event.rb +134 -0
- data/lib/surge_api/models/message.rb +18 -2
- data/lib/surge_api/models/message_delivered_webhook_event.rb +9 -1
- data/lib/surge_api/models/message_failed_webhook_event.rb +5 -4
- data/lib/surge_api/models/message_received_webhook_event.rb +9 -1
- data/lib/surge_api/models/message_sent_webhook_event.rb +9 -1
- data/lib/surge_api/models/phone_number.rb +9 -1
- data/lib/surge_api/models/phone_number_attached_to_campaign_webhook_event.rb +9 -1
- data/lib/surge_api/models/phone_number_imported_webhook_event.rb +9 -1
- data/lib/surge_api/models/phone_number_purchase_params.rb +9 -1
- data/lib/surge_api/models/phone_number_update_params.rb +9 -1
- data/lib/surge_api/models/toll_free_campaign.rb +132 -0
- data/lib/surge_api/models/toll_free_campaign_consent_flow.rb +176 -0
- data/lib/surge_api/models/toll_free_campaign_create_params.rb +22 -0
- data/lib/surge_api/models/toll_free_campaign_list_params.rb +42 -0
- data/lib/surge_api/models/toll_free_campaign_params.rb +286 -0
- data/lib/surge_api/models/toll_free_campaign_retrieve_params.rb +22 -0
- data/lib/surge_api/models/toll_free_campaign_update_params.rb +278 -0
- data/lib/surge_api/models/unwrap_webhook_event.rb +7 -1
- data/lib/surge_api/models/user_create_token_params.rb +15 -1
- data/lib/surge_api/models.rb +20 -0
- data/lib/surge_api/resources/accounts.rb +2 -2
- data/lib/surge_api/resources/campaigns.rb +26 -8
- data/lib/surge_api/resources/phone_numbers.rb +6 -2
- data/lib/surge_api/resources/toll_free_campaigns.rb +140 -0
- data/lib/surge_api/resources/users.rb +6 -1
- data/lib/surge_api/resources/webhooks.rb +1 -1
- data/lib/surge_api/version.rb +1 -1
- data/lib/surge_api.rb +11 -0
- data/rbi/surge_api/client.rbi +3 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +6 -3
- data/rbi/surge_api/models/campaign.rbi +17 -9
- data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/campaign_params.rbi +9 -9
- data/rbi/surge_api/models/campaign_rejected_webhook_event.rbi +269 -0
- data/rbi/surge_api/models/campaign_submitted_webhook_event.rbi +149 -0
- data/rbi/surge_api/models/campaign_update_params.rbi +378 -1
- data/rbi/surge_api/models/campaign_warning_webhook_event.rbi +259 -0
- data/rbi/surge_api/models/message.rbi +16 -0
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +7 -5
- data/rbi/surge_api/models/message_received_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/phone_number.rbi +8 -0
- data/rbi/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/phone_number_imported_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/phone_number_purchase_params.rbi +11 -0
- data/rbi/surge_api/models/phone_number_update_params.rbi +11 -0
- data/rbi/surge_api/models/toll_free_campaign.rbi +230 -0
- data/rbi/surge_api/models/toll_free_campaign_consent_flow.rbi +476 -0
- data/rbi/surge_api/models/toll_free_campaign_create_params.rbi +43 -0
- data/rbi/surge_api/models/toll_free_campaign_list_params.rbi +70 -0
- data/rbi/surge_api/models/toll_free_campaign_params.rbi +711 -0
- data/rbi/surge_api/models/toll_free_campaign_retrieve_params.rbi +43 -0
- data/rbi/surge_api/models/toll_free_campaign_update_params.rbi +760 -0
- data/rbi/surge_api/models/unwrap_webhook_event.rbi +3 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +17 -0
- data/rbi/surge_api/models.rbi +22 -0
- data/rbi/surge_api/resources/accounts.rbi +2 -2
- data/rbi/surge_api/resources/campaigns.rbi +94 -12
- data/rbi/surge_api/resources/phone_numbers.rbi +6 -0
- data/rbi/surge_api/resources/toll_free_campaigns.rbi +129 -0
- data/rbi/surge_api/resources/users.rbi +6 -0
- data/rbi/surge_api/resources/webhooks.rbi +3 -0
- data/sig/surge_api/client.rbs +2 -0
- data/sig/surge_api/models/campaign.rbs +5 -0
- data/sig/surge_api/models/campaign_approved_webhook_event.rbs +5 -0
- data/sig/surge_api/models/campaign_rejected_webhook_event.rbs +115 -0
- data/sig/surge_api/models/campaign_submitted_webhook_event.rbs +67 -0
- data/sig/surge_api/models/campaign_update_params.rbs +128 -2
- data/sig/surge_api/models/campaign_warning_webhook_event.rbs +114 -0
- data/sig/surge_api/models/message.rbs +10 -0
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +5 -0
- data/sig/surge_api/models/message_failed_webhook_event.rbs +4 -4
- data/sig/surge_api/models/message_received_webhook_event.rbs +5 -0
- data/sig/surge_api/models/message_sent_webhook_event.rbs +5 -0
- data/sig/surge_api/models/phone_number.rbs +5 -0
- data/sig/surge_api/models/phone_number_attached_to_campaign_webhook_event.rbs +5 -0
- data/sig/surge_api/models/phone_number_imported_webhook_event.rbs +5 -0
- data/sig/surge_api/models/phone_number_purchase_params.rbs +7 -0
- data/sig/surge_api/models/phone_number_update_params.rbs +12 -1
- data/sig/surge_api/models/toll_free_campaign.rbs +126 -0
- data/sig/surge_api/models/toll_free_campaign_consent_flow.rbs +207 -0
- data/sig/surge_api/models/toll_free_campaign_create_params.rbs +25 -0
- data/sig/surge_api/models/toll_free_campaign_list_params.rbs +36 -0
- data/sig/surge_api/models/toll_free_campaign_params.rbs +321 -0
- data/sig/surge_api/models/toll_free_campaign_retrieve_params.rbs +23 -0
- data/sig/surge_api/models/toll_free_campaign_update_params.rbs +332 -0
- data/sig/surge_api/models/unwrap_webhook_event.rbs +3 -0
- data/sig/surge_api/models/user_create_token_params.rbs +7 -1
- data/sig/surge_api/models.rbs +20 -0
- data/sig/surge_api/resources/campaigns.rbs +9 -1
- data/sig/surge_api/resources/phone_numbers.rbs +2 -0
- data/sig/surge_api/resources/toll_free_campaigns.rbs +44 -0
- data/sig/surge_api/resources/users.rbs +1 -0
- data/sig/surge_api/resources/webhooks.rbs +3 -0
- metadata +50 -7
|
@@ -39,6 +39,10 @@ module SurgeAPI
|
|
|
39
39
|
sig { params(conversation: SurgeAPI::Message::Conversation::OrHash).void }
|
|
40
40
|
attr_writer :conversation
|
|
41
41
|
|
|
42
|
+
# The reason the message failed, or null if no failure reason is set.
|
|
43
|
+
sig { returns(T.nilable(String)) }
|
|
44
|
+
attr_accessor :failure_reason
|
|
45
|
+
|
|
42
46
|
# Set of key-value pairs that will be stored with the object.
|
|
43
47
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
44
48
|
attr_reader :metadata
|
|
@@ -61,6 +65,7 @@ module SurgeAPI
|
|
|
61
65
|
blast_id: T.nilable(String),
|
|
62
66
|
body: T.nilable(String),
|
|
63
67
|
conversation: SurgeAPI::Message::Conversation::OrHash,
|
|
68
|
+
failure_reason: T.nilable(String),
|
|
64
69
|
metadata: T::Hash[Symbol, String],
|
|
65
70
|
status: SurgeAPI::Message::Status::OrSymbol
|
|
66
71
|
).returns(T.attached_class)
|
|
@@ -76,6 +81,8 @@ module SurgeAPI
|
|
|
76
81
|
body: nil,
|
|
77
82
|
# A conversation with a Contact
|
|
78
83
|
conversation: nil,
|
|
84
|
+
# The reason the message failed, or null if no failure reason is set.
|
|
85
|
+
failure_reason: nil,
|
|
79
86
|
# Set of key-value pairs that will be stored with the object.
|
|
80
87
|
metadata: nil,
|
|
81
88
|
# The current status of the message.
|
|
@@ -91,6 +98,7 @@ module SurgeAPI
|
|
|
91
98
|
blast_id: T.nilable(String),
|
|
92
99
|
body: T.nilable(String),
|
|
93
100
|
conversation: SurgeAPI::Message::Conversation,
|
|
101
|
+
failure_reason: T.nilable(String),
|
|
94
102
|
metadata: T::Hash[Symbol, String],
|
|
95
103
|
status: SurgeAPI::Message::Status::TaggedSymbol
|
|
96
104
|
}
|
|
@@ -256,6 +264,10 @@ module SurgeAPI
|
|
|
256
264
|
sig { returns(String) }
|
|
257
265
|
attr_accessor :id
|
|
258
266
|
|
|
267
|
+
# Set of key-value pairs that will be stored with the object.
|
|
268
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
269
|
+
attr_accessor :metadata
|
|
270
|
+
|
|
259
271
|
# A human-readable name for the phone number
|
|
260
272
|
sig { returns(T.nilable(String)) }
|
|
261
273
|
attr_accessor :name
|
|
@@ -276,6 +288,7 @@ module SurgeAPI
|
|
|
276
288
|
sig do
|
|
277
289
|
params(
|
|
278
290
|
id: String,
|
|
291
|
+
metadata: T::Hash[Symbol, String],
|
|
279
292
|
name: T.nilable(String),
|
|
280
293
|
number: String,
|
|
281
294
|
type: SurgeAPI::Message::Conversation::PhoneNumber::Type::OrSymbol
|
|
@@ -284,6 +297,8 @@ module SurgeAPI
|
|
|
284
297
|
def self.new(
|
|
285
298
|
# Unique identifier for the phone number
|
|
286
299
|
id:,
|
|
300
|
+
# Set of key-value pairs that will be stored with the object.
|
|
301
|
+
metadata:,
|
|
287
302
|
# A human-readable name for the phone number
|
|
288
303
|
name:,
|
|
289
304
|
# The canonical format of the phone number.
|
|
@@ -297,6 +312,7 @@ module SurgeAPI
|
|
|
297
312
|
override.returns(
|
|
298
313
|
{
|
|
299
314
|
id: String,
|
|
315
|
+
metadata: T::Hash[Symbol, String],
|
|
300
316
|
name: T.nilable(String),
|
|
301
317
|
number: String,
|
|
302
318
|
type:
|
|
@@ -100,6 +100,10 @@ module SurgeAPI
|
|
|
100
100
|
sig { returns(Time) }
|
|
101
101
|
attr_accessor :delivered_at
|
|
102
102
|
|
|
103
|
+
# The reason the message failed, or null if no failure reason is set
|
|
104
|
+
sig { returns(T.nilable(String)) }
|
|
105
|
+
attr_accessor :failure_reason
|
|
106
|
+
|
|
103
107
|
# Set of key-value pairs that will be stored with the object.
|
|
104
108
|
sig { returns(T::Hash[Symbol, String]) }
|
|
105
109
|
attr_accessor :metadata
|
|
@@ -148,6 +152,7 @@ module SurgeAPI
|
|
|
148
152
|
conversation:
|
|
149
153
|
SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation::OrHash,
|
|
150
154
|
delivered_at: Time,
|
|
155
|
+
failure_reason: T.nilable(String),
|
|
151
156
|
metadata: T::Hash[Symbol, String],
|
|
152
157
|
status:
|
|
153
158
|
SurgeAPI::MessageDeliveredWebhookEvent::Data::Status::OrSymbol,
|
|
@@ -167,6 +172,8 @@ module SurgeAPI
|
|
|
167
172
|
conversation:,
|
|
168
173
|
# When the message was delivered
|
|
169
174
|
delivered_at:,
|
|
175
|
+
# The reason the message failed, or null if no failure reason is set
|
|
176
|
+
failure_reason:,
|
|
170
177
|
# Set of key-value pairs that will be stored with the object.
|
|
171
178
|
metadata:,
|
|
172
179
|
# The message status represented by this event
|
|
@@ -187,6 +194,7 @@ module SurgeAPI
|
|
|
187
194
|
conversation:
|
|
188
195
|
SurgeAPI::MessageDeliveredWebhookEvent::Data::Conversation,
|
|
189
196
|
delivered_at: Time,
|
|
197
|
+
failure_reason: T.nilable(String),
|
|
190
198
|
metadata: T::Hash[Symbol, String],
|
|
191
199
|
status:
|
|
192
200
|
SurgeAPI::MessageDeliveredWebhookEvent::Data::Status::TaggedSymbol,
|
|
@@ -98,8 +98,9 @@ module SurgeAPI
|
|
|
98
98
|
sig { returns(Time) }
|
|
99
99
|
attr_accessor :failed_at
|
|
100
100
|
|
|
101
|
-
# The reason the message failed to be delivered
|
|
102
|
-
|
|
101
|
+
# The reason the message failed to be delivered, or null if no failure reason is
|
|
102
|
+
# set
|
|
103
|
+
sig { returns(T.nilable(String)) }
|
|
103
104
|
attr_accessor :failure_reason
|
|
104
105
|
|
|
105
106
|
# Set of key-value pairs that will be stored with the object.
|
|
@@ -150,7 +151,7 @@ module SurgeAPI
|
|
|
150
151
|
conversation:
|
|
151
152
|
SurgeAPI::MessageFailedWebhookEvent::Data::Conversation::OrHash,
|
|
152
153
|
failed_at: Time,
|
|
153
|
-
failure_reason: String,
|
|
154
|
+
failure_reason: T.nilable(String),
|
|
154
155
|
metadata: T::Hash[Symbol, String],
|
|
155
156
|
status: SurgeAPI::MessageFailedWebhookEvent::Data::Status::OrSymbol,
|
|
156
157
|
attachments:
|
|
@@ -169,7 +170,8 @@ module SurgeAPI
|
|
|
169
170
|
conversation:,
|
|
170
171
|
# When the message failed
|
|
171
172
|
failed_at:,
|
|
172
|
-
# The reason the message failed to be delivered
|
|
173
|
+
# The reason the message failed to be delivered, or null if no failure reason is
|
|
174
|
+
# set
|
|
173
175
|
failure_reason:,
|
|
174
176
|
# Set of key-value pairs that will be stored with the object.
|
|
175
177
|
metadata:,
|
|
@@ -191,7 +193,7 @@ module SurgeAPI
|
|
|
191
193
|
conversation:
|
|
192
194
|
SurgeAPI::MessageFailedWebhookEvent::Data::Conversation,
|
|
193
195
|
failed_at: Time,
|
|
194
|
-
failure_reason: String,
|
|
196
|
+
failure_reason: T.nilable(String),
|
|
195
197
|
metadata: T::Hash[Symbol, String],
|
|
196
198
|
status:
|
|
197
199
|
SurgeAPI::MessageFailedWebhookEvent::Data::Status::TaggedSymbol,
|
|
@@ -96,6 +96,10 @@ module SurgeAPI
|
|
|
96
96
|
end
|
|
97
97
|
attr_writer :conversation
|
|
98
98
|
|
|
99
|
+
# The reason the message failed, or null if no failure reason is set
|
|
100
|
+
sig { returns(T.nilable(String)) }
|
|
101
|
+
attr_accessor :failure_reason
|
|
102
|
+
|
|
99
103
|
# Set of key-value pairs that will be stored with the object.
|
|
100
104
|
sig { returns(T::Hash[Symbol, String]) }
|
|
101
105
|
attr_accessor :metadata
|
|
@@ -147,6 +151,7 @@ module SurgeAPI
|
|
|
147
151
|
body: T.nilable(String),
|
|
148
152
|
conversation:
|
|
149
153
|
SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation::OrHash,
|
|
154
|
+
failure_reason: T.nilable(String),
|
|
150
155
|
metadata: T::Hash[Symbol, String],
|
|
151
156
|
received_at: Time,
|
|
152
157
|
status:
|
|
@@ -165,6 +170,8 @@ module SurgeAPI
|
|
|
165
170
|
body:,
|
|
166
171
|
# The conversation this message belongs to
|
|
167
172
|
conversation:,
|
|
173
|
+
# The reason the message failed, or null if no failure reason is set
|
|
174
|
+
failure_reason:,
|
|
168
175
|
# Set of key-value pairs that will be stored with the object.
|
|
169
176
|
metadata:,
|
|
170
177
|
# When the message was received
|
|
@@ -186,6 +193,7 @@ module SurgeAPI
|
|
|
186
193
|
body: T.nilable(String),
|
|
187
194
|
conversation:
|
|
188
195
|
SurgeAPI::MessageReceivedWebhookEvent::Data::Conversation,
|
|
196
|
+
failure_reason: T.nilable(String),
|
|
189
197
|
metadata: T::Hash[Symbol, String],
|
|
190
198
|
received_at: Time,
|
|
191
199
|
status:
|
|
@@ -89,6 +89,10 @@ module SurgeAPI
|
|
|
89
89
|
end
|
|
90
90
|
attr_writer :conversation
|
|
91
91
|
|
|
92
|
+
# The reason the message failed, or null if no failure reason is set
|
|
93
|
+
sig { returns(T.nilable(String)) }
|
|
94
|
+
attr_accessor :failure_reason
|
|
95
|
+
|
|
92
96
|
# Set of key-value pairs that will be stored with the object.
|
|
93
97
|
sig { returns(T::Hash[Symbol, String]) }
|
|
94
98
|
attr_accessor :metadata
|
|
@@ -138,6 +142,7 @@ module SurgeAPI
|
|
|
138
142
|
body: T.nilable(String),
|
|
139
143
|
conversation:
|
|
140
144
|
SurgeAPI::MessageSentWebhookEvent::Data::Conversation::OrHash,
|
|
145
|
+
failure_reason: T.nilable(String),
|
|
141
146
|
metadata: T::Hash[Symbol, String],
|
|
142
147
|
sent_at: Time,
|
|
143
148
|
status: SurgeAPI::MessageSentWebhookEvent::Data::Status::OrSymbol,
|
|
@@ -155,6 +160,8 @@ module SurgeAPI
|
|
|
155
160
|
body:,
|
|
156
161
|
# The conversation this message belongs to
|
|
157
162
|
conversation:,
|
|
163
|
+
# The reason the message failed, or null if no failure reason is set
|
|
164
|
+
failure_reason:,
|
|
158
165
|
# Set of key-value pairs that will be stored with the object.
|
|
159
166
|
metadata:,
|
|
160
167
|
# When the message was sent
|
|
@@ -176,6 +183,7 @@ module SurgeAPI
|
|
|
176
183
|
body: T.nilable(String),
|
|
177
184
|
conversation:
|
|
178
185
|
SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
|
|
186
|
+
failure_reason: T.nilable(String),
|
|
179
187
|
metadata: T::Hash[Symbol, String],
|
|
180
188
|
sent_at: Time,
|
|
181
189
|
status:
|
|
@@ -28,6 +28,10 @@ module SurgeAPI
|
|
|
28
28
|
sig { returns(T.nilable(String)) }
|
|
29
29
|
attr_accessor :campaign_id
|
|
30
30
|
|
|
31
|
+
# Set of key-value pairs that will be stored with the object.
|
|
32
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
33
|
+
attr_accessor :metadata
|
|
34
|
+
|
|
31
35
|
# A human-readable name for the phone number
|
|
32
36
|
sig { returns(T.nilable(String)) }
|
|
33
37
|
attr_accessor :name
|
|
@@ -46,6 +50,7 @@ module SurgeAPI
|
|
|
46
50
|
id: String,
|
|
47
51
|
campaign: T.nilable(SurgeAPI::PhoneNumber::Campaign::OrHash),
|
|
48
52
|
campaign_id: T.nilable(String),
|
|
53
|
+
metadata: T::Hash[Symbol, String],
|
|
49
54
|
name: T.nilable(String),
|
|
50
55
|
number: String,
|
|
51
56
|
type: SurgeAPI::PhoneNumber::Type::OrSymbol
|
|
@@ -59,6 +64,8 @@ module SurgeAPI
|
|
|
59
64
|
# Deprecated. The unique identifier of the campaign this phone number is attached
|
|
60
65
|
# to, if any
|
|
61
66
|
campaign_id:,
|
|
67
|
+
# Set of key-value pairs that will be stored with the object.
|
|
68
|
+
metadata:,
|
|
62
69
|
# A human-readable name for the phone number
|
|
63
70
|
name:,
|
|
64
71
|
# The phone number in E.164 format
|
|
@@ -74,6 +81,7 @@ module SurgeAPI
|
|
|
74
81
|
id: String,
|
|
75
82
|
campaign: T.nilable(SurgeAPI::PhoneNumber::Campaign),
|
|
76
83
|
campaign_id: T.nilable(String),
|
|
84
|
+
metadata: T::Hash[Symbol, String],
|
|
77
85
|
name: T.nilable(String),
|
|
78
86
|
number: String,
|
|
79
87
|
type: SurgeAPI::PhoneNumber::Type::TaggedSymbol
|
|
@@ -109,6 +109,10 @@ module SurgeAPI
|
|
|
109
109
|
sig { returns(String) }
|
|
110
110
|
attr_accessor :campaign_id
|
|
111
111
|
|
|
112
|
+
# Set of key-value pairs that will be stored with the object.
|
|
113
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
114
|
+
attr_accessor :metadata
|
|
115
|
+
|
|
112
116
|
# A human-readable name for the phone number
|
|
113
117
|
sig { returns(T.nilable(String)) }
|
|
114
118
|
attr_accessor :name
|
|
@@ -134,6 +138,7 @@ module SurgeAPI
|
|
|
134
138
|
SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent::Data::Campaign::OrHash
|
|
135
139
|
),
|
|
136
140
|
campaign_id: String,
|
|
141
|
+
metadata: T::Hash[Symbol, String],
|
|
137
142
|
name: T.nilable(String),
|
|
138
143
|
number: String,
|
|
139
144
|
type:
|
|
@@ -148,6 +153,8 @@ module SurgeAPI
|
|
|
148
153
|
# Deprecated. The unique identifier of the campaign this phone number is attached
|
|
149
154
|
# to
|
|
150
155
|
campaign_id:,
|
|
156
|
+
# Set of key-value pairs that will be stored with the object.
|
|
157
|
+
metadata:,
|
|
151
158
|
# A human-readable name for the phone number
|
|
152
159
|
name:,
|
|
153
160
|
# The phone number in E.164 format
|
|
@@ -166,6 +173,7 @@ module SurgeAPI
|
|
|
166
173
|
SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent::Data::Campaign
|
|
167
174
|
),
|
|
168
175
|
campaign_id: String,
|
|
176
|
+
metadata: T::Hash[Symbol, String],
|
|
169
177
|
name: T.nilable(String),
|
|
170
178
|
number: String,
|
|
171
179
|
type:
|
|
@@ -103,6 +103,10 @@ module SurgeAPI
|
|
|
103
103
|
sig { returns(T.nilable(String)) }
|
|
104
104
|
attr_accessor :campaign_id
|
|
105
105
|
|
|
106
|
+
# Set of key-value pairs that will be stored with the object.
|
|
107
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
108
|
+
attr_accessor :metadata
|
|
109
|
+
|
|
106
110
|
# A human-readable name for the phone number
|
|
107
111
|
sig { returns(T.nilable(String)) }
|
|
108
112
|
attr_accessor :name
|
|
@@ -128,6 +132,7 @@ module SurgeAPI
|
|
|
128
132
|
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign::OrHash
|
|
129
133
|
),
|
|
130
134
|
campaign_id: T.nilable(String),
|
|
135
|
+
metadata: T::Hash[Symbol, String],
|
|
131
136
|
name: T.nilable(String),
|
|
132
137
|
number: String,
|
|
133
138
|
type:
|
|
@@ -142,6 +147,8 @@ module SurgeAPI
|
|
|
142
147
|
# Deprecated. The unique identifier of the campaign this phone number is attached
|
|
143
148
|
# to
|
|
144
149
|
campaign_id:,
|
|
150
|
+
# Set of key-value pairs that will be stored with the object.
|
|
151
|
+
metadata:,
|
|
145
152
|
# A human-readable name for the phone number
|
|
146
153
|
name:,
|
|
147
154
|
# The phone number in E.164 format
|
|
@@ -160,6 +167,7 @@ module SurgeAPI
|
|
|
160
167
|
SurgeAPI::PhoneNumberImportedWebhookEvent::Data::Campaign
|
|
161
168
|
),
|
|
162
169
|
campaign_id: T.nilable(String),
|
|
170
|
+
metadata: T::Hash[Symbol, String],
|
|
163
171
|
name: T.nilable(String),
|
|
164
172
|
number: String,
|
|
165
173
|
type:
|
|
@@ -42,6 +42,13 @@ module SurgeAPI
|
|
|
42
42
|
sig { params(longitude: Float).void }
|
|
43
43
|
attr_writer :longitude
|
|
44
44
|
|
|
45
|
+
# Set of key-value pairs that will be stored with the object.
|
|
46
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
47
|
+
attr_reader :metadata
|
|
48
|
+
|
|
49
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
|
50
|
+
attr_writer :metadata
|
|
51
|
+
|
|
45
52
|
# A human-readable name for the phone number. If not provided, defaults to the
|
|
46
53
|
# formatted phone number.
|
|
47
54
|
sig { returns(T.nilable(String)) }
|
|
@@ -76,6 +83,7 @@ module SurgeAPI
|
|
|
76
83
|
area_code: String,
|
|
77
84
|
latitude: Float,
|
|
78
85
|
longitude: Float,
|
|
86
|
+
metadata: T::Hash[Symbol, String],
|
|
79
87
|
name: String,
|
|
80
88
|
phone_number: String,
|
|
81
89
|
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
|
@@ -94,6 +102,8 @@ module SurgeAPI
|
|
|
94
102
|
# Longitude to search for nearby phone numbers. Must be used with latitude. If
|
|
95
103
|
# provided without type, type will be inferred as 'local'.
|
|
96
104
|
longitude: nil,
|
|
105
|
+
# Set of key-value pairs that will be stored with the object.
|
|
106
|
+
metadata: nil,
|
|
97
107
|
# A human-readable name for the phone number. If not provided, defaults to the
|
|
98
108
|
# formatted phone number.
|
|
99
109
|
name: nil,
|
|
@@ -114,6 +124,7 @@ module SurgeAPI
|
|
|
114
124
|
area_code: String,
|
|
115
125
|
latitude: Float,
|
|
116
126
|
longitude: Float,
|
|
127
|
+
metadata: T::Hash[Symbol, String],
|
|
117
128
|
name: String,
|
|
118
129
|
phone_number: String,
|
|
119
130
|
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
|
@@ -22,6 +22,13 @@ module SurgeAPI
|
|
|
22
22
|
sig { params(campaign_id: String).void }
|
|
23
23
|
attr_writer :campaign_id
|
|
24
24
|
|
|
25
|
+
# Set of key-value pairs that will be stored with the object.
|
|
26
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
27
|
+
attr_reader :metadata
|
|
28
|
+
|
|
29
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
|
30
|
+
attr_writer :metadata
|
|
31
|
+
|
|
25
32
|
# A human-readable name for the phone number.
|
|
26
33
|
sig { returns(T.nilable(String)) }
|
|
27
34
|
attr_reader :name
|
|
@@ -33,6 +40,7 @@ module SurgeAPI
|
|
|
33
40
|
params(
|
|
34
41
|
id: String,
|
|
35
42
|
campaign_id: String,
|
|
43
|
+
metadata: T::Hash[Symbol, String],
|
|
36
44
|
name: String,
|
|
37
45
|
request_options: SurgeAPI::RequestOptions::OrHash
|
|
38
46
|
).returns(T.attached_class)
|
|
@@ -42,6 +50,8 @@ module SurgeAPI
|
|
|
42
50
|
id:,
|
|
43
51
|
# Campaign ID to attach this number to (`cpn_...`).
|
|
44
52
|
campaign_id: nil,
|
|
53
|
+
# Set of key-value pairs that will be stored with the object.
|
|
54
|
+
metadata: nil,
|
|
45
55
|
# A human-readable name for the phone number.
|
|
46
56
|
name: nil,
|
|
47
57
|
request_options: {}
|
|
@@ -53,6 +63,7 @@ module SurgeAPI
|
|
|
53
63
|
{
|
|
54
64
|
id: String,
|
|
55
65
|
campaign_id: String,
|
|
66
|
+
metadata: T::Hash[Symbol, String],
|
|
56
67
|
name: String,
|
|
57
68
|
request_options: SurgeAPI::RequestOptions
|
|
58
69
|
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module SurgeAPI
|
|
4
|
+
module Models
|
|
5
|
+
class TollFreeCampaign < SurgeAPI::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(SurgeAPI::TollFreeCampaign, SurgeAPI::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# The toll-free campaign ID
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :id
|
|
14
|
+
|
|
15
|
+
sig { returns(T::Array[SurgeAPI::TollFreeCampaignConsentFlow::Variants]) }
|
|
16
|
+
attr_accessor :consent_flows
|
|
17
|
+
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_accessor :description
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
returns(T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol])
|
|
23
|
+
end
|
|
24
|
+
attr_accessor :includes
|
|
25
|
+
|
|
26
|
+
sig { returns(T::Array[String]) }
|
|
27
|
+
attr_accessor :message_samples
|
|
28
|
+
|
|
29
|
+
# The toll-free phone number ID
|
|
30
|
+
sig { returns(String) }
|
|
31
|
+
attr_accessor :phone_number_id
|
|
32
|
+
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_accessor :privacy_policy_url
|
|
35
|
+
|
|
36
|
+
# The current status of the toll-free campaign.
|
|
37
|
+
sig { returns(SurgeAPI::TollFreeCampaign::Status::TaggedSymbol) }
|
|
38
|
+
attr_accessor :status
|
|
39
|
+
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_accessor :terms_and_conditions_url
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
returns(T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol])
|
|
45
|
+
end
|
|
46
|
+
attr_accessor :use_cases
|
|
47
|
+
|
|
48
|
+
# A toll-free campaign registration for a phone number.
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
id: String,
|
|
52
|
+
consent_flows:
|
|
53
|
+
T::Array[
|
|
54
|
+
T.any(
|
|
55
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember0::OrHash,
|
|
56
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember1::OrHash,
|
|
57
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember2::OrHash,
|
|
58
|
+
SurgeAPI::TollFreeCampaignConsentFlow::UnionMember3::OrHash,
|
|
59
|
+
SurgeAPI::TollFreeCampaignConsentFlow::Type::OrHash
|
|
60
|
+
)
|
|
61
|
+
],
|
|
62
|
+
description: T.nilable(String),
|
|
63
|
+
includes: T::Array[SurgeAPI::TollFreeCampaign::Include::OrSymbol],
|
|
64
|
+
message_samples: T::Array[String],
|
|
65
|
+
phone_number_id: String,
|
|
66
|
+
privacy_policy_url: T.nilable(String),
|
|
67
|
+
status: SurgeAPI::TollFreeCampaign::Status::OrSymbol,
|
|
68
|
+
terms_and_conditions_url: T.nilable(String),
|
|
69
|
+
use_cases: T::Array[SurgeAPI::TollFreeCampaign::UseCase::OrSymbol]
|
|
70
|
+
).returns(T.attached_class)
|
|
71
|
+
end
|
|
72
|
+
def self.new(
|
|
73
|
+
# The toll-free campaign ID
|
|
74
|
+
id:,
|
|
75
|
+
consent_flows:,
|
|
76
|
+
description:,
|
|
77
|
+
includes:,
|
|
78
|
+
message_samples:,
|
|
79
|
+
# The toll-free phone number ID
|
|
80
|
+
phone_number_id:,
|
|
81
|
+
privacy_policy_url:,
|
|
82
|
+
# The current status of the toll-free campaign.
|
|
83
|
+
status:,
|
|
84
|
+
terms_and_conditions_url:,
|
|
85
|
+
use_cases:
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
sig do
|
|
90
|
+
override.returns(
|
|
91
|
+
{
|
|
92
|
+
id: String,
|
|
93
|
+
consent_flows:
|
|
94
|
+
T::Array[SurgeAPI::TollFreeCampaignConsentFlow::Variants],
|
|
95
|
+
description: T.nilable(String),
|
|
96
|
+
includes:
|
|
97
|
+
T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol],
|
|
98
|
+
message_samples: T::Array[String],
|
|
99
|
+
phone_number_id: String,
|
|
100
|
+
privacy_policy_url: T.nilable(String),
|
|
101
|
+
status: SurgeAPI::TollFreeCampaign::Status::TaggedSymbol,
|
|
102
|
+
terms_and_conditions_url: T.nilable(String),
|
|
103
|
+
use_cases:
|
|
104
|
+
T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol]
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
def to_hash
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
module Include
|
|
112
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
113
|
+
|
|
114
|
+
TaggedSymbol =
|
|
115
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::Include) }
|
|
116
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
117
|
+
|
|
118
|
+
AGE_GATED =
|
|
119
|
+
T.let(:age_gated, SurgeAPI::TollFreeCampaign::Include::TaggedSymbol)
|
|
120
|
+
|
|
121
|
+
sig do
|
|
122
|
+
override.returns(
|
|
123
|
+
T::Array[SurgeAPI::TollFreeCampaign::Include::TaggedSymbol]
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
def self.values
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# The current status of the toll-free campaign.
|
|
131
|
+
module Status
|
|
132
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
133
|
+
|
|
134
|
+
TaggedSymbol =
|
|
135
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::Status) }
|
|
136
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
137
|
+
|
|
138
|
+
ACTIVE =
|
|
139
|
+
T.let(:active, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
140
|
+
CANCELED =
|
|
141
|
+
T.let(:canceled, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
142
|
+
CREATED =
|
|
143
|
+
T.let(:created, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
144
|
+
IN_REVIEW =
|
|
145
|
+
T.let(:in_review, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
146
|
+
REJECTED =
|
|
147
|
+
T.let(:rejected, SurgeAPI::TollFreeCampaign::Status::TaggedSymbol)
|
|
148
|
+
|
|
149
|
+
sig do
|
|
150
|
+
override.returns(
|
|
151
|
+
T::Array[SurgeAPI::TollFreeCampaign::Status::TaggedSymbol]
|
|
152
|
+
)
|
|
153
|
+
end
|
|
154
|
+
def self.values
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
module UseCase
|
|
159
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
160
|
+
|
|
161
|
+
TaggedSymbol =
|
|
162
|
+
T.type_alias { T.all(Symbol, SurgeAPI::TollFreeCampaign::UseCase) }
|
|
163
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
164
|
+
|
|
165
|
+
TWO_FACTOR_AUTHENTICATION =
|
|
166
|
+
T.let(
|
|
167
|
+
:two_factor_authentication,
|
|
168
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
169
|
+
)
|
|
170
|
+
ACCOUNT_NOTIFICATION =
|
|
171
|
+
T.let(
|
|
172
|
+
:account_notification,
|
|
173
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
174
|
+
)
|
|
175
|
+
CUSTOMER_CARE =
|
|
176
|
+
T.let(
|
|
177
|
+
:customer_care,
|
|
178
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
179
|
+
)
|
|
180
|
+
CHARITY =
|
|
181
|
+
T.let(:charity, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
182
|
+
DELIVERY_NOTIFICATION =
|
|
183
|
+
T.let(
|
|
184
|
+
:delivery_notification,
|
|
185
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
186
|
+
)
|
|
187
|
+
FRAUD_ALERT =
|
|
188
|
+
T.let(:fraud_alert, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
189
|
+
EVENT = T.let(:event, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
190
|
+
HIGHER_EDUCATION =
|
|
191
|
+
T.let(
|
|
192
|
+
:higher_education,
|
|
193
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
194
|
+
)
|
|
195
|
+
K12_EDUCATION =
|
|
196
|
+
T.let(
|
|
197
|
+
:k12_education,
|
|
198
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
199
|
+
)
|
|
200
|
+
MARKETING =
|
|
201
|
+
T.let(:marketing, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
202
|
+
POLLING_VOTING =
|
|
203
|
+
T.let(
|
|
204
|
+
:polling_voting,
|
|
205
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
206
|
+
)
|
|
207
|
+
POLITICAL =
|
|
208
|
+
T.let(:political, SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol)
|
|
209
|
+
PUBLIC_SERVICE_ANNOUNCEMENT =
|
|
210
|
+
T.let(
|
|
211
|
+
:public_service_announcement,
|
|
212
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
213
|
+
)
|
|
214
|
+
SECURITY_ALERT =
|
|
215
|
+
T.let(
|
|
216
|
+
:security_alert,
|
|
217
|
+
SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
sig do
|
|
221
|
+
override.returns(
|
|
222
|
+
T::Array[SurgeAPI::TollFreeCampaign::UseCase::TaggedSymbol]
|
|
223
|
+
)
|
|
224
|
+
end
|
|
225
|
+
def self.values
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
end
|