trycourier 1.2.0 → 1.3.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 +8 -1
- data/lib/trycourier/bulk.rb +79 -0
- data/lib/trycourier/version.rb +1 -1
- data/lib/trycourier.rb +4 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43ad4d30cf60c972878593e731297e16218eb733d5f234d42630c76ee4e61b70
|
4
|
+
data.tar.gz: 1cf5722063320f2a9bd2365b28da54c2aed796c80fe26b5fd36f1e6409579c1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '08b2ec48d0f42bc45e87cfa2877d100b5deb2eb9927985a6544dbce6546a7950819a8d7885ffcd1d86c94c300ca2246d536ff57cb6589db0bb6f67be34c20107'
|
7
|
+
data.tar.gz: d4a47fc88397e68f9160fb03fcee6ed11591c2d78eb044e279ab0463b225c22ebc2c0eb78a0eb4f879c79c76e65851a4d807f960676f1cce2424bae072e1198d
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
6
6
|
## [Unreleased][unreleased]
|
7
7
|
|
8
|
+
## [v1.3.0] - 2022-01-26
|
9
|
+
|
10
|
+
### Added
|
11
|
+
|
12
|
+
- Support for Bulk API by @tk26
|
13
|
+
|
8
14
|
## [v1.2.0] - 2021-04-08
|
9
15
|
|
10
16
|
### Added
|
@@ -79,7 +85,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
79
85
|
|
80
86
|
Initial release by @troygoode
|
81
87
|
|
82
|
-
[unreleased]: https://github.com/trycourier/courier-ruby/compare/v1.
|
88
|
+
[unreleased]: https://github.com/trycourier/courier-ruby/compare/v1.3.0...HEAD
|
89
|
+
[v1.3.0]: https://github.com/trycourier/courier-ruby/compare/v1.2.0...v1.3.0
|
83
90
|
[v1.2.0]: https://github.com/trycourier/courier-ruby/compare/v1.1.0...v1.2.0
|
84
91
|
[v1.1.0]: https://github.com/trycourier/courier-ruby/compare/v1.0.2...v1.1.0
|
85
92
|
[v1.0.2]: https://github.com/trycourier/courier-ruby/compare/v1.0.1...v1.0.2
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Courier
|
2
|
+
class Bulk
|
3
|
+
KEY = "/bulk"
|
4
|
+
|
5
|
+
def initialize(session)
|
6
|
+
@session = session
|
7
|
+
end
|
8
|
+
|
9
|
+
def create_job(message:, idempotency_key: nil, idempotency_expiry: nil)
|
10
|
+
path = "#{KEY}"
|
11
|
+
payload = {
|
12
|
+
"message": message
|
13
|
+
}
|
14
|
+
|
15
|
+
headers = {}
|
16
|
+
if idempotency_key
|
17
|
+
headers["idempotency_key"] = idempotency_key
|
18
|
+
end
|
19
|
+
if idempotency_expiry
|
20
|
+
headers["x-idempotency-expiration"] = idempotency_expiry
|
21
|
+
end
|
22
|
+
|
23
|
+
res = @session.send(path, "POST", body: payload, headers: headers)
|
24
|
+
ErrorHandler.check_err(res)
|
25
|
+
end
|
26
|
+
|
27
|
+
def ingest_job(job_id:, users:, idempotency_key: nil, idempotency_expiry: nil)
|
28
|
+
path = "#{KEY}/#{job_id}"
|
29
|
+
payload = {
|
30
|
+
"users": users
|
31
|
+
}
|
32
|
+
|
33
|
+
headers = {}
|
34
|
+
if idempotency_key
|
35
|
+
headers["idempotency_key"] = idempotency_key
|
36
|
+
end
|
37
|
+
if idempotency_expiry
|
38
|
+
headers["x-idempotency-expiration"] = idempotency_expiry
|
39
|
+
end
|
40
|
+
|
41
|
+
res = @session.send(path, "POST", body: payload, headers: headers)
|
42
|
+
ErrorHandler.check_err(res)
|
43
|
+
end
|
44
|
+
|
45
|
+
def run_job(job_id:, idempotency_key: nil, idempotency_expiry: nil)
|
46
|
+
path = "#{KEY}/#{job_id}/run"
|
47
|
+
payload = {}
|
48
|
+
|
49
|
+
headers = {}
|
50
|
+
if idempotency_key
|
51
|
+
headers["idempotency_key"] = idempotency_key
|
52
|
+
end
|
53
|
+
if idempotency_expiry
|
54
|
+
headers["x-idempotency-expiration"] = idempotency_expiry
|
55
|
+
end
|
56
|
+
|
57
|
+
res = @session.send(path, "POST", body: payload, headers: headers)
|
58
|
+
ErrorHandler.check_err_non_json(res)
|
59
|
+
end
|
60
|
+
|
61
|
+
def get_job(job_id:)
|
62
|
+
path = "#{KEY}/#{job_id}"
|
63
|
+
res = @session.send(path, "GET")
|
64
|
+
ErrorHandler.check_err(res)
|
65
|
+
end
|
66
|
+
|
67
|
+
def get_job_users(job_id:, cursor: nil)
|
68
|
+
path = "#{KEY}/#{job_id}/users"
|
69
|
+
|
70
|
+
params = {}
|
71
|
+
if cursor
|
72
|
+
params["cursor"] = cursor
|
73
|
+
end
|
74
|
+
|
75
|
+
res = @session.send(path, "GET", params: params)
|
76
|
+
ErrorHandler.check_err(res)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
data/lib/trycourier/version.rb
CHANGED
data/lib/trycourier.rb
CHANGED
@@ -5,6 +5,7 @@ require "trycourier/profiles"
|
|
5
5
|
require "trycourier/session"
|
6
6
|
require "trycourier/messages"
|
7
7
|
require "trycourier/automations"
|
8
|
+
require "trycourier/bulk"
|
8
9
|
require "trycourier/version"
|
9
10
|
require "trycourier/exceptions"
|
10
11
|
require "net/http"
|
@@ -50,6 +51,7 @@ module Courier
|
|
50
51
|
@events = Courier::Events.new(@session)
|
51
52
|
@brands = Courier::Brands.new(@session)
|
52
53
|
@automations = Courier::Automations.new(@session)
|
54
|
+
@bulk = Courier::Bulk.new(@session)
|
53
55
|
end
|
54
56
|
|
55
57
|
def send(body)
|
@@ -94,5 +96,7 @@ module Courier
|
|
94
96
|
attr_reader :brands
|
95
97
|
|
96
98
|
attr_reader :automations
|
99
|
+
|
100
|
+
attr_reader :bulk
|
97
101
|
end
|
98
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trycourier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Courier
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -63,6 +63,7 @@ files:
|
|
63
63
|
- lib/trycourier.rb
|
64
64
|
- lib/trycourier/automations.rb
|
65
65
|
- lib/trycourier/brands.rb
|
66
|
+
- lib/trycourier/bulk.rb
|
66
67
|
- lib/trycourier/events.rb
|
67
68
|
- lib/trycourier/exceptions.rb
|
68
69
|
- lib/trycourier/lists.rb
|
@@ -94,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
95
|
- !ruby/object:Gem::Version
|
95
96
|
version: '0'
|
96
97
|
requirements: []
|
97
|
-
rubygems_version: 3.1.
|
98
|
+
rubygems_version: 3.1.6
|
98
99
|
signing_key:
|
99
100
|
specification_version: 4
|
100
101
|
summary: Wraps calls to the Courier REST API
|