apollo-deploy-signal-sdk 1.0.5
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 +7 -0
- data/Gemfile +5 -0
- data/LICENSE +21 -0
- data/README.md +79 -0
- data/docs/README.md +30 -0
- data/docs/domains/api-keys.md +92 -0
- data/docs/domains/contact-properties.md +122 -0
- data/docs/domains/contacts.md +394 -0
- data/docs/domains/emails.md +150 -0
- data/docs/domains/metrics.md +131 -0
- data/docs/domains/projects.md +127 -0
- data/docs/domains/segments.md +116 -0
- data/docs/domains/sending-domains.md +160 -0
- data/docs/domains/suppressions.md +120 -0
- data/docs/domains/topics.md +141 -0
- data/docs/domains/webhooks.md +200 -0
- data/docs/types.md +1225 -0
- data/lib/apollo-deploy-signal-sdk.rb +3 -0
- data/lib/apollo_deploy_signal_sdk/client.rb +111 -0
- data/lib/apollo_deploy_signal_sdk/errors.rb +150 -0
- data/lib/apollo_deploy_signal_sdk/resources/api-keys.rb +86 -0
- data/lib/apollo_deploy_signal_sdk/resources/contact-properties.rb +108 -0
- data/lib/apollo_deploy_signal_sdk/resources/contacts.rb +356 -0
- data/lib/apollo_deploy_signal_sdk/resources/emails.rb +128 -0
- data/lib/apollo_deploy_signal_sdk/resources/metrics.rb +122 -0
- data/lib/apollo_deploy_signal_sdk/resources/projects.rb +114 -0
- data/lib/apollo_deploy_signal_sdk/resources/segments.rb +105 -0
- data/lib/apollo_deploy_signal_sdk/resources/sending-domains.rb +144 -0
- data/lib/apollo_deploy_signal_sdk/resources/suppressions.rb +104 -0
- data/lib/apollo_deploy_signal_sdk/resources/topics.rb +126 -0
- data/lib/apollo_deploy_signal_sdk/resources/webhooks.rb +184 -0
- data/lib/apollo_deploy_signal_sdk/transport.rb +618 -0
- data/lib/apollo_deploy_signal_sdk/types.rb +4917 -0
- data/lib/apollo_deploy_signal_sdk/version.rb +5 -0
- data/lib/apollo_deploy_signal_sdk.rb +47 -0
- metadata +135 -0
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# contacts API domain
|
|
8
|
+
class Contacts
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [ContactPageResponse]
|
|
18
|
+
def list_contacts(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/contacts",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @param contact_id [String]
|
|
33
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
34
|
+
# @return [ContactResponse]
|
|
35
|
+
def get_contact(project_id:, contact_id:)
|
|
36
|
+
path_params = {
|
|
37
|
+
"projectId" => project_id,
|
|
38
|
+
"contactId" => contact_id,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
transport.request(
|
|
42
|
+
method: :get,
|
|
43
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}",
|
|
44
|
+
path_params: path_params,
|
|
45
|
+
timeout_ms: nil,
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param project_id [String]
|
|
50
|
+
# @param contact_id [String]
|
|
51
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
52
|
+
# @return [ListContactSegmentsResponse]
|
|
53
|
+
def list_contact_segments(project_id:, contact_id:)
|
|
54
|
+
path_params = {
|
|
55
|
+
"projectId" => project_id,
|
|
56
|
+
"contactId" => contact_id,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
transport.request(
|
|
60
|
+
method: :get,
|
|
61
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/segments",
|
|
62
|
+
path_params: path_params,
|
|
63
|
+
timeout_ms: nil,
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# @param project_id [String]
|
|
68
|
+
# @param contact_id [String]
|
|
69
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
70
|
+
# @return [GetContactTopicsResponse]
|
|
71
|
+
def get_contact_topics(project_id:, contact_id:)
|
|
72
|
+
path_params = {
|
|
73
|
+
"projectId" => project_id,
|
|
74
|
+
"contactId" => contact_id,
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
transport.request(
|
|
78
|
+
method: :get,
|
|
79
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/topics",
|
|
80
|
+
path_params: path_params,
|
|
81
|
+
timeout_ms: nil,
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# @param project_id [String]
|
|
86
|
+
# @param body [CreateContactBody] request body
|
|
87
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
88
|
+
# @return [ContactResponse]
|
|
89
|
+
def create_contact(project_id:, body:)
|
|
90
|
+
path_params = {
|
|
91
|
+
"projectId" => project_id,
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
transport.request(
|
|
95
|
+
method: :post,
|
|
96
|
+
path: "/v1/projects/${projectId}/contacts",
|
|
97
|
+
path_params: path_params,
|
|
98
|
+
body: body,
|
|
99
|
+
content_type: "application/json",
|
|
100
|
+
timeout_ms: nil,
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# @param project_id [String]
|
|
105
|
+
# @param contact_id [String]
|
|
106
|
+
# @param body [UpdateContactBody] request body
|
|
107
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
108
|
+
# @return [ContactResponse]
|
|
109
|
+
def update_contact(project_id:, contact_id:, body:)
|
|
110
|
+
path_params = {
|
|
111
|
+
"projectId" => project_id,
|
|
112
|
+
"contactId" => contact_id,
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
transport.request(
|
|
116
|
+
method: :patch,
|
|
117
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}",
|
|
118
|
+
path_params: path_params,
|
|
119
|
+
body: body,
|
|
120
|
+
content_type: "application/json",
|
|
121
|
+
timeout_ms: nil,
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# @param project_id [String]
|
|
126
|
+
# @param contact_id [String]
|
|
127
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
128
|
+
# @return [nil]
|
|
129
|
+
def delete_contact(project_id:, contact_id:)
|
|
130
|
+
path_params = {
|
|
131
|
+
"projectId" => project_id,
|
|
132
|
+
"contactId" => contact_id,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
transport.request(
|
|
136
|
+
method: :delete,
|
|
137
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}",
|
|
138
|
+
path_params: path_params,
|
|
139
|
+
timeout_ms: nil,
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# @param project_id [String]
|
|
144
|
+
# @param contact_id [String]
|
|
145
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
146
|
+
# @return [ContactResponse]
|
|
147
|
+
def upload_contact_image(project_id:, contact_id:)
|
|
148
|
+
path_params = {
|
|
149
|
+
"projectId" => project_id,
|
|
150
|
+
"contactId" => contact_id,
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
transport.request(
|
|
154
|
+
method: :post,
|
|
155
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/image",
|
|
156
|
+
path_params: path_params,
|
|
157
|
+
timeout_ms: nil,
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# @param project_id [String]
|
|
162
|
+
# @param contact_id [String]
|
|
163
|
+
# @param body [SetImageUrlBody] request body
|
|
164
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
165
|
+
# @return [ContactResponse]
|
|
166
|
+
def set_contact_image_url(project_id:, contact_id:, body:)
|
|
167
|
+
path_params = {
|
|
168
|
+
"projectId" => project_id,
|
|
169
|
+
"contactId" => contact_id,
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
transport.request(
|
|
173
|
+
method: :put,
|
|
174
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/image",
|
|
175
|
+
path_params: path_params,
|
|
176
|
+
body: body,
|
|
177
|
+
content_type: "application/json",
|
|
178
|
+
timeout_ms: nil,
|
|
179
|
+
)
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# @param project_id [String]
|
|
183
|
+
# @param contact_id [String]
|
|
184
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
185
|
+
# @return [nil]
|
|
186
|
+
def delete_contact_image(project_id:, contact_id:)
|
|
187
|
+
path_params = {
|
|
188
|
+
"projectId" => project_id,
|
|
189
|
+
"contactId" => contact_id,
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
transport.request(
|
|
193
|
+
method: :delete,
|
|
194
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/image",
|
|
195
|
+
path_params: path_params,
|
|
196
|
+
timeout_ms: nil,
|
|
197
|
+
)
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
# @param project_id [String]
|
|
201
|
+
# @param contact_id [String]
|
|
202
|
+
# @param body [AddToSegmentBody] request body
|
|
203
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
204
|
+
# @return [nil]
|
|
205
|
+
def add_contact_to_segment(project_id:, contact_id:, body:)
|
|
206
|
+
path_params = {
|
|
207
|
+
"projectId" => project_id,
|
|
208
|
+
"contactId" => contact_id,
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
transport.request(
|
|
212
|
+
method: :post,
|
|
213
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/segments",
|
|
214
|
+
path_params: path_params,
|
|
215
|
+
body: body,
|
|
216
|
+
content_type: "application/json",
|
|
217
|
+
timeout_ms: nil,
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
# @param project_id [String]
|
|
222
|
+
# @param contact_id [String]
|
|
223
|
+
# @param segment_id [String]
|
|
224
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
225
|
+
# @return [nil]
|
|
226
|
+
def remove_contact_from_segment(project_id:, contact_id:, segment_id:)
|
|
227
|
+
path_params = {
|
|
228
|
+
"projectId" => project_id,
|
|
229
|
+
"contactId" => contact_id,
|
|
230
|
+
"segmentId" => segment_id,
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
transport.request(
|
|
234
|
+
method: :delete,
|
|
235
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/segments/${segmentId}",
|
|
236
|
+
path_params: path_params,
|
|
237
|
+
timeout_ms: nil,
|
|
238
|
+
)
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# @param project_id [String]
|
|
242
|
+
# @param contact_id [String]
|
|
243
|
+
# @param body [UpdateTopicsBody] request body
|
|
244
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
245
|
+
# @return [nil]
|
|
246
|
+
def update_contact_topics(project_id:, contact_id:, body:)
|
|
247
|
+
path_params = {
|
|
248
|
+
"projectId" => project_id,
|
|
249
|
+
"contactId" => contact_id,
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
transport.request(
|
|
253
|
+
method: :patch,
|
|
254
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/topics",
|
|
255
|
+
path_params: path_params,
|
|
256
|
+
body: body,
|
|
257
|
+
content_type: "application/json",
|
|
258
|
+
timeout_ms: nil,
|
|
259
|
+
)
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# @param project_id [String]
|
|
263
|
+
# @param contact_id [String]
|
|
264
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
265
|
+
# @return [GetContactActivityResponse]
|
|
266
|
+
def get_contact_activity(project_id:, contact_id:)
|
|
267
|
+
path_params = {
|
|
268
|
+
"projectId" => project_id,
|
|
269
|
+
"contactId" => contact_id,
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
transport.request(
|
|
273
|
+
method: :get,
|
|
274
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/activity",
|
|
275
|
+
path_params: path_params,
|
|
276
|
+
timeout_ms: nil,
|
|
277
|
+
)
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
# @param project_id [String]
|
|
281
|
+
# @param contact_id [String]
|
|
282
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
283
|
+
# @return [EngagementScoreResponse]
|
|
284
|
+
def get_contact_engagement_score(project_id:, contact_id:)
|
|
285
|
+
path_params = {
|
|
286
|
+
"projectId" => project_id,
|
|
287
|
+
"contactId" => contact_id,
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
transport.request(
|
|
291
|
+
method: :get,
|
|
292
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/engagement",
|
|
293
|
+
path_params: path_params,
|
|
294
|
+
timeout_ms: nil,
|
|
295
|
+
)
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
# @param project_id [String]
|
|
299
|
+
# @param contact_id [String]
|
|
300
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
301
|
+
# @return [EmailValidationStatusResponse]
|
|
302
|
+
def get_contact_email_validation_status(project_id:, contact_id:)
|
|
303
|
+
path_params = {
|
|
304
|
+
"projectId" => project_id,
|
|
305
|
+
"contactId" => contact_id,
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
transport.request(
|
|
309
|
+
method: :get,
|
|
310
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/email-validation",
|
|
311
|
+
path_params: path_params,
|
|
312
|
+
timeout_ms: nil,
|
|
313
|
+
)
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
# @param project_id [String]
|
|
317
|
+
# @param contact_id [String]
|
|
318
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
319
|
+
# @return [EngagementScoreResponse]
|
|
320
|
+
def refresh_contact_engagement_score(project_id:, contact_id:)
|
|
321
|
+
path_params = {
|
|
322
|
+
"projectId" => project_id,
|
|
323
|
+
"contactId" => contact_id,
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
transport.request(
|
|
327
|
+
method: :post,
|
|
328
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/engagement/refresh",
|
|
329
|
+
path_params: path_params,
|
|
330
|
+
timeout_ms: nil,
|
|
331
|
+
)
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
# @param project_id [String]
|
|
335
|
+
# @param contact_id [String]
|
|
336
|
+
# @param body [RecordValidationBody] request body
|
|
337
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
338
|
+
# @return [nil]
|
|
339
|
+
def record_contact_email_validation(project_id:, contact_id:, body:)
|
|
340
|
+
path_params = {
|
|
341
|
+
"projectId" => project_id,
|
|
342
|
+
"contactId" => contact_id,
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
transport.request(
|
|
346
|
+
method: :post,
|
|
347
|
+
path: "/v1/projects/${projectId}/contacts/${contactId}/email-validation",
|
|
348
|
+
path_params: path_params,
|
|
349
|
+
body: body,
|
|
350
|
+
content_type: "application/json",
|
|
351
|
+
timeout_ms: nil,
|
|
352
|
+
)
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
end
|
|
356
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# emails API domain
|
|
8
|
+
class Emails
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param body [SendEmailRequest] request body
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [SendEmailResponse]
|
|
18
|
+
def send_email(body:)
|
|
19
|
+
|
|
20
|
+
transport.request(
|
|
21
|
+
method: :post,
|
|
22
|
+
path: "/v1/emails",
|
|
23
|
+
body: body,
|
|
24
|
+
content_type: "application/json",
|
|
25
|
+
timeout_ms: nil,
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @param email_id [String]
|
|
30
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
31
|
+
# @return [EmailDetailResponse]
|
|
32
|
+
def get_email(email_id:)
|
|
33
|
+
path_params = {
|
|
34
|
+
"emailId" => email_id,
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
transport.request(
|
|
38
|
+
method: :get,
|
|
39
|
+
path: "/v1/emails/${emailId}",
|
|
40
|
+
path_params: path_params,
|
|
41
|
+
timeout_ms: nil,
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @param body [BatchSendRequest] request body
|
|
46
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
47
|
+
# @return [BatchSendResponse]
|
|
48
|
+
def batch_send_emails(body:)
|
|
49
|
+
|
|
50
|
+
transport.request(
|
|
51
|
+
method: :post,
|
|
52
|
+
path: "/v1/emails/batch",
|
|
53
|
+
body: body,
|
|
54
|
+
content_type: "application/json",
|
|
55
|
+
timeout_ms: nil,
|
|
56
|
+
)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @param email_id [String]
|
|
60
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
61
|
+
# @return [CancelResponse]
|
|
62
|
+
def cancel_email(email_id:)
|
|
63
|
+
path_params = {
|
|
64
|
+
"emailId" => email_id,
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
transport.request(
|
|
68
|
+
method: :delete,
|
|
69
|
+
path: "/v1/emails/${emailId}",
|
|
70
|
+
path_params: path_params,
|
|
71
|
+
timeout_ms: nil,
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
76
|
+
# @return [BulkCancelResponse]
|
|
77
|
+
def bulk_cancel_emails()
|
|
78
|
+
|
|
79
|
+
transport.request(
|
|
80
|
+
method: :delete,
|
|
81
|
+
path: "/v1/emails",
|
|
82
|
+
timeout_ms: nil,
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param project_id [String]
|
|
87
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
88
|
+
# @return [StreamTokenResponse]
|
|
89
|
+
def issue_stream_token(project_id:)
|
|
90
|
+
path_params = {
|
|
91
|
+
"projectId" => project_id,
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
transport.request(
|
|
95
|
+
method: :post,
|
|
96
|
+
path: "/v1/emails/${projectId}/stream/token",
|
|
97
|
+
path_params: path_params,
|
|
98
|
+
timeout_ms: nil,
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
103
|
+
# @return [Enumerator<SSEEvent>]
|
|
104
|
+
def stream_email_events()
|
|
105
|
+
|
|
106
|
+
transport.stream(
|
|
107
|
+
method: :get,
|
|
108
|
+
path: "/v1/emails/stream",
|
|
109
|
+
timeout_ms: nil,
|
|
110
|
+
)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
# @param body [ValidateLinksRequest] request body
|
|
114
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
115
|
+
# @return [ValidateLinksResponse]
|
|
116
|
+
def validate_links(body:)
|
|
117
|
+
|
|
118
|
+
transport.request(
|
|
119
|
+
method: :post,
|
|
120
|
+
path: "/v1/emails/validate",
|
|
121
|
+
body: body,
|
|
122
|
+
content_type: "application/json",
|
|
123
|
+
timeout_ms: nil,
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
end
|
|
128
|
+
end
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# metrics API domain
|
|
8
|
+
class Metrics
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param id [String]
|
|
16
|
+
# @param query [Hash, nil] query parameters
|
|
17
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
18
|
+
# @return [TopicPerformanceResponse]
|
|
19
|
+
def get_topic_performance(id:, query: nil)
|
|
20
|
+
path_params = {
|
|
21
|
+
"id" => id,
|
|
22
|
+
}
|
|
23
|
+
query_params = {}
|
|
24
|
+
query_params["window"] = query[:window] if query && query.key?(:window)
|
|
25
|
+
query_params["projectId"] = query[:project_id] if query && query.key?(:project_id)
|
|
26
|
+
query_params = nil if query_params.empty?
|
|
27
|
+
|
|
28
|
+
transport.request(
|
|
29
|
+
method: :get,
|
|
30
|
+
path: "/v1/metrics/topics/${id}",
|
|
31
|
+
path_params: path_params,
|
|
32
|
+
query: query_params,
|
|
33
|
+
timeout_ms: nil,
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @param id [String]
|
|
38
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
39
|
+
# @return [EmailPerformanceResponse]
|
|
40
|
+
def get_email_performance(id:)
|
|
41
|
+
path_params = {
|
|
42
|
+
"id" => id,
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
transport.request(
|
|
46
|
+
method: :get,
|
|
47
|
+
path: "/v1/metrics/emails/${id}",
|
|
48
|
+
path_params: path_params,
|
|
49
|
+
timeout_ms: nil,
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @param id [String]
|
|
54
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
55
|
+
# @return [EmailReadScrollAnalyticsResponse]
|
|
56
|
+
def get_email_engagement(id:)
|
|
57
|
+
path_params = {
|
|
58
|
+
"id" => id,
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
transport.request(
|
|
62
|
+
method: :get,
|
|
63
|
+
path: "/v1/metrics/emails/${id}/engagement",
|
|
64
|
+
path_params: path_params,
|
|
65
|
+
timeout_ms: nil,
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @param query [Hash, nil] query parameters
|
|
70
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
71
|
+
# @return [ProjectMetricsSummaryResponse]
|
|
72
|
+
def get_project_metrics_summary(query: nil)
|
|
73
|
+
query_params = {}
|
|
74
|
+
query_params["window"] = query[:window] if query && query.key?(:window)
|
|
75
|
+
query_params["projectId"] = query[:project_id] if query && query.key?(:project_id)
|
|
76
|
+
query_params = nil if query_params.empty?
|
|
77
|
+
|
|
78
|
+
transport.request(
|
|
79
|
+
method: :get,
|
|
80
|
+
path: "/v1/metrics/summary",
|
|
81
|
+
query: query_params,
|
|
82
|
+
timeout_ms: nil,
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param query [Hash, nil] query parameters
|
|
87
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
88
|
+
# @return [ProjectMetricsTimelineResponse]
|
|
89
|
+
def get_project_metrics_timeline(query: nil)
|
|
90
|
+
query_params = {}
|
|
91
|
+
query_params["window"] = query[:window] if query && query.key?(:window)
|
|
92
|
+
query_params["granularity"] = query[:granularity] if query && query.key?(:granularity)
|
|
93
|
+
query_params["format"] = query[:format] if query && query.key?(:format)
|
|
94
|
+
query_params["projectId"] = query[:project_id] if query && query.key?(:project_id)
|
|
95
|
+
query_params = nil if query_params.empty?
|
|
96
|
+
|
|
97
|
+
transport.request(
|
|
98
|
+
method: :get,
|
|
99
|
+
path: "/v1/metrics/timeline",
|
|
100
|
+
query: query_params,
|
|
101
|
+
timeout_ms: nil,
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# @param query [Hash, nil] query parameters
|
|
106
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
107
|
+
# @return [AdvisorReportResponse]
|
|
108
|
+
def get_metrics_advisor(query: nil)
|
|
109
|
+
query_params = {}
|
|
110
|
+
query_params["projectId"] = query[:project_id] if query && query.key?(:project_id)
|
|
111
|
+
query_params = nil if query_params.empty?
|
|
112
|
+
|
|
113
|
+
transport.request(
|
|
114
|
+
method: :get,
|
|
115
|
+
path: "/v1/metrics/advisor",
|
|
116
|
+
query: query_params,
|
|
117
|
+
timeout_ms: nil,
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
end
|
|
122
|
+
end
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# projects API domain
|
|
8
|
+
class Projects
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
16
|
+
# @return [ProjectPageResponse]
|
|
17
|
+
def list_projects()
|
|
18
|
+
|
|
19
|
+
transport.request(
|
|
20
|
+
method: :get,
|
|
21
|
+
path: "/v1/projects",
|
|
22
|
+
timeout_ms: nil,
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# @param project_id [String]
|
|
27
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
28
|
+
# @return [ProjectResponse]
|
|
29
|
+
def get_project(project_id:)
|
|
30
|
+
path_params = {
|
|
31
|
+
"projectId" => project_id,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
transport.request(
|
|
35
|
+
method: :get,
|
|
36
|
+
path: "/v1/projects/${projectId}",
|
|
37
|
+
path_params: path_params,
|
|
38
|
+
timeout_ms: nil,
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @param project_id [String]
|
|
43
|
+
# @param body [UpdateProjectRequest] request body
|
|
44
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
45
|
+
# @return [ProjectResponse]
|
|
46
|
+
def update_project(project_id:, body:)
|
|
47
|
+
path_params = {
|
|
48
|
+
"projectId" => project_id,
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
transport.request(
|
|
52
|
+
method: :patch,
|
|
53
|
+
path: "/v1/projects/${projectId}",
|
|
54
|
+
path_params: path_params,
|
|
55
|
+
body: body,
|
|
56
|
+
content_type: "application/json",
|
|
57
|
+
timeout_ms: nil,
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# @param project_id [String]
|
|
62
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
63
|
+
# @return [EmailPageResponse]
|
|
64
|
+
def list_emails(project_id:)
|
|
65
|
+
path_params = {
|
|
66
|
+
"projectId" => project_id,
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
transport.request(
|
|
70
|
+
method: :get,
|
|
71
|
+
path: "/v1/projects/${projectId}/emails",
|
|
72
|
+
path_params: path_params,
|
|
73
|
+
timeout_ms: nil,
|
|
74
|
+
)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @param project_id [String]
|
|
78
|
+
# @param email_id [String]
|
|
79
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
80
|
+
# @return [EmailDetailResponse]
|
|
81
|
+
def get_project_email(project_id:, email_id:)
|
|
82
|
+
path_params = {
|
|
83
|
+
"projectId" => project_id,
|
|
84
|
+
"emailId" => email_id,
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
transport.request(
|
|
88
|
+
method: :get,
|
|
89
|
+
path: "/v1/projects/${projectId}/emails/${emailId}",
|
|
90
|
+
path_params: path_params,
|
|
91
|
+
timeout_ms: nil,
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# @param project_id [String]
|
|
96
|
+
# @param email_id [String]
|
|
97
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
98
|
+
# @return [EmailTimelineResponse]
|
|
99
|
+
def get_email_timeline(project_id:, email_id:)
|
|
100
|
+
path_params = {
|
|
101
|
+
"projectId" => project_id,
|
|
102
|
+
"emailId" => email_id,
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
transport.request(
|
|
106
|
+
method: :get,
|
|
107
|
+
path: "/v1/projects/${projectId}/emails/${emailId}/events",
|
|
108
|
+
path_params: path_params,
|
|
109
|
+
timeout_ms: nil,
|
|
110
|
+
)
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
end
|
|
114
|
+
end
|