surge_api 0.23.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 +28 -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/account_retrieve_status_params.rb +1 -0
- data/lib/surge_api/models/call_ended_webhook_event.rb +8 -3
- data/lib/surge_api/models/campaign.rb +21 -13
- data/lib/surge_api/models/campaign_approved_webhook_event.rb +9 -1
- data/lib/surge_api/models/campaign_params.rb +11 -12
- 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 +42 -2
- data/lib/surge_api/models/message_delivered_webhook_event.rb +29 -1
- data/lib/surge_api/models/message_failed_webhook_event.rb +26 -5
- data/lib/surge_api/models/message_received_webhook_event.rb +29 -1
- data/lib/surge_api/models/message_sent_webhook_event.rb +29 -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 +160 -0
- 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 +9 -1
- data/lib/surge_api/models/user_create_token_params.rb +15 -1
- data/lib/surge_api/models.rb +22 -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 +12 -0
- data/rbi/surge_api/client.rbi +3 -0
- data/rbi/surge_api/models/account_retrieve_status_params.rbi +5 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +6 -3
- data/rbi/surge_api/models/campaign.rbi +26 -19
- data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +8 -0
- data/rbi/surge_api/models/campaign_params.rbi +17 -19
- 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 +50 -3
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +52 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +47 -5
- data/rbi/surge_api/models/message_received_webhook_event.rbi +49 -0
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +46 -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 +318 -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 +4 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +17 -0
- data/rbi/surge_api/models.rbi +25 -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 +4 -0
- data/sig/surge_api/client.rbs +2 -0
- data/sig/surge_api/models/account_retrieve_status_params.rbs +2 -1
- data/sig/surge_api/models/campaign.rbs +8 -1
- 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 +36 -3
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +20 -0
- data/sig/surge_api/models/message_failed_webhook_event.rbs +19 -4
- data/sig/surge_api/models/message_received_webhook_event.rbs +20 -0
- data/sig/surge_api/models/message_sent_webhook_event.rbs +20 -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 +130 -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 +4 -0
- data/sig/surge_api/models/user_create_token_params.rbs +7 -1
- data/sig/surge_api/models.rbs +22 -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 +4 -0
- metadata +53 -7
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type toll_free_campaign_params =
|
|
4
|
+
{
|
|
5
|
+
consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignParams::consent_flow],
|
|
6
|
+
description: String,
|
|
7
|
+
message_samples: ::Array[String],
|
|
8
|
+
phone_number_id: String,
|
|
9
|
+
privacy_policy_url: String,
|
|
10
|
+
terms_and_conditions_url: String,
|
|
11
|
+
use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignParams::use_case],
|
|
12
|
+
includes: ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class TollFreeCampaignParams < SurgeAPI::Internal::Type::BaseModel
|
|
16
|
+
attr_accessor consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignParams::consent_flow]
|
|
17
|
+
|
|
18
|
+
attr_accessor description: String
|
|
19
|
+
|
|
20
|
+
attr_accessor message_samples: ::Array[String]
|
|
21
|
+
|
|
22
|
+
attr_accessor phone_number_id: String
|
|
23
|
+
|
|
24
|
+
attr_accessor privacy_policy_url: String
|
|
25
|
+
|
|
26
|
+
attr_accessor terms_and_conditions_url: String
|
|
27
|
+
|
|
28
|
+
attr_accessor use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignParams::use_case]
|
|
29
|
+
|
|
30
|
+
attr_reader includes: ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]?
|
|
31
|
+
|
|
32
|
+
def includes=: (
|
|
33
|
+
::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
34
|
+
) -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
35
|
+
|
|
36
|
+
def initialize: (
|
|
37
|
+
consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignParams::consent_flow],
|
|
38
|
+
description: String,
|
|
39
|
+
message_samples: ::Array[String],
|
|
40
|
+
phone_number_id: String,
|
|
41
|
+
privacy_policy_url: String,
|
|
42
|
+
terms_and_conditions_url: String,
|
|
43
|
+
use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignParams::use_case],
|
|
44
|
+
?includes: ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
45
|
+
) -> void
|
|
46
|
+
|
|
47
|
+
def to_hash: -> {
|
|
48
|
+
consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignParams::consent_flow],
|
|
49
|
+
description: String,
|
|
50
|
+
message_samples: ::Array[String],
|
|
51
|
+
phone_number_id: String,
|
|
52
|
+
privacy_policy_url: String,
|
|
53
|
+
terms_and_conditions_url: String,
|
|
54
|
+
use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignParams::use_case],
|
|
55
|
+
includes: ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
type consent_flow =
|
|
59
|
+
SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember0
|
|
60
|
+
| SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1
|
|
61
|
+
| SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember2
|
|
62
|
+
| SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember3
|
|
63
|
+
|
|
64
|
+
module ConsentFlow
|
|
65
|
+
extend SurgeAPI::Internal::Type::Union
|
|
66
|
+
|
|
67
|
+
type union_member0 =
|
|
68
|
+
{
|
|
69
|
+
script: String,
|
|
70
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember0::type_
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
class UnionMember0 < SurgeAPI::Internal::Type::BaseModel
|
|
74
|
+
attr_accessor script: String
|
|
75
|
+
|
|
76
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember0::type_
|
|
77
|
+
|
|
78
|
+
def initialize: (
|
|
79
|
+
script: String,
|
|
80
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember0::type_
|
|
81
|
+
) -> void
|
|
82
|
+
|
|
83
|
+
def to_hash: -> {
|
|
84
|
+
script: String,
|
|
85
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember0::type_
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
type type_ = :verbal
|
|
89
|
+
|
|
90
|
+
module Type
|
|
91
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
92
|
+
|
|
93
|
+
VERBAL: :verbal
|
|
94
|
+
|
|
95
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember0::type_]
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
type union_member1 =
|
|
100
|
+
{
|
|
101
|
+
owner: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::owner,
|
|
102
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::type_,
|
|
103
|
+
form_url: String,
|
|
104
|
+
screenshot: SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
class UnionMember1 < SurgeAPI::Internal::Type::BaseModel
|
|
108
|
+
attr_accessor owner: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::owner
|
|
109
|
+
|
|
110
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::type_
|
|
111
|
+
|
|
112
|
+
attr_reader form_url: String?
|
|
113
|
+
|
|
114
|
+
def form_url=: (String) -> String
|
|
115
|
+
|
|
116
|
+
attr_reader screenshot: SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot?
|
|
117
|
+
|
|
118
|
+
def screenshot=: (
|
|
119
|
+
SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot
|
|
120
|
+
) -> SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot
|
|
121
|
+
|
|
122
|
+
def initialize: (
|
|
123
|
+
owner: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::owner,
|
|
124
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::type_,
|
|
125
|
+
?form_url: String,
|
|
126
|
+
?screenshot: SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot
|
|
127
|
+
) -> void
|
|
128
|
+
|
|
129
|
+
def to_hash: -> {
|
|
130
|
+
owner: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::owner,
|
|
131
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::type_,
|
|
132
|
+
form_url: String,
|
|
133
|
+
screenshot: SurgeAPI::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
type owner = :brand | :platform
|
|
137
|
+
|
|
138
|
+
module Owner
|
|
139
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
140
|
+
|
|
141
|
+
BRAND: :brand
|
|
142
|
+
PLATFORM: :platform
|
|
143
|
+
|
|
144
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::owner]
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
type type_ = :web_form
|
|
148
|
+
|
|
149
|
+
module Type
|
|
150
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
151
|
+
|
|
152
|
+
WEB_FORM: :web_form
|
|
153
|
+
|
|
154
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::type_]
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
type screenshot =
|
|
158
|
+
{
|
|
159
|
+
reason: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
160
|
+
urls: ::Array[String],
|
|
161
|
+
reason_other: String
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
class Screenshot < SurgeAPI::Internal::Type::BaseModel
|
|
165
|
+
attr_accessor reason: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot::reason
|
|
166
|
+
|
|
167
|
+
attr_accessor urls: ::Array[String]
|
|
168
|
+
|
|
169
|
+
attr_reader reason_other: String?
|
|
170
|
+
|
|
171
|
+
def reason_other=: (String) -> String
|
|
172
|
+
|
|
173
|
+
def initialize: (
|
|
174
|
+
reason: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
175
|
+
urls: ::Array[String],
|
|
176
|
+
?reason_other: String
|
|
177
|
+
) -> void
|
|
178
|
+
|
|
179
|
+
def to_hash: -> {
|
|
180
|
+
reason: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
181
|
+
urls: ::Array[String],
|
|
182
|
+
reason_other: String
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
type reason = :behind_login | :under_construction | :other
|
|
186
|
+
|
|
187
|
+
module Reason
|
|
188
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
189
|
+
|
|
190
|
+
BEHIND_LOGIN: :behind_login
|
|
191
|
+
UNDER_CONSTRUCTION: :under_construction
|
|
192
|
+
OTHER: :other
|
|
193
|
+
|
|
194
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember1::Screenshot::reason]
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
type union_member2 =
|
|
200
|
+
{
|
|
201
|
+
file_urls: ::Array[String],
|
|
202
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember2::type_,
|
|
203
|
+
keywords: ::Array[String]
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
class UnionMember2 < SurgeAPI::Internal::Type::BaseModel
|
|
207
|
+
attr_accessor file_urls: ::Array[String]
|
|
208
|
+
|
|
209
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember2::type_
|
|
210
|
+
|
|
211
|
+
attr_reader keywords: ::Array[String]?
|
|
212
|
+
|
|
213
|
+
def keywords=: (::Array[String]) -> ::Array[String]
|
|
214
|
+
|
|
215
|
+
def initialize: (
|
|
216
|
+
file_urls: ::Array[String],
|
|
217
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember2::type_,
|
|
218
|
+
?keywords: ::Array[String]
|
|
219
|
+
) -> void
|
|
220
|
+
|
|
221
|
+
def to_hash: -> {
|
|
222
|
+
file_urls: ::Array[String],
|
|
223
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember2::type_,
|
|
224
|
+
keywords: ::Array[String]
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
type type_ = :text
|
|
228
|
+
|
|
229
|
+
module Type
|
|
230
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
231
|
+
|
|
232
|
+
TEXT: :text
|
|
233
|
+
|
|
234
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember2::type_]
|
|
235
|
+
end
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
type union_member3 =
|
|
239
|
+
{
|
|
240
|
+
file_urls: ::Array[String],
|
|
241
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember3::type_
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
class UnionMember3 < SurgeAPI::Internal::Type::BaseModel
|
|
245
|
+
attr_accessor file_urls: ::Array[String]
|
|
246
|
+
|
|
247
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember3::type_
|
|
248
|
+
|
|
249
|
+
def initialize: (
|
|
250
|
+
file_urls: ::Array[String],
|
|
251
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember3::type_
|
|
252
|
+
) -> void
|
|
253
|
+
|
|
254
|
+
def to_hash: -> {
|
|
255
|
+
file_urls: ::Array[String],
|
|
256
|
+
type: SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember3::type_
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
type type_ = :paper_form
|
|
260
|
+
|
|
261
|
+
module Type
|
|
262
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
263
|
+
|
|
264
|
+
PAPER_FORM: :paper_form
|
|
265
|
+
|
|
266
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::ConsentFlow::UnionMember3::type_]
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
def self?.variants: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::consent_flow]
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
type use_case =
|
|
274
|
+
:two_factor_authentication
|
|
275
|
+
| :account_notification
|
|
276
|
+
| :customer_care
|
|
277
|
+
| :charity
|
|
278
|
+
| :delivery_notification
|
|
279
|
+
| :fraud_alert
|
|
280
|
+
| :event
|
|
281
|
+
| :higher_education
|
|
282
|
+
| :k12_education
|
|
283
|
+
| :marketing
|
|
284
|
+
| :polling_voting
|
|
285
|
+
| :political
|
|
286
|
+
| :public_service_announcement
|
|
287
|
+
| :security_alert
|
|
288
|
+
|
|
289
|
+
module UseCase
|
|
290
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
291
|
+
|
|
292
|
+
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
|
293
|
+
ACCOUNT_NOTIFICATION: :account_notification
|
|
294
|
+
CUSTOMER_CARE: :customer_care
|
|
295
|
+
CHARITY: :charity
|
|
296
|
+
DELIVERY_NOTIFICATION: :delivery_notification
|
|
297
|
+
FRAUD_ALERT: :fraud_alert
|
|
298
|
+
EVENT: :event
|
|
299
|
+
HIGHER_EDUCATION: :higher_education
|
|
300
|
+
K12_EDUCATION: :k12_education
|
|
301
|
+
MARKETING: :marketing
|
|
302
|
+
POLLING_VOTING: :polling_voting
|
|
303
|
+
POLITICAL: :political
|
|
304
|
+
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
|
305
|
+
SECURITY_ALERT: :security_alert
|
|
306
|
+
|
|
307
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::use_case]
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
type include_ = :age_gated
|
|
311
|
+
|
|
312
|
+
module Include
|
|
313
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
314
|
+
|
|
315
|
+
AGE_GATED: :age_gated
|
|
316
|
+
|
|
317
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignParams::include_]
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type toll_free_campaign_retrieve_params =
|
|
4
|
+
{ campaign_id: String } & SurgeAPI::Internal::Type::request_parameters
|
|
5
|
+
|
|
6
|
+
class TollFreeCampaignRetrieveParams < SurgeAPI::Internal::Type::BaseModel
|
|
7
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
attr_accessor campaign_id: String
|
|
11
|
+
|
|
12
|
+
def initialize: (
|
|
13
|
+
campaign_id: String,
|
|
14
|
+
?request_options: SurgeAPI::request_opts
|
|
15
|
+
) -> void
|
|
16
|
+
|
|
17
|
+
def to_hash: -> {
|
|
18
|
+
campaign_id: String,
|
|
19
|
+
request_options: SurgeAPI::RequestOptions
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
module SurgeAPI
|
|
2
|
+
module Models
|
|
3
|
+
type toll_free_campaign_update_params =
|
|
4
|
+
{
|
|
5
|
+
consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow],
|
|
6
|
+
description: String,
|
|
7
|
+
includes: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_],
|
|
8
|
+
message_samples: ::Array[String],
|
|
9
|
+
privacy_policy_url: String,
|
|
10
|
+
terms_and_conditions_url: String,
|
|
11
|
+
use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class TollFreeCampaignUpdateParams < SurgeAPI::Internal::Type::BaseModel
|
|
15
|
+
attr_reader consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow]?
|
|
16
|
+
|
|
17
|
+
def consent_flows=: (
|
|
18
|
+
::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow]
|
|
19
|
+
) -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow]
|
|
20
|
+
|
|
21
|
+
attr_reader description: String?
|
|
22
|
+
|
|
23
|
+
def description=: (String) -> String
|
|
24
|
+
|
|
25
|
+
attr_reader includes: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_]?
|
|
26
|
+
|
|
27
|
+
def includes=: (
|
|
28
|
+
::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_]
|
|
29
|
+
) -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_]
|
|
30
|
+
|
|
31
|
+
attr_reader message_samples: ::Array[String]?
|
|
32
|
+
|
|
33
|
+
def message_samples=: (::Array[String]) -> ::Array[String]
|
|
34
|
+
|
|
35
|
+
attr_reader privacy_policy_url: String?
|
|
36
|
+
|
|
37
|
+
def privacy_policy_url=: (String) -> String
|
|
38
|
+
|
|
39
|
+
attr_reader terms_and_conditions_url: String?
|
|
40
|
+
|
|
41
|
+
def terms_and_conditions_url=: (String) -> String
|
|
42
|
+
|
|
43
|
+
attr_reader use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]?
|
|
44
|
+
|
|
45
|
+
def use_cases=: (
|
|
46
|
+
::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
47
|
+
) -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
48
|
+
|
|
49
|
+
def initialize: (
|
|
50
|
+
?consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow],
|
|
51
|
+
?description: String,
|
|
52
|
+
?includes: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_],
|
|
53
|
+
?message_samples: ::Array[String],
|
|
54
|
+
?privacy_policy_url: String,
|
|
55
|
+
?terms_and_conditions_url: String,
|
|
56
|
+
?use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
57
|
+
) -> void
|
|
58
|
+
|
|
59
|
+
def to_hash: -> {
|
|
60
|
+
consent_flows: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow],
|
|
61
|
+
description: String,
|
|
62
|
+
includes: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_],
|
|
63
|
+
message_samples: ::Array[String],
|
|
64
|
+
privacy_policy_url: String,
|
|
65
|
+
terms_and_conditions_url: String,
|
|
66
|
+
use_cases: ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
type consent_flow =
|
|
70
|
+
SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0
|
|
71
|
+
| SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1
|
|
72
|
+
| SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2
|
|
73
|
+
| SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3
|
|
74
|
+
|
|
75
|
+
module ConsentFlow
|
|
76
|
+
extend SurgeAPI::Internal::Type::Union
|
|
77
|
+
|
|
78
|
+
type union_member0 =
|
|
79
|
+
{
|
|
80
|
+
script: String,
|
|
81
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0::type_
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
class UnionMember0 < SurgeAPI::Internal::Type::BaseModel
|
|
85
|
+
attr_accessor script: String
|
|
86
|
+
|
|
87
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0::type_
|
|
88
|
+
|
|
89
|
+
def initialize: (
|
|
90
|
+
script: String,
|
|
91
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0::type_
|
|
92
|
+
) -> void
|
|
93
|
+
|
|
94
|
+
def to_hash: -> {
|
|
95
|
+
script: String,
|
|
96
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0::type_
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
type type_ = :verbal
|
|
100
|
+
|
|
101
|
+
module Type
|
|
102
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
103
|
+
|
|
104
|
+
VERBAL: :verbal
|
|
105
|
+
|
|
106
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember0::type_]
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
type union_member1 =
|
|
111
|
+
{
|
|
112
|
+
owner: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::owner,
|
|
113
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::type_,
|
|
114
|
+
form_url: String,
|
|
115
|
+
screenshot: SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
class UnionMember1 < SurgeAPI::Internal::Type::BaseModel
|
|
119
|
+
attr_accessor owner: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::owner
|
|
120
|
+
|
|
121
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::type_
|
|
122
|
+
|
|
123
|
+
attr_reader form_url: String?
|
|
124
|
+
|
|
125
|
+
def form_url=: (String) -> String
|
|
126
|
+
|
|
127
|
+
attr_reader screenshot: SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot?
|
|
128
|
+
|
|
129
|
+
def screenshot=: (
|
|
130
|
+
SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot
|
|
131
|
+
) -> SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot
|
|
132
|
+
|
|
133
|
+
def initialize: (
|
|
134
|
+
owner: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::owner,
|
|
135
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::type_,
|
|
136
|
+
?form_url: String,
|
|
137
|
+
?screenshot: SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot
|
|
138
|
+
) -> void
|
|
139
|
+
|
|
140
|
+
def to_hash: -> {
|
|
141
|
+
owner: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::owner,
|
|
142
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::type_,
|
|
143
|
+
form_url: String,
|
|
144
|
+
screenshot: SurgeAPI::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
type owner = :brand | :platform
|
|
148
|
+
|
|
149
|
+
module Owner
|
|
150
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
151
|
+
|
|
152
|
+
BRAND: :brand
|
|
153
|
+
PLATFORM: :platform
|
|
154
|
+
|
|
155
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::owner]
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
type type_ = :web_form
|
|
159
|
+
|
|
160
|
+
module Type
|
|
161
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
162
|
+
|
|
163
|
+
WEB_FORM: :web_form
|
|
164
|
+
|
|
165
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::type_]
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
type screenshot =
|
|
169
|
+
{
|
|
170
|
+
reason: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
171
|
+
urls: ::Array[String],
|
|
172
|
+
reason_other: String
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
class Screenshot < SurgeAPI::Internal::Type::BaseModel
|
|
176
|
+
attr_accessor reason: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot::reason
|
|
177
|
+
|
|
178
|
+
attr_accessor urls: ::Array[String]
|
|
179
|
+
|
|
180
|
+
attr_reader reason_other: String?
|
|
181
|
+
|
|
182
|
+
def reason_other=: (String) -> String
|
|
183
|
+
|
|
184
|
+
def initialize: (
|
|
185
|
+
reason: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
186
|
+
urls: ::Array[String],
|
|
187
|
+
?reason_other: String
|
|
188
|
+
) -> void
|
|
189
|
+
|
|
190
|
+
def to_hash: -> {
|
|
191
|
+
reason: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot::reason,
|
|
192
|
+
urls: ::Array[String],
|
|
193
|
+
reason_other: String
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
type reason = :behind_login | :under_construction | :other
|
|
197
|
+
|
|
198
|
+
module Reason
|
|
199
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
200
|
+
|
|
201
|
+
BEHIND_LOGIN: :behind_login
|
|
202
|
+
UNDER_CONSTRUCTION: :under_construction
|
|
203
|
+
OTHER: :other
|
|
204
|
+
|
|
205
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember1::Screenshot::reason]
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
type union_member2 =
|
|
211
|
+
{
|
|
212
|
+
file_urls: ::Array[String],
|
|
213
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2::type_,
|
|
214
|
+
keywords: ::Array[String]
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
class UnionMember2 < SurgeAPI::Internal::Type::BaseModel
|
|
218
|
+
attr_accessor file_urls: ::Array[String]
|
|
219
|
+
|
|
220
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2::type_
|
|
221
|
+
|
|
222
|
+
attr_reader keywords: ::Array[String]?
|
|
223
|
+
|
|
224
|
+
def keywords=: (::Array[String]) -> ::Array[String]
|
|
225
|
+
|
|
226
|
+
def initialize: (
|
|
227
|
+
file_urls: ::Array[String],
|
|
228
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2::type_,
|
|
229
|
+
?keywords: ::Array[String]
|
|
230
|
+
) -> void
|
|
231
|
+
|
|
232
|
+
def to_hash: -> {
|
|
233
|
+
file_urls: ::Array[String],
|
|
234
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2::type_,
|
|
235
|
+
keywords: ::Array[String]
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
type type_ = :text
|
|
239
|
+
|
|
240
|
+
module Type
|
|
241
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
242
|
+
|
|
243
|
+
TEXT: :text
|
|
244
|
+
|
|
245
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember2::type_]
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
type union_member3 =
|
|
250
|
+
{
|
|
251
|
+
file_urls: ::Array[String],
|
|
252
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3::type_
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
class UnionMember3 < SurgeAPI::Internal::Type::BaseModel
|
|
256
|
+
attr_accessor file_urls: ::Array[String]
|
|
257
|
+
|
|
258
|
+
attr_accessor type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3::type_
|
|
259
|
+
|
|
260
|
+
def initialize: (
|
|
261
|
+
file_urls: ::Array[String],
|
|
262
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3::type_
|
|
263
|
+
) -> void
|
|
264
|
+
|
|
265
|
+
def to_hash: -> {
|
|
266
|
+
file_urls: ::Array[String],
|
|
267
|
+
type: SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3::type_
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
type type_ = :paper_form
|
|
271
|
+
|
|
272
|
+
module Type
|
|
273
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
274
|
+
|
|
275
|
+
PAPER_FORM: :paper_form
|
|
276
|
+
|
|
277
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::ConsentFlow::UnionMember3::type_]
|
|
278
|
+
end
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
def self?.variants: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::consent_flow]
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
type include_ = :age_gated
|
|
285
|
+
|
|
286
|
+
module Include
|
|
287
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
288
|
+
|
|
289
|
+
AGE_GATED: :age_gated
|
|
290
|
+
|
|
291
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::include_]
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
type use_case =
|
|
295
|
+
:two_factor_authentication
|
|
296
|
+
| :account_notification
|
|
297
|
+
| :customer_care
|
|
298
|
+
| :charity
|
|
299
|
+
| :delivery_notification
|
|
300
|
+
| :fraud_alert
|
|
301
|
+
| :event
|
|
302
|
+
| :higher_education
|
|
303
|
+
| :k12_education
|
|
304
|
+
| :marketing
|
|
305
|
+
| :polling_voting
|
|
306
|
+
| :political
|
|
307
|
+
| :public_service_announcement
|
|
308
|
+
| :security_alert
|
|
309
|
+
|
|
310
|
+
module UseCase
|
|
311
|
+
extend SurgeAPI::Internal::Type::Enum
|
|
312
|
+
|
|
313
|
+
TWO_FACTOR_AUTHENTICATION: :two_factor_authentication
|
|
314
|
+
ACCOUNT_NOTIFICATION: :account_notification
|
|
315
|
+
CUSTOMER_CARE: :customer_care
|
|
316
|
+
CHARITY: :charity
|
|
317
|
+
DELIVERY_NOTIFICATION: :delivery_notification
|
|
318
|
+
FRAUD_ALERT: :fraud_alert
|
|
319
|
+
EVENT: :event
|
|
320
|
+
HIGHER_EDUCATION: :higher_education
|
|
321
|
+
K12_EDUCATION: :k12_education
|
|
322
|
+
MARKETING: :marketing
|
|
323
|
+
POLLING_VOTING: :polling_voting
|
|
324
|
+
POLITICAL: :political
|
|
325
|
+
PUBLIC_SERVICE_ANNOUNCEMENT: :public_service_announcement
|
|
326
|
+
SECURITY_ALERT: :security_alert
|
|
327
|
+
|
|
328
|
+
def self?.values: -> ::Array[SurgeAPI::Models::TollFreeCampaignUpdateParams::use_case]
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
end
|
|
@@ -3,6 +3,9 @@ module SurgeAPI
|
|
|
3
3
|
type unwrap_webhook_event =
|
|
4
4
|
SurgeAPI::CallEndedWebhookEvent
|
|
5
5
|
| SurgeAPI::CampaignApprovedWebhookEvent
|
|
6
|
+
| SurgeAPI::CampaignRejectedWebhookEvent
|
|
7
|
+
| SurgeAPI::CampaignSubmittedWebhookEvent
|
|
8
|
+
| SurgeAPI::CampaignWarningWebhookEvent
|
|
6
9
|
| SurgeAPI::ContactOptedInWebhookEvent
|
|
7
10
|
| SurgeAPI::ContactOptedOutWebhookEvent
|
|
8
11
|
| SurgeAPI::ConversationCreatedWebhookEvent
|
|
@@ -12,6 +15,7 @@ module SurgeAPI
|
|
|
12
15
|
| SurgeAPI::MessageReceivedWebhookEvent
|
|
13
16
|
| SurgeAPI::MessageSentWebhookEvent
|
|
14
17
|
| SurgeAPI::PhoneNumberAttachedToCampaignWebhookEvent
|
|
18
|
+
| SurgeAPI::PhoneNumberImportedWebhookEvent
|
|
15
19
|
| SurgeAPI::RecordingCompletedWebhookEvent
|
|
16
20
|
| SurgeAPI::VoicemailReceivedWebhookEvent
|
|
17
21
|
|