mailersend-ruby 1.1.0 → 1.2.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/.github/workflows/main.yml +1 -1
- data/.github/workflows/publish_gem.yml +1 -1
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +7 -0
- data/README.md +134 -0
- data/lib/mailersend/sms/sms.rb +40 -0
- data/lib/mailersend/sms_activity/sms_activity.rb +26 -0
- data/lib/mailersend/sms_number/sms_number.rb +45 -0
- data/lib/mailersend/sms_recipient/sms_recipient.rb +43 -0
- data/lib/mailersend/version.rb +1 -1
- data/lib/mailersend.rb +4 -0
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09a27b08a3b4c39332875fd10dd414301eeb58d5fcf06b5ec5001a3f76d51933'
|
4
|
+
data.tar.gz: 3a687d31a6723878adec8bb954cf6091e3bcfa8a1c783a80cb9e1b9289ca1ac4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34c6e84ebc65b91cb20d863ddec721ef9e03fb441fcec512fc0098dfc391937f10db637fa87e93812f10c01426ddaa6bb58c841f49242951b13578753208d51d
|
7
|
+
data.tar.gz: 4a5beef9b3ed82618befff3655fe62866c4bff50a4c86a1a3a832ab5527d1d46bd7f0dcffccb0405edba4754d607ccacd7bad6a3126b991f0a196742753835eb
|
data/.github/workflows/main.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -67,6 +67,19 @@ MailerSend Ruby SDK
|
|
67
67
|
- [Get templates](#get-templates)
|
68
68
|
- [Get a single template](#get-a-single-template)
|
69
69
|
- [Delete template](#delete-template)
|
70
|
+
- [SMS](#sms)
|
71
|
+
- [Send an SMS](#send-an-sms)
|
72
|
+
- [SMS Activity](#sms-activity)
|
73
|
+
- [Get a list of activities](#get-a-list-of-sms-activities)
|
74
|
+
- [SMS Phone Numbers](#sms-phone-numbers)
|
75
|
+
- [Get a list of SMS phone numbers](#get-a-list-of-sms-phone-numbers)
|
76
|
+
- [Get an SMS phone number](#get-an-sms-phone-number)
|
77
|
+
- [Update a single SMS phone number](#update-a-single-sms-phone-number)
|
78
|
+
- [Delete an SMS phone number](#delete-an-sms-phone-number)
|
79
|
+
- [SMS Recipients](#sms-recipients)
|
80
|
+
- [Get a list of SMS recipients](#get-a-list-of-sms-recipients)
|
81
|
+
- [Get an SMS recipient](#get-an-sms-recipient)
|
82
|
+
- [Update a single SMS recipient](#update-a-single-sms-recipient)
|
70
83
|
- [Support and Feedback](#support-and-feedback)
|
71
84
|
- [License](#license)
|
72
85
|
|
@@ -682,6 +695,127 @@ ms_templates = Mailersend::Templates.new
|
|
682
695
|
ms_templates.delete(template_id: "id124")
|
683
696
|
```
|
684
697
|
|
698
|
+
## SMS
|
699
|
+
|
700
|
+
### Send an SMS
|
701
|
+
|
702
|
+
```ruby
|
703
|
+
require "mailersend-ruby"
|
704
|
+
|
705
|
+
# Intialize the SMS class
|
706
|
+
ms_sms = Mailersend::SMS.new
|
707
|
+
|
708
|
+
# Add parameters
|
709
|
+
ms_sms.add_from('your-number')
|
710
|
+
ms_sms.add_to('client-number')
|
711
|
+
ms_sms.add_text('This is the message content')
|
712
|
+
|
713
|
+
# Send the SMS
|
714
|
+
ms_sms.send
|
715
|
+
```
|
716
|
+
|
717
|
+
## SMS Activity
|
718
|
+
|
719
|
+
### Get a list of activities
|
720
|
+
|
721
|
+
```ruby
|
722
|
+
require "mailersend-ruby"
|
723
|
+
|
724
|
+
# Intialize the SMS Recipient class
|
725
|
+
ms_sms_activity = Mailersend::SMSActivity.new
|
726
|
+
|
727
|
+
# Add parameters
|
728
|
+
ms_sms_activity.list(page: 1, limit: 10)
|
729
|
+
```
|
730
|
+
|
731
|
+
## SMS phone numbers
|
732
|
+
|
733
|
+
### Get a list of SMS phone numbers
|
734
|
+
|
735
|
+
```ruby
|
736
|
+
require "mailersend-ruby"
|
737
|
+
|
738
|
+
# Intialize the SMS Recipient class
|
739
|
+
ms_sms_number = Mailersend::SMSNumber.new
|
740
|
+
|
741
|
+
# Add parameters
|
742
|
+
ms_sms_number.list(page: 1, limit: 10)
|
743
|
+
```
|
744
|
+
|
745
|
+
### Get an SMS phone number
|
746
|
+
|
747
|
+
```ruby
|
748
|
+
require "mailersend-ruby"
|
749
|
+
|
750
|
+
# Intialize the SMS Recipient class
|
751
|
+
ms_sms_number = Mailersend::SMSNumber.new
|
752
|
+
|
753
|
+
# Add parameters
|
754
|
+
ms_sms_number.get(sms_number_id: 'your-sms-number-id')
|
755
|
+
```
|
756
|
+
|
757
|
+
### Update a single SMS phone number
|
758
|
+
|
759
|
+
```ruby
|
760
|
+
require "mailersend-ruby"
|
761
|
+
|
762
|
+
# Intialize the SMS Recipient class
|
763
|
+
ms_sms_number = Mailersend::SMSNumber.new
|
764
|
+
|
765
|
+
# Add parameters
|
766
|
+
ms_sms_number.update(sms_number_id: 'your-sms-number-id', paused: false)
|
767
|
+
```
|
768
|
+
|
769
|
+
### Delete an SMS phone number
|
770
|
+
|
771
|
+
```ruby
|
772
|
+
require "mailersend-ruby"
|
773
|
+
|
774
|
+
# Intialize the SMS Recipient class
|
775
|
+
ms_sms_number = Mailersend::SMSNumber.new
|
776
|
+
|
777
|
+
# Add parameters
|
778
|
+
ms_sms_number.delete(sms_number_id: 'your-sms-number-id')
|
779
|
+
```
|
780
|
+
|
781
|
+
## SMS recipients
|
782
|
+
|
783
|
+
### Get a list of SMS recipients
|
784
|
+
|
785
|
+
```ruby
|
786
|
+
require "mailersend-ruby"
|
787
|
+
|
788
|
+
# Intialize the SMS Recipient class
|
789
|
+
ms_sms_recipient = Mailersend::SMSRecipient.new
|
790
|
+
|
791
|
+
# Add parameters
|
792
|
+
ms_sms_recipient.list(page: 1, limit: 10)
|
793
|
+
```
|
794
|
+
|
795
|
+
### Get an SMS recipient
|
796
|
+
|
797
|
+
```ruby
|
798
|
+
require "mailersend-ruby"
|
799
|
+
|
800
|
+
# Intialize the SMS Recipient class
|
801
|
+
ms_sms_recipient = Mailersend::SMSRecipient.new
|
802
|
+
|
803
|
+
# Add parameters
|
804
|
+
ms_sms_recipient.get(sms_recipient_id: 'your-sms-recipient-id')
|
805
|
+
```
|
806
|
+
|
807
|
+
### Update a single SMS recipient
|
808
|
+
|
809
|
+
```ruby
|
810
|
+
require "mailersend-ruby"
|
811
|
+
|
812
|
+
# Intialize the SMS Recipient class
|
813
|
+
ms_sms_recipient = Mailersend::SMSRecipient.new
|
814
|
+
|
815
|
+
# Add parameters
|
816
|
+
ms_sms_recipient.update(sms_recipient_id: 'your-sms-recipient-id', status: 'opt_out')
|
817
|
+
```
|
818
|
+
|
685
819
|
# Support and Feedback
|
686
820
|
|
687
821
|
In case you find any bugs, submit an issue directly here in GitHub.
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# Send an SMS through MailerSend API
|
5
|
+
class SMS
|
6
|
+
attr_accessor :client,
|
7
|
+
:from,
|
8
|
+
:to,
|
9
|
+
:text
|
10
|
+
|
11
|
+
def initialize(client = Mailersend::Client.new)
|
12
|
+
@client = client
|
13
|
+
@from = {}
|
14
|
+
@to = []
|
15
|
+
@text = {}
|
16
|
+
end
|
17
|
+
|
18
|
+
def add_from(from)
|
19
|
+
@from = from
|
20
|
+
end
|
21
|
+
|
22
|
+
def add_to(to)
|
23
|
+
@to << to
|
24
|
+
end
|
25
|
+
|
26
|
+
def add_text(text)
|
27
|
+
@text = text
|
28
|
+
end
|
29
|
+
|
30
|
+
def send
|
31
|
+
message = {
|
32
|
+
'from' => @from,
|
33
|
+
'to' => @to,
|
34
|
+
'text' => @text
|
35
|
+
}
|
36
|
+
|
37
|
+
client.http.post("#{API_URL}/sms", json: message.delete_if { |_, value| value.to_s.strip == '' || value == [] || value == {} })
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# SMS Activity endpoint from MailerSend API.
|
5
|
+
class SMSActivity
|
6
|
+
attr_accessor :client,
|
7
|
+
:page,
|
8
|
+
:limit
|
9
|
+
|
10
|
+
def initialize(client = Mailersend::Client.new)
|
11
|
+
@client = client
|
12
|
+
@page = page
|
13
|
+
@limit = limit
|
14
|
+
end
|
15
|
+
|
16
|
+
def list(page: nil, limit: nil)
|
17
|
+
hash = {
|
18
|
+
'page' => page,
|
19
|
+
'limit' => limit
|
20
|
+
}
|
21
|
+
|
22
|
+
client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/sms-activity',
|
23
|
+
query: URI.encode_www_form(hash)))
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# SMS Number endpoint from MailerSend API.
|
5
|
+
class SMSNumber
|
6
|
+
attr_accessor :client,
|
7
|
+
:paused,
|
8
|
+
:page,
|
9
|
+
:limit,
|
10
|
+
:sms_number_id
|
11
|
+
|
12
|
+
def initialize(client = Mailersend::Client.new)
|
13
|
+
@client = client
|
14
|
+
@paused = paused
|
15
|
+
@page = page
|
16
|
+
@limit = limit
|
17
|
+
@sms_number_id = sms_number_id
|
18
|
+
end
|
19
|
+
|
20
|
+
def list(page: nil, limit: nil)
|
21
|
+
hash = {
|
22
|
+
'page' => page,
|
23
|
+
'limit' => limit
|
24
|
+
}
|
25
|
+
|
26
|
+
client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/sms-numbers',
|
27
|
+
query: URI.encode_www_form(hash)))
|
28
|
+
end
|
29
|
+
|
30
|
+
def get(sms_number_id:)
|
31
|
+
client.http.get("#{API_URL}/sms-numbers/#{sms_number_id}")
|
32
|
+
end
|
33
|
+
|
34
|
+
def update(sms_number_id:, paused: nil)
|
35
|
+
hash = {
|
36
|
+
'paused' => paused
|
37
|
+
}
|
38
|
+
client.http.put("#{API_URL}/sms-numbers/#{sms_number_id}", json: hash.compact)
|
39
|
+
end
|
40
|
+
|
41
|
+
def delete(sms_number_id:)
|
42
|
+
client.http.delete("#{API_URL}/sms-numbers/#{sms_number_id}")
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Mailersend
|
4
|
+
# SMS Recipient endpoint from MailerSend API.
|
5
|
+
class SMSRecipient
|
6
|
+
attr_accessor :client,
|
7
|
+
:status,
|
8
|
+
:sms_number_id,
|
9
|
+
:sms_recipient_id,
|
10
|
+
:page,
|
11
|
+
:limit
|
12
|
+
|
13
|
+
def initialize(client = Mailersend::Client.new)
|
14
|
+
@client = client
|
15
|
+
@status = status
|
16
|
+
@sms_number_id = sms_number_id
|
17
|
+
@sms_recipient_id = sms_recipient_id
|
18
|
+
@page = page
|
19
|
+
@limit = limit
|
20
|
+
end
|
21
|
+
|
22
|
+
def list(page: nil, limit: nil)
|
23
|
+
hash = {
|
24
|
+
'page' => page,
|
25
|
+
'limit' => limit
|
26
|
+
}
|
27
|
+
|
28
|
+
client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/sms-recipients',
|
29
|
+
query: URI.encode_www_form(hash)))
|
30
|
+
end
|
31
|
+
|
32
|
+
def get(sms_recipient_id:)
|
33
|
+
client.http.get("#{API_URL}/sms-recipients/#{sms_recipient_id}")
|
34
|
+
end
|
35
|
+
|
36
|
+
def update(sms_recipient_id:, status: nil)
|
37
|
+
hash = {
|
38
|
+
'status' => status
|
39
|
+
}
|
40
|
+
client.http.put("#{API_URL}/sms-recipients/#{sms_recipient_id}", json: hash.compact)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/mailersend/version.rb
CHANGED
data/lib/mailersend.rb
CHANGED
@@ -11,6 +11,10 @@ require_relative 'mailersend/inbound_routing/inbound_routing'
|
|
11
11
|
require_relative 'mailersend/messages/messages'
|
12
12
|
require_relative 'mailersend/recipients/recipients'
|
13
13
|
require_relative 'mailersend/scheduled_messages/scheduled_messages'
|
14
|
+
require_relative 'mailersend/sms/sms'
|
15
|
+
require_relative 'mailersend/sms_activity/sms_activity'
|
16
|
+
require_relative 'mailersend/sms_number/sms_number'
|
17
|
+
require_relative 'mailersend/sms_recipient/sms_recipient'
|
14
18
|
require_relative 'mailersend/suppressions/suppressions'
|
15
19
|
require_relative 'mailersend/templates/templates'
|
16
20
|
require_relative 'mailersend/tokens/tokens'
|
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.2.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: 2022-
|
11
|
+
date: 2022-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -142,6 +142,10 @@ files:
|
|
142
142
|
- lib/mailersend/messages/messages.rb
|
143
143
|
- lib/mailersend/recipients/recipients.rb
|
144
144
|
- lib/mailersend/scheduled_messages/scheduled_messages.rb
|
145
|
+
- lib/mailersend/sms/sms.rb
|
146
|
+
- lib/mailersend/sms_activity/sms_activity.rb
|
147
|
+
- lib/mailersend/sms_number/sms_number.rb
|
148
|
+
- lib/mailersend/sms_recipient/sms_recipient.rb
|
145
149
|
- lib/mailersend/suppressions/suppressions.rb
|
146
150
|
- lib/mailersend/templates/templates.rb
|
147
151
|
- lib/mailersend/tokens/tokens.rb
|
@@ -173,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
177
|
- !ruby/object:Gem::Version
|
174
178
|
version: '0'
|
175
179
|
requirements: []
|
176
|
-
rubygems_version: 3.3.
|
180
|
+
rubygems_version: 3.3.7
|
177
181
|
signing_key:
|
178
182
|
specification_version: 4
|
179
183
|
summary: MailerSend's official Ruby SDK
|