module Paperdrive::Client::Deals

Instance methods related to Deals to embed into Paperdrive::Client
arguments are compatible with the Pipedribe API.

@see developers.pipedrive.com/docs/api/v1/#!/Deals

Public Instance Methods

add_follower_to_deal(id:, **args) click to toggle source
POST

Add a follower to a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_followers @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 198
def add_follower_to_deal(id:, **args)
  params = parameters(args) do
    required_params :user_id
    optional_params :user_id
  end
  request(:post, "deals/#{id}/followers", params)
end
add_participant_to_deal(id:, **args) click to toggle source
POST

Add a participant to a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_participants @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 211
def add_participant_to_deal(id:, **args)
  params = parameters(args) do
    required_params :person_id
    optional_params :person_id
  end
  request(:post, "deals/#{id}/participants", params)
end
add_product_to_deal(id:, **args) click to toggle source
POST

Add a product to the deal, eventually creating a new item called a deal-product.

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_products @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 224
def add_product_to_deal(id:, **args)
  params = parameters(args) do
    required_params :product_id, :item_price, :quantity
    optional_params :product_id, :item_price, :quantity, :discount_percentage, :duration, :product_variation_id, :comments, :enabled_flag
  end
  request(:post, "deals/#{id}/products", params)
end
all_deals(**args) click to toggle source
GET

Get all deals

@see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 18
def all_deals(**args)
  params = parameters(args) do
    optional_params :user_id, :filter_id, :stage_id, :status, :start, :limit, :sort, :owned_by_you
  end
  request(:get, 'deals', params)
end
create_deal(**args) click to toggle source
POST

Add a deal

@see developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 173
def create_deal(**args)
  params = parameters(args) do
    required_params :title
    optional_params :title, :value, :currency, :user_id, :person_id, :org_id, :stage_id, :status, :probability, :lost_reason, :add_time, :visible_to
  end
  request(:post, 'deals', params)
end
deal_activities(id:, **args) click to toggle source
GET

List activities associated with a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_activities @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 66
def deal_activities(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit, :done, :exclude
  end
  request(:get, "deals/#{id}/activities", params)
end
deal_detail(id:, **args) click to toggle source
GET

Get details of a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 54
def deal_detail(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:get, "deals/#{id}", params)
end
deal_files(id:, **args) click to toggle source
GET

List files attached to a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_files @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 78
def deal_files(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit, :include_deleted_files, :sort
  end
  request(:get, "deals/#{id}/files", params)
end
deal_followers(id:, **args) click to toggle source
GET

List followers of a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_followers @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 102
def deal_followers(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:get, "deals/#{id}/followers", params)
end
deal_mail_messages(id:, **args) click to toggle source
GET

List mail messages associated with a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_mailMessages @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 114
def deal_mail_messages(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit
  end
  request(:get, "deals/#{id}/mailMessages", params)
end
deal_participants(id:, **args) click to toggle source
GET

List participants of a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_participants @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 126
def deal_participants(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit
  end
  request(:get, "deals/#{id}/participants", params)
end
deal_permitted_users(id:, **args) click to toggle source
GET

List permitted users

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_permittedUsers @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 138
def deal_permitted_users(id:, **args)
  params = parameters(args) do
    optional_params :access_level
  end
  request(:get, "deals/#{id}/permittedUsers", params)
end
deal_persons(id:, **args) click to toggle source
GET

List all persons associated with a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_persons @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 150
def deal_persons(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit
  end
  request(:get, "deals/#{id}/persons", params)
end
deal_products(id:, **args) click to toggle source
GET

List products attached to a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_products @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 162
def deal_products(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit, :include_product_data
  end
  request(:get, "deals/#{id}/products", params)
end
deal_updates(id:, **args) click to toggle source
GET

List updates about a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_flow @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 90
def deal_updates(id:, **args)
  params = parameters(args) do
    optional_params :start, :limit
  end
  request(:get, "deals/#{id}/flow", params)
end
deals_timeline(**args) click to toggle source
GET

Get deals timeline

@see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_timeline @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 41
def deals_timeline(**args)
  params = parameters(args) do
    required_params :start_date, :interval, :amount, :field_key
    optional_params :start_date, :interval, :amount, :field_key, :user_id, :pipeline_id, :filter_id, :exclude_deals, :totals_convert_currency
  end
  request(:get, 'deals/timeline', params)
end
delete_deal(id:, **args) click to toggle source
DELETE

Delete a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 288
def delete_deal(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:delete, "deals/#{id}", params)
end
delete_deal_follower(id:, follower_id:, **args) click to toggle source
DELETE

Delete a follower from a deal

@param [integer] id: @param [integer] follower_id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_followers_follower_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 301
def delete_deal_follower(id:, follower_id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:delete, "deals/#{id}/followers/#{follower_id}", params)
end
delete_deal_participants(id:, deal_participant_id:, **args) click to toggle source
DELETE

Delete a participant from a deal

@param [integer] id: @param [integer] deal_participant_id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_participants_deal_participant_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 314
def delete_deal_participants(id:, deal_participant_id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:delete, "deals/#{id}/participants/#{deal_participant_id}", params)
end
delete_deal_product(id:, product_attachment_id:, **args) click to toggle source
DELETE

Delete an attached product from a deal

@param [integer] id: @param [integer] product_attachment_id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_products_product_attachment_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 327
def delete_deal_product(id:, product_attachment_id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:delete, "deals/#{id}/products/#{product_attachment_id}", params)
end
delete_deals(**args) click to toggle source
DELETE

Delete multiple deals in bulk

@see developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 275
def delete_deals(**args)
  params = parameters(args) do
    required_params :ids
    optional_params :ids
  end
  request(:delete, 'deals', params)
end
duplicate_deal(id:, **args) click to toggle source
POST

Duplicate deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_duplicate @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 186
def duplicate_deal(id:, **args)
  params = parameters(args) do
    optional_params
  end
  request(:post, "deals/#{id}/duplicate", params)
end
find_deals_by_name(**args) click to toggle source
GET

Find deals by name

@see developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_find @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 29
def find_deals_by_name(**args)
  params = parameters(args) do
    required_params :term
    optional_params :term, :person_id, :org_id
  end
  request(:get, 'deals/find', params)
end
merge_deals(id:, **args) click to toggle source
PUT

Merge two deals

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id_merge @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 249
def merge_deals(id:, **args)
  params = parameters(args) do
    required_params :merge_with_id
    optional_params :merge_with_id
  end
  request(:put, "deals/#{id}/merge", params)
end
update_deal(id:, **args) click to toggle source
PUT

Update a deal

@param [integer] id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 237
def update_deal(id:, **args)
  params = parameters(args) do
    optional_params :title, :value, :currency, :user_id, :person_id, :org_id, :stage_id, :status, :probability, :lost_reason, :visible_to
  end
  request(:put, "deals/#{id}", params)
end
update_deal_product(id:, deal_product_id:, **args) click to toggle source
PUT

Update product attachment details of the deal-product (a product already attached to a deal)

@param [integer] id: @param [integer] deal_product_id: @see developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id_products_deal_product_id @return [Paperdrive::Response]

# File lib/paperdrive/client/deals.rb, line 263
def update_deal_product(id:, deal_product_id:, **args)
  params = parameters(args) do
    required_params :item_price, :quantity
    optional_params :item_price, :quantity, :discount_percentage, :duration, :product_variation_id, :comments, :enabled_flag
  end
  request(:put, "deals/#{id}/products/#{deal_product_id}", params)
end