class Sellsy::Prospect

Attributes

address[RW]
ape[RW]
apidae_member_id[RW]
category[RW]
college_type[RW]
contact[RW]
contacts[RW]
email[RW]
id[RW]
main_contact_id[RW]
name[RW]
payment_method[RW]
person_type[RW]
siret[RW]
structure_name[RW]
website[RW]

Public Class Methods

all() click to toggle source
# File lib/sellsy/prospect.rb, line 92
def self.all
  command = {
      'method' => 'Prospects.getList',
      'params' => {}
  }

  response = MultiJson.load(Sellsy::Api.request command)

  prospects = []
  if response['response']
    response['response']['result'].each do |key, value|
      prospect = Prospect.new
      prospect.id = key
      prospect.name = value['fullName']
      prospects << prospect
    end
  end

  prospects
end
find(id) click to toggle source
# File lib/sellsy/prospect.rb, line 47
def self.find(id)
  command = {
      'method' => 'Prospects.getOne',
      'params' => {
          'id' => id
      }
  }

  response = MultiJson.load(Sellsy::Api.request command)

  prospect = Prospect.new

  if response['response']
    value = response['response']['client']
    prospect.id = value['id']
    prospect.name = value['name']
    prospect.contacts = response['response']['contacts']
  end

  return prospect
end

Public Instance Methods

create() click to toggle source
# File lib/sellsy/prospect.rb, line 9
def create
  command = {
      'method' => 'Prospects.create',
      'params' => to_params
  }

  response = MultiJson.load(Sellsy::Api.request command)
  @id = response['response']
  response['status'] == 'success'
end
to_params() click to toggle source
# File lib/sellsy/prospect.rb, line 30
def to_params
  {
      'id' => @id,
      'third' => {
          'name' => person_type == 'pp' ? @name : @structure_name,
          'type' => person_type == 'pp' ? 'person' : 'corporation',
          'email' => @email,
          'web' => @website,
          'siret' => @siret,
          'corpType' => @legal_type,
          'apenaf' => @ape
      },
      'contact' => contact ? contact.to_params : {},
      'address' => address ? address.to_params : {}
  }
end
update() click to toggle source
# File lib/sellsy/prospect.rb, line 20
def update
  command = {
      'method' => 'Prospects.update',
      'params' => to_params
  }

  response = MultiJson.load(Sellsy::Api.request command)
  response['status'] == 'success'
end