module Pardot module Objects module Prospects def prospects @prospects ||= Prospects.new self end class Prospects def initialize client @client = client end def query search_criteria result = get "/do/query", search_criteria, "result" result["total_results"] = result["total_results"].to_i if result["total_results"] result end def assign_by_email email, params post "/do/assign/email/#{email}", params end def assign_by_id id, params post "/do/assign/id/#{id}", params end def create email, params = {} post "/do/create/email/#{email}", params end def read_by_email email, params = {} post "/do/read/email/#{email}", params end def read_by_id id, params = {} post "/do/read/id/#{id}", params end def update_by_email email, params = {} post "/do/update/email/#{email}", params end def update_by_id id, params = {} post "/do/update/id/#{id}", params end def upsert_by_email email, params = {} post "/do/upsert/email/#{email}", params end def upsert_by_id id, params = {} post "/do/upsert/id/#{id}", params end protected def get path, params = {}, result = "prospect" response = @client.get "prospect", path, params result ? response[result] : response end def post path, params = {}, result = "prospect" response = @client.post "prospect", path, params result ? response[result] : response end end end end end