Sha256: 31639ca9f60e19db9d799d9d1a623e7913e956fee88d1eb7a72b39bf4846c32b
Contents?: true
Size: 809 Bytes
Versions: 4
Compression:
Stored size: 809 Bytes
Contents
# frozen_string_literal: true module Emailbutler module Webhooks module Mappers class Mailjet DELIVERABILITY_MAPPER = { 'sent' => 'processed', 'open' => 'delivered', 'click' => 'delivered' }.freeze def call(payload:) payload.stringify_keys! # message-id contains data like <uuid> message_uuid = payload['Message_GUID'] status = DELIVERABILITY_MAPPER[payload['event']] || Emailbutler::Message::FAILED return [] if message_uuid.nil? [ { message_uuid: message_uuid, status: status, timestamp: payload['time'] ? Time.at(payload['time'].to_i).utc.to_datetime : nil } ] end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems