No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
ExpressPigeon Ruby API for sending transactional messages, manipulating lists, contacts and more
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.6

Runtime

~> 2.0.2
 Project Readme

Expresspigeon::Ruby

This is a Ruby library for convenient access to ExpressPigeon API.

Installation

Add this line to your application's Gemfile:

gem 'expresspigeon-ruby'

And then execute:

$ bundle

Or install it yourself as:

$ gem install expresspigeon-ruby

Sending a simple message

Sending a transactional message is easy:

MESSAGES = ExpressPigeon::API.messages.auth_key 'XXX'
message_response = MESSAGES.send_message 115,                 # template ID
                                         'to_john@doe.com',   # send to
                                         'from_jane@doe.com', # reply to
                                         "Jane Dow",          # senders name
                                         'Hi there!',         # subject
                                                              # hash with custom content to merge
                                         content: "hello, there!"

puts message_response

# need to wait before message information is written to DB
sleep 5  

# get a report for a specific message
puts MESSAGES.report message_response.id

Sending a message with attachments

 MESSAGES = ExpressPigeon::API.messages.auth_key(ENV['AUTH_KEY'])

 attachments = %W{attachments/attachment1.txt  attachments/smile.pdf attachments/example.ics}

 puts MESSAGES.send_message(
     123,                                        # template_id
     'john@doe.com',                             #to
     'jane@doe.com',                             #reply_to
     "Jane Doe",                                 #from
     "Want to get out for a dinner?",            #subject
     {first_name: 'John', main_course: 'stake'}, #merge_fields
     false,                                      #view_online
     true,                                       #click_tracking
     true,                                       #suppress_address
     attachments                                 #file paths to upload as attachments
 )

Sending a message with all required and optional arguments

MESSAGES = ExpressPigeon::API.messages.auth_key(ENV['AUTH_KEY'])

attachments = %W{attachments/attachment1.txt attachments/calendar.ics}

puts MESSAGES.send_msg 123, 'john@doe.com', 'jane@doe.com',
                       'Jane Doe', 'A simple test subject',
                       merge_fields: { first_name: "John" },
                       view_online: false,
                       click_tracking: true,
                       suppress_address: false,
                       attachments: attachments,
                       headers: { Xtest: "test" },
                       reply_name: "Jane S. Doe",
                       from_address: "jane+123@doe.com" 

The first five arguments are mandatory, while the rest are optional.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request