mailersend-ruby 1.3.2 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +2 -2
- data/CHANGELOG.md +9 -0
- data/README.md +79 -0
- data/lib/mailersend/api_quota/api_quota.rb +16 -0
- data/lib/mailersend/email_verification/email_verification.rb +7 -0
- data/lib/mailersend/sender_identity/sender_identity.rb +69 -0
- data/lib/mailersend/sms_messages/sms_messages.rb +1 -1
- data/lib/mailersend/version.rb +1 -1
- data/lib/mailersend.rb +2 -0
- data/mailersend-ruby.gemspec +2 -2
- metadata +9 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 119a856edc8f4a572776df083628ac9e91b03ad7d84c010d000f659dea7c5d02
|
4
|
+
data.tar.gz: e8c4db7ef5ee7753acdeef7fb2e6696c215b614dc0c84c4c78b1e8dbeeb4b069
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce60ac31b7af6e94b5b1ea51b9d7f4e0fa16b56bc870576b4ed49df45f93f032e6bcf68870d591ee84518dc248918086c5723e9bcf23b9b039d69276ebf6cbd5
|
7
|
+
data.tar.gz: da94cb3b0fa6c9e92037401bb0d0adf6e70a84d9a066266bdcdef0bc038d9c01eb8db42280fac757853bb9e50d55942cc23c159dab358d6c5df1acb5db29f906
|
data/.github/workflows/main.yml
CHANGED
@@ -8,9 +8,9 @@ jobs:
|
|
8
8
|
steps:
|
9
9
|
- uses: actions/checkout@v3
|
10
10
|
- name: Set up Ruby
|
11
|
-
uses: ruby/setup-ruby@v1
|
11
|
+
uses: ruby/setup-ruby@v1.148.0
|
12
12
|
with:
|
13
|
-
ruby-version: 3.0
|
13
|
+
ruby-version: 3.0
|
14
14
|
bundler-cache: true
|
15
15
|
- name: Run the default task
|
16
16
|
run: bundle exec rake
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -42,6 +42,12 @@ MailerSend Ruby SDK
|
|
42
42
|
- [Update domain settings](#update-domain-settings)
|
43
43
|
- [Get DNS Records](#get-dns-records)
|
44
44
|
- [Get verification status](#get-verification-status)
|
45
|
+
- [Sender Identities](#sender-identities)
|
46
|
+
- [Get a list of sender identities](#get-a-list-of-sender-identities)
|
47
|
+
- [Get a single sender identity](#get-a-single-sender-identity)
|
48
|
+
- [Add a sender identity](#add-a-sender-identity)
|
49
|
+
- [Update a sender identity](#update-a-sender-identity)
|
50
|
+
- [Delete a sender identity](#delete-a-sender-identity)
|
45
51
|
- [Messages](#messages)
|
46
52
|
- [Get a list of messages](#get-a-list-of-messages)
|
47
53
|
- [Get info for a single message](#get-info-for-a-single-message)
|
@@ -68,6 +74,7 @@ MailerSend Ruby SDK
|
|
68
74
|
- [Get a single template](#get-a-single-template)
|
69
75
|
- [Delete template](#delete-template)
|
70
76
|
- [Email Verification](#email-verification)
|
77
|
+
- [Verify an email](#verify-an-email)
|
71
78
|
- [Get all email verification lists](#get-all-email-verification-lists)
|
72
79
|
- [Get an email verification list](#get-an-email-verification-list)
|
73
80
|
- [Create an email verification list](#create-an-email-verification-list)
|
@@ -100,6 +107,8 @@ MailerSend Ruby SDK
|
|
100
107
|
- [Create an SMS webhook](#create-an-sms-webhook)
|
101
108
|
- [Update an SMS webhook](#update-an-sms-webhook)
|
102
109
|
- [Delete an SMS webhook](#delete-an-sms-webhook)
|
110
|
+
- [Other endpoints](#other-endpoints)
|
111
|
+
- [Get API quota](#get-api-quota)
|
103
112
|
- [Support and Feedback](#support-and-feedback)
|
104
113
|
- [License](#license)
|
105
114
|
|
@@ -501,6 +510,53 @@ ms_domains = Mailersend::Domains.new
|
|
501
510
|
ms_domains.verify(domain_id: "idofdomain12412")
|
502
511
|
```
|
503
512
|
|
513
|
+
## Sender Identities
|
514
|
+
|
515
|
+
### Get a list of sender identities
|
516
|
+
|
517
|
+
```ruby
|
518
|
+
require "mailersend-ruby"
|
519
|
+
|
520
|
+
ms_sender_identity = Mailersend::SenderIdentity.new
|
521
|
+
ms_sender_identity.list
|
522
|
+
```
|
523
|
+
|
524
|
+
### Get a single sender identity
|
525
|
+
|
526
|
+
```ruby
|
527
|
+
require "mailersend-ruby"
|
528
|
+
|
529
|
+
ms_sender_identity = Mailersend::SenderIdentity.new
|
530
|
+
ms_sender_identity.single(identity_id: 'idofidentity123')
|
531
|
+
```
|
532
|
+
|
533
|
+
### Add a sender identity
|
534
|
+
|
535
|
+
```ruby
|
536
|
+
require "mailersend-ruby"
|
537
|
+
|
538
|
+
ms_sender_identity = Mailersend::SenderIdentity.new
|
539
|
+
ms_sender_identity.add(domain_id: 'idofdomain12412', name: 'yourname', email: 'youremail')
|
540
|
+
```
|
541
|
+
|
542
|
+
### Update a sender identity
|
543
|
+
|
544
|
+
```ruby
|
545
|
+
require "mailersend-ruby"
|
546
|
+
|
547
|
+
ms_sender_identity = Mailersend::SenderIdentity.new
|
548
|
+
ms_sender_identity.update(identity_id: 'idofidentity123', reply_to_email: 'replyemail', reply_to_name: 'replyname')
|
549
|
+
```
|
550
|
+
|
551
|
+
### Delete a sender identity
|
552
|
+
|
553
|
+
```ruby
|
554
|
+
require "mailersend-ruby"
|
555
|
+
|
556
|
+
ms_sender_identity = Mailersend::SenderIdentity.new
|
557
|
+
ms_sender_identity.delete(identity_id: 'idofidentity123')
|
558
|
+
```
|
559
|
+
|
504
560
|
## Messages
|
505
561
|
|
506
562
|
### Get a list of messages
|
@@ -717,6 +773,15 @@ ms_templates.delete(template_id: "id124")
|
|
717
773
|
|
718
774
|
## Email Verification
|
719
775
|
|
776
|
+
### Verify an email
|
777
|
+
|
778
|
+
```ruby
|
779
|
+
require "mailersend-ruby"
|
780
|
+
|
781
|
+
ms_email_verification = Mailersend::EmailVerification.new
|
782
|
+
ms_email_verification.verify_an_email(email: 'example@email.com')
|
783
|
+
```
|
784
|
+
|
720
785
|
### Get all email verification lists
|
721
786
|
|
722
787
|
```ruby
|
@@ -1067,6 +1132,20 @@ ms_sms_webhooks = Mailersend::SMSWebhooks.new
|
|
1067
1132
|
ms_sms_webhooks.delete_sms_webhook_route(sms_webhook_id: 'your-sms-webhook-id')
|
1068
1133
|
```
|
1069
1134
|
|
1135
|
+
## Other endpoints
|
1136
|
+
|
1137
|
+
### Get API quota
|
1138
|
+
|
1139
|
+
```ruby
|
1140
|
+
require "mailersend-ruby"
|
1141
|
+
|
1142
|
+
# Intialize the API Quota class
|
1143
|
+
ms_api_quota = Mailersend::APIQuota.new
|
1144
|
+
|
1145
|
+
# Add parameters
|
1146
|
+
ms_api_quota.get_api_quota
|
1147
|
+
```
|
1148
|
+
|
1070
1149
|
# Support and Feedback
|
1071
1150
|
|
1072
1151
|
In case you find any bugs, submit an issue directly here in GitHub.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# API Quota endpoint from MailerSend API
|
5
|
+
class APIQuota
|
6
|
+
attr_accessor :client
|
7
|
+
|
8
|
+
def initialize(client = Mailersend::Client.new)
|
9
|
+
@client = client
|
10
|
+
end
|
11
|
+
|
12
|
+
def get_api_quota(*)
|
13
|
+
client.http.get("#{API_URL}/api-quota")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -15,6 +15,13 @@ module Mailersend
|
|
15
15
|
@email_verification_id = email_verification_id
|
16
16
|
end
|
17
17
|
|
18
|
+
def verify_an_email(email: nil)
|
19
|
+
hash = {
|
20
|
+
'email' => email
|
21
|
+
}
|
22
|
+
client.http.post("#{API_URL}/email-verification/verify", json: hash.compact)
|
23
|
+
end
|
24
|
+
|
18
25
|
def list(page: nil, limit: nil)
|
19
26
|
hash = {
|
20
27
|
'page' => page,
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# SenderIdentity endpoint from MailerSend API
|
5
|
+
class SenderIdentity
|
6
|
+
attr_accessor :client,
|
7
|
+
:domain_id,
|
8
|
+
:identity_id,
|
9
|
+
:page,
|
10
|
+
:limit
|
11
|
+
|
12
|
+
def initialize(client = Mailersend::Client.new)
|
13
|
+
@client = client
|
14
|
+
@domain_id = domain_id
|
15
|
+
@identity_id = identity_id
|
16
|
+
@page = page
|
17
|
+
@limit = limit
|
18
|
+
end
|
19
|
+
|
20
|
+
def list(domain_id: nil, page: nil, limit: nil)
|
21
|
+
hash = {
|
22
|
+
'domain_id' => domain_id,
|
23
|
+
'page' => page,
|
24
|
+
'limit' => limit
|
25
|
+
}
|
26
|
+
client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/identities',
|
27
|
+
query: URI.encode_www_form(hash.compact)))
|
28
|
+
puts response
|
29
|
+
end
|
30
|
+
|
31
|
+
def single(identity_id:)
|
32
|
+
hash = {
|
33
|
+
'identity_id' => identity_id
|
34
|
+
}
|
35
|
+
client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}",
|
36
|
+
query: URI.encode_www_form(hash.compact)))
|
37
|
+
end
|
38
|
+
|
39
|
+
def add(domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
|
40
|
+
hash = {
|
41
|
+
'domain_id' => domain_id,
|
42
|
+
'name' => name,
|
43
|
+
'email' => email,
|
44
|
+
'reply_to_email' => reply_to_email,
|
45
|
+
'reply_to_name' => reply_to_name,
|
46
|
+
'add_note' => add_note,
|
47
|
+
'personal_note' => personal_note
|
48
|
+
}
|
49
|
+
client.http.post("#{API_URL}/identities", json: hash.compact)
|
50
|
+
end
|
51
|
+
|
52
|
+
def update(identity_id:, domain_id: nil, name: nil, email: nil, reply_to_email: nil, reply_to_name: nil, add_note: nil, personal_note: nil)
|
53
|
+
hash = {
|
54
|
+
'domain_id' => domain_id,
|
55
|
+
'name' => name,
|
56
|
+
'email' => email,
|
57
|
+
'reply_to_email' => reply_to_email,
|
58
|
+
'reply_to_name' => reply_to_name,
|
59
|
+
'add_note' => add_note,
|
60
|
+
'personal_note' => personal_note
|
61
|
+
}
|
62
|
+
client.http.put("#{API_URL}/identities/#{identity_id}", json: hash.compact)
|
63
|
+
end
|
64
|
+
|
65
|
+
def delete(identity_id:)
|
66
|
+
client.http.delete(URI::HTTPS.build(host: API_BASE_HOST, path: "/v1/identities/#{identity_id}"))
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/lib/mailersend/version.rb
CHANGED
data/lib/mailersend.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require_relative 'mailersend/client'
|
4
4
|
require_relative 'mailersend/version'
|
5
5
|
require_relative 'mailersend/activity/activity'
|
6
|
+
require_relative 'mailersend/api_quota/api_quota'
|
6
7
|
require_relative 'mailersend/analytics/analytics'
|
7
8
|
require_relative 'mailersend/bulk_email/bulk_email'
|
8
9
|
require_relative 'mailersend/domains/domains'
|
@@ -12,6 +13,7 @@ require_relative 'mailersend/inbound_routing/inbound_routing'
|
|
12
13
|
require_relative 'mailersend/messages/messages'
|
13
14
|
require_relative 'mailersend/recipients/recipients'
|
14
15
|
require_relative 'mailersend/scheduled_messages/scheduled_messages'
|
16
|
+
require_relative 'mailersend/sender_identity/sender_identity'
|
15
17
|
require_relative 'mailersend/sms/sms'
|
16
18
|
require_relative 'mailersend/sms_activity/sms_activity'
|
17
19
|
require_relative 'mailersend/sms_messages/sms_messages'
|
data/mailersend-ruby.gemspec
CHANGED
@@ -27,11 +27,11 @@ 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_development_dependency 'bundler', '~> 2.
|
30
|
+
spec.add_development_dependency 'bundler', '~> 2.4.1'
|
31
31
|
spec.add_development_dependency 'rake', '~> 13.0'
|
32
32
|
spec.add_development_dependency 'rubocop', '~> 1.7'
|
33
33
|
spec.add_dependency 'dotenv', '~> 2.7'
|
34
34
|
spec.add_dependency 'http', '~> 5.0'
|
35
35
|
spec.add_dependency 'json', '~> 2.5'
|
36
|
-
spec.add_dependency 'uri', '~> 0.
|
36
|
+
spec.add_dependency 'uri', '~> 0.12.0'
|
37
37
|
end
|
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: 1.
|
4
|
+
version: 1.5.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:
|
11
|
+
date: 2023-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.4.1
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.4.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.12.0
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.12.0
|
111
111
|
description: MailerSend's official Ruby SDK. Interacts with all endpoints at MailerSend
|
112
112
|
API.
|
113
113
|
email:
|
@@ -135,6 +135,7 @@ files:
|
|
135
135
|
- lib/mailersend.rb
|
136
136
|
- lib/mailersend/activity/activity.rb
|
137
137
|
- lib/mailersend/analytics/analytics.rb
|
138
|
+
- lib/mailersend/api_quota/api_quota.rb
|
138
139
|
- lib/mailersend/bulk_email/bulk_email.rb
|
139
140
|
- lib/mailersend/client.rb
|
140
141
|
- lib/mailersend/domains/domains.rb
|
@@ -144,6 +145,7 @@ files:
|
|
144
145
|
- lib/mailersend/messages/messages.rb
|
145
146
|
- lib/mailersend/recipients/recipients.rb
|
146
147
|
- lib/mailersend/scheduled_messages/scheduled_messages.rb
|
148
|
+
- lib/mailersend/sender_identity/sender_identity.rb
|
147
149
|
- lib/mailersend/sms/sms.rb
|
148
150
|
- lib/mailersend/sms_activity/sms_activity.rb
|
149
151
|
- lib/mailersend/sms_inbounds/sms_inbounds.rb
|
@@ -182,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
184
|
- !ruby/object:Gem::Version
|
183
185
|
version: '0'
|
184
186
|
requirements: []
|
185
|
-
rubygems_version: 3.
|
187
|
+
rubygems_version: 3.4.10
|
186
188
|
signing_key:
|
187
189
|
specification_version: 4
|
188
190
|
summary: MailerSend's official Ruby SDK
|