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.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/.rubocop.yml +18 -0
- data/.travis.yml +9 -0
- data/CHANGELOG.md +29 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +75 -0
- data/README.md +120 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/lib/paperdrive/client/activities.rb +92 -0
- data/lib/paperdrive/client/activity_fields.rb +36 -0
- data/lib/paperdrive/client/activity_types.rb +77 -0
- data/lib/paperdrive/client/currencies.rb +26 -0
- data/lib/paperdrive/client/deal_fields.rb +87 -0
- data/lib/paperdrive/client/deals.rb +335 -0
- data/lib/paperdrive/client/filters.rb +87 -0
- data/lib/paperdrive/client/global_messages.rb +38 -0
- data/lib/paperdrive/client/mail_messages.rb +26 -0
- data/lib/paperdrive/client/mail_threads.rb +75 -0
- data/lib/paperdrive/client/note_fields.rb +25 -0
- data/lib/paperdrive/client/notes.rb +74 -0
- data/lib/paperdrive/client/organization_fields.rb +87 -0
- data/lib/paperdrive/client/organization_relationships.rb +75 -0
- data/lib/paperdrive/client/organizations.rb +233 -0
- data/lib/paperdrive/client/permission_sets.rb +89 -0
- data/lib/paperdrive/client/person_fields.rb +87 -0
- data/lib/paperdrive/client/persons.rb +258 -0
- data/lib/paperdrive/client/pipelines.rb +111 -0
- data/lib/paperdrive/client/product_fields.rb +87 -0
- data/lib/paperdrive/client/products.rb +160 -0
- data/lib/paperdrive/client/recents.rb +27 -0
- data/lib/paperdrive/client/roles.rb +149 -0
- data/lib/paperdrive/client/search_results.rb +39 -0
- data/lib/paperdrive/client/stages.rb +98 -0
- data/lib/paperdrive/client/user_connections.rb +26 -0
- data/lib/paperdrive/client/user_settings.rb +26 -0
- data/lib/paperdrive/client/users.rb +235 -0
- data/lib/paperdrive/client/webhooks.rb +50 -0
- data/lib/paperdrive/client.rb +122 -0
- data/lib/paperdrive/error.rb +42 -0
- data/lib/paperdrive/parameters.rb +34 -0
- data/lib/paperdrive/response.rb +42 -0
- data/lib/paperdrive/version.rb +6 -0
- data/lib/paperdrive.rb +7 -0
- data/paperdrive.gemspec +33 -0
- 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
|