Class: Workarea::Emarsys::SaveUser

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::CallbacksWorker, Sidekiq::Worker
Defined in:
app/workers/workarea/emarsys/save_user.rb

Instance Method Summary collapse

Instance Method Details

#perform(id) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/workers/workarea/emarsys/save_user.rb', line 12

def perform(id)
  return unless settings.customer_id.present?

  user = Workarea::User.find(id)

  attrs = Emarsys::Contact.new(user, { address: address(user), contact_from: 'user' }).to_h

  response = gateway.create_contact(attrs)

  user.set(emarsys_exported_at: Time.current)
  external_id = response.body["data"]["id"] || response.body["data"]["ids"].first
  user.set(emarsys_external_id: external_id)
end