RoR helper / wrapper for Mautic API and forms
Rails 4 compatible
- 
Create mautic connection 
- 
Authorize it In mautic you need add API oauth2 login. For URI callback allow: http://localhost:3000/mautic/connections/:ID/oauth2ID = is your Mautic::Connection ID 
Find connection which you want to use:
m = Mautic::Connection.lastGet 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 ...>
endNew instance of contacts:
contact = m.contacts.new({ email: "[email protected]"} )
contact.save # => trueUpdate 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 ...
There are two options of usage:
- Use default mautic url from configuration and shortcut class method:
  # 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- Or create instance
# request is *optional*
m = Mautic::FormHelper.new("https://mymautic.com", request)
m.data = {} # hash of attributes
m.push # push data to mautic Add this line to your application's Gemfile:
gem 'mautic', '~>0.1'And then execute:
$ bundleOr install it yourself as:
$ gem install mauticadd 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"
  # OR it can be Proc 
  # *optional* This is your default mautic URL - used in form helper 
  config.mautic_url = "https://mautic.my.app"
endadd to config/routes.rb
mount Mautic::Engine => "/mautic"Ideas and pull requests are welcome!
The gem is available as open source under the terms of the MIT License.