Weitere Informationen zur MailerLite-API finden Sie unter folgendem Link:
API-Schlüssel sind eine schnelle Möglichkeit, die Maschine-zu-Maschine-Authentifizierung ohne direkte Eingaben eines Menschen über die Ersteinrichtung hinaus zu implementieren.
Weitere Informationen zum Erhalten eines API-Schlüssels finden Sie unter dem folgenden Link
gem install mailerlite-ruby
Sie müssen es in Ihrer Ruby-Datei mit require "mailerlite-ruby"
initialisieren.
Dieses SDK erfordert, dass Sie entweder über .env
Datei mit der Umgebungsvariablen MAILERLITE_API_TOKEN
verfügen oder dass Ihre Variable systemweit aktiviert ist (nützlich für Docker/Kubernetes). Das Beispiel dafür, wie MAILERLITE_API_TOKEN
aussehen sollte, finden Sie in .env.example
.
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
subscribers . fetch ( filter : { status : 'active' } )
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
subscribers . create ( email : '[email protected]' , fields : { 'name' : 'John' , 'last_name' : 'Doe' } , ip_address : '1.2.3.4' , optin_ip : '1.2.3.4' )
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
subscribers . update ( email : '[email protected]' , fields : { 'name' : 'John' , 'last_name' : 'Doe' } , ip_address : '1.2.3.4' , optin_ip : '1.2.3.4' )
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
subscribers . get ( '[email protected]' )
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
subscriber_id = 1234567890
subscribers . delete ( subscriber_id )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . list ( limit : 10 , page : 1 , filter : { 'name' : 'My' } , sort : 'name' )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . create ( name : 'Group Name' )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . update ( group_id : 1234567 , name : 'My New Group' )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
group_id = 1234567
groups . delete ( group_id )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . get_subscribers ( group_id : 1234567 , page : 1 , limit : 10 , filter : { 'status' : 'active' } )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . assign_subscriber ( subscriber : 111222 , group_id : 1234567 )
require "mailerlite-ruby"
# Intialize the class
groups = MailerLite :: Groups . new
groups . unassign_subscriber ( subscriber : 111222 , group_id : 1234567 )
require "mailerlite-ruby"
# Intialize the class
segments = MailerLite :: Segments . new
segments . list ( limit : 10 , page : 1 )
require "mailerlite-ruby"
# Intialize the class
segments = MailerLite :: Segments . new
segments . update ( segment_id : 123456 , name : 'My New Segment Name' )
require "mailerlite-ruby"
# Intialize the class
segments = MailerLite :: Segments . new
segment_id = 123456
segments . delete ( segment_id )
require "mailerlite-ruby"
# Intialize the class
segments = MailerLite :: Segments . new
segments . get_subscribers ( segment_id : 123456 , limit : 10 , filter : { 'status' : 'active' } )
require "mailerlite-ruby"
# Intialize the class
fields = MailerLite :: Fields . new
fields . get ( limit : 10 , page : 1 , sort : 'name' , filter : { 'keyword' : 'abc' , 'type' : 'text' } )
require "mailerlite-ruby"
# Intialize the class
fields = MailerLite :: Fields . new
fields . create ( name : 'My Field' , type : 'text' )
require "mailerlite-ruby"
# Intialize the class
fields = MailerLite :: Fields . new
fields . update ( field_id : 123345 , name : 'My New Field' )
require "mailerlite-ruby"
# Intialize the class
fields = MailerLite :: Fields . new
field_id = 123456
fields . delete ( field_id )
require "mailerlite-ruby"
# Intialize the class
automations = MailerLite :: Automations . new
automations . get ( limit : 10 , page : 1 , filter : { 'status' : true , 'name' : 'some name' , 'group' : 123456 } )
require "mailerlite-ruby"
# Intialize the class
automations = MailerLite :: Automations . new
automation_id = 123456
automations . fetch ( automation_id )
require "mailerlite-ruby"
# Intialize the class
automations = MailerLite :: Automations . new
automations . get_subscriber_activity ( automation_id : 123456 , page : 1 , limit : 10 , filter : { 'status' : 'active' , 'date_from' : '2022-12-20' , 'date_to' : '2022-12-31' } )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . get ( limit : 10 , page : 1 , filter : { 'status' : 'ready' , 'type' : 'regular' } )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . fetch ( campaign_id : 123456 )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . create (
name : "Test Campaign" ,
language_id : 1 ,
type : "regular" ,
emails : [ {
"subject" : "This is a test campaign" ,
"from_name" : "Test Man" ,
"from" : "[email protected]" ,
"content" : "Hi there, this is a test campaign!"
} ]
)
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . update (
campaign_id : 1233455 ,
name : "New Campaign Name" ,
language_id : 2 ,
emails : [ {
"subject" : "This is a test campaign" ,
"from_name" : "Test Man" ,
"from" : "[email protected]" ,
"content" : "Hi there, this is a test campaign!"
} ]
)
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . schedule (
campaign_id : 123456 ,
delivery : "scheduled" ,
schedule : {
"date" : "2022-12-31" ,
"hours" : "22" ,
"minutes" : "00"
}
)
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaign_id = 123456
campaigns . cancel ( campaign_id )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaign_id = 123456
campaigns . delete ( campaign_id )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaign_id = 123456
campaigns . activity ( campaign_id )
require "mailerlite-ruby"
# Intialize the class
forms = MailerLite :: Forms . new
forms . list ( limit : 10 , page : 1 , sort : 'name' , filter : { 'name' : 'form name' } )
require "mailerlite-ruby"
# Intialize the class
forms = MailerLite :: Forms . new
form_id = 123456
forms . fetch ( form_id )
require "mailerlite-ruby"
# Intialize the class
forms = MailerLite :: Forms . new
forms . update ( form_id : 123456 , name : 'My form Name' )
require "mailerlite-ruby"
# Intialize the class
forms = MailerLite :: Forms . new
form_id = 123456
forms . delete ( form_id )
require "mailerlite-ruby"
# Intialize the class
forms = MailerLite :: Forms . new
forms . fetch_subscribers ( form_id : 123345 , page : 1 , limit : 10 , filter : { 'status' : 'active' } )
require "mailerlite-ruby"
# Intialize the class
batch = MailerLite :: Batch . new
batch . request (
requests : [
{ method : 'GET' , path : 'api/subscribers/list' } ,
{ method : 'GET' , path : 'api/campaigns/list' }
]
)
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
webhooks . list ( )
require "mailerlite-ruby"
# Intialize the class
subscribers = MailerLite :: Subscribers . new
webhook_id = 123456
webhooks . get ( webhook_id )
require "mailerlite-ruby"
# Intialize the class
webhooks = MailerLite :: Webhooks . new
webhooks . create (
events : [
'subscriber.created' ,
'subscriber.updated' ,
'subscriber.unsubscribed'
] ,
url : 'https://my-url.com' ,
name : 'Webhook name'
)
require "mailerlite-ruby"
# Intialize the class
webhooks = MailerLite :: Webhooks . new
webhooks . update (
webhook_id : 123456 ,
events : [
'subscriber.created' ,
'subscriber.updated' ,
'subscriber.unsubscribed'
] ,
url : 'https://my-url.com' ,
name : 'Webhook name' ,
enabled : false
)
require "mailerlite-ruby"
# Intialize the class
webhooks = MailerLite :: Webhooks . new
webhook_id = 123456
webhooks . delete ( webhook_id )
require "mailerlite-ruby"
# Intialize the class
timezones = MailerLite :: Timezones . new
timezones . list ( )
require "mailerlite-ruby"
# Intialize the class
campaigns = MailerLite :: Campaigns . new
campaigns . languages ( )
bundle i
bundle exec rspec spec/ * rspec.rb
Um Tests auszuführen, müssten Sie Gems mit Bundle installieren und dann rspec über Bundle ausführen, um alle Tests auszuführen. Die Fixtures für den Test wurden mit vcr aufgezeichnet und sind im Verzeichnis ./fixtures verfügbar
bundle i
bundle exec yardoc ' lib/**/*.rb '
Dadurch werden HTML-Dokumente im Dokumentverzeichnis generiert, die in jedem Browser geöffnet werden können. Navigieren Sie zu index.html und öffnen Sie es.