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.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +5 -0
  3. data/LICENSE +21 -0
  4. data/README.md +79 -0
  5. data/docs/README.md +30 -0
  6. data/docs/domains/api-keys.md +92 -0
  7. data/docs/domains/contact-properties.md +122 -0
  8. data/docs/domains/contacts.md +394 -0
  9. data/docs/domains/emails.md +150 -0
  10. data/docs/domains/metrics.md +131 -0
  11. data/docs/domains/projects.md +127 -0
  12. data/docs/domains/segments.md +116 -0
  13. data/docs/domains/sending-domains.md +160 -0
  14. data/docs/domains/suppressions.md +120 -0
  15. data/docs/domains/topics.md +141 -0
  16. data/docs/domains/webhooks.md +200 -0
  17. data/docs/types.md +1225 -0
  18. data/lib/apollo-deploy-signal-sdk.rb +3 -0
  19. data/lib/apollo_deploy_signal_sdk/client.rb +111 -0
  20. data/lib/apollo_deploy_signal_sdk/errors.rb +150 -0
  21. data/lib/apollo_deploy_signal_sdk/resources/api-keys.rb +86 -0
  22. data/lib/apollo_deploy_signal_sdk/resources/contact-properties.rb +108 -0
  23. data/lib/apollo_deploy_signal_sdk/resources/contacts.rb +356 -0
  24. data/lib/apollo_deploy_signal_sdk/resources/emails.rb +128 -0
  25. data/lib/apollo_deploy_signal_sdk/resources/metrics.rb +122 -0
  26. data/lib/apollo_deploy_signal_sdk/resources/projects.rb +114 -0
  27. data/lib/apollo_deploy_signal_sdk/resources/segments.rb +105 -0
  28. data/lib/apollo_deploy_signal_sdk/resources/sending-domains.rb +144 -0
  29. data/lib/apollo_deploy_signal_sdk/resources/suppressions.rb +104 -0
  30. data/lib/apollo_deploy_signal_sdk/resources/topics.rb +126 -0
  31. data/lib/apollo_deploy_signal_sdk/resources/webhooks.rb +184 -0
  32. data/lib/apollo_deploy_signal_sdk/transport.rb +618 -0
  33. data/lib/apollo_deploy_signal_sdk/types.rb +4917 -0
  34. data/lib/apollo_deploy_signal_sdk/version.rb +5 -0
  35. data/lib/apollo_deploy_signal_sdk.rb +47 -0
  36. metadata +135 -0
@@ -0,0 +1,105 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../transport"
4
+ require_relative "../errors"
5
+
6
+ module ApolloDeploySignalSdk
7
+ # segments API domain
8
+ class Segments
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 [SegmentPageResponse]
18
+ def list_segments(project_id:)
19
+ path_params = {
20
+ "projectId" => project_id,
21
+ }
22
+
23
+ transport.request(
24
+ method: :get,
25
+ path: "/v1/projects/${projectId}/segments",
26
+ path_params: path_params,
27
+ timeout_ms: nil,
28
+ )
29
+ end
30
+
31
+ # @param project_id [String]
32
+ # @param segment_id [String]
33
+ # @raise [ApolloDeploySignalSdk::SDKError]
34
+ # @return [SegmentResponse]
35
+ def get_segment(project_id:, segment_id:)
36
+ path_params = {
37
+ "projectId" => project_id,
38
+ "segmentId" => segment_id,
39
+ }
40
+
41
+ transport.request(
42
+ method: :get,
43
+ path: "/v1/projects/${projectId}/segments/${segmentId}",
44
+ path_params: path_params,
45
+ timeout_ms: nil,
46
+ )
47
+ end
48
+
49
+ # @param project_id [String]
50
+ # @param segment_id [String]
51
+ # @raise [ApolloDeploySignalSdk::SDKError]
52
+ # @return [CursorPage]
53
+ def list_contacts_in_segment(project_id:, segment_id:)
54
+ path_params = {
55
+ "projectId" => project_id,
56
+ "segmentId" => segment_id,
57
+ }
58
+
59
+ transport.request(
60
+ method: :get,
61
+ path: "/v1/projects/${projectId}/segments/${segmentId}/contacts",
62
+ path_params: path_params,
63
+ timeout_ms: nil,
64
+ )
65
+ end
66
+
67
+ # @param project_id [String]
68
+ # @param body [CreateSegmentBody] request body
69
+ # @raise [ApolloDeploySignalSdk::SDKError]
70
+ # @return [SegmentResponse]
71
+ def create_segment(project_id:, body:)
72
+ path_params = {
73
+ "projectId" => project_id,
74
+ }
75
+
76
+ transport.request(
77
+ method: :post,
78
+ path: "/v1/projects/${projectId}/segments",
79
+ path_params: path_params,
80
+ body: body,
81
+ content_type: "application/json",
82
+ timeout_ms: nil,
83
+ )
84
+ end
85
+
86
+ # @param project_id [String]
87
+ # @param segment_id [String]
88
+ # @raise [ApolloDeploySignalSdk::SDKError]
89
+ # @return [nil]
90
+ def delete_segment(project_id:, segment_id:)
91
+ path_params = {
92
+ "projectId" => project_id,
93
+ "segmentId" => segment_id,
94
+ }
95
+
96
+ transport.request(
97
+ method: :delete,
98
+ path: "/v1/projects/${projectId}/segments/${segmentId}",
99
+ path_params: path_params,
100
+ timeout_ms: nil,
101
+ )
102
+ end
103
+
104
+ end
105
+ end
@@ -0,0 +1,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../transport"
4
+ require_relative "../errors"
5
+
6
+ module ApolloDeploySignalSdk
7
+ # sendingDomains API domain
8
+ class SendingDomains
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 [DomainListPageResponse]
18
+ def list_domains(project_id:)
19
+ path_params = {
20
+ "projectId" => project_id,
21
+ }
22
+
23
+ transport.request(
24
+ method: :get,
25
+ path: "/v1/projects/${projectId}/domains",
26
+ path_params: path_params,
27
+ timeout_ms: nil,
28
+ )
29
+ end
30
+
31
+ # @param project_id [String]
32
+ # @param domain_id [String]
33
+ # @raise [ApolloDeploySignalSdk::SDKError]
34
+ # @return [DomainResponse]
35
+ def get_domain(project_id:, domain_id:)
36
+ path_params = {
37
+ "projectId" => project_id,
38
+ "domainId" => domain_id,
39
+ }
40
+
41
+ transport.request(
42
+ method: :get,
43
+ path: "/v1/projects/${projectId}/domains/${domainId}",
44
+ path_params: path_params,
45
+ timeout_ms: nil,
46
+ )
47
+ end
48
+
49
+ # @param project_id [String]
50
+ # @param body [RegisterDomainRequest] request body
51
+ # @raise [ApolloDeploySignalSdk::SDKError]
52
+ # @return [DomainResponse]
53
+ def register_domain(project_id:, body:)
54
+ path_params = {
55
+ "projectId" => project_id,
56
+ }
57
+
58
+ transport.request(
59
+ method: :post,
60
+ path: "/v1/projects/${projectId}/domains",
61
+ path_params: path_params,
62
+ body: body,
63
+ content_type: "application/json",
64
+ timeout_ms: nil,
65
+ )
66
+ end
67
+
68
+ # @param project_id [String]
69
+ # @param domain_id [String]
70
+ # @raise [ApolloDeploySignalSdk::SDKError]
71
+ # @return [DomainResponse]
72
+ def verify_domain(project_id:, domain_id:)
73
+ path_params = {
74
+ "projectId" => project_id,
75
+ "domainId" => domain_id,
76
+ }
77
+
78
+ transport.request(
79
+ method: :post,
80
+ path: "/v1/projects/${projectId}/domains/${domainId}/verify",
81
+ path_params: path_params,
82
+ timeout_ms: nil,
83
+ )
84
+ end
85
+
86
+ # @param project_id [String]
87
+ # @param domain_id [String]
88
+ # @raise [ApolloDeploySignalSdk::SDKError]
89
+ # @return [nil]
90
+ def delete_domain(project_id:, domain_id:)
91
+ path_params = {
92
+ "projectId" => project_id,
93
+ "domainId" => domain_id,
94
+ }
95
+
96
+ transport.request(
97
+ method: :delete,
98
+ path: "/v1/projects/${projectId}/domains/${domainId}",
99
+ path_params: path_params,
100
+ timeout_ms: nil,
101
+ )
102
+ end
103
+
104
+ # @param project_id [String]
105
+ # @param domain_id [String]
106
+ # @raise [ApolloDeploySignalSdk::SDKError]
107
+ # @return [DomainResponse]
108
+ def verify_bimi(project_id:, domain_id:)
109
+ path_params = {
110
+ "projectId" => project_id,
111
+ "domainId" => domain_id,
112
+ }
113
+
114
+ transport.request(
115
+ method: :post,
116
+ path: "/v1/projects/${projectId}/domains/${domainId}/bimi/verify",
117
+ path_params: path_params,
118
+ timeout_ms: nil,
119
+ )
120
+ end
121
+
122
+ # @param project_id [String]
123
+ # @param domain_id [String]
124
+ # @param body [UpdateBimiRequest] request body
125
+ # @raise [ApolloDeploySignalSdk::SDKError]
126
+ # @return [DomainResponse]
127
+ def update_bimi(project_id:, domain_id:, body:)
128
+ path_params = {
129
+ "projectId" => project_id,
130
+ "domainId" => domain_id,
131
+ }
132
+
133
+ transport.request(
134
+ method: :patch,
135
+ path: "/v1/projects/${projectId}/domains/${domainId}/bimi",
136
+ path_params: path_params,
137
+ body: body,
138
+ content_type: "application/json",
139
+ timeout_ms: nil,
140
+ )
141
+ end
142
+
143
+ end
144
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../transport"
4
+ require_relative "../errors"
5
+
6
+ module ApolloDeploySignalSdk
7
+ # suppressions API domain
8
+ class Suppressions
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 [SuppressionPageResponse]
18
+ def list_suppressions(project_id:)
19
+ path_params = {
20
+ "projectId" => project_id,
21
+ }
22
+
23
+ transport.request(
24
+ method: :get,
25
+ path: "/v1/projects/${projectId}/suppressions",
26
+ path_params: path_params,
27
+ timeout_ms: nil,
28
+ )
29
+ end
30
+
31
+ # @param project_id [String]
32
+ # @raise [ApolloDeploySignalSdk::SDKError]
33
+ # @return [nil]
34
+ def export_suppressions(project_id:)
35
+ path_params = {
36
+ "projectId" => project_id,
37
+ }
38
+
39
+ transport.request(
40
+ method: :get,
41
+ path: "/v1/projects/${projectId}/suppressions/export",
42
+ path_params: path_params,
43
+ timeout_ms: nil,
44
+ )
45
+ end
46
+
47
+ # @param project_id [String]
48
+ # @param body [AddSuppressionBody] request body
49
+ # @raise [ApolloDeploySignalSdk::SDKError]
50
+ # @return [SuppressionResponse]
51
+ def add_suppression(project_id:, body:)
52
+ path_params = {
53
+ "projectId" => project_id,
54
+ }
55
+
56
+ transport.request(
57
+ method: :post,
58
+ path: "/v1/projects/${projectId}/suppressions",
59
+ path_params: path_params,
60
+ body: body,
61
+ content_type: "application/json",
62
+ timeout_ms: nil,
63
+ )
64
+ end
65
+
66
+ # @param project_id [String]
67
+ # @param email [String]
68
+ # @raise [ApolloDeploySignalSdk::SDKError]
69
+ # @return [nil]
70
+ def remove_suppression(project_id:, email:)
71
+ path_params = {
72
+ "projectId" => project_id,
73
+ "email" => email,
74
+ }
75
+
76
+ transport.request(
77
+ method: :delete,
78
+ path: "/v1/projects/${projectId}/suppressions/${email}",
79
+ path_params: path_params,
80
+ timeout_ms: nil,
81
+ )
82
+ end
83
+
84
+ # @param project_id [String]
85
+ # @param body [SuppressionImportBody] request body
86
+ # @raise [ApolloDeploySignalSdk::SDKError]
87
+ # @return [SuppressionImportResponse]
88
+ def import_suppressions(project_id:, body:)
89
+ path_params = {
90
+ "projectId" => project_id,
91
+ }
92
+
93
+ transport.request(
94
+ method: :post,
95
+ path: "/v1/projects/${projectId}/suppressions/import",
96
+ path_params: path_params,
97
+ body: body,
98
+ content_type: "application/json",
99
+ timeout_ms: nil,
100
+ )
101
+ end
102
+
103
+ end
104
+ end
@@ -0,0 +1,126 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../transport"
4
+ require_relative "../errors"
5
+
6
+ module ApolloDeploySignalSdk
7
+ # topics API domain
8
+ class Topics
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 [TopicPageResponse]
18
+ def list_topics(project_id:)
19
+ path_params = {
20
+ "projectId" => project_id,
21
+ }
22
+
23
+ transport.request(
24
+ method: :get,
25
+ path: "/v1/projects/${projectId}/topics",
26
+ path_params: path_params,
27
+ timeout_ms: nil,
28
+ )
29
+ end
30
+
31
+ # @param project_id [String]
32
+ # @param topic_id [String]
33
+ # @raise [ApolloDeploySignalSdk::SDKError]
34
+ # @return [TopicResponse]
35
+ def get_topic(project_id:, topic_id:)
36
+ path_params = {
37
+ "projectId" => project_id,
38
+ "topicId" => topic_id,
39
+ }
40
+
41
+ transport.request(
42
+ method: :get,
43
+ path: "/v1/projects/${projectId}/topics/${topicId}",
44
+ path_params: path_params,
45
+ timeout_ms: nil,
46
+ )
47
+ end
48
+
49
+ # @param project_id [String]
50
+ # @param topic_id [String]
51
+ # @raise [ApolloDeploySignalSdk::SDKError]
52
+ # @return [CursorPage]
53
+ def list_contacts_in_topic(project_id:, topic_id:)
54
+ path_params = {
55
+ "projectId" => project_id,
56
+ "topicId" => topic_id,
57
+ }
58
+
59
+ transport.request(
60
+ method: :get,
61
+ path: "/v1/projects/${projectId}/topics/${topicId}/contacts",
62
+ path_params: path_params,
63
+ timeout_ms: nil,
64
+ )
65
+ end
66
+
67
+ # @param project_id [String]
68
+ # @param body [CreateTopicBody] request body
69
+ # @raise [ApolloDeploySignalSdk::SDKError]
70
+ # @return [TopicResponse]
71
+ def create_topic(project_id:, body:)
72
+ path_params = {
73
+ "projectId" => project_id,
74
+ }
75
+
76
+ transport.request(
77
+ method: :post,
78
+ path: "/v1/projects/${projectId}/topics",
79
+ path_params: path_params,
80
+ body: body,
81
+ content_type: "application/json",
82
+ timeout_ms: nil,
83
+ )
84
+ end
85
+
86
+ # @param project_id [String]
87
+ # @param topic_id [String]
88
+ # @param body [UpdateTopicBody] request body
89
+ # @raise [ApolloDeploySignalSdk::SDKError]
90
+ # @return [TopicResponse]
91
+ def update_topic(project_id:, topic_id:, body:)
92
+ path_params = {
93
+ "projectId" => project_id,
94
+ "topicId" => topic_id,
95
+ }
96
+
97
+ transport.request(
98
+ method: :patch,
99
+ path: "/v1/projects/${projectId}/topics/${topicId}",
100
+ path_params: path_params,
101
+ body: body,
102
+ content_type: "application/json",
103
+ timeout_ms: nil,
104
+ )
105
+ end
106
+
107
+ # @param project_id [String]
108
+ # @param topic_id [String]
109
+ # @raise [ApolloDeploySignalSdk::SDKError]
110
+ # @return [nil]
111
+ def delete_topic(project_id:, topic_id:)
112
+ path_params = {
113
+ "projectId" => project_id,
114
+ "topicId" => topic_id,
115
+ }
116
+
117
+ transport.request(
118
+ method: :delete,
119
+ path: "/v1/projects/${projectId}/topics/${topicId}",
120
+ path_params: path_params,
121
+ timeout_ms: nil,
122
+ )
123
+ end
124
+
125
+ end
126
+ end
@@ -0,0 +1,184 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../transport"
4
+ require_relative "../errors"
5
+
6
+ module ApolloDeploySignalSdk
7
+ # webhooks API domain
8
+ class Webhooks
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 [WebhookPageResponse]
18
+ def list_webhooks(project_id:)
19
+ path_params = {
20
+ "projectId" => project_id,
21
+ }
22
+
23
+ transport.request(
24
+ method: :get,
25
+ path: "/v1/projects/${projectId}/webhooks",
26
+ path_params: path_params,
27
+ timeout_ms: nil,
28
+ )
29
+ end
30
+
31
+ # @param project_id [String]
32
+ # @param endpoint_id [String]
33
+ # @raise [ApolloDeploySignalSdk::SDKError]
34
+ # @return [WebhookResponse]
35
+ def get_webhook(project_id:, endpoint_id:)
36
+ path_params = {
37
+ "projectId" => project_id,
38
+ "endpointId" => endpoint_id,
39
+ }
40
+
41
+ transport.request(
42
+ method: :get,
43
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}",
44
+ path_params: path_params,
45
+ timeout_ms: nil,
46
+ )
47
+ end
48
+
49
+ # @param project_id [String]
50
+ # @param endpoint_id [String]
51
+ # @raise [ApolloDeploySignalSdk::SDKError]
52
+ # @return [WebhookDeliveryPageResponse]
53
+ def list_webhook_deliveries(project_id:, endpoint_id:)
54
+ path_params = {
55
+ "projectId" => project_id,
56
+ "endpointId" => endpoint_id,
57
+ }
58
+
59
+ transport.request(
60
+ method: :get,
61
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}/deliveries",
62
+ path_params: path_params,
63
+ timeout_ms: nil,
64
+ )
65
+ end
66
+
67
+ # @param project_id [String]
68
+ # @param endpoint_id [String]
69
+ # @param delivery_id [String]
70
+ # @raise [ApolloDeploySignalSdk::SDKError]
71
+ # @return [WebhookDeliveryResponse]
72
+ def get_webhook_delivery(project_id:, endpoint_id:, delivery_id:)
73
+ path_params = {
74
+ "projectId" => project_id,
75
+ "endpointId" => endpoint_id,
76
+ "deliveryId" => delivery_id,
77
+ }
78
+
79
+ transport.request(
80
+ method: :get,
81
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}/deliveries/${deliveryId}",
82
+ path_params: path_params,
83
+ timeout_ms: nil,
84
+ )
85
+ end
86
+
87
+ # @param project_id [String]
88
+ # @param body [CreateWebhookBody] request body
89
+ # @raise [ApolloDeploySignalSdk::SDKError]
90
+ # @return [WebhookCreateResponse]
91
+ def create_webhook(project_id:, body:)
92
+ path_params = {
93
+ "projectId" => project_id,
94
+ }
95
+
96
+ transport.request(
97
+ method: :post,
98
+ path: "/v1/projects/${projectId}/webhooks",
99
+ path_params: path_params,
100
+ body: body,
101
+ content_type: "application/json",
102
+ timeout_ms: nil,
103
+ )
104
+ end
105
+
106
+ # @param project_id [String]
107
+ # @param endpoint_id [String]
108
+ # @param body [UpdateWebhookBody] request body
109
+ # @raise [ApolloDeploySignalSdk::SDKError]
110
+ # @return [WebhookResponse]
111
+ def update_webhook(project_id:, endpoint_id:, body:)
112
+ path_params = {
113
+ "projectId" => project_id,
114
+ "endpointId" => endpoint_id,
115
+ }
116
+
117
+ transport.request(
118
+ method: :patch,
119
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}",
120
+ path_params: path_params,
121
+ body: body,
122
+ content_type: "application/json",
123
+ timeout_ms: nil,
124
+ )
125
+ end
126
+
127
+ # @param project_id [String]
128
+ # @param endpoint_id [String]
129
+ # @raise [ApolloDeploySignalSdk::SDKError]
130
+ # @return [nil]
131
+ def delete_webhook(project_id:, endpoint_id:)
132
+ path_params = {
133
+ "projectId" => project_id,
134
+ "endpointId" => endpoint_id,
135
+ }
136
+
137
+ transport.request(
138
+ method: :delete,
139
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}",
140
+ path_params: path_params,
141
+ timeout_ms: nil,
142
+ )
143
+ end
144
+
145
+ # @param project_id [String]
146
+ # @param endpoint_id [String]
147
+ # @raise [ApolloDeploySignalSdk::SDKError]
148
+ # @return [WebhookDeliveryResponse]
149
+ def test_webhook(project_id:, endpoint_id:)
150
+ path_params = {
151
+ "projectId" => project_id,
152
+ "endpointId" => endpoint_id,
153
+ }
154
+
155
+ transport.request(
156
+ method: :post,
157
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}/test",
158
+ path_params: path_params,
159
+ timeout_ms: nil,
160
+ )
161
+ end
162
+
163
+ # @param project_id [String]
164
+ # @param endpoint_id [String]
165
+ # @param delivery_id [String]
166
+ # @raise [ApolloDeploySignalSdk::SDKError]
167
+ # @return [nil]
168
+ def replay_webhook_delivery(project_id:, endpoint_id:, delivery_id:)
169
+ path_params = {
170
+ "projectId" => project_id,
171
+ "endpointId" => endpoint_id,
172
+ "deliveryId" => delivery_id,
173
+ }
174
+
175
+ transport.request(
176
+ method: :post,
177
+ path: "/v1/projects/${projectId}/webhooks/${endpointId}/replay/${deliveryId}",
178
+ path_params: path_params,
179
+ timeout_ms: nil,
180
+ )
181
+ end
182
+
183
+ end
184
+ end