Mautic rails

RoR helper / wrapper for Mautic API and forms

Rails 4 compatible

Usage

Gem provides API connection to your Mautic(s)

  1. Create mautic connection
  2. Authorize it

Find connection which you want to use:

  m = Mautic::Connection.last

Get specify contact:

  contact = m.contact.find(1) # => #<Mautic::Contact id=1 ...>

Collections of contacts:

  m.contacts.where("gmail").each do |contact|
    #<Mautic::Contact id=12 ...>
    #<Mautic::Contact id=21 ...>
    #<Mautic::Contact id=99 ...>
  end

New instance of contacts:

  contact = m.contacts.new({ email: "[email protected]"} )
  contact.save # => true

Update contact

  contact.email = ""
  contact.save # => false
  contact.errors # => [{"code"=>400, "message"=>"email: This field is required.", "details"=>{"email"=>["This field is required."]}}]

Of course you can use more than contact: assets, emails, companies, forms, points ...

Gem provides simple Mautic form submit

There are two options of usage:

  1. Use default mautic url from configuration and shortcut class method: ruby # form: ID of form in Mautic *required* # url: Mautic URL - default is from configuration # request: request object (for domain, and forward IP...) *optional* Mautic::FormHelper.submit(form: "mautic form ID") do |i| i.form_field1 = "value1" i.form_field2 = "value2" end
  2. Or create instance ruby # request is *optional* m = Mautic::FormHelper.new("https://mymautic.com", request) m.data = {} # hash of attributes m.push # push data to mautic

Installation

Add this line to your application's Gemfile:

gem 'mautic', '~>0.1'

And then execute:

$ bundle

Or install it yourself as:

$ gem install mautic

Configuration

add to config/initializers/mautic.rb:

Mautic.configure do |config|
  # This is for oauth handshake token url. I need to know where your app listen
  config.base_url = "https://my-rails-app.com"
  # *optional* This is your default mautic URL - used in form helper 
  config.mautic_url = "https://mautic.my.app"
end

add to config/routes.rb

mount Mautic::Engine => "/mautic"

Contributing

Ideas and pull requests are welcome!

License

The gem is available as open source under the terms of the MIT License.