Module: Paperdrive::Client::Deals
Overview
Instance methods related to Deals to embed into Paperdrive::Client
arguments are compatible with the Pipedribe API.
Instance Method Summary collapse
-
#add_follower_to_deal(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a follower to a deal.
-
#add_participant_to_deal(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a participant to a deal.
-
#add_product_to_deal(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a product to the deal, eventually creating a new item called a deal-product.
-
#all_deals(**args) ⇒ Paperdrive::Response
- GET
-
Get all deals.
-
#create_deal(**args) ⇒ Paperdrive::Response
- POST
-
Add a deal.
-
#deal_activities(id:, **args) ⇒ Paperdrive::Response
- GET
-
List activities associated with a deal.
-
#deal_detail(id:, **args) ⇒ Paperdrive::Response
- GET
-
Get details of a deal.
-
#deal_files(id:, **args) ⇒ Paperdrive::Response
- GET
-
List files attached to a deal.
-
#deal_followers(id:, **args) ⇒ Paperdrive::Response
- GET
-
List followers of a deal.
-
#deal_mail_messages(id:, **args) ⇒ Paperdrive::Response
- GET
-
List mail messages associated with a deal.
-
#deal_participants(id:, **args) ⇒ Paperdrive::Response
- GET
-
List participants of a deal.
-
#deal_permitted_users(id:, **args) ⇒ Paperdrive::Response
- GET
-
List permitted users.
-
#deal_persons(id:, **args) ⇒ Paperdrive::Response
- GET
-
List all persons associated with a deal.
-
#deal_products(id:, **args) ⇒ Paperdrive::Response
- GET
-
List products attached to a deal.
-
#deal_updates(id:, **args) ⇒ Paperdrive::Response
- GET
-
List updates about a deal.
-
#deals_timeline(**args) ⇒ Paperdrive::Response
- GET
-
Get deals timeline.
-
#delete_deal(id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a deal.
-
#delete_deal_follower(id:, follower_id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a follower from a deal.
-
#delete_deal_participants(id:, deal_participant_id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete a participant from a deal.
-
#delete_deal_product(id:, product_attachment_id:, **args) ⇒ Paperdrive::Response
- DELETE
-
Delete an attached product from a deal.
-
#delete_deals(**args) ⇒ Paperdrive::Response
- DELETE
-
Delete multiple deals in bulk.
-
#duplicate_deal(id:, **args) ⇒ Paperdrive::Response
- POST
-
Duplicate deal.
-
#find_deals_by_name(**args) ⇒ Paperdrive::Response
- GET
-
Find deals by name.
-
#merge_deals(id:, **args) ⇒ Paperdrive::Response
- PUT
-
Merge two deals.
-
#update_deal(id:, **args) ⇒ Paperdrive::Response
- PUT
-
Update a deal.
-
#update_deal_product(id:, deal_product_id:, **args) ⇒ Paperdrive::Response
- PUT
-
Update product attachment details of the deal-product (a product already attached to a deal).
Instance Method Details
#add_follower_to_deal(id:, **args) ⇒ Paperdrive::Response
- POST
-
Add a follower to a deal
198 199 200 201 202 203 204 |
# 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) ⇒ Paperdrive::Response
- POST
-
Add a participant to a deal
211 212 213 214 215 216 217 |
# 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) ⇒ Paperdrive::Response
- POST
-
Add a product to the deal, eventually creating a new item called a deal-product.
224 225 226 227 228 229 230 |
# 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) ⇒ Paperdrive::Response
- GET
-
Get all deals
18 19 20 21 22 23 |
# 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) ⇒ Paperdrive::Response
- POST
-
Add a deal
173 174 175 176 177 178 179 |
# 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) ⇒ Paperdrive::Response
- GET
-
List activities associated with a deal
66 67 68 69 70 71 |
# 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) ⇒ Paperdrive::Response
- GET
-
Get details of a deal
54 55 56 57 58 59 |
# 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) ⇒ Paperdrive::Response
- GET
-
List files attached to a deal
78 79 80 81 82 83 |
# 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) ⇒ Paperdrive::Response
- GET
-
List followers of a deal
102 103 104 105 106 107 |
# 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) ⇒ Paperdrive::Response
- GET
-
List mail messages associated with a deal
114 115 116 117 118 119 |
# File 'lib/paperdrive/client/deals.rb', line 114 def (id:, **args) params = parameters(args) do optional_params :start, :limit end request(:get, "deals/#{id}/mailMessages", params) end |
#deal_participants(id:, **args) ⇒ Paperdrive::Response
- GET
-
List participants of a deal
126 127 128 129 130 131 |
# 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) ⇒ Paperdrive::Response
- GET
-
List permitted users
138 139 140 141 142 143 |
# 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) ⇒ Paperdrive::Response
- GET
-
List all persons associated with a deal
150 151 152 153 154 155 |
# 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) ⇒ Paperdrive::Response
- GET
-
List products attached to a deal
162 163 164 165 166 167 |
# 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) ⇒ Paperdrive::Response
- GET
-
List updates about a deal
90 91 92 93 94 95 |
# 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) ⇒ Paperdrive::Response
- GET
-
Get deals timeline
41 42 43 44 45 46 47 |
# 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) ⇒ Paperdrive::Response
- DELETE
-
Delete a deal
288 289 290 291 292 293 |
# 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) ⇒ Paperdrive::Response
- DELETE
-
Delete a follower from a deal
301 302 303 304 305 306 |
# 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) ⇒ Paperdrive::Response
- DELETE
-
Delete a participant from a deal
314 315 316 317 318 319 |
# 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) ⇒ Paperdrive::Response
- DELETE
-
Delete an attached product from a deal
327 328 329 330 331 332 |
# 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/#{}", params) end |
#delete_deals(**args) ⇒ Paperdrive::Response
- DELETE
-
Delete multiple deals in bulk
275 276 277 278 279 280 281 |
# 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) ⇒ Paperdrive::Response
- POST
-
Duplicate deal
186 187 188 189 190 191 |
# 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) ⇒ Paperdrive::Response
- GET
-
Find deals by name
29 30 31 32 33 34 35 |
# 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) ⇒ Paperdrive::Response
- PUT
-
Merge two deals
249 250 251 252 253 254 255 |
# 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) ⇒ Paperdrive::Response
- PUT
-
Update a deal
237 238 239 240 241 242 |
# 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) ⇒ Paperdrive::Response
- PUT
-
Update product attachment details of the deal-product (a product already attached to a deal)
263 264 265 266 267 268 269 |
# 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 |