class Emarsys::Event
Methods for the Event
API
Public Class Methods
List events
@return [Hash] List of events @example
Emarsys::Event.collection
# File lib/emarsys/data_objects/event.rb, line 16 def collection(account: nil) get account, 'event', {} end
@private
# File lib/emarsys/data_objects/event.rb, line 56 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 an external event
@param id [Integer, String] The internal emarsys id @param key_id [Integer, String] The identifer of the key field (e.g. 3 for ‘email’) @param external_id [String] The id of the given filed specified with key_id (e.g. ‘test@example.com’) @option data [Hash] data hash for transactional mails @option attachment [Array] array containing an attachment for transactional mails @return [Hash] Result data @example
Emarsys::Event.trigger(2, 3, 'test@example.com') Emarsys::Event.trigger(2, 'user_id', 57687, {:global => {:name => "Special Name"}})
# File lib/emarsys/data_objects/event.rb, line 31 def trigger(id, key_id:, external_id:, data: {}, attachment: [], account: nil) 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? params.merge!(attachment: attachment) if not attachment.empty? post account, "event/#{id}/trigger", params end
Trigger an external event for multiple contacts
@param id [Integer, String] The internal emarsys id @param key_id [Integer, String] The identifer of the key field (e.g. 3 for ‘email’) @param contacts [Array, Hash] An array with hashes containing the contacts and optional data per contact @return [Hash] Result data @example
Emarsys::Event.trigger_multiple(2, 3, [{:external_id => "test@example.com"},{:external_id => "test2@example.com", :data => {:name => "Special Name"}}])
# File lib/emarsys/data_objects/event.rb, line 47 def trigger_multiple(id, key_id:, contacts:, account: nil) external_id = "" transformed_key_id = transform_key_id(key_id) params = {:key_id => transformed_key_id, :external_id => external_id, :data => nil} params.merge!(:contacts => contacts) post account, "event/#{id}/trigger", params end