paperdrive 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +18 -0
  5. data/.travis.yml +9 -0
  6. data/CHANGELOG.md +29 -0
  7. data/Gemfile +8 -0
  8. data/Gemfile.lock +75 -0
  9. data/README.md +120 -0
  10. data/Rakefile +8 -0
  11. data/bin/console +15 -0
  12. data/bin/setup +8 -0
  13. data/lib/paperdrive/client/activities.rb +92 -0
  14. data/lib/paperdrive/client/activity_fields.rb +36 -0
  15. data/lib/paperdrive/client/activity_types.rb +77 -0
  16. data/lib/paperdrive/client/currencies.rb +26 -0
  17. data/lib/paperdrive/client/deal_fields.rb +87 -0
  18. data/lib/paperdrive/client/deals.rb +335 -0
  19. data/lib/paperdrive/client/filters.rb +87 -0
  20. data/lib/paperdrive/client/global_messages.rb +38 -0
  21. data/lib/paperdrive/client/mail_messages.rb +26 -0
  22. data/lib/paperdrive/client/mail_threads.rb +75 -0
  23. data/lib/paperdrive/client/note_fields.rb +25 -0
  24. data/lib/paperdrive/client/notes.rb +74 -0
  25. data/lib/paperdrive/client/organization_fields.rb +87 -0
  26. data/lib/paperdrive/client/organization_relationships.rb +75 -0
  27. data/lib/paperdrive/client/organizations.rb +233 -0
  28. data/lib/paperdrive/client/permission_sets.rb +89 -0
  29. data/lib/paperdrive/client/person_fields.rb +87 -0
  30. data/lib/paperdrive/client/persons.rb +258 -0
  31. data/lib/paperdrive/client/pipelines.rb +111 -0
  32. data/lib/paperdrive/client/product_fields.rb +87 -0
  33. data/lib/paperdrive/client/products.rb +160 -0
  34. data/lib/paperdrive/client/recents.rb +27 -0
  35. data/lib/paperdrive/client/roles.rb +149 -0
  36. data/lib/paperdrive/client/search_results.rb +39 -0
  37. data/lib/paperdrive/client/stages.rb +98 -0
  38. data/lib/paperdrive/client/user_connections.rb +26 -0
  39. data/lib/paperdrive/client/user_settings.rb +26 -0
  40. data/lib/paperdrive/client/users.rb +235 -0
  41. data/lib/paperdrive/client/webhooks.rb +50 -0
  42. data/lib/paperdrive/client.rb +122 -0
  43. data/lib/paperdrive/error.rb +42 -0
  44. data/lib/paperdrive/parameters.rb +34 -0
  45. data/lib/paperdrive/response.rb +42 -0
  46. data/lib/paperdrive/version.rb +6 -0
  47. data/lib/paperdrive.rb +7 -0
  48. data/paperdrive.gemspec +33 -0
  49. metadata +203 -0
@@ -0,0 +1,335 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to Deals to embed into Paperdrive::Client<br>
8
+ # arguments are compatible with the Pipedribe API.
9
+ #
10
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals
11
+ module Deals
12
+ include Paperdrive::Parameters
13
+
14
+ # [GET] Get all deals
15
+ #
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals
17
+ # @return [Paperdrive::Response]
18
+ def all_deals(**args)
19
+ params = parameters(args) do
20
+ optional_params :user_id, :filter_id, :stage_id, :status, :start, :limit, :sort, :owned_by_you
21
+ end
22
+ request(:get, 'deals', params)
23
+ end
24
+
25
+ # [GET] Find deals by name
26
+ #
27
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_find
28
+ # @return [Paperdrive::Response]
29
+ def find_deals_by_name(**args)
30
+ params = parameters(args) do
31
+ required_params :term
32
+ optional_params :term, :person_id, :org_id
33
+ end
34
+ request(:get, 'deals/find', params)
35
+ end
36
+
37
+ # [GET] Get deals timeline
38
+ #
39
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_timeline
40
+ # @return [Paperdrive::Response]
41
+ def deals_timeline(**args)
42
+ params = parameters(args) do
43
+ required_params :start_date, :interval, :amount, :field_key
44
+ optional_params :start_date, :interval, :amount, :field_key, :user_id, :pipeline_id, :filter_id, :exclude_deals, :totals_convert_currency
45
+ end
46
+ request(:get, 'deals/timeline', params)
47
+ end
48
+
49
+ # [GET] Get details of a deal
50
+ #
51
+ # @param [integer] id:
52
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id
53
+ # @return [Paperdrive::Response]
54
+ def deal_detail(id:, **args)
55
+ params = parameters(args) do
56
+ optional_params
57
+ end
58
+ request(:get, "deals/#{id}", params)
59
+ end
60
+
61
+ # [GET] List activities associated with a deal
62
+ #
63
+ # @param [integer] id:
64
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_activities
65
+ # @return [Paperdrive::Response]
66
+ def deal_activities(id:, **args)
67
+ params = parameters(args) do
68
+ optional_params :start, :limit, :done, :exclude
69
+ end
70
+ request(:get, "deals/#{id}/activities", params)
71
+ end
72
+
73
+ # [GET] List files attached to a deal
74
+ #
75
+ # @param [integer] id:
76
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_files
77
+ # @return [Paperdrive::Response]
78
+ def deal_files(id:, **args)
79
+ params = parameters(args) do
80
+ optional_params :start, :limit, :include_deleted_files, :sort
81
+ end
82
+ request(:get, "deals/#{id}/files", params)
83
+ end
84
+
85
+ # [GET] List updates about a deal
86
+ #
87
+ # @param [integer] id:
88
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_flow
89
+ # @return [Paperdrive::Response]
90
+ def deal_updates(id:, **args)
91
+ params = parameters(args) do
92
+ optional_params :start, :limit
93
+ end
94
+ request(:get, "deals/#{id}/flow", params)
95
+ end
96
+
97
+ # [GET] List followers of a deal
98
+ #
99
+ # @param [integer] id:
100
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_followers
101
+ # @return [Paperdrive::Response]
102
+ def deal_followers(id:, **args)
103
+ params = parameters(args) do
104
+ optional_params
105
+ end
106
+ request(:get, "deals/#{id}/followers", params)
107
+ end
108
+
109
+ # [GET] List mail messages associated with a deal
110
+ #
111
+ # @param [integer] id:
112
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_mailMessages
113
+ # @return [Paperdrive::Response]
114
+ def deal_mail_messages(id:, **args)
115
+ params = parameters(args) do
116
+ optional_params :start, :limit
117
+ end
118
+ request(:get, "deals/#{id}/mailMessages", params)
119
+ end
120
+
121
+ # [GET] List participants of a deal
122
+ #
123
+ # @param [integer] id:
124
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_participants
125
+ # @return [Paperdrive::Response]
126
+ def deal_participants(id:, **args)
127
+ params = parameters(args) do
128
+ optional_params :start, :limit
129
+ end
130
+ request(:get, "deals/#{id}/participants", params)
131
+ end
132
+
133
+ # [GET] List permitted users
134
+ #
135
+ # @param [integer] id:
136
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_permittedUsers
137
+ # @return [Paperdrive::Response]
138
+ def deal_permitted_users(id:, **args)
139
+ params = parameters(args) do
140
+ optional_params :access_level
141
+ end
142
+ request(:get, "deals/#{id}/permittedUsers", params)
143
+ end
144
+
145
+ # [GET] List all persons associated with a deal
146
+ #
147
+ # @param [integer] id:
148
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_persons
149
+ # @return [Paperdrive::Response]
150
+ def deal_persons(id:, **args)
151
+ params = parameters(args) do
152
+ optional_params :start, :limit
153
+ end
154
+ request(:get, "deals/#{id}/persons", params)
155
+ end
156
+
157
+ # [GET] List products attached to a deal
158
+ #
159
+ # @param [integer] id:
160
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/get_deals_id_products
161
+ # @return [Paperdrive::Response]
162
+ def deal_products(id:, **args)
163
+ params = parameters(args) do
164
+ optional_params :start, :limit, :include_product_data
165
+ end
166
+ request(:get, "deals/#{id}/products", params)
167
+ end
168
+
169
+ # [POST] Add a deal
170
+ #
171
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals
172
+ # @return [Paperdrive::Response]
173
+ def create_deal(**args)
174
+ params = parameters(args) do
175
+ required_params :title
176
+ optional_params :title, :value, :currency, :user_id, :person_id, :org_id, :stage_id, :status, :probability, :lost_reason, :add_time, :visible_to
177
+ end
178
+ request(:post, 'deals', params)
179
+ end
180
+
181
+ # [POST] Duplicate deal
182
+ #
183
+ # @param [integer] id:
184
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_duplicate
185
+ # @return [Paperdrive::Response]
186
+ def duplicate_deal(id:, **args)
187
+ params = parameters(args) do
188
+ optional_params
189
+ end
190
+ request(:post, "deals/#{id}/duplicate", params)
191
+ end
192
+
193
+ # [POST] Add a follower to a deal
194
+ #
195
+ # @param [integer] id:
196
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_followers
197
+ # @return [Paperdrive::Response]
198
+ def add_follower_to_deal(id:, **args)
199
+ params = parameters(args) do
200
+ required_params :user_id
201
+ optional_params :user_id
202
+ end
203
+ request(:post, "deals/#{id}/followers", params)
204
+ end
205
+
206
+ # [POST] Add a participant to a deal
207
+ #
208
+ # @param [integer] id:
209
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_participants
210
+ # @return [Paperdrive::Response]
211
+ def add_participant_to_deal(id:, **args)
212
+ params = parameters(args) do
213
+ required_params :person_id
214
+ optional_params :person_id
215
+ end
216
+ request(:post, "deals/#{id}/participants", params)
217
+ end
218
+
219
+ # [POST] Add a product to the deal, eventually creating a new item called a deal-product.
220
+ #
221
+ # @param [integer] id:
222
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/post_deals_id_products
223
+ # @return [Paperdrive::Response]
224
+ def add_product_to_deal(id:, **args)
225
+ params = parameters(args) do
226
+ required_params :product_id, :item_price, :quantity
227
+ optional_params :product_id, :item_price, :quantity, :discount_percentage, :duration, :product_variation_id, :comments, :enabled_flag
228
+ end
229
+ request(:post, "deals/#{id}/products", params)
230
+ end
231
+
232
+ # [PUT] Update a deal
233
+ #
234
+ # @param [integer] id:
235
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id
236
+ # @return [Paperdrive::Response]
237
+ def update_deal(id:, **args)
238
+ params = parameters(args) do
239
+ optional_params :title, :value, :currency, :user_id, :person_id, :org_id, :stage_id, :status, :probability, :lost_reason, :visible_to
240
+ end
241
+ request(:put, "deals/#{id}", params)
242
+ end
243
+
244
+ # [PUT] Merge two deals
245
+ #
246
+ # @param [integer] id:
247
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id_merge
248
+ # @return [Paperdrive::Response]
249
+ def merge_deals(id:, **args)
250
+ params = parameters(args) do
251
+ required_params :merge_with_id
252
+ optional_params :merge_with_id
253
+ end
254
+ request(:put, "deals/#{id}/merge", params)
255
+ end
256
+
257
+ # [PUT] Update product attachment details of the deal-product (a product already attached to a deal)
258
+ #
259
+ # @param [integer] id:
260
+ # @param [integer] deal_product_id:
261
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/put_deals_id_products_deal_product_id
262
+ # @return [Paperdrive::Response]
263
+ def update_deal_product(id:, deal_product_id:, **args)
264
+ params = parameters(args) do
265
+ required_params :item_price, :quantity
266
+ optional_params :item_price, :quantity, :discount_percentage, :duration, :product_variation_id, :comments, :enabled_flag
267
+ end
268
+ request(:put, "deals/#{id}/products/#{deal_product_id}", params)
269
+ end
270
+
271
+ # [DELETE] Delete multiple deals in bulk
272
+ #
273
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals
274
+ # @return [Paperdrive::Response]
275
+ def delete_deals(**args)
276
+ params = parameters(args) do
277
+ required_params :ids
278
+ optional_params :ids
279
+ end
280
+ request(:delete, 'deals', params)
281
+ end
282
+
283
+ # [DELETE] Delete a deal
284
+ #
285
+ # @param [integer] id:
286
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id
287
+ # @return [Paperdrive::Response]
288
+ def delete_deal(id:, **args)
289
+ params = parameters(args) do
290
+ optional_params
291
+ end
292
+ request(:delete, "deals/#{id}", params)
293
+ end
294
+
295
+ # [DELETE] Delete a follower from a deal
296
+ #
297
+ # @param [integer] id:
298
+ # @param [integer] follower_id:
299
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_followers_follower_id
300
+ # @return [Paperdrive::Response]
301
+ def delete_deal_follower(id:, follower_id:, **args)
302
+ params = parameters(args) do
303
+ optional_params
304
+ end
305
+ request(:delete, "deals/#{id}/followers/#{follower_id}", params)
306
+ end
307
+
308
+ # [DELETE] Delete a participant from a deal
309
+ #
310
+ # @param [integer] id:
311
+ # @param [integer] deal_participant_id:
312
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_participants_deal_participant_id
313
+ # @return [Paperdrive::Response]
314
+ def delete_deal_participants(id:, deal_participant_id:, **args)
315
+ params = parameters(args) do
316
+ optional_params
317
+ end
318
+ request(:delete, "deals/#{id}/participants/#{deal_participant_id}", params)
319
+ end
320
+
321
+ # [DELETE] Delete an attached product from a deal
322
+ #
323
+ # @param [integer] id:
324
+ # @param [integer] product_attachment_id:
325
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Deals/delete_deals_id_products_product_attachment_id
326
+ # @return [Paperdrive::Response]
327
+ def delete_deal_product(id:, product_attachment_id:, **args)
328
+ params = parameters(args) do
329
+ optional_params
330
+ end
331
+ request(:delete, "deals/#{id}/products/#{product_attachment_id}", params)
332
+ end
333
+ end
334
+ end
335
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to Filters to embed into Paperdrive::Client<br>
8
+ # arguments are compatible with the Pipedribe API.
9
+ #
10
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters
11
+ module Filters
12
+ include Paperdrive::Parameters
13
+
14
+ # [GET] Get all filters
15
+ #
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/get_filters
17
+ # @return [Paperdrive::Response]
18
+ def all_filters(**args)
19
+ params = parameters(args) do
20
+ optional_params :type
21
+ end
22
+ request(:get, 'filters', params)
23
+ end
24
+
25
+ # [GET] Get one filter
26
+ #
27
+ # @param [integer] id:
28
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/get_filters_id
29
+ # @return [Paperdrive::Response]
30
+ def filter(id:, **args)
31
+ params = parameters(args) do
32
+ optional_params
33
+ end
34
+ request(:get, "filters/#{id}", params)
35
+ end
36
+
37
+ # [POST] Add a new filter
38
+ #
39
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/post_filters
40
+ # @return [Paperdrive::Response]
41
+ def create_filter(**args)
42
+ params = parameters(args) do
43
+ required_params :name, :conditions, :type
44
+ optional_params :name, :conditions, :type
45
+ end
46
+ request(:post, 'filters', params)
47
+ end
48
+
49
+ # [PUT] Update filter
50
+ #
51
+ # @param [integer] id:
52
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/put_filters_id
53
+ # @return [Paperdrive::Response]
54
+ def update_filter(id:, **args)
55
+ params = parameters(args) do
56
+ required_params :conditions
57
+ optional_params :name, :conditions
58
+ end
59
+ request(:put, "filters/#{id}", params)
60
+ end
61
+
62
+ # [DELETE] Delete multiple filters in bulk
63
+ #
64
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/delete_filters
65
+ # @return [Paperdrive::Response]
66
+ def delete_filters(**args)
67
+ params = parameters(args) do
68
+ required_params :ids
69
+ optional_params :ids
70
+ end
71
+ request(:delete, 'filters', params)
72
+ end
73
+
74
+ # [DELETE] Delete a filter
75
+ #
76
+ # @param [integer] id:
77
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Filters/delete_filters_id
78
+ # @return [Paperdrive::Response]
79
+ def delete_filter(id:, **args)
80
+ params = parameters(args) do
81
+ optional_params
82
+ end
83
+ request(:delete, "filters/#{id}", params)
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to GlobalMessages to embed into Paperdrive::Client<br>
8
+ # arguments are compatible with the Pipedribe API.
9
+ #
10
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/GlobalMessages
11
+ module GlobalMessages
12
+ include Paperdrive::Parameters
13
+
14
+ # [GET] Get global messages
15
+ #
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/GlobalMessages/get_globalMessages
17
+ # @return [Paperdrive::Response]
18
+ def all_global_messages(**args)
19
+ params = parameters(args) do
20
+ optional_params :limit
21
+ end
22
+ request(:get, 'globalMessages', params)
23
+ end
24
+
25
+ # [DELETE] Delete a global message
26
+ #
27
+ # @param [integer] id:
28
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/GlobalMessages/delete_globalMessages_id
29
+ # @return [Paperdrive::Response]
30
+ def delete_global_message(id:, **args)
31
+ params = parameters(args) do
32
+ optional_params
33
+ end
34
+ request(:delete, "globalMessages/#{id}", params)
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to MailMessages to embed into Paperdrive::Client<br>
8
+ #
9
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailMessages
10
+ module MailMessages
11
+ include Paperdrive::Parameters
12
+
13
+ # [GET] Get one mail message
14
+ #
15
+ # @param [integer] id:
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailMessages/get_mailbox_mailMessages_id
17
+ # @return [Paperdrive::Response]
18
+ def mail_message(id:, **args)
19
+ params = parameters(args) do
20
+ optional_params :include_body
21
+ end
22
+ request(:get, "mailbox/mailMessages/#{id}", params)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to MailThreads to embed into Paperdrive::Client<br>
8
+ # arguments are compatible with the Pipedribe API.
9
+ #
10
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads
11
+ module MailThreads
12
+ include Paperdrive::Parameters
13
+
14
+ # [GET] Get mail threads
15
+ #
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads/get_mailbox_mailThreads
17
+ # @return [Paperdrive::Response]
18
+ def all_mail_threads(**args)
19
+ params = parameters(args) do
20
+ required_params :folder
21
+ optional_params :folder, :start, :limit
22
+ end
23
+ request(:get, 'mailbox/mailThreads', params)
24
+ end
25
+
26
+ # [GET] Get one mail thread
27
+ #
28
+ # @param [integer] id:
29
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads/get_mailbox_mailThreads_id
30
+ # @return [Paperdrive::Response]
31
+ def mail_thread(id:, **args)
32
+ params = parameters(args) do
33
+ optional_params
34
+ end
35
+ request(:get, "mailbox/mailThreads/#{id}", params)
36
+ end
37
+
38
+ # [GET] Get all mail messages of mail thread
39
+ #
40
+ # @param [integer] id:
41
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads/get_mailbox_mailThreads_id_mailMessages
42
+ # @return [Paperdrive::Response]
43
+ def mail_thread_mail_messages(id:, **args)
44
+ params = parameters(args) do
45
+ optional_params
46
+ end
47
+ request(:get, "mailbox/mailThreads/#{id}/mailMessages", params)
48
+ end
49
+
50
+ # [PUT] Update mail thread details
51
+ #
52
+ # @param [integer] id:
53
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads/put_mailbox_mailThreads_id
54
+ # @return [Paperdrive::Response]
55
+ def update_mail_thread(id:, **args)
56
+ params = parameters(args) do
57
+ optional_params :deal_id, :shared_flag, :read_flag, :archived_flag
58
+ end
59
+ request(:put, "mailbox/mailThreads/#{id}", params)
60
+ end
61
+
62
+ # [DELETE] Delete mail thread
63
+ #
64
+ # @param [integer] id:
65
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/MailThreads/delete_mailbox_mailThreads_id
66
+ # @return [Paperdrive::Response]
67
+ def delete_mail_thread(id:, **args)
68
+ params = parameters(args) do
69
+ optional_params
70
+ end
71
+ request(:delete, "mailbox/mailThreads/#{id}", params)
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to NoteFields to embed into Paperdrive::Client
8
+ #
9
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/NoteFields
10
+ module NoteFields
11
+ include Paperdrive::Parameters
12
+
13
+ # [GET] fetch all fields for note.
14
+ #
15
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/NoteFields/get_noteFields
16
+ # @return [Paperdrive::Response]
17
+ def all_note_fields(**args)
18
+ params = parameters(args) do
19
+ optional_params
20
+ end
21
+ request(:get, 'noteFields', params)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'paperdrive/parameters'
4
+
5
+ module Paperdrive
6
+ class Client
7
+ # Instance methods related to Notes to embed into Paperdrive::Client<br>
8
+ # arguments are compatible with the Pipedribe API.
9
+ #
10
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes
11
+ module Notes
12
+ include Paperdrive::Parameters
13
+
14
+ # [GET] fetch Notes list
15
+ #
16
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes/get_notes
17
+ # @return [Paperdrive::Response]
18
+ def all_notes(**args)
19
+ params = parameters(args) do
20
+ optional_params :user_id, :deal_id, :person_id, :org_id, :start, :limit, :sort, :start_date, :end_date, :pinned_to_deal_flag, :pinned_to_organization_flag, :pinned_to_person_flag
21
+ end
22
+ request(:get, 'notes', params)
23
+ end
24
+
25
+ # [GET] fetch a single note whose ID specified
26
+ #
27
+ # @param [integer] id: ID of the note to fetch
28
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes/get_notes_id
29
+ # @return [Paperdrive::Response]
30
+ def note_detail(id:, **args)
31
+ params = parameters(args) do
32
+ optional_params
33
+ end
34
+ request(:get, "notes/#{id}", params)
35
+ end
36
+
37
+ # [POST] create a single Note
38
+ #
39
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes/post_notes
40
+ # @return [Paperdrive::Response]
41
+ def create_note(**args)
42
+ params = parameters(args) do
43
+ required_params :content
44
+ optional_params :content, :deal_id, :person_id, :org_id, :add_time, :pinned_to_deal_flag, :pinned_to_organization_flag, :pinned_to_person_flag
45
+ end
46
+ request(:post, 'notes', params)
47
+ end
48
+
49
+ # [PUT] update a single note
50
+ #
51
+ # @param [integer] id: ID of the note to update
52
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes/put_notes_id
53
+ # @return [Paperdrive::Response]
54
+ def edit_note(id:, **args)
55
+ params = parameters(args) do
56
+ required_params :content
57
+ optional_params :content, :deal_id, :person_id, :org_id, :add_time, :pinned_to_deal_flag, :pinned_to_organization_flag, :pinned_to_person_flag
58
+ end
59
+ request(:put, "notes/#{id}", params)
60
+ end
61
+
62
+ # [DELETE] delete a single note
63
+ #
64
+ # @see https://developers.pipedrive.com/docs/api/v1/#!/Notes/delete_notes_id
65
+ # @return [Paperdrive::Response]
66
+ def delete_note(id:, **args)
67
+ params = parameters(args) do
68
+ optional_params
69
+ end
70
+ request(:delete, "notes/#{id}", params)
71
+ end
72
+ end
73
+ end
74
+ end