Skip to content

Commit 589539c

Browse files
author
Daniel Marvin
committed
added support for prospect accounts
1 parent 15a2ae1 commit 589539c

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

lib/pardot/client.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class Client
1414
include Objects::ListMemberships
1515
include Objects::Opportunities
1616
include Objects::Prospects
17+
include Objects::ProspectAccounts
1718
include Objects::Users
1819
include Objects::Visitors
1920
include Objects::Visits
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
module Pardot
2+
module Objects
3+
module ProspectAccounts
4+
def prospect_accounts
5+
@prospect_accounts ||= ProspectAccounts.new self
6+
end
7+
8+
class ProspectAccounts
9+
10+
def initialize(client)
11+
@client = client
12+
end
13+
14+
def query(search_criteria)
15+
result = get '/do/query', search_criteria, 'result'
16+
result['total_results'] = result['total_results'].to_i if result['total_results']
17+
result
18+
end
19+
20+
# assign_by_email
21+
# assign_by_id
22+
# read_by_email
23+
# read_by_id
24+
# update_by_email
25+
# update_by_id
26+
# upsert_by_email
27+
# upsert_by_id
28+
[:assign, :read, :update, :upsert].each do |verb|
29+
[:email, :id].each do |direct_to|
30+
define_method("#{verb}_by_#{direct_to}") do |directive_value, **params|
31+
post(api_url(verb, direct_to, directive_value), params)
32+
end
33+
end
34+
end
35+
36+
def create(email, **params)
37+
post(api_url(:create, :email, email), params)
38+
end
39+
40+
private
41+
42+
def api_url(verb, direct_to, value)
43+
"/do/#{verb}/#{direct_to}/#{value}"
44+
end
45+
46+
def get(path, params={}, result='prospect_account')
47+
response = @client.get('prospect_account', path, params)
48+
result ? response[result] : response
49+
end
50+
51+
def post(path, params={}, result='prospect_account')
52+
response = @client.post('prospect_account', path, params)
53+
result ? response[result] : response
54+
end
55+
end
56+
end
57+
end
58+
end

lib/ruby-pardot.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
require 'pardot/objects/list_memberships'
1212
require 'pardot/objects/opportunities'
1313
require 'pardot/objects/prospects'
14+
require 'pardot/objects/prospect_accounts'
1415
require 'pardot/objects/users'
1516
require 'pardot/objects/visitors'
1617
require 'pardot/objects/visitor_activities'

0 commit comments

Comments
 (0)