This gem provides some level of abstraction to Marketo REST APIs. Please note that this gem is alpha quality.
Add this line to your application's Gemfile:
gem 'mrkt'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mrkt
Get the following from your Marketo admin:
- hostname, i.e.
'123-abc-123.mktorest.com'
- client id, e.g.
'4567e1cdf-0fae-4685-a914-5be45043f2d8'
- client secret, e.g.
'7Gn0tuiHZiDHnzeu9P14uDQcSx9xIPPt'
client = Mrkt::Client.new(
host: '123-abc-123.mktorest.com',
client_id: '4567e1cdf-0fae-4685-a914-5be45043f2d8',
client_secret: '7Gn0tuiHZiDHnzeu9P14uDQcSx9xIPPt')
If you need verbosity during troubleshooting, set the client to debug mode
client.debug = true
response = client.get_leads(:email, 'sammy@acme.com')
response[:result].each do |result|
p "id: #{result[:id]}, email: #{result[:email]}"
end
response = client.createupdate_leads([{ email: 'sample@example.com', firstName: 'John' }], lookup_field: :email)
response[:result].each do |result|
p "id: #{result[:id]}, email: #{result[:email]}"
end
campaign_id = 42 # this is the ID of the campaign
lead_ids = [1, 2, 4] # these are the leads who receive the campaign
tokens = [{ # these tokens (optional) are then passed to the campaign
name: '{{my.message}}',
value: 'Updated message'
}, {
name: '{{my.other token}}',
value: 'Value for other token'
}]
client.request_campaign(campaign_id, lead_ids, tokens) # tokens can be omited
=> { requestId: 'e42b#14272d07d78', success: true }
$ bundle exec rspec
Examples are in the spec/
directory.
- Fork it ( https://github.com/raszi/mrkt/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request