Para obtener más información sobre MailerLite API, visite el siguiente enlace:
Las claves API son una forma rápida de implementar la autenticación de máquina a máquina sin ninguna entrada directa de un ser humano más allá de la configuración inicial.
Para más información sobre cómo obtener una clave API visite el siguiente enlace
gem install mailerlite-ruby
Tendrás que inicializarlo en tu archivo Ruby con require "mailerlite-ruby"
.
Este SDK requiere que tenga un archivo .env
con la variable env MAILERLITE_API_TOKEN
o que su variable esté habilitada en todo el sistema (útil para Docker/Kubernetes). El ejemplo de cómo debería verse MAILERLITE_API_TOKEN
está en .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
Para ejecutar pruebas, necesitará instalar gemas usando el paquete y luego ejecutar rspec mediante el paquete para ejecutar todas las pruebas. Los aparatos para la prueba se han grabado usando una videograbadora y están disponibles en el directorio ./fixtures
bundle i
bundle exec yardoc ' lib/**/*.rb '
Esto generará documentos html en el directorio de documentos que se pueden abrir en cualquier navegador. Navegue hasta index.html y ábralo.