sendgrid4r 0.5.0 → 1.0.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/.env.example +6 -8
- data/.rubocop.yml +1 -1
- data/README.md +0 -2
- data/lib/sendgrid4r/rest/api.rb +6 -0
- data/lib/sendgrid4r/rest/api_keys/api_keys.rb +5 -5
- data/lib/sendgrid4r/rest/asm/global_suppressions.rb +3 -3
- data/lib/sendgrid4r/rest/asm/groups.rb +4 -4
- data/lib/sendgrid4r/rest/asm/suppressions.rb +4 -4
- data/lib/sendgrid4r/rest/categories/categories.rb +1 -1
- data/lib/sendgrid4r/rest/contacts/custom_fields.rb +3 -3
- data/lib/sendgrid4r/rest/contacts/lists.rb +10 -10
- data/lib/sendgrid4r/rest/contacts/recipients.rb +10 -10
- data/lib/sendgrid4r/rest/contacts/segments.rb +5 -5
- data/lib/sendgrid4r/rest/ips/addresses.rb +3 -3
- data/lib/sendgrid4r/rest/ips/pools.rb +4 -4
- data/lib/sendgrid4r/rest/ips/warmup.rb +6 -6
- data/lib/sendgrid4r/rest/request.rb +2 -2
- data/lib/sendgrid4r/rest/subusers/subusers.rb +63 -3
- data/lib/sendgrid4r/rest/templates/templates.rb +14 -9
- data/lib/sendgrid4r/rest/templates/versions.rb +12 -10
- data/lib/sendgrid4r/rest/whitelabel/domains.rb +257 -0
- data/lib/sendgrid4r/rest/whitelabel/ips.rb +140 -0
- data/lib/sendgrid4r/rest/whitelabel/links.rb +185 -0
- data/lib/sendgrid4r/version.rb +1 -1
- data/sendgrid4r.gemspec +1 -1
- data/spec/client_spec.rb +93 -1
- data/spec/rest/api_keys/api_keys_spec.rb +23 -55
- data/spec/rest/asm/global_suppressions_spec.rb +40 -68
- data/spec/rest/asm/groups_spec.rb +31 -82
- data/spec/rest/asm/suppressions_spec.rb +33 -76
- data/spec/rest/categories/categories_spec.rb +8 -27
- data/spec/rest/contacts/custom_fields_spec.rb +18 -71
- data/spec/rest/contacts/lists_spec.rb +64 -187
- data/spec/rest/contacts/recipients_spec.rb +41 -196
- data/spec/rest/contacts/reserved_fields_spec.rb +2 -20
- data/spec/rest/contacts/segments_spec.rb +47 -33
- data/spec/rest/email_activity/email_activity_spec.rb +8 -21
- data/spec/rest/ips/addresses_spec.rb +18 -77
- data/spec/rest/ips/pools_spec.rb +21 -80
- data/spec/rest/ips/warmup_spec.rb +11 -58
- data/spec/rest/settings/enforced_tls_spec.rb +3 -40
- data/spec/rest/settings/mail_spec.rb +21 -294
- data/spec/rest/settings/partner_spec.rb +6 -79
- data/spec/rest/settings/tracking_spec.rb +10 -147
- data/spec/rest/stats/advanced_spec.rb +13 -135
- data/spec/rest/stats/category_spec.rb +5 -48
- data/spec/rest/stats/global_spec.rb +3 -5
- data/spec/rest/stats/parse_spec.rb +1 -24
- data/spec/rest/stats/subuser_spec.rb +6 -49
- data/spec/rest/subusers/subusers_spec.rb +156 -81
- data/spec/rest/templates/templates_spec.rb +32 -81
- data/spec/rest/templates/versions_spec.rb +50 -28
- data/spec/rest/whitelabel/domains_spec.rb +637 -0
- data/spec/rest/whitelabel/ips_spec.rb +231 -0
- data/spec/rest/whitelabel/links_spec.rb +359 -0
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88a609c232531a4f0b6d1acac25b7f2e8ca56c01
|
4
|
+
data.tar.gz: 249e65cd6188c5280a64a13377a25595f8f31953
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9f3ffa6032f734c8b6aa5d80f740d72f1d57163e323e532d7fef561cb74de2e7af7316304ecc61c55ba7ea78d514bcee9e195c9516cff129caf003ef5738286
|
7
|
+
data.tar.gz: 82417181f37fcb1e45c3331bc0d23ff2b1ff4302719faf04013c3f63be07e2f6ae60a1f849cbe9067486aca3a587c114aa9dcc87b27b2da47e30a1feb1f73929
|
data/.env.example
CHANGED
@@ -1,10 +1,8 @@
|
|
1
|
-
SENDGRID_USERNAME=sendgrid username
|
2
|
-
SENDGRID_PASSWORD=sendgrid_password
|
3
1
|
API_KEY=apikey
|
4
|
-
|
5
|
-
SILVER_SENDGRID_PASSWORD=silver_sendgird_password
|
6
|
-
SILVER_SUBUSER=subusername
|
7
|
-
SILVER_SUBUSER2=subusername
|
2
|
+
SILVER_API_KEY=apikey
|
8
3
|
SUBUSER1=subusername
|
9
|
-
|
10
|
-
|
4
|
+
SUBUSER2=subusername
|
5
|
+
SUBUSER3=subusername
|
6
|
+
PASS=password
|
7
|
+
MAIL=email@email.com
|
8
|
+
EVENT_URL=http://event.webhook/endpoint
|
data/.rubocop.yml
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# Sendgrid4r
|
2
2
|
|
3
|
-
**This gem is BETA yet. The interfaces will be changed often.**
|
4
|
-
|
5
3
|
This gem allows you to quickly and easily access to SendGrid Web API v3 for Ruby.
|
6
4
|
See [api reference](https://sendgrid.com/docs/API_Reference/Web_API_v3/index.html) for more detail
|
7
5
|
|
data/lib/sendgrid4r/rest/api.rb
CHANGED
@@ -30,6 +30,9 @@ require 'sendgrid4r/rest/contacts/segments'
|
|
30
30
|
require 'sendgrid4r/rest/api_keys/api_keys'
|
31
31
|
require 'sendgrid4r/rest/subusers/subusers'
|
32
32
|
require 'sendgrid4r/rest/email_activity/email_activity'
|
33
|
+
require 'sendgrid4r/rest/whitelabel/domains'
|
34
|
+
require 'sendgrid4r/rest/whitelabel/ips'
|
35
|
+
require 'sendgrid4r/rest/whitelabel/links'
|
33
36
|
|
34
37
|
module SendGrid4r
|
35
38
|
module REST
|
@@ -65,6 +68,9 @@ module SendGrid4r
|
|
65
68
|
include SendGrid4r::REST::ApiKeys
|
66
69
|
include SendGrid4r::REST::Subusers
|
67
70
|
include SendGrid4r::REST::EmailActivity
|
71
|
+
include SendGrid4r::REST::Whitelabel::Domains
|
72
|
+
include SendGrid4r::REST::Whitelabel::Ips
|
73
|
+
include SendGrid4r::REST::Whitelabel::Links
|
68
74
|
end
|
69
75
|
end
|
70
76
|
end
|
@@ -44,21 +44,21 @@ module SendGrid4r
|
|
44
44
|
SendGrid4r::REST::ApiKeys.create_api_keys(resp)
|
45
45
|
end
|
46
46
|
|
47
|
-
def post_api_key(name
|
47
|
+
def post_api_key(name:, &block)
|
48
48
|
params = {}
|
49
49
|
params['name'] = name
|
50
50
|
resp = post(@auth, SendGrid4r::REST::ApiKeys.url, params, &block)
|
51
51
|
SendGrid4r::REST::ApiKeys.create_api_key(resp)
|
52
52
|
end
|
53
53
|
|
54
|
-
def delete_api_key(
|
55
|
-
delete(@auth, SendGrid4r::REST::ApiKeys.url(
|
54
|
+
def delete_api_key(api_key_id:, &block)
|
55
|
+
delete(@auth, SendGrid4r::REST::ApiKeys.url(api_key_id), &block)
|
56
56
|
end
|
57
57
|
|
58
|
-
def patch_api_key(
|
58
|
+
def patch_api_key(api_key_id:, name:, &block)
|
59
59
|
params = {}
|
60
60
|
params['name'] = name
|
61
|
-
endpoint = SendGrid4r::REST::ApiKeys.url(
|
61
|
+
endpoint = SendGrid4r::REST::ApiKeys.url(api_key_id)
|
62
62
|
resp = patch(@auth, endpoint, params, &block)
|
63
63
|
SendGrid4r::REST::ApiKeys.create_api_key(resp)
|
64
64
|
end
|
@@ -18,21 +18,21 @@ module SendGrid4r
|
|
18
18
|
url
|
19
19
|
end
|
20
20
|
|
21
|
-
def post_global_suppressed_emails(recipient_emails
|
21
|
+
def post_global_suppressed_emails(recipient_emails:, &block)
|
22
22
|
params = { recipient_emails: recipient_emails }
|
23
23
|
endpoint = SendGrid4r::REST::Asm::GlobalSuppressions.url
|
24
24
|
resp = post(@auth, endpoint, params, &block)
|
25
25
|
SendGrid4r::REST::Asm.create_recipient_emails(resp)
|
26
26
|
end
|
27
27
|
|
28
|
-
def get_global_suppressed_email(email_address
|
28
|
+
def get_global_suppressed_email(email_address:, &block)
|
29
29
|
endpoint =
|
30
30
|
SendGrid4r::REST::Asm::GlobalSuppressions.url(email_address)
|
31
31
|
resp = get(@auth, endpoint, &block)
|
32
32
|
SendGrid4r::REST::Asm.create_recipient_email(resp)
|
33
33
|
end
|
34
34
|
|
35
|
-
def delete_global_suppressed_email(email_address
|
35
|
+
def delete_global_suppressed_email(email_address:, &block)
|
36
36
|
endpoint =
|
37
37
|
SendGrid4r::REST::Asm::GlobalSuppressions.url(email_address)
|
38
38
|
delete(@auth, endpoint, &block)
|
@@ -41,7 +41,7 @@ module SendGrid4r
|
|
41
41
|
)
|
42
42
|
end
|
43
43
|
|
44
|
-
def post_group(name
|
44
|
+
def post_group(name:, description:, &block)
|
45
45
|
params = { name: name, description: description }
|
46
46
|
resp = post(@auth, SendGrid4r::REST::Asm::Groups.url, params, &block)
|
47
47
|
SendGrid4r::REST::Asm::Groups.create_group(resp)
|
@@ -52,18 +52,18 @@ module SendGrid4r
|
|
52
52
|
SendGrid4r::REST::Asm::Groups.create_groups(resp)
|
53
53
|
end
|
54
54
|
|
55
|
-
def get_group(group_id
|
55
|
+
def get_group(group_id:, &block)
|
56
56
|
resp = get(@auth, SendGrid4r::REST::Asm::Groups.url(group_id), &block)
|
57
57
|
SendGrid4r::REST::Asm::Groups.create_group(resp)
|
58
58
|
end
|
59
59
|
|
60
|
-
def patch_group(group_id
|
60
|
+
def patch_group(group_id:, group:, &block)
|
61
61
|
endpoint = SendGrid4r::REST::Asm::Groups.url(group_id)
|
62
62
|
resp = patch(@auth, endpoint, group.to_h, &block)
|
63
63
|
SendGrid4r::REST::Asm::Groups.create_group(resp)
|
64
64
|
end
|
65
65
|
|
66
|
-
def delete_group(group_id
|
66
|
+
def delete_group(group_id:, &block)
|
67
67
|
delete(@auth, SendGrid4r::REST::Asm::Groups.url(group_id), &block)
|
68
68
|
end
|
69
69
|
end
|
@@ -50,7 +50,7 @@ module SendGrid4r
|
|
50
50
|
emails
|
51
51
|
end
|
52
52
|
|
53
|
-
def post_suppressed_emails(group_id
|
53
|
+
def post_suppressed_emails(group_id:, recipient_emails:, &block)
|
54
54
|
resp = post(
|
55
55
|
@auth,
|
56
56
|
SendGrid4r::REST::Asm::Suppressions.url(group_id),
|
@@ -60,19 +60,19 @@ module SendGrid4r
|
|
60
60
|
SendGrid4r::REST::Asm.create_recipient_emails(resp)
|
61
61
|
end
|
62
62
|
|
63
|
-
def get_suppressed_emails(group_id
|
63
|
+
def get_suppressed_emails(group_id:, &block)
|
64
64
|
endpoint = SendGrid4r::REST::Asm::Suppressions.url(group_id)
|
65
65
|
resp = get(@auth, endpoint, &block)
|
66
66
|
SendGrid4r::REST::Asm::Suppressions.create_emails(resp)
|
67
67
|
end
|
68
68
|
|
69
|
-
def get_suppressions(email_address
|
69
|
+
def get_suppressions(email_address:, &block)
|
70
70
|
endpoint = "#{BASE_URL}/asm/suppressions/#{email_address}"
|
71
71
|
resp = get(@auth, endpoint, &block)
|
72
72
|
SendGrid4r::REST::Asm::Suppressions.create_suppressions(resp)
|
73
73
|
end
|
74
74
|
|
75
|
-
def delete_suppressed_email(group_id
|
75
|
+
def delete_suppressed_email(group_id:, email_address:, &block)
|
76
76
|
delete(
|
77
77
|
@auth,
|
78
78
|
SendGrid4r::REST::Asm::Suppressions.url(group_id, email_address),
|
@@ -32,7 +32,7 @@ module SendGrid4r
|
|
32
32
|
categories
|
33
33
|
end
|
34
34
|
|
35
|
-
def get_categories(category
|
35
|
+
def get_categories(category: nil, limit: nil, offset: nil, &block)
|
36
36
|
params = {}
|
37
37
|
params['category'] = category unless category.nil?
|
38
38
|
params['limit'] = limit unless limit.nil?
|
@@ -46,7 +46,7 @@ module SendGrid4r
|
|
46
46
|
Fields.new(custom_fields)
|
47
47
|
end
|
48
48
|
|
49
|
-
def post_custom_field(name
|
49
|
+
def post_custom_field(name:, type:, &block)
|
50
50
|
params = {}
|
51
51
|
params['name'] = name
|
52
52
|
params['type'] = type
|
@@ -63,7 +63,7 @@ module SendGrid4r
|
|
63
63
|
SendGrid4r::REST::Contacts::CustomFields.create_fields(resp)
|
64
64
|
end
|
65
65
|
|
66
|
-
def get_custom_field(custom_field_id
|
66
|
+
def get_custom_field(custom_field_id:, &block)
|
67
67
|
resp = get(
|
68
68
|
@auth,
|
69
69
|
SendGrid4r::REST::Contacts::CustomFields.url(custom_field_id),
|
@@ -72,7 +72,7 @@ module SendGrid4r
|
|
72
72
|
SendGrid4r::REST::Contacts::CustomFields.create_field(resp)
|
73
73
|
end
|
74
74
|
|
75
|
-
def delete_custom_field(custom_field_id
|
75
|
+
def delete_custom_field(custom_field_id:, &block)
|
76
76
|
delete(
|
77
77
|
@auth,
|
78
78
|
SendGrid4r::REST::Contacts::CustomFields.url(custom_field_id),
|
@@ -41,7 +41,7 @@ module SendGrid4r
|
|
41
41
|
Lists.new(lists)
|
42
42
|
end
|
43
43
|
|
44
|
-
def post_list(name
|
44
|
+
def post_list(name:, &block)
|
45
45
|
params = {}
|
46
46
|
params['name'] = name
|
47
47
|
resp = post(
|
@@ -55,14 +55,14 @@ module SendGrid4r
|
|
55
55
|
SendGrid4r::REST::Contacts::Lists.create_lists(resp)
|
56
56
|
end
|
57
57
|
|
58
|
-
def get_list(list_id
|
58
|
+
def get_list(list_id:, &block)
|
59
59
|
resp = get(
|
60
60
|
@auth, SendGrid4r::REST::Contacts::Lists.url(list_id), &block
|
61
61
|
)
|
62
62
|
SendGrid4r::REST::Contacts::Lists.create_list(resp)
|
63
63
|
end
|
64
64
|
|
65
|
-
def patch_list(list_id
|
65
|
+
def patch_list(list_id:, name:, &block)
|
66
66
|
params = {}
|
67
67
|
params['name'] = name
|
68
68
|
endpoint = SendGrid4r::REST::Contacts::Lists.url(list_id)
|
@@ -70,18 +70,18 @@ module SendGrid4r
|
|
70
70
|
SendGrid4r::REST::Contacts::Lists.create_list(resp)
|
71
71
|
end
|
72
72
|
|
73
|
-
def delete_list(list_id
|
73
|
+
def delete_list(list_id:, &block)
|
74
74
|
delete(@auth, SendGrid4r::REST::Contacts::Lists.url(list_id), &block)
|
75
75
|
end
|
76
76
|
|
77
77
|
# no bodies returned
|
78
|
-
def post_recipients_to_list(list_id
|
78
|
+
def post_recipients_to_list(list_id:, recipients:, &block)
|
79
79
|
url = SendGrid4r::REST::Contacts::Lists.url(list_id)
|
80
80
|
endpoint = "#{url}/recipients_batch"
|
81
81
|
post(@auth, endpoint, recipients, &block)
|
82
82
|
end
|
83
83
|
|
84
|
-
def get_recipients_from_list(list_id
|
84
|
+
def get_recipients_from_list(list_id:, limit: nil, offset: nil, &block)
|
85
85
|
params = {}
|
86
86
|
params['limit'] = limit unless limit.nil?
|
87
87
|
params['offset'] = offset unless offset.nil?
|
@@ -90,23 +90,23 @@ module SendGrid4r
|
|
90
90
|
SendGrid4r::REST::Contacts::Recipients.create_recipients(resp)
|
91
91
|
end
|
92
92
|
|
93
|
-
def post_recipient_to_list(list_id
|
93
|
+
def post_recipient_to_list(list_id:, recipient_id:, &block)
|
94
94
|
endpoint = SendGrid4r::REST::Contacts::Lists.recipients_url(
|
95
95
|
list_id, recipient_id
|
96
96
|
)
|
97
97
|
post(@auth, endpoint, &block)
|
98
98
|
end
|
99
99
|
|
100
|
-
def delete_recipient_from_list(list_id
|
100
|
+
def delete_recipient_from_list(list_id:, recipient_id:, &block)
|
101
101
|
endpoint = SendGrid4r::REST::Contacts::Lists.recipients_url(
|
102
102
|
list_id, recipient_id
|
103
103
|
)
|
104
104
|
delete(@auth, endpoint, &block)
|
105
105
|
end
|
106
106
|
|
107
|
-
def delete_lists(list_ids
|
107
|
+
def delete_lists(list_ids:, &block)
|
108
108
|
endpoint = "#{BASE_URL}/contactdb/lists_batch"
|
109
|
-
delete(@auth, endpoint, list_ids, &block)
|
109
|
+
delete(@auth, endpoint, nil, list_ids, &block)
|
110
110
|
end
|
111
111
|
end
|
112
112
|
end
|
@@ -66,18 +66,18 @@ module SendGrid4r
|
|
66
66
|
url
|
67
67
|
end
|
68
68
|
|
69
|
-
def post_recipient(params
|
69
|
+
def post_recipient(params:, &block)
|
70
70
|
endpoint = SendGrid4r::REST::Contacts::Recipients.url
|
71
71
|
resp = post(@auth, endpoint, params, &block)
|
72
72
|
SendGrid4r::REST::Contacts::Recipients.create_recipient(resp)
|
73
73
|
end
|
74
74
|
|
75
|
-
def delete_recipients(emails
|
75
|
+
def delete_recipients(emails:, &block)
|
76
76
|
endpoint = SendGrid4r::REST::Contacts::Recipients.url
|
77
|
-
delete(@auth, endpoint, emails, &block)
|
77
|
+
delete(@auth, endpoint, nil, emails, &block)
|
78
78
|
end
|
79
79
|
|
80
|
-
def get_recipients(limit
|
80
|
+
def get_recipients(limit: nil, offset: nil, &block)
|
81
81
|
params = {}
|
82
82
|
params['limit'] = limit unless limit.nil?
|
83
83
|
params['offset'] = offset unless offset.nil?
|
@@ -86,7 +86,7 @@ module SendGrid4r
|
|
86
86
|
SendGrid4r::REST::Contacts::Recipients.create_recipients(resp)
|
87
87
|
end
|
88
88
|
|
89
|
-
def get_recipients_by_id(recipient_ids
|
89
|
+
def get_recipients_by_id(recipient_ids:, &block)
|
90
90
|
endpoint = "#{SendGrid4r::REST::Contacts::Recipients.url}/batch"
|
91
91
|
resp = get(@auth, endpoint, nil, recipient_ids, &block)
|
92
92
|
SendGrid4r::REST::Contacts::Recipients.create_recipients(resp)
|
@@ -98,24 +98,24 @@ module SendGrid4r
|
|
98
98
|
resp['recipient_count'] unless resp.nil?
|
99
99
|
end
|
100
100
|
|
101
|
-
def search_recipients(params
|
101
|
+
def search_recipients(params:, &block)
|
102
102
|
endpoint = "#{SendGrid4r::REST::Contacts::Recipients.url}/search"
|
103
103
|
resp = get(@auth, endpoint, params, &block)
|
104
104
|
SendGrid4r::REST::Contacts::Recipients.create_recipients(resp)
|
105
105
|
end
|
106
106
|
|
107
|
-
def get_recipient(recipient_id
|
107
|
+
def get_recipient(recipient_id:, &block)
|
108
108
|
endpoint = SendGrid4r::REST::Contacts::Recipients.url(recipient_id)
|
109
109
|
resp = get(@auth, endpoint, &block)
|
110
110
|
SendGrid4r::REST::Contacts::Recipients.create_recipient(resp)
|
111
111
|
end
|
112
112
|
|
113
|
-
def delete_recipient(recipient_id
|
113
|
+
def delete_recipient(recipient_id:, &block)
|
114
114
|
endpoint = SendGrid4r::REST::Contacts::Recipients.url(recipient_id)
|
115
115
|
delete(@auth, endpoint, &block)
|
116
116
|
end
|
117
117
|
|
118
|
-
def get_lists_recipient_belong(recipient_id
|
118
|
+
def get_lists_recipient_belong(recipient_id:, &block)
|
119
119
|
resp = get(
|
120
120
|
@auth,
|
121
121
|
"#{SendGrid4r::REST::Contacts::Recipients.url(recipient_id)}/lists",
|
@@ -124,7 +124,7 @@ module SendGrid4r
|
|
124
124
|
SendGrid4r::REST::Contacts::Lists.create_lists(resp)
|
125
125
|
end
|
126
126
|
|
127
|
-
def post_recipients(recipients
|
127
|
+
def post_recipients(recipients:, &block)
|
128
128
|
endpoint = "#{BASE_URL}/contactdb/recipients_batch"
|
129
129
|
resp = post(@auth, endpoint, recipients, &block)
|
130
130
|
SendGrid4r::REST::Contacts::Recipients.create_result(resp)
|
@@ -61,7 +61,7 @@ module SendGrid4r
|
|
61
61
|
Segments.new(segments)
|
62
62
|
end
|
63
63
|
|
64
|
-
def post_segment(params
|
64
|
+
def post_segment(params:, &block)
|
65
65
|
endpoint = SendGrid4r::REST::Contacts::Segments.url
|
66
66
|
resp = post(@auth, endpoint, params.to_h, &block)
|
67
67
|
SendGrid4r::REST::Contacts::Segments.create_segment(resp)
|
@@ -72,25 +72,25 @@ module SendGrid4r
|
|
72
72
|
SendGrid4r::REST::Contacts::Segments.create_segments(resp)
|
73
73
|
end
|
74
74
|
|
75
|
-
def get_segment(segment_id
|
75
|
+
def get_segment(segment_id:, &block)
|
76
76
|
endpoint = SendGrid4r::REST::Contacts::Segments.url(segment_id)
|
77
77
|
resp = get(@auth, endpoint, &block)
|
78
78
|
SendGrid4r::REST::Contacts::Segments.create_segment(resp)
|
79
79
|
end
|
80
80
|
|
81
|
-
def put_segment(segment_id
|
81
|
+
def put_segment(segment_id:, params:, &block)
|
82
82
|
endpoint = SendGrid4r::REST::Contacts::Segments.url(segment_id)
|
83
83
|
resp = put(@auth, endpoint, params, &block)
|
84
84
|
SendGrid4r::REST::Contacts::Segments.create_segment(resp)
|
85
85
|
end
|
86
86
|
|
87
|
-
def delete_segment(segment_id
|
87
|
+
def delete_segment(segment_id:, &block)
|
88
88
|
endpoint = SendGrid4r::REST::Contacts::Segments.url(segment_id)
|
89
89
|
delete(@auth, endpoint, &block)
|
90
90
|
end
|
91
91
|
|
92
92
|
def get_recipients_from_segment(
|
93
|
-
segment_id
|
93
|
+
segment_id:, limit: nil, offset: nil, &block
|
94
94
|
)
|
95
95
|
params = {}
|
96
96
|
params['limit'] = limit unless limit.nil?
|
@@ -46,7 +46,7 @@ module SendGrid4r
|
|
46
46
|
url
|
47
47
|
end
|
48
48
|
|
49
|
-
def post_ip_to_pool(pool_name
|
49
|
+
def post_ip_to_pool(pool_name:, ip:, &block)
|
50
50
|
endpoint = SendGrid4r::REST::Ips::Pools.url(pool_name, 'ips')
|
51
51
|
resp = post(@auth, endpoint, ip: ip, &block)
|
52
52
|
SendGrid4r::REST::Ips::Addresses.create_address(resp)
|
@@ -63,13 +63,13 @@ module SendGrid4r
|
|
63
63
|
SendGrid4r::REST::Ips::Addresses.create_addresses(resp)
|
64
64
|
end
|
65
65
|
|
66
|
-
def get_ip(ip
|
66
|
+
def get_ip(ip:, &block)
|
67
67
|
endpoint = SendGrid4r::REST::Ips::Addresses.url(ip)
|
68
68
|
resp = get(@auth, endpoint, &block)
|
69
69
|
SendGrid4r::REST::Ips::Addresses.create_address(resp)
|
70
70
|
end
|
71
71
|
|
72
|
-
def delete_ip_from_pool(pool_name
|
72
|
+
def delete_ip_from_pool(pool_name:, ip:, &block)
|
73
73
|
endpoint = SendGrid4r::REST::Ips::Pools.url(pool_name, 'ips', ip)
|
74
74
|
delete(@auth, endpoint, &block)
|
75
75
|
end
|
@@ -41,7 +41,7 @@ module SendGrid4r
|
|
41
41
|
url
|
42
42
|
end
|
43
43
|
|
44
|
-
def post_pool(name
|
44
|
+
def post_pool(name:, &block)
|
45
45
|
endpoint = SendGrid4r::REST::Ips::Pools.url
|
46
46
|
resp = post(@auth, endpoint, name: name, &block)
|
47
47
|
SendGrid4r::REST::Ips::Pools.create_pool(resp)
|
@@ -52,19 +52,19 @@ module SendGrid4r
|
|
52
52
|
SendGrid4r::REST::Ips::Pools.create_pools(resp)
|
53
53
|
end
|
54
54
|
|
55
|
-
def get_pool(name
|
55
|
+
def get_pool(name:, &block)
|
56
56
|
endpoint = SendGrid4r::REST::Ips::Pools.url(name)
|
57
57
|
resp = get(@auth, endpoint, &block)
|
58
58
|
SendGrid4r::REST::Ips::Pools.create_pool(resp)
|
59
59
|
end
|
60
60
|
|
61
|
-
def put_pool(name
|
61
|
+
def put_pool(name:, new_name:, &block)
|
62
62
|
endpoint = SendGrid4r::REST::Ips::Pools.url(name)
|
63
63
|
resp = put(@auth, endpoint, name: new_name, &block)
|
64
64
|
SendGrid4r::REST::Ips::Pools.create_pool(resp)
|
65
65
|
end
|
66
66
|
|
67
|
-
def delete_pool(name
|
67
|
+
def delete_pool(name:, &block)
|
68
68
|
delete(@auth, SendGrid4r::REST::Ips::Pools.url(name), &block)
|
69
69
|
end
|
70
70
|
end
|
@@ -42,20 +42,20 @@ module SendGrid4r
|
|
42
42
|
SendGrid4r::REST::Ips::Warmup.create_warmup_ips(resp)
|
43
43
|
end
|
44
44
|
|
45
|
-
def get_warmup_ip(
|
46
|
-
endpoint = SendGrid4r::REST::Ips::Warmup.url(
|
45
|
+
def get_warmup_ip(ip:, &block)
|
46
|
+
endpoint = SendGrid4r::REST::Ips::Warmup.url(ip)
|
47
47
|
resp = get(@auth, endpoint, &block)
|
48
48
|
SendGrid4r::REST::Ips::Warmup.create_warmup_ip(resp)
|
49
49
|
end
|
50
50
|
|
51
|
-
def post_warmup_ip(
|
51
|
+
def post_warmup_ip(ip:, &block)
|
52
52
|
endpoint = SendGrid4r::REST::Ips::Warmup.url
|
53
|
-
resp = post(@auth, endpoint, ip:
|
53
|
+
resp = post(@auth, endpoint, ip: ip, &block)
|
54
54
|
SendGrid4r::REST::Ips::Warmup.create_warmup_ip(resp)
|
55
55
|
end
|
56
56
|
|
57
|
-
def delete_warmup_ip(
|
58
|
-
endpoint = SendGrid4r::REST::Ips::Warmup.url(
|
57
|
+
def delete_warmup_ip(ip:, &block)
|
58
|
+
endpoint = SendGrid4r::REST::Ips::Warmup.url(ip)
|
59
59
|
delete(@auth, endpoint, &block)
|
60
60
|
end
|
61
61
|
end
|
@@ -29,8 +29,8 @@ module SendGrid4r
|
|
29
29
|
execute(:put, auth, endpoint, nil, payload, &block)
|
30
30
|
end
|
31
31
|
|
32
|
-
def delete(auth, endpoint, payload = nil, &block)
|
33
|
-
execute(:delete, auth, endpoint,
|
32
|
+
def delete(auth, endpoint, params = nil, payload = nil, &block)
|
33
|
+
execute(:delete, auth, endpoint, params, payload, &block)
|
34
34
|
end
|
35
35
|
|
36
36
|
def execute(method, auth, endpoint, params, payload, &block)
|
@@ -44,6 +44,16 @@ module SendGrid4r
|
|
44
44
|
)
|
45
45
|
end
|
46
46
|
|
47
|
+
Monitor = Struct.new(:email, :frequency)
|
48
|
+
|
49
|
+
def self.create_monitor(resp)
|
50
|
+
return resp if resp.nil?
|
51
|
+
Monitor.new(
|
52
|
+
resp['email'],
|
53
|
+
resp['frequency']
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
47
57
|
def get_subusers(limit: nil, offset: nil, username: nil, &block)
|
48
58
|
params = {}
|
49
59
|
params['limit'] = limit unless limit.nil?
|
@@ -63,19 +73,69 @@ module SendGrid4r
|
|
63
73
|
SendGrid4r::REST::Subusers.create_subuser(resp)
|
64
74
|
end
|
65
75
|
|
76
|
+
def patch_subuser(username:, disabled:, &block)
|
77
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
78
|
+
payload = {}
|
79
|
+
payload['disabled'] = disabled
|
80
|
+
resp = patch(@auth, endpoint, payload, &block)
|
81
|
+
SendGrid4r::REST::Subusers.create_subuser(resp)
|
82
|
+
end
|
83
|
+
|
84
|
+
def delete_subuser(username:, &block)
|
85
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
86
|
+
delete(@auth, endpoint, &block)
|
87
|
+
end
|
88
|
+
|
89
|
+
def get_subuser_monitor(username:, email:, frequency:, &block)
|
90
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
91
|
+
endpoint = "#{endpoint}/monitor"
|
92
|
+
payload = {}
|
93
|
+
payload['email'] = email
|
94
|
+
payload['frequency'] = frequency
|
95
|
+
resp = post(@auth, endpoint, payload, &block)
|
96
|
+
SendGrid4r::REST::Subusers.create_monitor(resp)
|
97
|
+
end
|
98
|
+
|
99
|
+
def post_subuser_monitor(username:, email:, frequency:, &block)
|
100
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
101
|
+
endpoint = "#{endpoint}/monitor"
|
102
|
+
payload = {}
|
103
|
+
payload['email'] = email
|
104
|
+
payload['frequency'] = frequency
|
105
|
+
resp = post(@auth, endpoint, payload, &block)
|
106
|
+
SendGrid4r::REST::Subusers.create_monitor(resp)
|
107
|
+
end
|
108
|
+
|
109
|
+
def put_subuser_monitor(username:, email:, frequency:, &block)
|
110
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
111
|
+
endpoint = "#{endpoint}/monitor"
|
112
|
+
payload = {}
|
113
|
+
payload['email'] = email
|
114
|
+
payload['frequency'] = frequency
|
115
|
+
resp = put(@auth, endpoint, payload, &block)
|
116
|
+
SendGrid4r::REST::Subusers.create_monitor(resp)
|
117
|
+
end
|
118
|
+
|
119
|
+
def delete_subuser_monitor(username:, &block)
|
120
|
+
endpoint = SendGrid4r::REST::Subusers.url(username)
|
121
|
+
endpoint = "#{endpoint}/monitor"
|
122
|
+
delete(@auth, endpoint, &block)
|
123
|
+
end
|
124
|
+
|
66
125
|
def get_subuser_reputation(usernames:, &block)
|
67
126
|
params = ''
|
68
127
|
usernames.each do |username|
|
69
128
|
params += "usernames=#{username}&"
|
70
129
|
end
|
71
|
-
endpoint =
|
130
|
+
endpoint = SendGrid4r::REST::Subusers.url
|
131
|
+
endpoint = "#{endpoint}/reputations?#{params}"
|
72
132
|
resp = get(@auth, endpoint, usernames, &block)
|
73
133
|
SendGrid4r::REST::Subusers.create_subusers(resp)
|
74
134
|
end
|
75
135
|
|
76
|
-
def put_subuser_assigned_ips(username:, &block)
|
136
|
+
def put_subuser_assigned_ips(username:, ips:, &block)
|
77
137
|
endpoint = "#{SendGrid4r::REST::Subusers.url(username)}/ips"
|
78
|
-
resp = put(@auth, endpoint,
|
138
|
+
resp = put(@auth, endpoint, ips, &block)
|
79
139
|
SendGrid4r::REST::Subusers.create_subuser(resp)
|
80
140
|
end
|
81
141
|
end
|
@@ -39,8 +39,9 @@ module SendGrid4r
|
|
39
39
|
Template.new(resp['id'], resp['name'], vers)
|
40
40
|
end
|
41
41
|
|
42
|
-
def post_template(name
|
43
|
-
|
42
|
+
def post_template(name:, &block)
|
43
|
+
endpoint = SendGrid4r::REST::Templates.url
|
44
|
+
resp = post(@auth, endpoint, name: name, &block)
|
44
45
|
SendGrid4r::REST::Templates.create_template(resp)
|
45
46
|
end
|
46
47
|
|
@@ -49,19 +50,23 @@ module SendGrid4r
|
|
49
50
|
SendGrid4r::REST::Templates.create_templates(resp)
|
50
51
|
end
|
51
52
|
|
52
|
-
def get_template(
|
53
|
-
|
53
|
+
def get_template(template_id:, &block)
|
54
|
+
endpoint = SendGrid4r::REST::Templates.url(template_id)
|
55
|
+
resp = get(@auth, endpoint, &block)
|
54
56
|
SendGrid4r::REST::Templates.create_template(resp)
|
55
57
|
end
|
56
58
|
|
57
|
-
def patch_template(
|
58
|
-
|
59
|
-
|
59
|
+
def patch_template(template_id:, name:, &block)
|
60
|
+
endpoint = SendGrid4r::REST::Templates.url(template_id)
|
61
|
+
payload = {}
|
62
|
+
payload['name'] = name
|
63
|
+
resp = patch(@auth, endpoint, name: name, &block)
|
60
64
|
SendGrid4r::REST::Templates.create_template(resp)
|
61
65
|
end
|
62
66
|
|
63
|
-
def delete_template(
|
64
|
-
|
67
|
+
def delete_template(template_id:, &block)
|
68
|
+
endpoint = SendGrid4r::REST::Templates.url(template_id)
|
69
|
+
delete(@auth, endpoint, &block)
|
65
70
|
end
|
66
71
|
end
|
67
72
|
end
|