mailersend-ruby 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1130525f8f2ea4df2038ccb1908e3265acb93a7538482cd4b9b9b78ad90a4a3
4
- data.tar.gz: e024cab7481bd43dd8af528d582d20dad811e2df7c101b95fc4873cbc97889ce
3
+ metadata.gz: d4207d4b81f4d12363f06fafb214a4b2d75dd2c0329376b3bafbe23a6b20fb97
4
+ data.tar.gz: 28f21d8500d4b7b07c0e6bddfa66ab08b522cd1040a1616858f81b03d422be86
5
5
  SHA512:
6
- metadata.gz: 275e9f001aab7aa838b1f3bc159887c3d80b83f250dcbc23e564a4b1334f1583aa4f4db7d8841b1335af5e24d10d8b0b768ad19dba7da21e4d2cc52b192b91b1
7
- data.tar.gz: a1b30ef5befce3517a49cf62891dd46adfacd7c711f1b98815525cc70cd658cfda71150531a441a910c471c9996b5de42bd22b0b6a142422166c4a2ba8f9bf46
6
+ metadata.gz: 5704c42a93de51701012a0ac5f55adeef0050b354ae1dff600c85f8f485645ecdf62c542847c60afe87a5655532faabd6551fac04900ee166ce5bae2f04783b1
7
+ data.tar.gz: f70b9d9fa4ab3c28d1a54d1769326833b0e5c154593f2bf339458d5fd33953af2ca1ade5e5d509e76142d18c5f7cbe33e5c03e777f5bad709c7ca75207534abf
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Released]
2
2
 
3
+ ## [0.2.3] - 2021-11-11
4
+
5
+ - Fixed typo for reply_to (thanks @JohnGoodman)
6
+
3
7
  ## [0.2.2] - 2021-08-04
4
8
 
5
9
  - Removed leftover debugging stuff
data/README.md CHANGED
@@ -11,12 +11,12 @@ MailerSend Ruby SDK
11
11
  - [Send an email](#send-an-email)
12
12
  - [Add CC, BCC recipients](#add-cc-bcc-recipients)
13
13
  - [Send a template-based email](#send-a-template-based-email)
14
+ - [Advanced personalization](#advanced-personalization)
15
+ - [Simple personalization](#simple-personalization)
14
16
  - [Tokens](#tokens)
15
17
  - [Create a token](#create-a-token)
16
18
  - [Update a token](#update-a-token)
17
19
  - [Delete a token](#delete-a-token)
18
- - [Advanced personalization](#advanced-personalization)
19
- - [Simple personalization](#simple-personalization)
20
20
  - [Send email with attachment](#send-email-with-attachment)
21
21
  - [Activity](#activity)
22
22
  - [Get a list of activities](#get-a-list-of-activities)
@@ -29,6 +29,7 @@ MailerSend Ruby SDK
29
29
  - [Get a list of domains](#get-a-list-of-domains)
30
30
  - [Get a single domain](#get-a-single-domain)
31
31
  - [Delete a domain](#delete-a-domain)
32
+ - [Get recipients for a domain](#get-recipients-for-a-domain)
32
33
  - [Update domain settings](#update-domain-settings)
33
34
  - [Messages](#messages)
34
35
  - [Get a list of messages](#get-a-list-of-messages)
@@ -37,6 +38,10 @@ MailerSend Ruby SDK
37
38
  - [Get recipients](#get-recipients)
38
39
  - [Get a single recipient](#get-a-single-recipient)
39
40
  - [Delete a recipient](#delete-a-recipient)
41
+ - [Suppressions](#suppressions)
42
+ - [Get recipients from a suppression list](#get-recipients-from-a-suppression-list)
43
+ - [Add recipients to a suppression list](#add-recipients-to-a-suppression-list)
44
+ - [Delete recipients from a suppression list](#delete-recipients-from-a-suppression-list)
40
45
  - [Webhooks](#webhooks)
41
46
  - [List webhooks](#list-webhooks)
42
47
  - [Get a webhook](#get-a-webhook)
@@ -127,32 +132,6 @@ ms_email.add_template_id(12415125)
127
132
  ms_email.send
128
133
  ```
129
134
 
130
- ## Tokens
131
-
132
- ### Create a token
133
- ```ruby
134
- require "mailersend-ruby"
135
-
136
- ms_tokens = Mailersend::Tokens.new
137
- ms_tokens.create(name: "Very nice token", scopes: %w[ email_full domains_read ], domain_id: "yourdomainid")
138
- ```
139
-
140
- ### Update a token
141
- ```ruby
142
- require "mailersend-ruby"
143
-
144
- ms_tokens = Mailersend::Tokens.new
145
- ms_tokens.update(token_id: "d2220fx04", status: "paused")
146
- ```
147
-
148
- ### Delete a token
149
- ```ruby
150
- require "mailersend-ruby"
151
-
152
- ms_tokens = Mailersend::Tokens.new
153
- ms_tokens.delete(token_id: "d2220fx04")
154
- ```
155
-
156
135
  ### Advanced personalization
157
136
 
158
137
  ```ruby
@@ -210,6 +189,32 @@ ms_email.add_variables(variables)
210
189
  ms_email.send
211
190
  ```
212
191
 
192
+ ## Tokens
193
+
194
+ ### Create a token
195
+ ```ruby
196
+ require "mailersend-ruby"
197
+
198
+ ms_tokens = Mailersend::Tokens.new
199
+ ms_tokens.create(name: "Very nice token", scopes: %w[ email_full domains_read ], domain_id: "yourdomainid")
200
+ ```
201
+
202
+ ### Update a token
203
+ ```ruby
204
+ require "mailersend-ruby"
205
+
206
+ ms_tokens = Mailersend::Tokens.new
207
+ ms_tokens.update(token_id: "d2220fx04", status: "paused")
208
+ ```
209
+
210
+ ### Delete a token
211
+ ```ruby
212
+ require "mailersend-ruby"
213
+
214
+ ms_tokens = Mailersend::Tokens.new
215
+ ms_tokens.delete(token_id: "d2220fx04")
216
+ ```
217
+
213
218
  ### Send email with attachment
214
219
 
215
220
  ```ruby
@@ -313,6 +318,15 @@ ms_domains = Mailersend::Domains.new
313
318
  ms_domains.delete(domain_id: "idofdomain12412")
314
319
  ```
315
320
 
321
+ ### Get recipients for a domain
322
+
323
+ ```ruby
324
+ require "mailersend-ruby"
325
+
326
+ ms_domains = Mailersend::Domains.new
327
+ ms_domains.recipients(domain_id: "idofdomain12412")
328
+ ```
329
+
316
330
  ### Update domain settings
317
331
 
318
332
  ```ruby
@@ -371,6 +385,71 @@ ms_recipients = Mailersend::Recipients.new
371
385
  ms_recipients.delete(recipient_id: "id124")
372
386
  ```
373
387
 
388
+ ## Suppressions
389
+
390
+ ### Get recipients from a suppression list
391
+
392
+ ```ruby
393
+ require "mailersend-ruby"
394
+
395
+ ms_suppressions = Mailersend::Suppressions.new
396
+
397
+ // List from Blocklist
398
+ ms_suppressions.get_from_blocklist(domain_id: "xxx2241ll")
399
+
400
+ // List from Hard Bounces
401
+ ms_suppressions.get_hard_bounces(domain_id: "xxx2241ll")
402
+
403
+ // List from Spam Complaints
404
+ ms_suppressions.get_spam_complaints(domain_id: "xxx2241ll")
405
+
406
+ // List from Unsubscribers
407
+ ms_suppressions.get_unsubscribes(domain_id: "xxx2241ll")
408
+ ```
409
+
410
+ ### Add recipients to a suppression list
411
+
412
+ ```ruby
413
+ require "mailersend-ruby"
414
+
415
+ ms_suppressions = Mailersend::Suppressions.new
416
+
417
+ // Add Recipient to Block List using recipients
418
+ ms_suppressions.add_to_blocklist(domain_id: "xxx2241ll", recipients: ["blocked@client.com"])
419
+
420
+ // Add Recipient to Block List using patterns
421
+ ms_suppressions.add_to_blocklist(domain_id: "xxx2241ll", patterns: ["*@client.com"])
422
+
423
+ // Add Recipient to Hard Bounces
424
+ ms_suppressions.add_to_hard_bounces(domain_id: "xxx2241ll", recipients: ["bounced@client.com"])
425
+
426
+ // Add Recipient to Spam Complaints
427
+ ms_suppressions.add_to_spam_complaints(domain_id: "xxx2241ll", recipients: ["bounced@client.com"])
428
+
429
+ // Add Recipient to Unsubscribes
430
+ ms_suppressions.add_to_unsubscribers(domain_id: "xxx2241ll", recipients: ["bounced@client.com"])
431
+ ```
432
+
433
+ ### Delete recipients from a suppression list
434
+
435
+ ```ruby
436
+ require "mailersend-ruby"
437
+
438
+ ms_suppressions = Mailersend::Suppressions.new
439
+
440
+ // Delete from Block List
441
+ ms_suppressions.delete_from_blocklist(ids: ["xxx2241ll"])
442
+
443
+ // Delete from Hard Bounces
444
+ ms_suppressions.delete_from_hard_bounces(ids: ["xxx2241ll"])
445
+
446
+ // Delete from Spam Complaints
447
+ ms_suppressions.delete_from_spam_complaints(ids: ["xxx2241ll"])
448
+
449
+ // Delete from Unsubscribes
450
+ ms_suppressions.delete_from_unsubscribers(ids: ["xxx2241ll"])
451
+ ```
452
+
374
453
  ## Webhooks
375
454
 
376
455
  ### List webhooks
@@ -454,4 +533,4 @@ The official documentation is at [https://developers.mailersend.com](https://dev
454
533
 
455
534
  # License
456
535
 
457
- [The MIT License (MIT)](LICENSE)
536
+ [The MIT License (MIT)](LICENSE)
@@ -52,8 +52,8 @@ module Mailersend
52
52
  @bcc << bcc
53
53
  end
54
54
 
55
- def add_reply_to(_reply_to)
56
- @reply_to = reply to
55
+ def add_reply_to(reply_to)
56
+ @reply_to = reply_to
57
57
  end
58
58
 
59
59
  def add_subject(subject)
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mailersend
4
+ # Suppressions endpoint from MailerSend API.
5
+ class Suppressions
6
+ attr_accessor :client,
7
+ :page,
8
+ :limit,
9
+ :recipient_id
10
+
11
+ def initialize(client = Mailersend::Client.new)
12
+ @client = client
13
+ @page = page
14
+ @limit = limit
15
+ @recipient_id = recipient_id
16
+ end
17
+
18
+ def get_from_blocklist(*)
19
+ response = client.http.get("#{API_URL}/suppressions/blocklist")
20
+ puts response
21
+ end
22
+
23
+ def get_hard_bounces(*)
24
+ response = client.http.get("#{API_URL}/suppressions/hard-bounces")
25
+ puts response
26
+ end
27
+
28
+ def get_spam_complaints(*)
29
+ response = client.http.get("#{API_URL}/suppressions/spam-complaints")
30
+ puts response
31
+ end
32
+
33
+ def get_unsubscribes(*)
34
+ response = client.http.get("#{API_URL}/suppressions/unsubscribes")
35
+ puts response
36
+ end
37
+
38
+ def add_to_blocklist(recipients: nil, patterns: nil)
39
+ hash = {
40
+ 'recipients' => recipients,
41
+ 'patterns' => patterns
42
+ }
43
+ response = client.http.post("#{API_URL}/suppressions/blocklist", json: hash.compact)
44
+ puts response
45
+ end
46
+
47
+ def delete_from_blocklist(ids: nil, all: nil)
48
+ hash = {
49
+ 'ids' => ids,
50
+ 'all' => all
51
+ }
52
+ response = client.http.delete("#{API_URL}/suppressions/blocklist", json: hash.compact)
53
+ puts response
54
+ end
55
+
56
+ def add_to_hard_bounces(domain_id: nil, recipients: nil)
57
+ hash = {
58
+ 'domain_id' => domain_id,
59
+ 'recipients' => recipients
60
+ }
61
+ response = client.http.post("#{API_URL}/suppressions/hard-bounces", json: hash.compact)
62
+ puts response
63
+ end
64
+
65
+ def delete_from_hard_bounces(ids: nil, all: nil)
66
+ hash = {
67
+ 'ids' => ids,
68
+ 'all' => all
69
+ }
70
+ response = client.http.delete("#{API_URL}/suppressions/hard-bounces", json: hash.compact)
71
+ puts response
72
+ end
73
+
74
+ def add_to_spam_complaints(domain_id: nil, recipients: nil)
75
+ hash = {
76
+ 'domain_id' => domain_id,
77
+ 'recipients' => recipients
78
+ }
79
+ response = client.http.post("#{API_URL}/suppressions/spam-complaints", json: hash.compact)
80
+ puts response
81
+ end
82
+
83
+ def delete_from_spam_complaints(ids: nil, all: nil)
84
+ hash = {
85
+ 'ids' => ids,
86
+ 'all' => all
87
+ }
88
+ response = client.http.delete("#{API_URL}/suppressions/spam-complaints", json: hash.compact)
89
+ puts response
90
+ end
91
+
92
+ def add_to_unsubscribers(domain_id: nil, recipients: nil)
93
+ hash = {
94
+ 'domain_id' => domain_id,
95
+ 'recipients' => recipients
96
+ }
97
+ response = client.http.post("#{API_URL}/suppressions/unsubscribes", json: hash.compact)
98
+ puts response
99
+ end
100
+
101
+ def delete_from_unsubscribers(ids: nil, all: nil)
102
+ hash = {
103
+ 'ids' => ids,
104
+ 'all' => all
105
+ }
106
+ response = client.http.delete("#{API_URL}/suppressions/unsubscribes", json: hash.compact)
107
+ puts response
108
+ end
109
+ end
110
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mailersend
4
- VERSION = '0.2.2'
4
+ VERSION = '0.2.3'
5
5
  end
data/lib/mailersend.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'mailersend/client'
4
- require 'mailersend/activity/activity'
5
- require 'mailersend/analytics/analytics'
6
- require 'mailersend/domains/domains'
7
- require 'mailersend/email/email'
8
- require 'mailersend/messages/messages'
9
- require 'mailersend/recipients/recipients'
10
- require 'mailersend/templates/templates'
11
- require 'mailersend/tokens/tokens'
12
- require 'mailersend/webhooks/webhooks'
3
+ require_relative 'mailersend/client'
4
+ require_relative 'mailersend/activity/activity'
5
+ require_relative 'mailersend/analytics/analytics'
6
+ require_relative 'mailersend/domains/domains'
7
+ require_relative 'mailersend/email/email'
8
+ require_relative 'mailersend/messages/messages'
9
+ require_relative 'mailersend/recipients/recipients'
10
+ require_relative 'mailersend/suppressions/suppressions'
11
+ require_relative 'mailersend/templates/templates'
12
+ require_relative 'mailersend/tokens/tokens'
13
+ require_relative 'mailersend/webhooks/webhooks'
data/renovate.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ]
5
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailersend-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Milojević
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-04 00:00:00.000000000 Z
11
+ date: 2021-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -138,11 +138,13 @@ files:
138
138
  - lib/mailersend/email/email.rb
139
139
  - lib/mailersend/messages/messages.rb
140
140
  - lib/mailersend/recipients/recipients.rb
141
+ - lib/mailersend/suppressions/suppressions.rb
141
142
  - lib/mailersend/templates/templates.rb
142
143
  - lib/mailersend/tokens/tokens.rb
143
144
  - lib/mailersend/version.rb
144
145
  - lib/mailersend/webhooks/webhooks.rb
145
146
  - mailersend-ruby.gemspec
147
+ - renovate.json
146
148
  homepage: https://www.mailersend.com
147
149
  licenses:
148
150
  - MIT
@@ -166,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
168
  - !ruby/object:Gem::Version
167
169
  version: '0'
168
170
  requirements: []
169
- rubygems_version: 3.2.22
171
+ rubygems_version: 3.2.31
170
172
  signing_key:
171
173
  specification_version: 4
172
174
  summary: MailerSend's official Ruby SDK