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,149 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'paperdrive/parameters'
|
4
|
+
|
5
|
+
module Paperdrive
|
6
|
+
class Client
|
7
|
+
# Instance methods related to Roles to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles
|
11
|
+
module Roles
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Get all roles
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/get_roles
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def all_roles(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params :start, :limit
|
21
|
+
end
|
22
|
+
request(:get, 'roles', params)
|
23
|
+
end
|
24
|
+
|
25
|
+
# [GET] Get one role
|
26
|
+
#
|
27
|
+
# @param [integer] id:
|
28
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/get_roles_id
|
29
|
+
# @return [Paperdrive::Response]
|
30
|
+
def role(id:, **args)
|
31
|
+
params = parameters(args) do
|
32
|
+
optional_params
|
33
|
+
end
|
34
|
+
request(:get, "roles/#{id}", params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# [GET] List role assignments
|
38
|
+
#
|
39
|
+
# @param [integer] id:
|
40
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/get_roles_id_assignments
|
41
|
+
# @return [Paperdrive::Response]
|
42
|
+
def role_assignments(id:, **args)
|
43
|
+
params = parameters(args) do
|
44
|
+
optional_params :start, :limit
|
45
|
+
end
|
46
|
+
request(:get, "roles/#{id}/assignments", params)
|
47
|
+
end
|
48
|
+
|
49
|
+
# [GET] List role sub-roles
|
50
|
+
#
|
51
|
+
# @param [integer] id:
|
52
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/get_roles_id_roles
|
53
|
+
# @return [Paperdrive::Response]
|
54
|
+
def role_sub_roles(id:, **args)
|
55
|
+
params = parameters(args) do
|
56
|
+
optional_params :start, :limit
|
57
|
+
end
|
58
|
+
request(:get, "roles/#{id}/roles", params)
|
59
|
+
end
|
60
|
+
|
61
|
+
# [GET] List role settings
|
62
|
+
#
|
63
|
+
# @param [integer] id:
|
64
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/get_roles_id_settings
|
65
|
+
# @return [Paperdrive::Response]
|
66
|
+
def role_settings(id:, **args)
|
67
|
+
params = parameters(args) do
|
68
|
+
optional_params
|
69
|
+
end
|
70
|
+
request(:get, "roles/#{id}/settings", params)
|
71
|
+
end
|
72
|
+
|
73
|
+
# [POST] Add a role
|
74
|
+
#
|
75
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/post_roles
|
76
|
+
# @return [Paperdrive::Response]
|
77
|
+
def create_role(**args)
|
78
|
+
params = parameters(args) do
|
79
|
+
required_params :name
|
80
|
+
optional_params :parent_role_id, :name
|
81
|
+
end
|
82
|
+
request(:post, 'roles', params)
|
83
|
+
end
|
84
|
+
|
85
|
+
# [POST] Add role assignment
|
86
|
+
#
|
87
|
+
# @param [integer] id:
|
88
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/post_roles_id_assignments
|
89
|
+
# @return [Paperdrive::Response]
|
90
|
+
def create_role_assignment(id:, **args)
|
91
|
+
params = parameters(args) do
|
92
|
+
required_params :user_id
|
93
|
+
optional_params :user_id
|
94
|
+
end
|
95
|
+
request(:post, "roles/#{id}/assignments", params)
|
96
|
+
end
|
97
|
+
|
98
|
+
# [POST] Add or update role setting
|
99
|
+
#
|
100
|
+
# @param [integer] id:
|
101
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/post_roles_id_settings
|
102
|
+
# @return [Paperdrive::Response]
|
103
|
+
def create_or_update_role_setting(id:, **args)
|
104
|
+
params = parameters(args) do
|
105
|
+
required_params :setting_key, :value
|
106
|
+
optional_params :setting_key, :value
|
107
|
+
end
|
108
|
+
request(:post, "roles/#{id}/settings", params)
|
109
|
+
end
|
110
|
+
|
111
|
+
# [PUT] Update role details
|
112
|
+
#
|
113
|
+
# @param [integer] id:
|
114
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/put_roles_id
|
115
|
+
# @return [Paperdrive::Response]
|
116
|
+
def update_role_details(id:, **args)
|
117
|
+
params = parameters(args) do
|
118
|
+
optional_params :parent_role_id, :name
|
119
|
+
end
|
120
|
+
request(:put, "roles/#{id}", params)
|
121
|
+
end
|
122
|
+
|
123
|
+
# [DELETE] Delete a role
|
124
|
+
#
|
125
|
+
# @param [integer] id:
|
126
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/delete_roles_id
|
127
|
+
# @return [Paperdrive::Response]
|
128
|
+
def delete_role(id:, **args)
|
129
|
+
params = parameters(args) do
|
130
|
+
optional_params
|
131
|
+
end
|
132
|
+
request(:delete, "roles/#{id}", params)
|
133
|
+
end
|
134
|
+
|
135
|
+
# [DELETE] Delete a role assignment
|
136
|
+
#
|
137
|
+
# @param [integer] id:
|
138
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Roles/delete_roles_id_assignments
|
139
|
+
# @return [Paperdrive::Response]
|
140
|
+
def delete_role_assignment(id:, **args)
|
141
|
+
params = parameters(args) do
|
142
|
+
required_params :user_id
|
143
|
+
optional_params :user_id
|
144
|
+
end
|
145
|
+
request(:delete, "roles/#{id}/assignments", params)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'paperdrive/parameters'
|
4
|
+
|
5
|
+
module Paperdrive
|
6
|
+
class Client
|
7
|
+
# Instance methods related to SearchResults to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/SearchResults
|
11
|
+
module SearchResults
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Perform a search
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/SearchResults/get_searchResults
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def search(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
required_params :term
|
21
|
+
optional_params :term, :item_type, :start, :limit, :exact_match
|
22
|
+
end
|
23
|
+
request(:get, 'searchResults', params)
|
24
|
+
end
|
25
|
+
|
26
|
+
# [GET] Perform a search using a specific field value
|
27
|
+
#
|
28
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/SearchResults/get_searchResults_field
|
29
|
+
# @return [Paperdrive::Response]
|
30
|
+
def specific_search(**args)
|
31
|
+
params = parameters(args) do
|
32
|
+
required_params :term, :field_type, :field_key
|
33
|
+
optional_params :term, :exact_match, :field_type, :field_key, :return_field_key, :return_item_ids, :start, :limit
|
34
|
+
end
|
35
|
+
request(:get, 'searchResults/field', params)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'paperdrive/parameters'
|
4
|
+
|
5
|
+
module Paperdrive
|
6
|
+
class Client
|
7
|
+
# Instance methods related to Stages to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages
|
11
|
+
module Stages
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Get all stages
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/get_stages
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def all_stages(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params :pipeline_id
|
21
|
+
end
|
22
|
+
request(:get, 'stages', params)
|
23
|
+
end
|
24
|
+
|
25
|
+
# [GET] Get one stage
|
26
|
+
#
|
27
|
+
# @param [integer] id:
|
28
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/get_stages_id
|
29
|
+
# @return [Paperdrive::Response]
|
30
|
+
def stage(id:, **args)
|
31
|
+
params = parameters(args) do
|
32
|
+
optional_params
|
33
|
+
end
|
34
|
+
request(:get, "stages/#{id}", params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# [GET] Get deals in a stage
|
38
|
+
#
|
39
|
+
# @param [integer] id:
|
40
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/get_stages_id_deals
|
41
|
+
# @return [Paperdrive::Response]
|
42
|
+
def stage_deals(id:, **args)
|
43
|
+
params = parameters(args) do
|
44
|
+
optional_params :filter_id, :user_id, :everyone, :start, :limit
|
45
|
+
end
|
46
|
+
request(:get, "stages/#{id}/deals", params)
|
47
|
+
end
|
48
|
+
|
49
|
+
# [POST] Add a new stage
|
50
|
+
#
|
51
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/post_stages
|
52
|
+
# @return [Paperdrive::Response]
|
53
|
+
def create_stage(**args)
|
54
|
+
params = parameters(args) do
|
55
|
+
required_params :name, :pipeline_id
|
56
|
+
optional_params :name, :pipeline_id, :deal_probability, :rotten_flag, :rotten_days
|
57
|
+
end
|
58
|
+
request(:post, 'stages', params)
|
59
|
+
end
|
60
|
+
|
61
|
+
# [PUT] Update stage details
|
62
|
+
#
|
63
|
+
# @param [integer] id:
|
64
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/put_stages_id
|
65
|
+
# @return [Paperdrive::Response]
|
66
|
+
def update_stage(id:, **args)
|
67
|
+
params = parameters(args) do
|
68
|
+
optional_params :name, :pipeline_id, :order_nr, :deal_probability, :rotten_flag, :rotten_days
|
69
|
+
end
|
70
|
+
request(:put, "stages/#{id}", params)
|
71
|
+
end
|
72
|
+
|
73
|
+
# [DELETE] Delete multiple stages in bulk
|
74
|
+
#
|
75
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/delete_stages
|
76
|
+
# @return [Paperdrive::Response]
|
77
|
+
def delete_stages(**args)
|
78
|
+
params = parameters(args) do
|
79
|
+
required_params :ids
|
80
|
+
optional_params :ids
|
81
|
+
end
|
82
|
+
request(:delete, 'stages', params)
|
83
|
+
end
|
84
|
+
|
85
|
+
# [DELETE] Delete a stage
|
86
|
+
#
|
87
|
+
# @param [integer] id:
|
88
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Stages/delete_stages_id
|
89
|
+
# @return [Paperdrive::Response]
|
90
|
+
def delete_stage(id:, **args)
|
91
|
+
params = parameters(args) do
|
92
|
+
optional_params
|
93
|
+
end
|
94
|
+
request(:delete, "stages/#{id}", params)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
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 UserConnections to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/UserConnections
|
11
|
+
module UserConnections
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Get all user connections
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/UserConnections/get_userConnections
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def all_user_connections(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params
|
21
|
+
end
|
22
|
+
request(:get, 'userConnections', params)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
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 UserSettings to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/UserSettings
|
11
|
+
module UserSettings
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] List settings of authorized user
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/UserSettings/get_userSettings
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def current_user_settings(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params
|
21
|
+
end
|
22
|
+
request(:get, 'userSettings', params)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,235 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'paperdrive/parameters'
|
4
|
+
|
5
|
+
module Paperdrive
|
6
|
+
class Client
|
7
|
+
# Instance methods related to Users to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users
|
11
|
+
module Users
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Get all users
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def all_users(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params
|
21
|
+
end
|
22
|
+
request(:get, 'users', params)
|
23
|
+
end
|
24
|
+
|
25
|
+
# [GET] Find users by name
|
26
|
+
#
|
27
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_find
|
28
|
+
# @return [Paperdrive::Response]
|
29
|
+
def find_users_by_name(**args)
|
30
|
+
params = parameters(args) do
|
31
|
+
required_params :term
|
32
|
+
optional_params :term, :search_by_email
|
33
|
+
end
|
34
|
+
request(:get, 'users/find', params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# [GET] Get current user data
|
38
|
+
#
|
39
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_me
|
40
|
+
# @return [Paperdrive::Response]
|
41
|
+
def current_user(**args)
|
42
|
+
params = parameters(args) do
|
43
|
+
optional_params
|
44
|
+
end
|
45
|
+
request(:get, 'users/me', params)
|
46
|
+
end
|
47
|
+
|
48
|
+
# [GET] Get one user
|
49
|
+
#
|
50
|
+
# @param [integer] id:
|
51
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id
|
52
|
+
# @return [Paperdrive::Response]
|
53
|
+
def user(id:, **args)
|
54
|
+
params = parameters(args) do
|
55
|
+
optional_params
|
56
|
+
end
|
57
|
+
request(:get, "users/#{id}", params)
|
58
|
+
end
|
59
|
+
|
60
|
+
# [GET] List and filter activities assigned to a specific user
|
61
|
+
#
|
62
|
+
# @param [integer] id:
|
63
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_activities
|
64
|
+
# @return [Paperdrive::Response]
|
65
|
+
def user_activities(id:, **args)
|
66
|
+
params = parameters(args) do
|
67
|
+
optional_params :due_date, :type, :start, :limit, :done
|
68
|
+
end
|
69
|
+
request(:get, "users/#{id}/activities", params)
|
70
|
+
end
|
71
|
+
|
72
|
+
# [GET] List blacklisted email addresses of a user
|
73
|
+
#
|
74
|
+
# @param [integer] id:
|
75
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_blacklistedEmails
|
76
|
+
# @return [Paperdrive::Response]
|
77
|
+
def user_blacklisted_emails(id:, **args)
|
78
|
+
params = parameters(args) do
|
79
|
+
optional_params
|
80
|
+
end
|
81
|
+
request(:get, "users/#{id}/blacklistedEmails", params)
|
82
|
+
end
|
83
|
+
|
84
|
+
# [GET] List followers of a user
|
85
|
+
#
|
86
|
+
# @param [integer] id:
|
87
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_followers
|
88
|
+
# @return [Paperdrive::Response]
|
89
|
+
def user_followers(id:, **args)
|
90
|
+
params = parameters(args) do
|
91
|
+
optional_params
|
92
|
+
end
|
93
|
+
request(:get, "users/#{id}/followers", params)
|
94
|
+
end
|
95
|
+
|
96
|
+
# [GET] List permission set assignments
|
97
|
+
#
|
98
|
+
# @param [integer] id:
|
99
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_permissionSetAssignments
|
100
|
+
# @return [Paperdrive::Response]
|
101
|
+
def user_permission_set_assignments(id:, **args)
|
102
|
+
params = parameters(args) do
|
103
|
+
optional_params :start, :limit
|
104
|
+
end
|
105
|
+
request(:get, "users/#{id}/permissionSetAssignments", params)
|
106
|
+
end
|
107
|
+
|
108
|
+
# [GET] List user permissions
|
109
|
+
#
|
110
|
+
# @param [integer] id:
|
111
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_permissions
|
112
|
+
# @return [Paperdrive::Response]
|
113
|
+
def user_permissions(id:, **args)
|
114
|
+
params = parameters(args) do
|
115
|
+
optional_params
|
116
|
+
end
|
117
|
+
request(:get, "users/#{id}/permissions", params)
|
118
|
+
end
|
119
|
+
|
120
|
+
# [GET] List role assignments
|
121
|
+
#
|
122
|
+
# @param [integer] id:
|
123
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_roleAssignments
|
124
|
+
# @return [Paperdrive::Response]
|
125
|
+
def user_role_assignments(id:, **args)
|
126
|
+
params = parameters(args) do
|
127
|
+
optional_params :start, :limit
|
128
|
+
end
|
129
|
+
request(:get, "users/#{id}/roleAssignments", params)
|
130
|
+
end
|
131
|
+
|
132
|
+
# [GET] List user role settings
|
133
|
+
#
|
134
|
+
# @param [integer] id:
|
135
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/get_users_id_roleSettings
|
136
|
+
# @return [Paperdrive::Response]
|
137
|
+
def user_role_settings(id:, **args)
|
138
|
+
params = parameters(args) do
|
139
|
+
optional_params
|
140
|
+
end
|
141
|
+
request(:get, "users/#{id}/roleSettings", params)
|
142
|
+
end
|
143
|
+
|
144
|
+
# [POST] Add a new user
|
145
|
+
#
|
146
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/post_users
|
147
|
+
# @return [Paperdrive::Response]
|
148
|
+
def create_user(**args)
|
149
|
+
params = parameters(args) do
|
150
|
+
required_params :name, :email, :active_flag
|
151
|
+
optional_params :name, :email, :active_flag
|
152
|
+
end
|
153
|
+
request(:post, 'users', params)
|
154
|
+
end
|
155
|
+
|
156
|
+
# [POST] Add blacklisted email address for a user
|
157
|
+
#
|
158
|
+
# @param [integer] id:
|
159
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/post_users_id_blacklistedEmails
|
160
|
+
# @return [Paperdrive::Response]
|
161
|
+
def create_user_blacklisted_email(id:, **args)
|
162
|
+
params = parameters(args) do
|
163
|
+
required_params :address
|
164
|
+
optional_params :address
|
165
|
+
end
|
166
|
+
request(:post, "users/#{id}/blacklistedEmails", params)
|
167
|
+
end
|
168
|
+
|
169
|
+
# [POST] Add permission set assignment
|
170
|
+
#
|
171
|
+
# @param [integer] id:
|
172
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/post_users_id_permissionSetAssignments
|
173
|
+
# @return [Paperdrive::Response]
|
174
|
+
def create_user_permission_set_assignment(id:, **args)
|
175
|
+
params = parameters(args) do
|
176
|
+
required_params :permission_set_id
|
177
|
+
optional_params :permission_set_id
|
178
|
+
end
|
179
|
+
request(:post, "users/#{id}/permissionSetAssignments", params)
|
180
|
+
end
|
181
|
+
|
182
|
+
# [POST] Add role assignment
|
183
|
+
#
|
184
|
+
# @param [integer] id:
|
185
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/post_users_id_roleAssignments
|
186
|
+
# @return [Paperdrive::Response]
|
187
|
+
def create_user_role_assignment(id:, **args)
|
188
|
+
params = parameters(args) do
|
189
|
+
required_params :role_id
|
190
|
+
optional_params :role_id
|
191
|
+
end
|
192
|
+
request(:post, "users/#{id}/roleAssignments", params)
|
193
|
+
end
|
194
|
+
|
195
|
+
# [PUT] Update user details
|
196
|
+
#
|
197
|
+
# @param [integer] id:
|
198
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/put_users_id
|
199
|
+
# @return [Paperdrive::Response]
|
200
|
+
def update_user(id:, **args)
|
201
|
+
params = parameters(args) do
|
202
|
+
required_params :active_flag
|
203
|
+
optional_params :active_flag
|
204
|
+
end
|
205
|
+
request(:put, "users/#{id}", params)
|
206
|
+
end
|
207
|
+
|
208
|
+
# [DELETE] Delete a permission set assignment
|
209
|
+
#
|
210
|
+
# @param [integer] id:
|
211
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/delete_users_id_permissionSetAssignments
|
212
|
+
# @return [Paperdrive::Response]
|
213
|
+
def delete_user_permission_set_assignment(id:, **args)
|
214
|
+
params = parameters(args) do
|
215
|
+
required_params :permission_set_id
|
216
|
+
optional_params :permission_set_id
|
217
|
+
end
|
218
|
+
request(:delete, "users/#{id}/permissionSetAssignments", params)
|
219
|
+
end
|
220
|
+
|
221
|
+
# [DELETE] Delete a role assignment
|
222
|
+
#
|
223
|
+
# @param [integer] id:
|
224
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Users/delete_users_id_roleAssignments
|
225
|
+
# @return [Paperdrive::Response]
|
226
|
+
def delete_user_role_assignment(id:, **args)
|
227
|
+
params = parameters(args) do
|
228
|
+
required_params :role_id
|
229
|
+
optional_params :role_id
|
230
|
+
end
|
231
|
+
request(:delete, "users/#{id}/roleAssignments", params)
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'paperdrive/parameters'
|
4
|
+
|
5
|
+
module Paperdrive
|
6
|
+
class Client
|
7
|
+
# Instance methods related to Webhooks to embed into Paperdrive::Client<br>
|
8
|
+
# arguments are compatible with the Pipedribe API.
|
9
|
+
#
|
10
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Webhooks
|
11
|
+
module Webhooks
|
12
|
+
include Paperdrive::Parameters
|
13
|
+
|
14
|
+
# [GET] Get all webhooks
|
15
|
+
#
|
16
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Webhooks/get_webhooks
|
17
|
+
# @return [Paperdrive::Response]
|
18
|
+
def all_webhooks(**args)
|
19
|
+
params = parameters(args) do
|
20
|
+
optional_params
|
21
|
+
end
|
22
|
+
request(:get, 'webhooks', params)
|
23
|
+
end
|
24
|
+
|
25
|
+
# [POST] Create a new webhook
|
26
|
+
#
|
27
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Webhooks/post_webhooks
|
28
|
+
# @return [Paperdrive::Response]
|
29
|
+
def create_webhook(**args)
|
30
|
+
params = parameters(args) do
|
31
|
+
required_params :subscription_url, :event_action, :event_object
|
32
|
+
optional_params :subscription_url, :event_action, :event_object, :user_id, :http_auth_user, :http_auth_password
|
33
|
+
end
|
34
|
+
request(:post, 'webhooks', params)
|
35
|
+
end
|
36
|
+
|
37
|
+
# [DELETE] Delete existing webhook
|
38
|
+
#
|
39
|
+
# @param [integer] id:
|
40
|
+
# @see https://developers.pipedrive.com/docs/api/v1/#!/Webhooks/delete_webhooks_id
|
41
|
+
# @return [Paperdrive::Response]
|
42
|
+
def delete_webhook(id:, **args)
|
43
|
+
params = parameters(args) do
|
44
|
+
optional_params
|
45
|
+
end
|
46
|
+
request(:delete, "webhooks/#{id}", params)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|