class Cordial::AutomationTemplates

Wraps all interaction with the Automation Templates resource. @see api.cordial.io/docs/v1/#!/automation_templates

Public Class Methods

create(key:, name:, channel:, classification:, base_aggregation:, headers:, content:) click to toggle source

Create a new message template.

@example Usage. Cordial::AutomationTemplates.create(

key: "promo_01_20_2018",
name: "promo_01_20_2018",
channel: "email",
classification: "promotional",
base_aggregation: "hourly",
headers:{
  subject_email: "One Day Only Sale",
  from_email: "info@example.com",
  reply_email: "info@example.com",
  from_description: "Promotions Team"
},
content:{
  text: "<div>Hello World</div>"
}

)

@example successful response {“success”=>true, “message”=>“record created”}

@example failed response {“error”=>true, “messages”=>“KEY must be unique”}

# File lib/cordial/automation_templates.rb, line 34
def self.create(key:, name:, channel:, classification:, base_aggregation:, headers:, content:)
  client.post('/automationtemplates',
              body: {
                key: key,
                name: name,
                channel: channel,
                classification: classification,
                baseAggregation: base_aggregation,
                message: {
                  headers: {
                    subject: headers[:subject_email],
                    fromEmail: headers[:from_email],
                    replyEmail: headers[:reply_email],
                    fromDesc: headers[:from_description]
                  },
                  content: {
                    "text/html": content[:text]
                  }
                }
              }.to_json)
end
send(key:, email:, **args) click to toggle source

Sends an automation template.

@example Usage. Cordial::AutomationTemplates.send(

key: "promo_01_20_2018",
email: "user@example.com",
order: {
  number: "R123456789"
}

)

@example successful response with unsubscribed user {“success”=>true, “message”=>“messages sent”, “messagecontacts”=>[

{"accepted"=>false, "email"=>"user@example.com", "error"=>"not-subscribed"}

]}

@example successful response with subscribed user {“success”=>true, “message”=>“messages sent”, “messagecontacts”=>

[{"accepted"=>true,
  "email"=>"user@example.com",
  "mcID"=>"h123456:1a1a1a1a1a1:787457457",
  "cID"=>"a1a1a1a1a1a1a1a1a1"}
]}

@example failed response {“error”=>“'/v1/automationtemplates//send' is not found.”}

# File lib/cordial/automation_templates.rb, line 83
def self.send(key:, email:, **args)
  client.post("/automationtemplates/#{key}/send",
              body: {
                to: {
                  contact: {
                    email: email
                  },
                  extVars: {}.compact.merge(args)
                },
                identifyBy: "email"
              }.to_json)
end