mailersend-ruby 1.5.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6346fa18c1ea9c31c279efee9ad04e00ea9aefbf9404cb809e7b4d03a4a68b39
4
- data.tar.gz: ba5a053236908bcf7ddef6d96361637d7939dd0cbeff5064ce6ec99a080b3135
3
+ metadata.gz: 968822d3ad903e00f17ed9f621a5aef8b44864b8ae978fe0a7add39c90d0b49c
4
+ data.tar.gz: af1f6618fea59168f002e35e3dbf1fed804636d98232fa97b1d443573b45f20b
5
5
  SHA512:
6
- metadata.gz: aca1d6309de48cd46627023d6d17382349ace946b28d1b01b934b5d1806259c2ab0992ceaee4483b09fe6da70c601ef8b08683b7a0d066a2298eae7a0ef03e70
7
- data.tar.gz: fe44c8e8a2563eaf6864c18284c8714feb68677c2fe666b6d1c03ed8a7a00441afab6a01301532fb184487661d15783e7d87ae0757f14be6eb80f4bdc3a1a712
6
+ metadata.gz: 86652332997ef19fb218761ca2b9233442ce3637c031e96786e490d282e2757235ad56231d6450d2cd7a490a88b2cb5bf7e4749522a1f521b98d4060c42f076b
7
+ data.tar.gz: 25bc20a08ff764455e0079b9d981752eb55369a0a9328ba1a366945dd3d574ea0f2d36d133ed8fa83d0f8344430bd4c70c0d3ad6c2a4a86e32ff0eb560f788f5
@@ -6,11 +6,18 @@ jobs:
6
6
  build:
7
7
  runs-on: ubuntu-latest
8
8
  steps:
9
- - uses: actions/checkout@v3
9
+ - uses: actions/checkout@v4
10
+
10
11
  - name: Set up Ruby
11
- uses: ruby/setup-ruby@v1
12
+ uses: actions/setup-ruby@v1
12
13
  with:
13
14
  ruby-version: 3.0
14
- bundler-cache: true
15
+
16
+ - name: Install Bundler
17
+ run: gem install bundler -v 2.4.22
18
+
19
+ - name: Install dependencies
20
+ run: bundle _2.4.22_ install
21
+
15
22
  - name: Run the default task
16
23
  run: bundle exec rake
@@ -9,7 +9,18 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
 
11
11
  steps:
12
- - uses: actions/checkout@v3
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Set up Ruby
15
+ uses: actions/setup-ruby@v1
16
+ with:
17
+ ruby-version: 3.0
18
+
19
+ - name: Install Bundler
20
+ run: gem install bundler -v 2.4.22
21
+
22
+ - name: Install dependencies
23
+ run: bundle _2.4.22_ install
13
24
 
14
25
  - name: Release Gem
15
26
  if: contains(github.ref, 'refs/tags/v')
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## [Released]
2
2
 
3
+ ## [2.0.0] - 2023-12-18
4
+
5
+ - *BREAKING CHANGE* - Please check the README file, MailerSend API token is now defined inside your application.
6
+
7
+ ## [1.6.0] - 2023-06-22
8
+
9
+ - Sender identities by email
10
+
11
+ ## [1.5.2] - 2023-06-20
12
+
13
+ - Removed uninitialized variable
14
+
3
15
  ## [1.5.1] - 2023-05-09
4
16
 
5
17
  - Added supports for base64 attachment
data/Gemfile CHANGED
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem 'bundler', '~> 2.4.10'
8
- gem 'rake', '~> 13.0.6'
9
- gem 'rubocop', '~> 1.52.1'
7
+ gem 'bundler', '~> 2.4.22'
8
+ gem 'rake', '~> 13.0'
9
+ gem 'rubocop', '~> 1.7'
10
10
  end
data/README.md CHANGED
@@ -37,6 +37,7 @@ MailerSend Ruby SDK
37
37
  - [Domains](#domains)
38
38
  - [Get a list of domains](#get-a-list-of-domains)
39
39
  - [Get a single domain](#get-a-single-domain)
40
+ - [Add a domain](#add-a-domain)
40
41
  - [Delete a domain](#delete-a-domain)
41
42
  - [Get recipients for a domain](#get-recipients-for-a-domain)
42
43
  - [Update domain settings](#update-domain-settings)
@@ -45,9 +46,12 @@ MailerSend Ruby SDK
45
46
  - [Sender Identities](#sender-identities)
46
47
  - [Get a list of sender identities](#get-a-list-of-sender-identities)
47
48
  - [Get a single sender identity](#get-a-single-sender-identity)
49
+ - [Get a single sender identity by email](#get-a-single-sender-identity-by-email)
48
50
  - [Add a sender identity](#add-a-sender-identity)
49
51
  - [Update a sender identity](#update-a-sender-identity)
52
+ - [Update a sender identity by email](#update-a-sender-identity-by-email)
50
53
  - [Delete a sender identity](#delete-a-sender-identity)
54
+ - [Delete a sender identity by email](#delete-a-sender-identity-by-email)
51
55
  - [Messages](#messages)
52
56
  - [Get a list of messages](#get-a-list-of-messages)
53
57
  - [Get info for a single message](#get-info-for-a-single-message)
@@ -122,10 +126,6 @@ gem install mailersend-ruby
122
126
 
123
127
  You will have to initalize it in your Ruby file with `require "mailersend-ruby"`.
124
128
 
125
- # Usage
126
-
127
- This SDK requires that you either have `.env` file with `MAILERSEND_API_TOKEN` env variable or that your variable is enabled system wide (useful for Docker/Kubernetes). The example of how `MAILERSEND_API_TOKEN` should look like is in `.env.example`.
128
-
129
129
  ## Email
130
130
 
131
131
  ### Send an email
@@ -133,8 +133,10 @@ This SDK requires that you either have `.env` file with `MAILERSEND_API_TOKEN` e
133
133
  ```ruby
134
134
  require "mailersend-ruby"
135
135
 
136
+ ms_client = Mailersend::Client.new('your_mailersend_token')
137
+
136
138
  # Intialize the email class
137
- ms_email = Mailersend::Email.new
139
+ ms_email = Mailersend::Email.new(ms_client)
138
140
 
139
141
  # Add parameters
140
142
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -153,8 +155,10 @@ ms_email.send
153
155
  ```ruby
154
156
  require "mailersend-ruby"
155
157
 
158
+ ms_client = Mailersend::Client.new('your_mailersend_token')
159
+
156
160
  # Intialize the email class
157
- ms_email = Mailersend::Email.new
161
+ ms_email = Mailersend::Email.new(ms_client)
158
162
 
159
163
  # Add parameters
160
164
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -175,8 +179,10 @@ ms_email.send
175
179
  ```ruby
176
180
  require "mailersend-ruby"
177
181
 
182
+ ms_client = Mailersend::Client.new('your_mailersend_token')
183
+
178
184
  # Intialize the email class
179
- ms_email = Mailersend::Email.new
185
+ ms_email = Mailersend::Email.new(ms_client)
180
186
 
181
187
  # Add parameters
182
188
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -194,8 +200,10 @@ ms_email.send
194
200
  ```ruby
195
201
  require "mailersend-ruby"
196
202
 
203
+ ms_client = Mailersend::Client.new('your_mailersend_token')
204
+
197
205
  # Intialize the email class
198
- ms_email = Mailersend::Email.new
206
+ ms_email = Mailersend::Email.new(ms_client)
199
207
 
200
208
  # Add parameters
201
209
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -221,8 +229,10 @@ ms_email.send
221
229
  ```ruby
222
230
  require "mailersend-ruby"
223
231
 
232
+ ms_client = Mailersend::Client.new('your_mailersend_token')
233
+
224
234
  # Intialize the email class
225
- ms_email = Mailersend::Email.new
235
+ ms_email = Mailersend::Email.new(ms_client)
226
236
 
227
237
  # Add parameters
228
238
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -252,7 +262,9 @@ ms_email.send
252
262
  ```ruby
253
263
  require "mailersend-ruby"
254
264
 
255
- ms_bulk_email = Mailersend::BulkEmail.new
265
+ ms_client = Mailersend::Client.new('your_mailersend_token')
266
+
267
+ ms_bulk_email = Mailersend::BulkEmail.new(ms_client)
256
268
 
257
269
  ms_bulk_email.messages = [
258
270
  {
@@ -278,7 +290,9 @@ ms_bulk_email.send
278
290
  ```ruby
279
291
  require "mailersend-ruby"
280
292
 
281
- ms_bulk_email = Mailersend::BulkEmail.new
293
+ ms_client = Mailersend::Client.new('your_mailersend_token')
294
+
295
+ ms_bulk_email = Mailersend::BulkEmail.new(ms_client)
282
296
  ms_bulk_email.get_bulk_status(bulk_email_id: 'yourbulkemailid')
283
297
  ```
284
298
 
@@ -288,7 +302,9 @@ ms_bulk_email.get_bulk_status(bulk_email_id: 'yourbulkemailid')
288
302
  ```ruby
289
303
  require "mailersend-ruby"
290
304
 
291
- ms_tokens = Mailersend::Tokens.new
305
+ ms_client = Mailersend::Client.new('your_mailersend_token')
306
+
307
+ ms_tokens = Mailersend::Tokens.new(ms_client)
292
308
  ms_tokens.create(name: "Very nice token", scopes: %w[ email_full domains_read ], domain_id: "yourdomainid")
293
309
  ```
294
310
 
@@ -296,7 +312,9 @@ ms_tokens.create(name: "Very nice token", scopes: %w[ email_full domains_read ],
296
312
  ```ruby
297
313
  require "mailersend-ruby"
298
314
 
299
- ms_tokens = Mailersend::Tokens.new
315
+ ms_client = Mailersend::Client.new('your_mailersend_token')
316
+
317
+ ms_tokens = Mailersend::Tokens.new(ms_client)
300
318
  ms_tokens.update(token_id: "d2220fx04", status: "paused")
301
319
  ```
302
320
 
@@ -304,7 +322,9 @@ ms_tokens.update(token_id: "d2220fx04", status: "paused")
304
322
  ```ruby
305
323
  require "mailersend-ruby"
306
324
 
307
- ms_tokens = Mailersend::Tokens.new
325
+ ms_client = Mailersend::Client.new('your_mailersend_token')
326
+
327
+ ms_tokens = Mailersend::Tokens.new(ms_client)
308
328
  ms_tokens.delete(token_id: "d2220fx04")
309
329
  ```
310
330
 
@@ -313,8 +333,10 @@ ms_tokens.delete(token_id: "d2220fx04")
313
333
  ```ruby
314
334
  require "mailersend-ruby"
315
335
 
336
+ ms_client = Mailersend::Client.new('your_mailersend_token')
337
+
316
338
  # Intialize the email class
317
- ms_email = Mailersend::Email.new
339
+ ms_email = Mailersend::Email.new(ms_client)
318
340
 
319
341
  # Add parameters
320
342
  ms_email.add_recipients("email" => "ron@parksandrec.com", "name" => "Ron")
@@ -340,7 +362,9 @@ ms_email.send
340
362
  ```ruby
341
363
  require "mailersend-ruby"
342
364
 
343
- ms_activity = Mailersend::Activity.new
365
+ ms_client = Mailersend::Client.new('your_mailersend_token')
366
+
367
+ ms_activity = Mailersend::Activity.new(ms_client)
344
368
  ms_activity.get(domain_id: "xxx2241ll", page: 3, limit: 5, date_from: 1620643567, date_to: 1623321967)
345
369
  ```
346
370
 
@@ -351,7 +375,9 @@ ms_activity.get(domain_id: "xxx2241ll", page: 3, limit: 5, date_from: 1620643567
351
375
  ```ruby
352
376
  require "mailersend-ruby"
353
377
 
354
- ms_analytics = Mailersend::Analytics.new
378
+ ms_client = Mailersend::Client.new('your_mailersend_token')
379
+
380
+ ms_analytics = Mailersend::Analytics.new(ms_client)
355
381
  ms_analytics.date(date_from: 1620643567, date_to: 1623321967, events: %w[sent queued])
356
382
  ```
357
383
 
@@ -360,7 +386,9 @@ ms_analytics.date(date_from: 1620643567, date_to: 1623321967, events: %w[sent qu
360
386
  ```ruby
361
387
  require "mailersend-ruby"
362
388
 
363
- ms_analytics = Mailersend::Analytics.new
389
+ ms_client = Mailersend::Client.new('your_mailersend_token')
390
+
391
+ ms_analytics = Mailersend::Analytics.new(ms_client)
364
392
  ms_analytics.country(date_from: 1620643567, date_to: 1623321967)
365
393
  ```
366
394
 
@@ -369,7 +397,9 @@ ms_analytics.country(date_from: 1620643567, date_to: 1623321967)
369
397
  ```ruby
370
398
  require "mailersend-ruby"
371
399
 
372
- ms_analytics = Mailersend::Analytics.new
400
+ ms_client = Mailersend::Client.new('your_mailersend_token')
401
+
402
+ ms_analytics = Mailersend::Analytics.new(ms_client)
373
403
  ms_analytics.ua_name(date_from: 1620643567, date_to: 1623321967)
374
404
  ```
375
405
 
@@ -378,7 +408,9 @@ ms_analytics.ua_name(date_from: 1620643567, date_to: 1623321967)
378
408
  ```ruby
379
409
  require "mailersend-ruby"
380
410
 
381
- ms_analytics = Mailersend::Analytics.new
411
+ ms_client = Mailersend::Client.new('your_mailersend_token')
412
+
413
+ ms_analytics = Mailersend::Analytics.new(ms_client)
382
414
  ms_analytics.ua_type(date_from: 1620643567, date_to: 1623321967)
383
415
  ```
384
416
 
@@ -389,7 +421,9 @@ ms_analytics.ua_type(date_from: 1620643567, date_to: 1623321967)
389
421
  ```ruby
390
422
  require "mailersend-ruby"
391
423
 
392
- ms_inbound_routes = Mailersend::InboundRouting.new
424
+ ms_client = Mailersend::Client.new('your_mailersend_token')
425
+
426
+ ms_inbound_routes = Mailersend::InboundRouting.new(ms_client)
393
427
  ms_inbound_routes.get_inbound_routes
394
428
  ```
395
429
 
@@ -398,7 +432,9 @@ ms_inbound_routes.get_inbound_routes
398
432
  ```ruby
399
433
  require "mailersend-ruby"
400
434
 
401
- ms_inbound_routes = Mailersend::InboundRouting.new
435
+ ms_client = Mailersend::Client.new('your_mailersend_token')
436
+
437
+ ms_inbound_routes = Mailersend::InboundRouting.new(ms_client)
402
438
  ms_inbound_routes.get_single_route(inbound_id: 'idofroute12412')
403
439
  ```
404
440
 
@@ -407,7 +443,9 @@ ms_inbound_routes.get_single_route(inbound_id: 'idofroute12412')
407
443
  ```ruby
408
444
  require "mailersend-ruby"
409
445
 
410
- ms_inbound_routes = Mailersend::InboundRouting.new
446
+ ms_client = Mailersend::Client.new('your_mailersend_token')
447
+
448
+ ms_inbound_routes = Mailersend::InboundRouting.new(ms_client)
411
449
  ms_inbound_routes.settings =
412
450
  {
413
451
  'domain_id' => 'yourdomainid',
@@ -424,7 +462,9 @@ puts ms_inbound_routes.add_inbound_route
424
462
  ```ruby
425
463
  require "mailersend-ruby"
426
464
 
427
- ms_inbound_routes = Mailersend::InboundRouting.new
465
+ ms_client = Mailersend::Client.new('your_mailersend_token')
466
+
467
+ ms_inbound_routes = Mailersend::InboundRouting.new(ms_client)
428
468
  ms_inbound_routes.settings =
429
469
  {
430
470
  'domain_id' => 'yourdomainid',
@@ -441,7 +481,9 @@ puts ms_inbound_routes.update_inbound_route(inbound_id: 'idofroute12412')
441
481
  ```ruby
442
482
  require "mailersend-ruby"
443
483
 
444
- ms_inbound_routes = Mailersend::InboundRouting.new
484
+ ms_client = Mailersend::Client.new('your_mailersend_token')
485
+
486
+ ms_inbound_routes = Mailersend::InboundRouting.new(ms_client)
445
487
  ms_inbound_routes.delete_route(inbound_id: 'idofroute12412')
446
488
  ```
447
489
 
@@ -452,7 +494,9 @@ ms_inbound_routes.delete_route(inbound_id: 'idofroute12412')
452
494
  ```ruby
453
495
  require "mailersend-ruby"
454
496
 
455
- ms_domains = Mailersend::Domains.new
497
+ ms_client = Mailersend::Client.new('your_mailersend_token')
498
+
499
+ ms_domains = Mailersend::Domains.new(ms_client)
456
500
  ms_domains.list
457
501
  ```
458
502
 
@@ -461,16 +505,31 @@ ms_domains.list
461
505
  ```ruby
462
506
  require "mailersend-ruby"
463
507
 
464
- ms_domains = Mailersend::Domains.new
508
+ ms_client = Mailersend::Client.new('your_mailersend_token')
509
+
510
+ ms_domains = Mailersend::Domains.new(ms_client)
465
511
  ms_domains.single(domain_id: "idofdomain12412")
466
512
  ```
467
513
 
514
+ ### Add a domain
515
+
516
+ ```ruby
517
+ require "mailersend-ruby"
518
+
519
+ ms_client = Mailersend::Client.new('your_mailersend_token')
520
+
521
+ ms_domains = Mailersend::Domains.new(ms_client)
522
+ ms_domains.add(name: 'yourdomain')
523
+ ```
524
+
468
525
  ### Delete a domain
469
526
 
470
527
  ```ruby
471
528
  require "mailersend-ruby"
472
529
 
473
- ms_domains = Mailersend::Domains.new
530
+ ms_client = Mailersend::Client.new('your_mailersend_token')
531
+
532
+ ms_domains = Mailersend::Domains.new(ms_client)
474
533
  ms_domains.delete(domain_id: "idofdomain12412")
475
534
  ```
476
535
 
@@ -479,7 +538,9 @@ ms_domains.delete(domain_id: "idofdomain12412")
479
538
  ```ruby
480
539
  require "mailersend-ruby"
481
540
 
482
- ms_domains = Mailersend::Domains.new
541
+ ms_client = Mailersend::Client.new('your_mailersend_token')
542
+
543
+ ms_domains = Mailersend::Domains.new(ms_client)
483
544
  ms_domains.recipients(domain_id: "idofdomain12412")
484
545
  ```
485
546
 
@@ -488,7 +549,9 @@ ms_domains.recipients(domain_id: "idofdomain12412")
488
549
  ```ruby
489
550
  require "mailersend-ruby"
490
551
 
491
- ms_domains = Mailersend::Domains.new
552
+ ms_client = Mailersend::Client.new('your_mailersend_token')
553
+
554
+ ms_domains = Mailersend::Domains.new(ms_client)
492
555
  ms_domains.settings(domain_id: "idofdomain12412", track_clicks: true, track_unsubscribe: false)
493
556
  ```
494
557
 
@@ -497,7 +560,9 @@ ms_domains.settings(domain_id: "idofdomain12412", track_clicks: true, track_unsu
497
560
  ```ruby
498
561
  require "mailersend-ruby"
499
562
 
500
- ms_domains = Mailersend::Domains.new
563
+ ms_client = Mailersend::Client.new('your_mailersend_token')
564
+
565
+ ms_domains = Mailersend::Domains.new(ms_client)
501
566
  ms_domains.dns(domain_id: "idofdomain12412")
502
567
  ```
503
568
 
@@ -506,7 +571,9 @@ ms_domains.dns(domain_id: "idofdomain12412")
506
571
  ```ruby
507
572
  require "mailersend-ruby"
508
573
 
509
- ms_domains = Mailersend::Domains.new
574
+ ms_client = Mailersend::Client.new('your_mailersend_token')
575
+
576
+ ms_domains = Mailersend::Domains.new(ms_client)
510
577
  ms_domains.verify(domain_id: "idofdomain12412")
511
578
  ```
512
579
 
@@ -517,7 +584,9 @@ ms_domains.verify(domain_id: "idofdomain12412")
517
584
  ```ruby
518
585
  require "mailersend-ruby"
519
586
 
520
- ms_sender_identity = Mailersend::SenderIdentity.new
587
+ ms_client = Mailersend::Client.new('your_mailersend_token')
588
+
589
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
521
590
  ms_sender_identity.list
522
591
  ```
523
592
 
@@ -526,16 +595,31 @@ ms_sender_identity.list
526
595
  ```ruby
527
596
  require "mailersend-ruby"
528
597
 
529
- ms_sender_identity = Mailersend::SenderIdentity.new
598
+ ms_client = Mailersend::Client.new('your_mailersend_token')
599
+
600
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
530
601
  ms_sender_identity.single(identity_id: 'idofidentity123')
531
602
  ```
532
603
 
604
+ ### Get a single sender identity by email
605
+
606
+ ```ruby
607
+ require "mailersend-ruby"
608
+
609
+ ms_client = Mailersend::Client.new('your_mailersend_token')
610
+
611
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
612
+ ms_sender_identity.single_by_email(email: 'example@email.com')
613
+ ```
614
+
533
615
  ### Add a sender identity
534
616
 
535
617
  ```ruby
536
618
  require "mailersend-ruby"
537
619
 
538
- ms_sender_identity = Mailersend::SenderIdentity.new
620
+ ms_client = Mailersend::Client.new('your_mailersend_token')
621
+
622
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
539
623
  ms_sender_identity.add(domain_id: 'idofdomain12412', name: 'yourname', email: 'youremail')
540
624
  ```
541
625
 
@@ -544,19 +628,45 @@ ms_sender_identity.add(domain_id: 'idofdomain12412', name: 'yourname', email: 'y
544
628
  ```ruby
545
629
  require "mailersend-ruby"
546
630
 
547
- ms_sender_identity = Mailersend::SenderIdentity.new
631
+ ms_client = Mailersend::Client.new('your_mailersend_token')
632
+
633
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
548
634
  ms_sender_identity.update(identity_id: 'idofidentity123', reply_to_email: 'replyemail', reply_to_name: 'replyname')
549
635
  ```
550
636
 
637
+ ### Update a sender identity by email
638
+
639
+ ```ruby
640
+ require "mailersend-ruby"
641
+
642
+ ms_client = Mailersend::Client.new('your_mailersend_token')
643
+
644
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
645
+ ms_sender_identity.update_by_email(email: 'example@email.com', reply_to_email: 'replyemail', reply_to_name: 'replyname')
646
+ ```
647
+
551
648
  ### Delete a sender identity
552
649
 
553
650
  ```ruby
554
651
  require "mailersend-ruby"
555
652
 
556
- ms_sender_identity = Mailersend::SenderIdentity.new
653
+ ms_client = Mailersend::Client.new('your_mailersend_token')
654
+
655
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
557
656
  ms_sender_identity.delete(identity_id: 'idofidentity123')
558
657
  ```
559
658
 
659
+ ### Delete a sender identity by email
660
+
661
+ ```ruby
662
+ require "mailersend-ruby"
663
+
664
+ ms_client = Mailersend::Client.new('your_mailersend_token')
665
+
666
+ ms_sender_identity = Mailersend::SenderIdentity.new(ms_client)
667
+ ms_sender_identity.delete_by_email(email: 'example@email.com')
668
+ ```
669
+
560
670
  ## Messages
561
671
 
562
672
  ### Get a list of messages
@@ -564,7 +674,9 @@ ms_sender_identity.delete(identity_id: 'idofidentity123')
564
674
  ```ruby
565
675
  require "mailersend-ruby"
566
676
 
567
- ms_messages = Mailersend::Messages.new
677
+ ms_client = Mailersend::Client.new('your_mailersend_token')
678
+
679
+ ms_messages = Mailersend::Messages.new(ms_client)
568
680
  ms_messages.list(page: 1, limit: 10)
569
681
  ```
570
682
 
@@ -573,7 +685,9 @@ ms_messages.list(page: 1, limit: 10)
573
685
  ```ruby
574
686
  require "mailersend-ruby"
575
687
 
576
- ms_messages = Mailersend::Messages.new
688
+ ms_client = Mailersend::Client.new('your_mailersend_token')
689
+
690
+ ms_messages = Mailersend::Messages.new(ms_client)
577
691
  ms_messages.single(message_id: "mess11454")
578
692
  ```
579
693
 
@@ -584,7 +698,9 @@ ms_messages.single(message_id: "mess11454")
584
698
  ```ruby
585
699
  require "mailersend-ruby"
586
700
 
587
- ms_scheduled_messages = Mailersend::ScheduledMessages.new
701
+ ms_client = Mailersend::Client.new('your_mailersend_token')
702
+
703
+ ms_scheduled_messages = Mailersend::ScheduledMessages.new(ms_client)
588
704
  ms_scheduled_messages.get_list
589
705
  ```
590
706
 
@@ -593,7 +709,9 @@ ms_scheduled_messages.get_list
593
709
  ```ruby
594
710
  require "mailersend-ruby"
595
711
 
596
- ms_scheduled_messages = Mailersend::ScheduledMessages.new
712
+ ms_client = Mailersend::Client.new('your_mailersend_token')
713
+
714
+ ms_scheduled_messages = Mailersend::ScheduledMessages.new(ms_client)
597
715
  ms_scheduled_messages.get_signle(message_id: 'mess11454')
598
716
  ```
599
717
 
@@ -602,7 +720,9 @@ ms_scheduled_messages.get_signle(message_id: 'mess11454')
602
720
  ```ruby
603
721
  require "mailersend-ruby"
604
722
 
605
- ms_scheduled_messages = Mailersend::ScheduledMessages.new
723
+ ms_client = Mailersend::Client.new('your_mailersend_token')
724
+
725
+ ms_scheduled_messages = Mailersend::ScheduledMessages.new(ms_client)
606
726
  ms_scheduled_messages.delete(message_id: 'mess11454')
607
727
  ```
608
728
 
@@ -613,7 +733,9 @@ ms_scheduled_messages.delete(message_id: 'mess11454')
613
733
  ```ruby
614
734
  require "mailersend-ruby"
615
735
 
616
- ms_recipients = Mailersend::Recipients.new
736
+ ms_client = Mailersend::Client.new('your_mailersend_token')
737
+
738
+ ms_recipients = Mailersend::Recipients.new(ms_client)
617
739
  ms_recipients.list(page: 1, limit: 10)
618
740
  ```
619
741
 
@@ -622,7 +744,9 @@ ms_recipients.list(page: 1, limit: 10)
622
744
  ```ruby
623
745
  require "mailersend-ruby"
624
746
 
625
- ms_recipients = Mailersend::Recipients.new
747
+ ms_client = Mailersend::Client.new('your_mailersend_token')
748
+
749
+ ms_recipients = Mailersend::Recipients.new(ms_client)
626
750
  ms_recipients.single(recipient_id: "id124")
627
751
  ```
628
752
 
@@ -631,7 +755,9 @@ ms_recipients.single(recipient_id: "id124")
631
755
  ```ruby
632
756
  require "mailersend-ruby"
633
757
 
634
- ms_recipients = Mailersend::Recipients.new
758
+ ms_client = Mailersend::Client.new('your_mailersend_token')
759
+
760
+ ms_recipients = Mailersend::Recipients.new(ms_client)
635
761
  ms_recipients.delete(recipient_id: "id124")
636
762
  ```
637
763
 
@@ -642,7 +768,9 @@ ms_recipients.delete(recipient_id: "id124")
642
768
  ```ruby
643
769
  require "mailersend-ruby"
644
770
 
645
- ms_suppressions = Mailersend::Suppressions.new
771
+ ms_client = Mailersend::Client.new('your_mailersend_token')
772
+
773
+ ms_suppressions = Mailersend::Suppressions.new(ms_client)
646
774
 
647
775
  // List from Blocklist
648
776
  ms_suppressions.get_from_blocklist(domain_id: "xxx2241ll")
@@ -662,7 +790,9 @@ ms_suppressions.get_unsubscribes(domain_id: "xxx2241ll")
662
790
  ```ruby
663
791
  require "mailersend-ruby"
664
792
 
665
- ms_suppressions = Mailersend::Suppressions.new
793
+ ms_client = Mailersend::Client.new('your_mailersend_token')
794
+
795
+ ms_suppressions = Mailersend::Suppressions.new(ms_client)
666
796
 
667
797
  // Add Recipient to Block List using recipients
668
798
  ms_suppressions.add_to_blocklist(domain_id: "xxx2241ll", recipients: ["blocked@client.com"])
@@ -685,7 +815,9 @@ ms_suppressions.add_to_unsubscribers(domain_id: "xxx2241ll", recipients: ["bounc
685
815
  ```ruby
686
816
  require "mailersend-ruby"
687
817
 
688
- ms_suppressions = Mailersend::Suppressions.new
818
+ ms_client = Mailersend::Client.new('your_mailersend_token')
819
+
820
+ ms_suppressions = Mailersend::Suppressions.new(ms_client)
689
821
 
690
822
  // Delete from Block List
691
823
  ms_suppressions.delete_from_blocklist(domain_id: 'yourdomainid', ids: ["xxx2241ll"])
@@ -706,7 +838,9 @@ ms_suppressions.delete_from_unsubscribers(domain_id: 'yourdomainid', ids: ["xxx2
706
838
  ```ruby
707
839
  require "mailersend-ruby"
708
840
 
709
- ms_webhooks = Mailersend::Webhooks.new
841
+ ms_client = Mailersend::Client.new('your_mailersend_token')
842
+
843
+ ms_webhooks = Mailersend::Webhooks.new(ms_client)
710
844
  ms_webhooks.list(domain_id: "xxx2241ll")
711
845
  ```
712
846
 
@@ -714,7 +848,9 @@ ms_webhooks.list(domain_id: "xxx2241ll")
714
848
  ```ruby
715
849
  require "mailersend-ruby"
716
850
 
717
- ms_webhooks = Mailersend::Webhooks.new
851
+ ms_client = Mailersend::Client.new('your_mailersend_token')
852
+
853
+ ms_webhooks = Mailersend::Webhooks.new(ms_client)
718
854
  ms_webhooks.single(webhook_id: "zzz2241ll")
719
855
  ```
720
856
 
@@ -722,7 +858,9 @@ ms_webhooks.single(webhook_id: "zzz2241ll")
722
858
  ```ruby
723
859
  require "mailersend-ruby"
724
860
 
725
- ms_webhooks = Mailersend::Webhooks.new
861
+ ms_client = Mailersend::Client.new('your_mailersend_token')
862
+
863
+ ms_webhooks = Mailersend::Webhooks.new(ms_client)
726
864
  ms_webhooks.create(domain_id: "xxx2241ll", url: "https://domain.com/hook", name: "Webhook", events: ["activity.sent", "activity.delivered"], enabled: true)
727
865
  ```
728
866
 
@@ -730,7 +868,9 @@ ms_webhooks.create(domain_id: "xxx2241ll", url: "https://domain.com/hook", name:
730
868
  ```ruby
731
869
  require "mailersend-ruby"
732
870
 
733
- ms_webhooks = Mailersend::Webhooks.new
871
+ ms_client = Mailersend::Client.new('your_mailersend_token')
872
+
873
+ ms_webhooks = Mailersend::Webhooks.new(ms_client)
734
874
  ms_webhooks.update(webhook_id: "zzz2241ll", enabled: false)
735
875
  ```
736
876
 
@@ -738,7 +878,9 @@ ms_webhooks.update(webhook_id: "zzz2241ll", enabled: false)
738
878
  ```ruby
739
879
  require "mailersend-ruby"
740
880
 
741
- ms_webhooks = Mailersend::Webhooks.new
881
+ ms_client = Mailersend::Client.new('your_mailersend_token')
882
+
883
+ ms_webhooks = Mailersend::Webhooks.new(ms_client)
742
884
  ms_webhooks.delete(webhook_id: "zzz2241ll")
743
885
  ```
744
886
 
@@ -749,7 +891,9 @@ ms_webhooks.delete(webhook_id: "zzz2241ll")
749
891
  ```ruby
750
892
  require "mailersend-ruby"
751
893
 
752
- ms_templates = Mailersend::Templates.new
894
+ ms_client = Mailersend::Client.new('your_mailersend_token')
895
+
896
+ ms_templates = Mailersend::Templates.new(ms_client)
753
897
  ms_templates.list(domain_id: "aax455lll", page: 1, limit: 10)
754
898
  ```
755
899
 
@@ -758,7 +902,9 @@ ms_templates.list(domain_id: "aax455lll", page: 1, limit: 10)
758
902
  ```ruby
759
903
  require "mailersend-ruby"
760
904
 
761
- ms_templates = Mailersend::Templates.new
905
+ ms_client = Mailersend::Client.new('your_mailersend_token')
906
+
907
+ ms_templates = Mailersend::Templates.new(ms_client)
762
908
  ms_templates.single(template_id: "id124")
763
909
  ```
764
910
 
@@ -767,7 +913,9 @@ ms_templates.single(template_id: "id124")
767
913
  ```ruby
768
914
  require "mailersend-ruby"
769
915
 
770
- ms_templates = Mailersend::Templates.new
916
+ ms_client = Mailersend::Client.new('your_mailersend_token')
917
+
918
+ ms_templates = Mailersend::Templates.new(ms_client)
771
919
  ms_templates.delete(template_id: "id124")
772
920
  ```
773
921
 
@@ -778,7 +926,9 @@ ms_templates.delete(template_id: "id124")
778
926
  ```ruby
779
927
  require "mailersend-ruby"
780
928
 
781
- ms_email_verification = Mailersend::EmailVerification.new
929
+ ms_client = Mailersend::Client.new('your_mailersend_token')
930
+
931
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
782
932
  ms_email_verification.verify_an_email(email: 'example@email.com')
783
933
  ```
784
934
 
@@ -787,7 +937,9 @@ ms_email_verification.verify_an_email(email: 'example@email.com')
787
937
  ```ruby
788
938
  require "mailersend-ruby"
789
939
 
790
- ms_email_verification = Mailersend::EmailVerification.new
940
+ ms_client = Mailersend::Client.new('your_mailersend_token')
941
+
942
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
791
943
  ms_email_verification.list(page: 1, limit: 10)
792
944
  ```
793
945
 
@@ -796,7 +948,9 @@ ms_email_verification.list(page: 1, limit: 10)
796
948
  ```ruby
797
949
  require "mailersend-ruby"
798
950
 
799
- ms_email_verification = Mailersend::EmailVerification.new
951
+ ms_client = Mailersend::Client.new('your_mailersend_token')
952
+
953
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
800
954
  ms_email_verification.get_single_list(email_verification_id: 'your-email-verification-id')
801
955
  ```
802
956
 
@@ -805,7 +959,9 @@ ms_email_verification.get_single_list(email_verification_id: 'your-email-verific
805
959
  ```ruby
806
960
  require "mailersend-ruby"
807
961
 
808
- ms_email_verification = Mailersend::EmailVerification.new
962
+ ms_client = Mailersend::Client.new('your_mailersend_token')
963
+
964
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
809
965
  ms_email_verification.create_a_list(name: "name-your-list", emails: ["example@email.com"])
810
966
  ```
811
967
 
@@ -814,7 +970,9 @@ ms_email_verification.create_a_list(name: "name-your-list", emails: ["example@em
814
970
  ```ruby
815
971
  require "mailersend-ruby"
816
972
 
817
- ms_email_verification = Mailersend::EmailVerification.new
973
+ ms_client = Mailersend::Client.new('your_mailersend_token')
974
+
975
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
818
976
  ms_email_verification.verify_a_list(email_verification_id: 'your-email-verification-id')
819
977
  ```
820
978
 
@@ -823,7 +981,9 @@ ms_email_verification.verify_a_list(email_verification_id: 'your-email-verificat
823
981
  ```ruby
824
982
  require "mailersend-ruby"
825
983
 
826
- ms_email_verification = Mailersend::EmailVerification.new
984
+ ms_client = Mailersend::Client.new('your_mailersend_token')
985
+
986
+ ms_email_verification = Mailersend::EmailVerification.new(ms_client)
827
987
  ms_email_verification.get_list_results(email_verification_id: 'your-email-verification-id')
828
988
  ```
829
989
 
@@ -834,8 +994,10 @@ ms_email_verification.get_list_results(email_verification_id: 'your-email-verifi
834
994
  ```ruby
835
995
  require "mailersend-ruby"
836
996
 
997
+ ms_client = Mailersend::Client.new('your_mailersend_token')
998
+
837
999
  # Intialize the SMS class
838
- ms_sms = Mailersend::SMS.new
1000
+ ms_sms = Mailersend::SMS.new(ms_client)
839
1001
 
840
1002
  # Add parameters
841
1003
  ms_sms.add_from('your-number')
@@ -860,8 +1022,10 @@ ms_sms.send
860
1022
  ```ruby
861
1023
  require "mailersend-ruby"
862
1024
 
1025
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1026
+
863
1027
  # Intialize the SMS Messages class
864
- ms_sms_messages = Mailersend::SMSMessages.new
1028
+ ms_sms_messages = Mailersend::SMSMessages.new(ms_client)
865
1029
 
866
1030
  # Add parameters
867
1031
  ms_sms_messages.list(page: 1, limit: 10)
@@ -872,8 +1036,10 @@ ms_sms_messages.list(page: 1, limit: 10)
872
1036
  ```ruby
873
1037
  require "mailersend-ruby"
874
1038
 
1039
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1040
+
875
1041
  # Intialize the SMS Messages class
876
- ms_sms_messages = Mailersend::SMSMessages.new
1042
+ ms_sms_messages = Mailersend::SMSMessages.new(ms_client)
877
1043
 
878
1044
  # Add parameters
879
1045
  ms_sms_messages.get_single_route(sms_message_id: 'your-sms-message-id')
@@ -886,8 +1052,10 @@ ms_sms_messages.get_single_route(sms_message_id: 'your-sms-message-id')
886
1052
  ```ruby
887
1053
  require "mailersend-ruby"
888
1054
 
1055
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1056
+
889
1057
  # Intialize the SMS Recipient class
890
- ms_sms_activity = Mailersend::SMSActivity.new
1058
+ ms_sms_activity = Mailersend::SMSActivity.new(ms_client)
891
1059
 
892
1060
  # Add parameters
893
1061
  ms_sms_activity.list(page: 1, limit: 10)
@@ -900,8 +1068,10 @@ ms_sms_activity.list(page: 1, limit: 10)
900
1068
  ```ruby
901
1069
  require "mailersend-ruby"
902
1070
 
1071
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1072
+
903
1073
  # Intialize the SMS Recipient class
904
- ms_sms_number = Mailersend::SMSNumber.new
1074
+ ms_sms_number = Mailersend::SMSNumber.new(ms_client)
905
1075
 
906
1076
  # Add parameters
907
1077
  ms_sms_number.list(page: 1, limit: 10)
@@ -912,8 +1082,10 @@ ms_sms_number.list(page: 1, limit: 10)
912
1082
  ```ruby
913
1083
  require "mailersend-ruby"
914
1084
 
1085
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1086
+
915
1087
  # Intialize the SMS Recipient class
916
- ms_sms_number = Mailersend::SMSNumber.new
1088
+ ms_sms_number = Mailersend::SMSNumber.new(ms_client)
917
1089
 
918
1090
  # Add parameters
919
1091
  ms_sms_number.get(sms_number_id: 'your-sms-number-id')
@@ -924,8 +1096,10 @@ ms_sms_number.get(sms_number_id: 'your-sms-number-id')
924
1096
  ```ruby
925
1097
  require "mailersend-ruby"
926
1098
 
1099
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1100
+
927
1101
  # Intialize the SMS Recipient class
928
- ms_sms_number = Mailersend::SMSNumber.new
1102
+ ms_sms_number = Mailersend::SMSNumber.new(ms_client)
929
1103
 
930
1104
  # Add parameters
931
1105
  ms_sms_number.update(sms_number_id: 'your-sms-number-id', paused: false)
@@ -936,8 +1110,10 @@ ms_sms_number.update(sms_number_id: 'your-sms-number-id', paused: false)
936
1110
  ```ruby
937
1111
  require "mailersend-ruby"
938
1112
 
1113
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1114
+
939
1115
  # Intialize the SMS Recipient class
940
- ms_sms_number = Mailersend::SMSNumber.new
1116
+ ms_sms_number = Mailersend::SMSNumber.new(ms_client)
941
1117
 
942
1118
  # Add parameters
943
1119
  ms_sms_number.delete(sms_number_id: 'your-sms-number-id')
@@ -950,8 +1126,10 @@ ms_sms_number.delete(sms_number_id: 'your-sms-number-id')
950
1126
  ```ruby
951
1127
  require "mailersend-ruby"
952
1128
 
1129
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1130
+
953
1131
  # Intialize the SMS Recipient class
954
- ms_sms_recipient = Mailersend::SMSRecipient.new
1132
+ ms_sms_recipient = Mailersend::SMSRecipient.new(ms_client)
955
1133
 
956
1134
  # Add parameters
957
1135
  ms_sms_recipient.list(page: 1, limit: 10)
@@ -962,8 +1140,10 @@ ms_sms_recipient.list(page: 1, limit: 10)
962
1140
  ```ruby
963
1141
  require "mailersend-ruby"
964
1142
 
1143
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1144
+
965
1145
  # Intialize the SMS Recipient class
966
- ms_sms_recipient = Mailersend::SMSRecipient.new
1146
+ ms_sms_recipient = Mailersend::SMSRecipient.new(ms_client)
967
1147
 
968
1148
  # Add parameters
969
1149
  ms_sms_recipient.get(sms_recipient_id: 'your-sms-recipient-id')
@@ -974,8 +1154,10 @@ ms_sms_recipient.get(sms_recipient_id: 'your-sms-recipient-id')
974
1154
  ```ruby
975
1155
  require "mailersend-ruby"
976
1156
 
1157
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1158
+
977
1159
  # Intialize the SMS Recipient class
978
- ms_sms_recipient = Mailersend::SMSRecipient.new
1160
+ ms_sms_recipient = Mailersend::SMSRecipient.new(ms_client)
979
1161
 
980
1162
  # Add parameters
981
1163
  ms_sms_recipient.update(sms_recipient_id: 'your-sms-recipient-id', status: 'opt_out')
@@ -988,8 +1170,10 @@ ms_sms_recipient.update(sms_recipient_id: 'your-sms-recipient-id', status: 'opt_
988
1170
  ```ruby
989
1171
  require "mailersend-ruby"
990
1172
 
1173
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1174
+
991
1175
  # Intialize the SMS Inbounds class
992
- ms_sms_inbounds = Mailersend::SMSInbounds.new
1176
+ ms_sms_inbounds = Mailersend::SMSInbounds.new(ms_client)
993
1177
 
994
1178
  ms_sms_inbounds.list
995
1179
  ```
@@ -999,8 +1183,10 @@ ms_sms_inbounds.list
999
1183
  ```ruby
1000
1184
  require "mailersend-ruby"
1001
1185
 
1186
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1187
+
1002
1188
  # Intialize the SMS Inbounds class
1003
- ms_sms_inbounds = Mailersend::SMSInbounds.new
1189
+ ms_sms_inbounds = Mailersend::SMSInbounds.new(ms_client)
1004
1190
 
1005
1191
  # Add parameters
1006
1192
  ms_sms_inbounds.get_sms_inbound_route(sms_inbound_id: 'your-sms-inbound-id')
@@ -1011,8 +1197,10 @@ ms_sms_inbounds.get_sms_inbound_route(sms_inbound_id: 'your-sms-inbound-id')
1011
1197
  ```ruby
1012
1198
  require "mailersend-ruby"
1013
1199
 
1200
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1201
+
1014
1202
  # Intialize the SMS Inbounds class
1015
- ms_sms_inbounds = Mailersend::SMSInbounds.new
1203
+ ms_sms_inbounds = Mailersend::SMSInbounds.new(ms_client)
1016
1204
 
1017
1205
  # Add parameters
1018
1206
  ms_sms_inbounds.settings =
@@ -1030,8 +1218,10 @@ puts ms_sms_inbounds.add_sms_inbound_route
1030
1218
  ```ruby
1031
1219
  require "mailersend-ruby"
1032
1220
 
1221
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1222
+
1033
1223
  # Intialize the SMS Inbounds class
1034
- ms_sms_inbounds = Mailersend::SMSInbounds.new
1224
+ ms_sms_inbounds = Mailersend::SMSInbounds.new(ms_client)
1035
1225
 
1036
1226
  # Add parameters
1037
1227
  ms_sms_inbounds.settings =
@@ -1049,8 +1239,10 @@ puts ms_sms_inbounds.update_sms_inbound_route(sms_inbound_id: 'your-sms-inbound-
1049
1239
  ```ruby
1050
1240
  require "mailersend-ruby"
1051
1241
 
1242
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1243
+
1052
1244
  # Intialize the SMS Inbounds class
1053
- ms_sms_inbounds = Mailersend::SMSInbounds.new
1245
+ ms_sms_inbounds = Mailersend::SMSInbounds.new(ms_client)
1054
1246
 
1055
1247
  # Add parameters
1056
1248
  ms_sms_inbounds.delete_sms_inbound_route(sms_inbound_id: 'your-sms-inbound-id')
@@ -1063,8 +1255,10 @@ ms_sms_inbounds.delete_sms_inbound_route(sms_inbound_id: 'your-sms-inbound-id')
1063
1255
  ```ruby
1064
1256
  require "mailersend-ruby"
1065
1257
 
1258
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1259
+
1066
1260
  # Intialize the SMS Webhooks class
1067
- ms_sms_webhooks = Mailersend::SMSWebhooks.new
1261
+ ms_sms_webhooks = Mailersend::SMSWebhooks.new(ms_client)
1068
1262
 
1069
1263
  # Add parameters
1070
1264
  ms_sms_webhooks.list(sms_number_id: 'your-sms-number-id')
@@ -1075,8 +1269,10 @@ ms_sms_webhooks.list(sms_number_id: 'your-sms-number-id')
1075
1269
  ```ruby
1076
1270
  require "mailersend-ruby"
1077
1271
 
1272
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1273
+
1078
1274
  # Intialize the SMS Webhooks class
1079
- ms_sms_webhooks = Mailersend::SMSWebhooks.new
1275
+ ms_sms_webhooks = Mailersend::SMSWebhooks.new(ms_client)
1080
1276
 
1081
1277
  # Add parameters
1082
1278
  ms_sms_webhooks.get_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
@@ -1087,8 +1283,10 @@ ms_sms_webhooks.get_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
1087
1283
  ```ruby
1088
1284
  require "mailersend-ruby"
1089
1285
 
1286
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1287
+
1090
1288
  # Intialize the SMS Webhooks class
1091
- ms_sms_webhooks = Mailersend::SMSWebhooks.new
1289
+ ms_sms_webhooks = Mailersend::SMSWebhooks.new(ms_client)
1092
1290
 
1093
1291
  # Add parameters
1094
1292
  ms_sms_webhooks.settings =
@@ -1106,8 +1304,10 @@ puts ms_sms_webhooks.add_sms_webhook_route
1106
1304
  ```ruby
1107
1305
  require "mailersend-ruby"
1108
1306
 
1307
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1308
+
1109
1309
  # Intialize the SMS Webhooks class
1110
- ms_sms_webhooks = Mailersend::SMSWebhooks.new
1310
+ ms_sms_webhooks = Mailersend::SMSWebhooks.new(ms_client)
1111
1311
 
1112
1312
  # Add parameters
1113
1313
  ms_sms_webhooks.settings =
@@ -1125,8 +1325,10 @@ puts ms_sms_webhooks.update_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-
1125
1325
  ```ruby
1126
1326
  require "mailersend-ruby"
1127
1327
 
1328
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1329
+
1128
1330
  # Intialize the SMS Webhooks class
1129
- ms_sms_webhooks = Mailersend::SMSWebhooks.new
1331
+ ms_sms_webhooks = Mailersend::SMSWebhooks.new(ms_client)
1130
1332
 
1131
1333
  # Add parameters
1132
1334
  ms_sms_webhooks.delete_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
@@ -1139,8 +1341,10 @@ ms_sms_webhooks.delete_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
1139
1341
  ```ruby
1140
1342
  require "mailersend-ruby"
1141
1343
 
1344
+ ms_client = Mailersend::Client.new('your_mailersend_token')
1345
+
1142
1346
  # Intialize the API Quota class
1143
- ms_api_quota = Mailersend::APIQuota.new
1347
+ ms_api_quota = Mailersend::APIQuota.new(ms_client)
1144
1348
 
1145
1349
  # Add parameters
1146
1350
  ms_api_quota.get_api_quota
@@ -1,20 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'http'
4
- require 'dotenv/load'
5
4
 
6
5
  API_URL = 'https://api.mailersend.com/v1'
7
6
  API_BASE_HOST = 'api.mailersend.com'
8
7
 
9
- Dotenv.require_keys('MAILERSEND_API_TOKEN')
10
-
11
8
  # mailersend-ruby is a gem that integrates all endpoints from MailerSend API
12
9
  module Mailersend
13
10
  attr_reader :api_token
14
11
 
15
12
  # Inits the client.
16
13
  class Client
17
- def initialize(api_token = ENV['MAILERSEND_API_TOKEN'])
14
+ def initialize(api_token = ENV.fetch('MAILERSEND_API_TOKEN', nil))
15
+ raise ArgumentError, 'API token is not provided' if api_token.nil?
16
+
18
17
  @api_token = api_token
19
18
  end
20
19
 
@@ -7,6 +7,7 @@ module Mailersend
7
7
  :domain_id,
8
8
  :page,
9
9
  :limit,
10
+ :name,
10
11
  :verified
11
12
 
12
13
  def initialize(client = Mailersend::Client.new)
@@ -14,6 +15,7 @@ module Mailersend
14
15
  @domain_id = domain_id
15
16
  @page = page
16
17
  @limit = limit
18
+ @name = name
17
19
  @verified = verified
18
20
  end
19
21
 
@@ -37,6 +39,16 @@ module Mailersend
37
39
  query: URI.encode_www_form(hash.compact)))
38
40
  end
39
41
 
42
+ def add(name: nil, return_path_subdomain: nil, custom_tracking_subdomain: nil, inbound_routing_subdomain: nil)
43
+ hash = {
44
+ 'name' => name,
45
+ 'return_path_subdomain' => return_path_subdomain,
46
+ 'custom_tracking_subdomain' => custom_tracking_subdomain,
47
+ 'inbound_routing_subdomain' => inbound_routing_subdomain
48
+ }
49
+ client.http.post("#{API_URL}/domains", json: hash.compact)
50
+ end
51
+
40
52
  def delete(domain_id:)
41
53
  client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/domains/#{domain_id}"))
42
54
  end
@@ -50,7 +62,7 @@ module Mailersend
50
62
  query: URI.encode_www_form(hash.compact)))
51
63
  end
52
64
 
53
- def settings(domain_id:, send_paused: nil, track_clicks: nil, track_opens: nil, track_unsubscribe: nil, track_unsubscribe_html: nil, track_unsubscribe_plain: nil, track_content: nil, custom_tracking_enabled: nil, custom_tracking_subdomain: nil)
65
+ def settings(domain_id:, send_paused: nil, track_clicks: nil, track_opens: nil, track_unsubscribe: nil, track_unsubscribe_html: nil, track_unsubscribe_plain: nil, track_content: nil, custom_tracking_enabled: nil, custom_tracking_subdomain: nil, precedence_bulk: nil)
54
66
  hash = {
55
67
  'send_paused' => send_paused,
56
68
  'track_clicks' => track_clicks,
@@ -60,7 +72,8 @@ module Mailersend
60
72
  'track_unsubscribe_plain' => track_unsubscribe_plain,
61
73
  'track_content' => track_content,
62
74
  'custom_tracking_enabled' => custom_tracking_enabled,
63
- 'custom_tracking_subdomain' => custom_tracking_subdomain
75
+ 'custom_tracking_subdomain' => custom_tracking_subdomain,
76
+ 'precedence_bulk' => precedence_bulk
64
77
  }
65
78
  client.http.put("#{API_URL}/domains/#{domain_id}/settings", json: hash.compact)
66
79
  end
@@ -6,6 +6,7 @@ module Mailersend
6
6
  attr_accessor :client,
7
7
  :domain_id,
8
8
  :identity_id,
9
+ :email,
9
10
  :page,
10
11
  :limit
11
12
 
@@ -13,6 +14,7 @@ module Mailersend
13
14
  @client = client
14
15
  @domain_id = domain_id
15
16
  @identity_id = identity_id
17
+ @email = email
16
18
  @page = page
17
19
  @limit = limit
18
20
  end
@@ -35,6 +37,14 @@ module Mailersend
35
37
  query: URI.encode_www_form(hash.compact)))
36
38
  end
37
39
 
40
+ def single_by_email(email:)
41
+ hash = {
42
+ 'email' => email
43
+ }
44
+ client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/email/#{email}",
45
+ query: URI.encode_www_form(hash.compact)))
46
+ end
47
+
38
48
  def add(domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
39
49
  hash = {
40
50
  'domain_id' => domain_id,
@@ -61,8 +71,25 @@ module Mailersend
61
71
  client.http.put("#{API_URL}/identities/#{identity_id}", json: hash.compact)
62
72
  end
63
73
 
74
+ def update_by_email(email:, domain_id: nil, name: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
75
+ hash = {
76
+ 'domain_id' => domain_id,
77
+ 'name' => name,
78
+ 'email' => email,
79
+ 'reply_to_email' => reply_to_email,
80
+ 'reply_to_name' => reply_to_name,
81
+ 'add_note' => add_note,
82
+ 'personal_note' => personal_note
83
+ }
84
+ client.http.put("#{API_URL}/identities/email/#{email}", json: hash.compact)
85
+ end
86
+
64
87
  def delete(identity_id:)
65
88
  client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}"))
66
89
  end
90
+
91
+ def delete_by_email(email:)
92
+ client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/email/#{email}"))
93
+ end
67
94
  end
68
95
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mailersend
4
- VERSION = '1.5.2'
4
+ VERSION = '2.0.0'
5
5
  end
@@ -27,8 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_dependency 'dotenv', '~> 2.7'
31
30
  spec.add_dependency 'http', '~> 5.0'
32
31
  spec.add_dependency 'json', '~> 2.5'
33
- spec.add_dependency 'uri', '~> 0.12.0'
32
+ spec.add_dependency 'uri', '~> 0.12.2'
34
33
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mailersend-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Milojević
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-20 00:00:00.000000000 Z
11
+ date: 2023-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: dotenv
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.7'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.7'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: http
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +44,14 @@ dependencies:
58
44
  requirements:
59
45
  - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: 0.12.0
47
+ version: 0.12.2
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: 0.12.0
54
+ version: 0.12.2
69
55
  description: MailerSend's official Ruby SDK. Interacts with all endpoints at MailerSend
70
56
  API.
71
57
  email: