Class: Emarsys::Event

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

Overview

Methods for the Event API

Class Method Summary collapse

Methods inherited from DataObject

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

Class Method Details

.collectionHash

List events

Examples:

Emarsys::Event.collection

Returns:

  • (Hash)

    List of events



15
16
17
# File 'lib/emarsys/data_objects/event.rb', line 15

def collection
  get 'event', {}
end

.transform_key_id(key_id) ⇒ Object



37
38
39
40
# File 'lib/emarsys/data_objects/event.rb', line 37

def transform_key_id(key_id)
  matching_attributes = Emarsys::FieldMapping::ATTRIBUTES.find{|elem| elem[:identifier] == key_id.to_s}
  matching_attributes.nil? ? key_id : matching_attributes[:id]
end

.trigger(event_id, key_id, external_id, data = {}) ⇒ Hash

Trigger an external event

Examples:

Emarsys::Event.trigger(2, 3, '[email protected]')
Emarsys::Event.trigger(2, 'user_id', 57687, {:global => {:name => "Special Name"}})

Parameters:

  • event_id (Integer, String)

    The internal emarsys id

  • key_id (Integer, String)

    The identifer of the key field (e.g. 3 for ‘email’)

  • external_id (String)

    The id of the given filed specified with key_id (e.g. ‘[email protected]’)

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

    a customizable set of options

Options Hash (data):

  • data (Hash)

    hash for transactional mails

Returns:

  • (Hash)

    Result data



29
30
31
32
33
34
# File 'lib/emarsys/data_objects/event.rb', line 29

def trigger(event_id, key_id, external_id, data = {})
  transformed_key_id = transform_key_id(key_id)
  params = {:key_id => transformed_key_id, :external_id => external_id}
  params.merge!(:data => data) if not data.empty?
  post "event/#{event_id}/trigger", params
end