Class: Emarsys::Email

Inherits:
DataObject show all
Defined in:
lib/emarsys/data_objects/email.rb

Overview

Methods for the Email API

Class Method Summary collapse

Methods inherited from DataObject

delete, get, parameterize_params, post, put, #request

Class Method Details

.collection(params = {}) ⇒ Hash

List email campaigns

Examples:

Emarsys::Email.collection
Emarsys::Email.collection(:status => 3)
Emarsys::Email.collection(:contactlist => 5)

Parameters:

  • params (Hash) (defaults to: {})

    Optional filter for the emails

Options Hash (params):

  • :status (String)

    filter by status

  • :contactlist (String)

    filter by contactlist

Returns:

  • (Hash)

    List of emails



19
20
21
# File 'lib/emarsys/data_objects/email.rb', line 19

def collection(params = {})
  get 'email', params
end

.create(params = {}) ⇒ Hash

Create a new email campaign

Examples:

Emarsys::Email.create(
  name: 'Test', language: 'de', fromemail: '[email protected]', fromname: 'John Doe',
  subject: 'Test Subject', :email_category: 3, segment: 1121, contactlist: 0,
  html_source: '<h1>Test</h1>', text_source: 'Test'
)

Parameters:

  • params (Hash) (defaults to: {})

    Email information to create

Options Hash (params):

  • :name (String)

    Name of the email campagin

  • :language (String)

    Language Code

  • :fromemail (String)

    sets the from-header email

  • :fromname (String)

    sets the from-header name

  • :subject (String)

    Subject of the email

  • :email_category (Integer)

    associated Email-Category-Id

  • :segment (Integer)

    associated Segment-id

  • :contactlist (Integer)

    associated Contactlist-id

  • :html_source (String)
  • :text_source (String)
  • :unsubscribe (Integer) — default: optional
  • :browse (Integer) — default: optional

Returns:

  • (Hash)

    internal id of the campaign



55
56
57
# File 'lib/emarsys/data_objects/email.rb', line 55

def create(params = {})
  post "email", params
end

.delivery_status(id, params = {}) ⇒ Hash

Returns the delivery status of an email

Examples:

Emarsys::Email.delivery_status(1)

Parameters:

  • id (Integer, String)

    Internal email id

  • params (hash) (defaults to: {})

    recipient parmeters

Options Hash (params):

  • 'lastId' (String)
  • 'launchId' (Integer)

Returns:

  • (Hash)

    Result data



118
119
120
# File 'lib/emarsys/data_objects/email.rb', line 118

def delivery_status(id, params = {})
  post "email/#{id}/getdeliverystatus", params
end

.email_launches(id) ⇒ Object

TODO POST /getlaunchesofemail



123
124
125
# File 'lib/emarsys/data_objects/email.rb', line 123

def email_launches(id)
  raise "Not implemented yet"
end

.export_responses(params = {}) ⇒ Object

TODO POST /getresponses



128
129
130
# File 'lib/emarsys/data_objects/email.rb', line 128

def export_responses(params = {})
  raise "Not implemented yet"
end

.launch(id, params = {}) ⇒ Hash

Launches an email

Examples:

Emarsys::Email.launch(1)

Parameters:

  • id (Integer, String)

    Internal email id

  • params (hash) (defaults to: {})

    Optional launch parmeters

Options Hash (params):

  • :schedule (Datetime)

    launch time

  • :timezone (String)

Returns:

  • (Hash)

    Result data



68
69
70
# File 'lib/emarsys/data_objects/email.rb', line 68

def launch(id, params = {})
  post "email/#{id}/launch", params
end

.preview(id, version = 'html') ⇒ Hash

Preview an email

Examples:

Emarsys::Email.preview(1)

Parameters:

  • id (Integer, String)

    Internal email id

  • version (String) (defaults to: 'html')

    ‘html’ or ‘text’ version

Returns:

  • (Hash)

    Result data



79
80
81
# File 'lib/emarsys/data_objects/email.rb', line 79

def preview(id, version = 'html')
  post "email/#{id}/preview", {:version => version}
end

.resource(id) ⇒ Hash

Get Email attirbutes of a specific email

Examples:

Emarsys::Email.resource(1)

Parameters:

  • id (Integer, String)

    The internal id of an email

Returns:

  • (Hash)

    Attributes hash



29
30
31
# File 'lib/emarsys/data_objects/email.rb', line 29

def resource(id)
  get "email/#{id}", {}
end

.response_summary(id) ⇒ Hash

View response summary of an email

Examples:

Emarsys::Email.response_summary(1)

Parameters:

  • id (Integer, String)

    Internal email id

Returns:

  • (Hash)

    Result data



89
90
91
# File 'lib/emarsys/data_objects/email.rb', line 89

def response_summary(id)
  get "email/#{id}/responsesummary", {}
end

.send_test_mail(id, params = {}) ⇒ Hash

Instruct emarsys to send a test mail

Only one of the three parameters must be sent.

Examples:

Emarsys::Email.send_test_mail(1, {:recipientlist => '[email protected];[email protected]'})

Parameters:

  • id (Integer, String)

    Internal email id

  • params (hash) (defaults to: {})

    recipient parmeters

Options Hash (params):

  • :recipientlist (String)

    email_addresses separated by ‘;’

  • :segment_id (Integer)

    custom segement id

  • :contactlist_id (Integer)

    custom contactlist id

Returns:

  • (Hash)

    Result data



105
106
107
# File 'lib/emarsys/data_objects/email.rb', line 105

def send_test_mail(id, params = {})
  post "email/#{id}/sendtestmail", params
end