Class: SmSmsCampaignWebhook::PayloadOperation

Inherits:
Object
  • Object
show all
Defined in:
app/operations/sm_sms_campaign_webhook/payload_operation.rb

Overview

Handles payload data modeling and data processing.

Class Method Summary collapse

Class Method Details

.dispatch(payload:) ⇒ Object

Parameters:

  • payload (Hash)

    Deserialized payload from SMS campaign service

See Also:



8
9
10
11
12
13
14
15
16
17
18
# File 'app/operations/sm_sms_campaign_webhook/payload_operation.rb', line 8

def self.dispatch(payload:)
  logger.debug "#{name} - Dispatching payload: #{payload.inspect}"

  case payload.fetch("type", "unknown")
  when "campaign.engagement"
    ProcessCampaignEngagementJob.perform_later(payload)
  else
    # NOOP - Unsupported event type.
    logger.warn "#{name} - Unsupported event type"
  end
end