لمزيد من المعلومات حول MailerLite API، يرجى زيارة الرابط التالي:
تعد مفاتيح واجهة برمجة التطبيقات (API) طريقة سريعة لتنفيذ المصادقة من جهاز إلى جهاز دون أي مدخلات مباشرة من الإنسان تتجاوز الإعداد الأولي.
لمزيد من المعلومات حول كيفية الحصول على مفتاح API قم بزيارة الرابط التالي
gem install mailerlite-ruby
سيتعين عليك تهيئته في ملف Ruby الخاص بك باستخدام require "mailerlite-ruby"
.
يتطلب SDK هذا أن يكون لديك ملف .env
مع متغير env MAILERLITE_API_TOKEN
أو أن يكون المتغير الخاص بك ممكّنًا على مستوى النظام (مفيد لـ Docker/Kubernetes). المثال الذي يوضح الشكل الذي يجب أن يبدو عليه MAILERLITE_API_TOKEN
موجود في .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
لإجراء الاختبارات، ستحتاج إلى تثبيت الأحجار الكريمة باستخدام الحزمة ثم تشغيل rspec عبر الحزمة لتشغيل جميع الاختبارات. تم تسجيل تركيبات الاختبار باستخدام vcr وهي متوفرة في دليل ./fixtures
bundle i
bundle exec yardoc ' lib/**/*.rb '
سيؤدي هذا إلى إنشاء مستندات html في دليل المستندات والتي يمكن فتحها في أي متصفح. انتقل إلى ملف Index.html وافتحه.