pipedrive 22.3.1-rc.2 → 22.3.1-rc.4
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +17 -4
- package/README.md +29 -24
- package/api/activities-api.ts +1 -24
- package/api/activity-fields-api.ts +1 -24
- package/api/activity-types-api.ts +1 -21
- package/api/billing-api.ts +1 -24
- package/api/call-logs-api.ts +1 -24
- package/api/channels-api.ts +1 -24
- package/api/currencies-api.ts +1 -24
- package/api/deal-fields-api.ts +1 -24
- package/api/deals-api.ts +1 -24
- package/api/files-api.ts +1 -24
- package/api/filters-api.ts +1 -24
- package/api/goals-api.ts +1 -24
- package/api/item-search-api.ts +1 -24
- package/api/lead-labels-api.ts +1 -21
- package/api/lead-sources-api.ts +1 -24
- package/api/leads-api.ts +1 -24
- package/api/legacy-teams-api.ts +1 -24
- package/api/mailbox-api.ts +1 -24
- package/api/note-fields-api.ts +1 -24
- package/api/notes-api.ts +1 -21
- package/api/organization-fields-api.ts +1 -24
- package/api/organization-relationships-api.ts +1 -24
- package/api/organizations-api.ts +1 -24
- package/api/permission-sets-api.ts +1 -24
- package/api/person-fields-api.ts +1 -21
- package/api/persons-api.ts +1 -24
- package/api/pipelines-api.ts +1 -24
- package/api/product-fields-api.ts +1 -24
- package/api/products-api.ts +1 -24
- package/api/project-templates-api.ts +1 -24
- package/api/projects-api.ts +1 -24
- package/api/recents-api.ts +1 -24
- package/api/roles-api.ts +1 -24
- package/api/stages-api.ts +1 -24
- package/api/subscriptions-api.ts +1 -24
- package/api/tasks-api.ts +1 -24
- package/api/user-connections-api.ts +1 -24
- package/api/user-settings-api.ts +1 -24
- package/api/users-api.ts +1 -24
- package/api/webhooks-api.ts +1 -21
- package/base.ts +31 -0
- package/common.ts +0 -1
- package/configuration.ts +11 -2
- package/dist/api/activities-api.js +7 -30
- package/dist/api/activity-fields-api.js +1 -24
- package/dist/api/activity-types-api.js +0 -20
- package/dist/api/billing-api.js +1 -24
- package/dist/api/call-logs-api.js +5 -28
- package/dist/api/channels-api.js +4 -27
- package/dist/api/currencies-api.js +1 -24
- package/dist/api/deal-fields-api.js +6 -29
- package/dist/api/deals-api.js +28 -51
- package/dist/api/files-api.js +11 -34
- package/dist/api/filters-api.js +7 -30
- package/dist/api/goals-api.js +5 -28
- package/dist/api/item-search-api.js +2 -25
- package/dist/api/lead-labels-api.js +0 -20
- package/dist/api/lead-sources-api.js +1 -24
- package/dist/api/leads-api.js +7 -30
- package/dist/api/legacy-teams-api.js +8 -31
- package/dist/api/mailbox-api.js +7 -30
- package/dist/api/note-fields-api.js +1 -24
- package/dist/api/notes-api.js +0 -20
- package/dist/api/organization-fields-api.js +6 -29
- package/dist/api/organization-relationships-api.js +5 -28
- package/dist/api/organizations-api.js +19 -42
- package/dist/api/permission-sets-api.js +3 -26
- package/dist/api/person-fields-api.js +0 -20
- package/dist/api/persons-api.js +21 -44
- package/dist/api/pipelines-api.js +8 -31
- package/dist/api/product-fields-api.js +6 -29
- package/dist/api/products-api.js +12 -35
- package/dist/api/project-templates-api.js +4 -27
- package/dist/api/projects-api.js +14 -37
- package/dist/api/recents-api.js +1 -24
- package/dist/api/roles-api.js +12 -35
- package/dist/api/stages-api.js +7 -30
- package/dist/api/subscriptions-api.js +9 -32
- package/dist/api/tasks-api.js +5 -28
- package/dist/api/user-connections-api.js +1 -24
- package/dist/api/user-settings-api.js +1 -24
- package/dist/api/users-api.js +10 -33
- package/dist/api/webhooks-api.js +0 -20
- package/dist/base.js +26 -0
- package/dist/common.d.ts +0 -1
- package/dist/common.js +1 -2
- package/dist/configuration.d.ts +1 -0
- package/dist/configuration.js +8 -2
- package/dist/esm/api/activities-api.js +0 -23
- package/dist/esm/api/activity-fields-api.js +0 -23
- package/dist/esm/api/activity-types-api.js +0 -20
- package/dist/esm/api/billing-api.js +0 -23
- package/dist/esm/api/call-logs-api.js +0 -23
- package/dist/esm/api/channels-api.js +0 -23
- package/dist/esm/api/currencies-api.js +0 -23
- package/dist/esm/api/deal-fields-api.js +0 -23
- package/dist/esm/api/deals-api.js +0 -23
- package/dist/esm/api/files-api.js +0 -23
- package/dist/esm/api/filters-api.js +0 -23
- package/dist/esm/api/goals-api.js +0 -23
- package/dist/esm/api/item-search-api.js +0 -23
- package/dist/esm/api/lead-labels-api.js +0 -20
- package/dist/esm/api/lead-sources-api.js +0 -23
- package/dist/esm/api/leads-api.js +0 -23
- package/dist/esm/api/legacy-teams-api.js +0 -23
- package/dist/esm/api/mailbox-api.js +0 -23
- package/dist/esm/api/note-fields-api.js +0 -23
- package/dist/esm/api/notes-api.js +0 -20
- package/dist/esm/api/organization-fields-api.js +0 -23
- package/dist/esm/api/organization-relationships-api.js +0 -23
- package/dist/esm/api/organizations-api.js +0 -23
- package/dist/esm/api/permission-sets-api.js +0 -23
- package/dist/esm/api/person-fields-api.js +0 -20
- package/dist/esm/api/persons-api.js +0 -23
- package/dist/esm/api/pipelines-api.js +0 -23
- package/dist/esm/api/product-fields-api.js +0 -23
- package/dist/esm/api/products-api.js +0 -23
- package/dist/esm/api/project-templates-api.js +0 -23
- package/dist/esm/api/projects-api.js +0 -23
- package/dist/esm/api/recents-api.js +0 -23
- package/dist/esm/api/roles-api.js +0 -23
- package/dist/esm/api/stages-api.js +0 -23
- package/dist/esm/api/subscriptions-api.js +0 -23
- package/dist/esm/api/tasks-api.js +0 -23
- package/dist/esm/api/user-connections-api.js +0 -23
- package/dist/esm/api/user-settings-api.js +0 -23
- package/dist/esm/api/users-api.js +0 -23
- package/dist/esm/api/webhooks-api.js +0 -20
- package/dist/esm/base.js +26 -0
- package/dist/esm/common.d.ts +0 -1
- package/dist/esm/common.js +0 -1
- package/dist/esm/configuration.d.ts +1 -0
- package/dist/esm/configuration.js +8 -2
- package/docs/AddWebhookRequest.md +1 -1
- package/docs/BasicDeal.md +3 -0
- package/docs/CallLogObject.md +2 -1
- package/docs/DealParticipantsChangelog.md +12 -0
- package/docs/DealsApi.md +74 -8
- package/docs/FiltersApi.md +4 -1
- package/docs/GetDeal.md +1 -1
- package/docs/GetDealRelatedObjects.md +11 -0
- package/docs/GetDealsRelatedObjects.md +3 -3
- package/docs/ItemSearchApi.md +2 -2
- package/docs/LeadsApi.md +4 -1
- package/docs/MailboxApi.md +2 -2
- package/docs/MeetingsApi.md +118 -0
- package/docs/NewDeal.md +3 -0
- package/docs/OrganizationsApi.md +10 -4
- package/docs/ParticipantsChangelog.md +11 -0
- package/docs/ParticipantsChangelogItem.md +12 -0
- package/docs/PersonsApi.md +14 -5
- package/docs/PostDealParticipants.md +1 -1
- package/docs/PostDealParticipantsRelatedObjects.md +10 -0
- package/docs/ProductsApi.md +2 -2
- package/docs/RecentsApi.md +2 -2
- package/docs/ResponseCallLogObject.md +2 -1
- package/docs/UpdateDealRequest.md +3 -0
- package/docs/UserProviderLinkCreateRequest.md +12 -0
- package/docs/UserProviderLinkErrorResponse.md +10 -0
- package/docs/UserProviderLinkSuccessResponse.md +10 -0
- package/docs/UserProviderLinkSuccessResponseData.md +9 -0
- package/docs/UsersApi.md +2 -2
- package/migration.md +309 -0
- package/package.json +3 -3
- package/src/api/MeetingsApi.js +181 -0
- package/src/model/GetDealRelatedObjects.js +101 -0
- package/src/model/PostDealParticipantsRelatedObjects.js +90 -0
- package/src/model/UserProviderLinkCreateRequest.js +120 -0
- package/src/model/UserProviderLinkErrorResponse.js +90 -0
- package/src/model/UserProviderLinkSuccessResponse.js +90 -0
- package/src/model/UserProviderLinkSuccessResponseData.js +79 -0
- package/test/functional/access-token.test.js +5 -5
- package/test/functional/authorisation.test.js +5 -8
@@ -21,9 +21,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
21
21
|
});
|
22
22
|
};
|
23
23
|
import globalAxios from 'axios';
|
24
|
-
// URLSearchParams not necessarily used
|
25
|
-
// @ts-ignore
|
26
|
-
import { URL } from 'url';
|
27
24
|
// Some imports not used depending on template conditions
|
28
25
|
// @ts-ignore
|
29
26
|
import { DUMMY_BASE_URL, setApiKeyToObject, setOAuthToObject, setSearchParams, toPathString, createRequestFunction } from '../common';
|
@@ -72,26 +69,6 @@ export const UserConnectionsApiAxiosParamCreator = function (configuration) {
|
|
72
69
|
* @export
|
73
70
|
*/
|
74
71
|
export const UserConnectionsApiFp = function (configuration) {
|
75
|
-
/**
|
76
|
-
* Axios interceptor to add the SDK version as a User-Agent header
|
77
|
-
* */
|
78
|
-
globalAxios.interceptors.request.use(function (config) {
|
79
|
-
const version = require("../../package.json").version;
|
80
|
-
config.headers['User-Agent'] = `Pipedrive-SDK-Javascript-${version}`;
|
81
|
-
return config;
|
82
|
-
});
|
83
|
-
/**
|
84
|
-
* Axios response interceptor to modify response structure
|
85
|
-
*/
|
86
|
-
globalAxios.interceptors.response.use(function (response) {
|
87
|
-
return response.hasOwnProperty('success') ? response : response.data;
|
88
|
-
}, function (error) {
|
89
|
-
var _a;
|
90
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) {
|
91
|
-
return Promise.reject(error.response.data);
|
92
|
-
}
|
93
|
-
return Promise.reject(error);
|
94
|
-
});
|
95
72
|
const localVarAxiosParamCreator = UserConnectionsApiAxiosParamCreator(configuration);
|
96
73
|
return {
|
97
74
|
/**
|
@@ -21,9 +21,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
21
21
|
});
|
22
22
|
};
|
23
23
|
import globalAxios from 'axios';
|
24
|
-
// URLSearchParams not necessarily used
|
25
|
-
// @ts-ignore
|
26
|
-
import { URL } from 'url';
|
27
24
|
// Some imports not used depending on template conditions
|
28
25
|
// @ts-ignore
|
29
26
|
import { DUMMY_BASE_URL, setApiKeyToObject, setOAuthToObject, setSearchParams, toPathString, createRequestFunction } from '../common';
|
@@ -72,26 +69,6 @@ export const UserSettingsApiAxiosParamCreator = function (configuration) {
|
|
72
69
|
* @export
|
73
70
|
*/
|
74
71
|
export const UserSettingsApiFp = function (configuration) {
|
75
|
-
/**
|
76
|
-
* Axios interceptor to add the SDK version as a User-Agent header
|
77
|
-
* */
|
78
|
-
globalAxios.interceptors.request.use(function (config) {
|
79
|
-
const version = require("../../package.json").version;
|
80
|
-
config.headers['User-Agent'] = `Pipedrive-SDK-Javascript-${version}`;
|
81
|
-
return config;
|
82
|
-
});
|
83
|
-
/**
|
84
|
-
* Axios response interceptor to modify response structure
|
85
|
-
*/
|
86
|
-
globalAxios.interceptors.response.use(function (response) {
|
87
|
-
return response.hasOwnProperty('success') ? response : response.data;
|
88
|
-
}, function (error) {
|
89
|
-
var _a;
|
90
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) {
|
91
|
-
return Promise.reject(error.response.data);
|
92
|
-
}
|
93
|
-
return Promise.reject(error);
|
94
|
-
});
|
95
72
|
const localVarAxiosParamCreator = UserSettingsApiAxiosParamCreator(configuration);
|
96
73
|
return {
|
97
74
|
/**
|
@@ -21,9 +21,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
21
21
|
});
|
22
22
|
};
|
23
23
|
import globalAxios from 'axios';
|
24
|
-
// URLSearchParams not necessarily used
|
25
|
-
// @ts-ignore
|
26
|
-
import { URL } from 'url';
|
27
24
|
// Some imports not used depending on template conditions
|
28
25
|
// @ts-ignore
|
29
26
|
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
|
@@ -390,26 +387,6 @@ export const UsersApiAxiosParamCreator = function (configuration) {
|
|
390
387
|
* @export
|
391
388
|
*/
|
392
389
|
export const UsersApiFp = function (configuration) {
|
393
|
-
/**
|
394
|
-
* Axios interceptor to add the SDK version as a User-Agent header
|
395
|
-
* */
|
396
|
-
globalAxios.interceptors.request.use(function (config) {
|
397
|
-
const version = require("../../package.json").version;
|
398
|
-
config.headers['User-Agent'] = `Pipedrive-SDK-Javascript-${version}`;
|
399
|
-
return config;
|
400
|
-
});
|
401
|
-
/**
|
402
|
-
* Axios response interceptor to modify response structure
|
403
|
-
*/
|
404
|
-
globalAxios.interceptors.response.use(function (response) {
|
405
|
-
return response.hasOwnProperty('success') ? response : response.data;
|
406
|
-
}, function (error) {
|
407
|
-
var _a;
|
408
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) {
|
409
|
-
return Promise.reject(error.response.data);
|
410
|
-
}
|
411
|
-
return Promise.reject(error);
|
412
|
-
});
|
413
390
|
const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration);
|
414
391
|
return {
|
415
392
|
/**
|
@@ -136,26 +136,6 @@ export const WebhooksApiAxiosParamCreator = function (configuration) {
|
|
136
136
|
* @export
|
137
137
|
*/
|
138
138
|
export const WebhooksApiFp = function (configuration) {
|
139
|
-
/**
|
140
|
-
* Axios interceptor to add the SDK version as a User-Agent header
|
141
|
-
* */
|
142
|
-
globalAxios.interceptors.request.use(function (config) {
|
143
|
-
const version = require("../../package.json").version;
|
144
|
-
config.headers['User-Agent'] = `Pipedrive-SDK-Javascript-${version}`;
|
145
|
-
return config;
|
146
|
-
});
|
147
|
-
/**
|
148
|
-
* Axios response interceptor to modify response structure
|
149
|
-
*/
|
150
|
-
globalAxios.interceptors.response.use(function (response) {
|
151
|
-
return response.hasOwnProperty('success') ? response : response.data;
|
152
|
-
}, function (error) {
|
153
|
-
var _a;
|
154
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) {
|
155
|
-
return Promise.reject(error.response.data);
|
156
|
-
}
|
157
|
-
return Promise.reject(error);
|
158
|
-
});
|
159
139
|
const localVarAxiosParamCreator = WebhooksApiAxiosParamCreator(configuration);
|
160
140
|
return {
|
161
141
|
/**
|
package/dist/esm/base.js
CHANGED
@@ -23,6 +23,32 @@ export const COLLECTION_FORMATS = {
|
|
23
23
|
tsv: "\t",
|
24
24
|
pipes: "|",
|
25
25
|
};
|
26
|
+
/**
|
27
|
+
* Axios interceptor to add the SDK version as a User-Agent header
|
28
|
+
* */
|
29
|
+
globalAxios.interceptors.request.use(function (config) {
|
30
|
+
let version;
|
31
|
+
try {
|
32
|
+
version = require('../package.json').version;
|
33
|
+
}
|
34
|
+
catch (error) {
|
35
|
+
version = '22.x';
|
36
|
+
}
|
37
|
+
config.headers['User-Agent'] = `Pipedrive-SDK-Javascript-${version}`;
|
38
|
+
return config;
|
39
|
+
});
|
40
|
+
/**
|
41
|
+
* Axios response interceptor to modify response structure
|
42
|
+
*/
|
43
|
+
globalAxios.interceptors.response.use(function (response) {
|
44
|
+
return response ? (response.hasOwnProperty('success') ? response : response.data) : response;
|
45
|
+
}, function (error) {
|
46
|
+
var _a;
|
47
|
+
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) {
|
48
|
+
return Promise.reject(error.response.data);
|
49
|
+
}
|
50
|
+
return Promise.reject(error);
|
51
|
+
});
|
26
52
|
/**
|
27
53
|
*
|
28
54
|
* @export
|
package/dist/esm/common.d.ts
CHANGED
package/dist/esm/common.js
CHANGED
@@ -25,7 +25,6 @@ import { stringify } from "qs";
|
|
25
25
|
;
|
26
26
|
export class OAuth2Configuration {
|
27
27
|
constructor(params) {
|
28
|
-
this.host = "https://oauth.pipedrive.com";
|
29
28
|
this.accessToken = null;
|
30
29
|
this.refreshToken = null;
|
31
30
|
this.scope = null;
|
@@ -112,7 +111,13 @@ export class OAuth2Configuration {
|
|
112
111
|
return token;
|
113
112
|
};
|
114
113
|
this.getUserAgent = () => {
|
115
|
-
|
114
|
+
let version;
|
115
|
+
try {
|
116
|
+
version = require('../package.json').version;
|
117
|
+
}
|
118
|
+
catch (error) {
|
119
|
+
version = '22.x';
|
120
|
+
}
|
116
121
|
return `Pipedrive-SDK-Javascript-${version}`;
|
117
122
|
};
|
118
123
|
this.validateParam = (params, key) => {
|
@@ -124,6 +129,7 @@ export class OAuth2Configuration {
|
|
124
129
|
this.clientId = this.validateParam(params, 'clientId');
|
125
130
|
this.clientSecret = this.validateParam(params, 'clientSecret');
|
126
131
|
this.redirectUri = this.validateParam(params, 'redirectUri');
|
132
|
+
this.host = params.host || "https://oauth.pipedrive.com";
|
127
133
|
}
|
128
134
|
get authorizationUrl() {
|
129
135
|
return `${this.host}/oauth/authorize?client_id=${this.clientId}&redirect_uri=${encodeURIComponent(this.redirectUri)}`;
|
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
|
|
7
7
|
**subscriptionUrl** | **String** | A full, valid, publicly accessible URL which determines where to send the notifications. Please note that you cannot use Pipedrive API endpoints as the `subscription_url` and the chosen URL must not redirect to another link. |
|
8
8
|
**eventAction** | **String** | The type of action to receive notifications about. Wildcard will match all supported actions. |
|
9
9
|
**eventObject** | **String** | The type of object to receive notifications about. Wildcard will match all supported objects. |
|
10
|
-
**userId** | **Number** | The ID of the user that this webhook will be authorized with. You have the option to use a different user's `user_id`. If it is not set, the current user's `user_id` will be used. As each webhook event is checked against a user
|
10
|
+
**userId** | **Number** | The ID of the user that this webhook will be authorized with. You have the option to use a different user's `user_id`. If it is not set, the current user's `user_id` will be used. As each webhook event is checked against a user's permissions, the webhook will only be sent if the user has access to the specified object(s). If you want to receive notifications for all events, please use a top-level admin user’s `user_id`. | [optional]
|
11
11
|
**httpAuthUser** | **String** | The HTTP basic auth username of the subscription URL endpoint (if required) | [optional]
|
12
12
|
**httpAuthPassword** | **String** | The HTTP basic auth password of the subscription URL endpoint (if required) | [optional]
|
13
13
|
**version** | **String** | The webhook's version | [optional] [default to '1.0']
|
package/docs/BasicDeal.md
CHANGED
@@ -4,6 +4,9 @@
|
|
4
4
|
|
5
5
|
Name | Type | Description | Notes
|
6
6
|
------------ | ------------- | ------------- | -------------
|
7
|
+
**wonTime** | **String** | The optional date and time of changing the deal status as won in UTC. Format: YYYY-MM-DD HH:MM:SS. Can be set only when deal `status` is already Won. Can not be used together with `lost_time`. | [optional]
|
8
|
+
**lostTime** | **String** | The optional date and time of changing the deal status as lost in UTC. Format: YYYY-MM-DD HH:MM:SS. Can be set only when deal `status` is already Lost. Can not be used together with `won_time`. | [optional]
|
9
|
+
**closeTime** | **String** | The optional date and time of closing the deal in UTC. Format: YYYY-MM-DD HH:MM:SS. | [optional]
|
7
10
|
**expectedCloseDate** | **Date** | The expected close date of the deal. In ISO 8601 format: YYYY-MM-DD. | [optional]
|
8
11
|
**probability** | **Number** | The success probability percentage of the deal. Used/shown only when `deal_probability` for the pipeline of the deal is enabled. | [optional]
|
9
12
|
**lostReason** | **String** | The optional message about why the deal was lost (to be used when status = lost) | [optional]
|
package/docs/CallLogObject.md
CHANGED
@@ -15,7 +15,8 @@ Name | Type | Description | Notes
|
|
15
15
|
**endTime** | **Date** | The date and time of the end of the call in UTC. Format: YYYY-MM-DD HH:MM:SS. |
|
16
16
|
**personId** | **Number** | The ID of the person this call is associated with | [optional]
|
17
17
|
**orgId** | **Number** | The ID of the organization this call is associated with | [optional]
|
18
|
-
**dealId** | **Number** | The ID of the deal this call is associated with | [optional]
|
18
|
+
**dealId** | **Number** | The ID of the deal this call is associated with. A call log can be associated with either a deal or a lead, but not both at once. | [optional]
|
19
|
+
**leadId** | **String** | The ID of the lead in the UUID format this call is associated with. A call log can be associated with either a deal or a lead, but not both at once. | [optional]
|
19
20
|
**note** | **String** | The note for the call log in HTML format | [optional]
|
20
21
|
|
21
22
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Pipedrive.DealParticipantsChangelog
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
|
5
|
+
Name | Type | Description | Notes
|
6
|
+
------------ | ------------- | ------------- | -------------
|
7
|
+
**actorUserId** | **Number** | The ID of the user | [optional]
|
8
|
+
**personId** | **Number** | The ID of the person | [optional]
|
9
|
+
**action** | **String** | Deal participant action type | [optional]
|
10
|
+
**time** | **String** | The deal participant action log time | [optional]
|
11
|
+
|
12
|
+
|
package/docs/DealsApi.md
CHANGED
@@ -20,6 +20,7 @@ Method | HTTP request | Description
|
|
20
20
|
[**getDealFollowers**](DealsApi.md#getDealFollowers) | **GET** /deals/{id}/followers | List followers of a deal
|
21
21
|
[**getDealMailMessages**](DealsApi.md#getDealMailMessages) | **GET** /deals/{id}/mailMessages | List mail messages associated with a deal
|
22
22
|
[**getDealParticipants**](DealsApi.md#getDealParticipants) | **GET** /deals/{id}/participants | List participants of a deal
|
23
|
+
[**getDealParticipantsChangelog**](DealsApi.md#getDealParticipantsChangelog) | **GET** /deals/{id}/participantsChangelog | List updates about participants of a deal
|
23
24
|
[**getDealPersons**](DealsApi.md#getDealPersons) | **GET** /deals/{id}/persons | List all persons associated with a deal
|
24
25
|
[**getDealProducts**](DealsApi.md#getDealProducts) | **GET** /deals/{id}/products | List products attached to a deal
|
25
26
|
[**getDealUpdates**](DealsApi.md#getDealUpdates) | **GET** /deals/{id}/flow | List updates about a deal
|
@@ -933,6 +934,65 @@ Name | Type | Description | Notes
|
|
933
934
|
- **Accept**: application/json
|
934
935
|
|
935
936
|
|
937
|
+
## getDealParticipantsChangelog
|
938
|
+
|
939
|
+
> ParticipantsChangelog getDealParticipantsChangelog(id, opts)
|
940
|
+
|
941
|
+
List updates about participants of a deal
|
942
|
+
|
943
|
+
List updates about participants of a deal. This is a cursor-paginated endpoint. For more information, please refer to our documentation on <a href=\"https://pipedrive.readme.io/docs/core-api-concepts-pagination\" target=\"_blank\" rel=\"noopener noreferrer\">pagination</a>.
|
944
|
+
|
945
|
+
### Example
|
946
|
+
|
947
|
+
```javascript
|
948
|
+
import Pipedrive from 'pipedrive';
|
949
|
+
let apiClient = new Pipedrive.ApiClient();
|
950
|
+
// Configure API key authorization: api_key
|
951
|
+
let api_key = apiClient.authentications['api_key'];
|
952
|
+
api_key.apiKey = 'YOUR API KEY';
|
953
|
+
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
954
|
+
//api_key.apiKeyPrefix = 'Token';
|
955
|
+
// Configure OAuth2 access token for authorization: oauth2
|
956
|
+
let oauth2 = apiClient.authentications['oauth2'];
|
957
|
+
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
958
|
+
|
959
|
+
let apiInstance = new Pipedrive.DealsApi(apiClient);
|
960
|
+
let id = 56; // Number | The ID of the deal
|
961
|
+
let opts = {
|
962
|
+
'limit': 56, // Number | Items shown per page
|
963
|
+
'cursor': "cursor_example" // String | For pagination, the marker (an opaque string value) representing the first item on the next page
|
964
|
+
};
|
965
|
+
apiInstance.getDealParticipantsChangelog(id, opts).then((data) => {
|
966
|
+
console.log('API called successfully. Returned data: ' + data);
|
967
|
+
}, (error) => {
|
968
|
+
console.error(error);
|
969
|
+
});
|
970
|
+
|
971
|
+
```
|
972
|
+
|
973
|
+
### Parameters
|
974
|
+
|
975
|
+
|
976
|
+
Name | Type | Description | Notes
|
977
|
+
------------- | ------------- | ------------- | -------------
|
978
|
+
**id** | **Number**| The ID of the deal |
|
979
|
+
**limit** | **Number**| Items shown per page | [optional]
|
980
|
+
**cursor** | **String**| For pagination, the marker (an opaque string value) representing the first item on the next page | [optional]
|
981
|
+
|
982
|
+
### Return type
|
983
|
+
|
984
|
+
[**ParticipantsChangelog**](ParticipantsChangelog.md)
|
985
|
+
|
986
|
+
### Authorization
|
987
|
+
|
988
|
+
[api_key](../README.md#api_key), [oauth2](../README.md#oauth2)
|
989
|
+
|
990
|
+
### HTTP request headers
|
991
|
+
|
992
|
+
- **Content-Type**: Not defined
|
993
|
+
- **Accept**: application/json
|
994
|
+
|
995
|
+
|
936
996
|
## getDealPersons
|
937
997
|
|
938
998
|
> ListPersonsResponse getDealPersons(id, opts)
|
@@ -1081,7 +1141,7 @@ let opts = {
|
|
1081
1141
|
'start': 0, // Number | Pagination start
|
1082
1142
|
'limit': 56, // Number | Items shown per page
|
1083
1143
|
'allChanges': "allChanges_example", // String | Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates.
|
1084
|
-
'items': "items_example" // String | A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change)
|
1144
|
+
'items': "items_example" // String | A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change).
|
1085
1145
|
};
|
1086
1146
|
apiInstance.getDealUpdates(id, opts).then((data) => {
|
1087
1147
|
console.log('API called successfully. Returned data: ' + data);
|
@@ -1100,7 +1160,7 @@ Name | Type | Description | Notes
|
|
1100
1160
|
**start** | **Number**| Pagination start | [optional] [default to 0]
|
1101
1161
|
**limit** | **Number**| Items shown per page | [optional]
|
1102
1162
|
**allChanges** | **String**| Whether to show custom field updates or not. 1 = Include custom field changes. If omitted returns changes without custom field updates. | [optional]
|
1103
|
-
**items** | **String**| A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change) | [optional]
|
1163
|
+
**items** | **String**| A comma-separated string for filtering out item specific updates. (Possible values - call, activity, plannedActivity, change, note, deal, file, dealChange, personChange, organizationChange, follower, dealFollower, personFollower, organizationFollower, participant, comment, mailMessage, mailMessageWithAttachment, invoice, document, marketing_campaign_stat, marketing_status_change). | [optional]
|
1104
1164
|
|
1105
1165
|
### Return type
|
1106
1166
|
|
@@ -1134,6 +1194,9 @@ let api_key = apiClient.authentications['api_key'];
|
|
1134
1194
|
api_key.apiKey = 'YOUR API KEY';
|
1135
1195
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
1136
1196
|
//api_key.apiKeyPrefix = 'Token';
|
1197
|
+
// Configure OAuth2 access token for authorization: oauth2
|
1198
|
+
let oauth2 = apiClient.authentications['oauth2'];
|
1199
|
+
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
1137
1200
|
|
1138
1201
|
let apiInstance = new Pipedrive.DealsApi(apiClient);
|
1139
1202
|
let id = 56; // Number | The ID of the deal
|
@@ -1158,7 +1221,7 @@ Name | Type | Description | Notes
|
|
1158
1221
|
|
1159
1222
|
### Authorization
|
1160
1223
|
|
1161
|
-
[api_key](../README.md#api_key)
|
1224
|
+
[api_key](../README.md#api_key), [oauth2](../README.md#oauth2)
|
1162
1225
|
|
1163
1226
|
### HTTP request headers
|
1164
1227
|
|
@@ -1326,7 +1389,7 @@ oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
|
1326
1389
|
|
1327
1390
|
let apiInstance = new Pipedrive.DealsApi(apiClient);
|
1328
1391
|
let opts = {
|
1329
|
-
'status': "status_example", // String | Only fetch deals with a specific status. open = Open, won = Won, lost = Lost
|
1392
|
+
'status': "status_example", // String | Only fetch deals with a specific status. open = Open, won = Won, lost = Lost.
|
1330
1393
|
'filterId': 56, // Number | <code>user_id</code> will not be considered. Only deals matching the given filter will be returned.
|
1331
1394
|
'userId': 56, // Number | Only deals matching the given user will be returned. `user_id` will not be considered if you use `filter_id`.
|
1332
1395
|
'stageId': 56 // Number | Only deals within the given stage will be returned
|
@@ -1344,7 +1407,7 @@ apiInstance.getDealsSummary(opts).then((data) => {
|
|
1344
1407
|
|
1345
1408
|
Name | Type | Description | Notes
|
1346
1409
|
------------- | ------------- | ------------- | -------------
|
1347
|
-
**status** | **String**| Only fetch deals with a specific status. open = Open, won = Won, lost = Lost | [optional]
|
1410
|
+
**status** | **String**| Only fetch deals with a specific status. open = Open, won = Won, lost = Lost. | [optional]
|
1348
1411
|
**filterId** | **Number**| <code>user_id</code> will not be considered. Only deals matching the given filter will be returned. | [optional]
|
1349
1412
|
**userId** | **Number**| Only deals matching the given user will be returned. `user_id` will not be considered if you use `filter_id`. | [optional]
|
1350
1413
|
**stageId** | **Number**| Only deals within the given stage will be returned | [optional]
|
@@ -1386,7 +1449,7 @@ let oauth2 = apiClient.authentications['oauth2'];
|
|
1386
1449
|
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
1387
1450
|
|
1388
1451
|
let apiInstance = new Pipedrive.DealsApi(apiClient);
|
1389
|
-
let startDate = new Date("2013-10-20"); // Date | The date when the first interval starts. Format: YYYY-MM-DD
|
1452
|
+
let startDate = new Date("2013-10-20"); // Date | The date when the first interval starts. Format: YYYY-MM-DD.
|
1390
1453
|
let interval = "interval_example"; // String | The type of the interval<table><tr><th>Value</th><th>Description</th></tr><tr><td>`day`</td><td>Day</td></tr><tr><td>`week`</td><td>A full week (7 days) starting from `start_date`</td></tr><tr><td>`month`</td><td>A full month (depending on the number of days in given month) starting from `start_date`</td></tr><tr><td>`quarter`</td><td>A full quarter (3 months) starting from `start_date`</td></tr></table>
|
1391
1454
|
let amount = 56; // Number | The number of given intervals, starting from `start_date`, to fetch. E.g. 3 (months).
|
1392
1455
|
let fieldKey = "fieldKey_example"; // String | The date field key which deals will be retrieved from
|
@@ -1410,7 +1473,7 @@ apiInstance.getDealsTimeline(startDate, interval, amount, fieldKey, opts).then((
|
|
1410
1473
|
|
1411
1474
|
Name | Type | Description | Notes
|
1412
1475
|
------------- | ------------- | ------------- | -------------
|
1413
|
-
**startDate** | **Date**| The date when the first interval starts. Format: YYYY-MM-DD |
|
1476
|
+
**startDate** | **Date**| The date when the first interval starts. Format: YYYY-MM-DD. |
|
1414
1477
|
**interval** | **String**| The type of the interval<table><tr><th>Value</th><th>Description</th></tr><tr><td>`day`</td><td>Day</td></tr><tr><td>`week`</td><td>A full week (7 days) starting from `start_date`</td></tr><tr><td>`month`</td><td>A full month (depending on the number of days in given month) starting from `start_date`</td></tr><tr><td>`quarter`</td><td>A full quarter (3 months) starting from `start_date`</td></tr></table> |
|
1415
1478
|
**amount** | **Number**| The number of given intervals, starting from `start_date`, to fetch. E.g. 3 (months). |
|
1416
1479
|
**fieldKey** | **String**| The date field key which deals will be retrieved from |
|
@@ -1637,6 +1700,9 @@ let api_key = apiClient.authentications['api_key'];
|
|
1637
1700
|
api_key.apiKey = 'YOUR API KEY';
|
1638
1701
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
1639
1702
|
//api_key.apiKeyPrefix = 'Token';
|
1703
|
+
// Configure OAuth2 access token for authorization: oauth2
|
1704
|
+
let oauth2 = apiClient.authentications['oauth2'];
|
1705
|
+
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
1640
1706
|
|
1641
1707
|
let apiInstance = new Pipedrive.DealsApi(apiClient);
|
1642
1708
|
let id = 56; // Number | The ID of the deal
|
@@ -1667,7 +1733,7 @@ Name | Type | Description | Notes
|
|
1667
1733
|
|
1668
1734
|
### Authorization
|
1669
1735
|
|
1670
|
-
[api_key](../README.md#api_key)
|
1736
|
+
[api_key](../README.md#api_key), [oauth2](../README.md#oauth2)
|
1671
1737
|
|
1672
1738
|
### HTTP request headers
|
1673
1739
|
|
package/docs/FiltersApi.md
CHANGED
@@ -246,6 +246,9 @@ let api_key = apiClient.authentications['api_key'];
|
|
246
246
|
api_key.apiKey = 'YOUR API KEY';
|
247
247
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
248
248
|
//api_key.apiKeyPrefix = 'Token';
|
249
|
+
// Configure OAuth2 access token for authorization: oauth2
|
250
|
+
let oauth2 = apiClient.authentications['oauth2'];
|
251
|
+
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
249
252
|
|
250
253
|
let apiInstance = new Pipedrive.FiltersApi(apiClient);
|
251
254
|
apiInstance.getFilterHelpers().then((data) => {
|
@@ -266,7 +269,7 @@ This endpoint does not need any parameter.
|
|
266
269
|
|
267
270
|
### Authorization
|
268
271
|
|
269
|
-
[api_key](../README.md#api_key)
|
272
|
+
[api_key](../README.md#api_key), [oauth2](../README.md#oauth2)
|
270
273
|
|
271
274
|
### HTTP request headers
|
272
275
|
|
package/docs/GetDeal.md
CHANGED
@@ -7,6 +7,6 @@ Name | Type | Description | Notes
|
|
7
7
|
**success** | **Boolean** | If the response is successful or not | [optional]
|
8
8
|
**data** | [**DealNonStrictWithDetails**](DealNonStrictWithDetails.md) | | [optional]
|
9
9
|
**additionalData** | [**GetDealAdditionalData**](GetDealAdditionalData.md) | | [optional]
|
10
|
-
**relatedObjects** | [**
|
10
|
+
**relatedObjects** | [**GetDealRelatedObjects**](GetDealRelatedObjects.md) | | [optional]
|
11
11
|
|
12
12
|
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Pipedrive.GetDealRelatedObjects
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
|
5
|
+
Name | Type | Description | Notes
|
6
|
+
------------ | ------------- | ------------- | -------------
|
7
|
+
**user** | [**RelatedUserData**](RelatedUserData.md) | | [optional]
|
8
|
+
**person** | [**RelatedPersonDataWithActiveFlag**](RelatedPersonDataWithActiveFlag.md) | | [optional]
|
9
|
+
**organization** | [**RelatedOrganizationDataWithActiveFlag**](RelatedOrganizationDataWithActiveFlag.md) | | [optional]
|
10
|
+
|
11
|
+
|
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
Name | Type | Description | Notes
|
6
6
|
------------ | ------------- | ------------- | -------------
|
7
|
-
**user** | [**
|
8
|
-
**organization** | [**
|
9
|
-
**person** | [**
|
7
|
+
**user** | [**RelatedUserData**](RelatedUserData.md) | | [optional]
|
8
|
+
**organization** | [**RelatedOrganizationDataWithActiveFlag**](RelatedOrganizationDataWithActiveFlag.md) | | [optional]
|
9
|
+
**person** | [**RelatedPersonDataWithActiveFlag**](RelatedPersonDataWithActiveFlag.md) | | [optional]
|
10
10
|
|
11
11
|
|
package/docs/ItemSearchApi.md
CHANGED
@@ -36,7 +36,7 @@ let term = "term_example"; // String | The search term to look for. Minimum 2 ch
|
|
36
36
|
let opts = {
|
37
37
|
'itemTypes': "itemTypes_example", // String | A comma-separated string array. The type of items to perform the search from. Defaults to all.
|
38
38
|
'fields': "fields_example", // String | A comma-separated string array. The fields to perform the search from. Defaults to all. Relevant for each item type are:<br> <table> <tr><th><b>Item type</b></th><th><b>Field</b></th></tr> <tr><td>Deal</td><td>`custom_fields`, `notes`, `title`</td></tr> <tr><td>Person</td><td>`custom_fields`, `email`, `name`, `notes`, `phone`</td></tr> <tr><td>Organization</td><td>`address`, `custom_fields`, `name`, `notes`</td></tr> <tr><td>Product</td><td>`code`, `custom_fields`, `name`</td></tr> <tr><td>Lead</td><td>`custom_fields`, `notes`, `email`, `organization_name`, `person_name`, `phone`, `title`</td></tr> <tr><td>File</td><td>`name`</td></tr> <tr><td>Mail attachment</td><td>`name`</td></tr> <tr><td>Project</td><td> `custom_fields`, `notes`, `title`, `description` </td></tr> </table> <br> Only the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields <a href=\"https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.<br/> When searching for leads, the email, organization_name, person_name, and phone fields will return results only for leads not linked to contacts. For searching leads by person or organization values, please use `search_for_related_items`.
|
39
|
-
'searchForRelatedItems': true, // Boolean | When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization
|
39
|
+
'searchForRelatedItems': true, // Boolean | When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization
|
40
40
|
'exactMatch': true, // Boolean | When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive.
|
41
41
|
'includeFields': "includeFields_example", // String | A comma-separated string array. Supports including optional fields in the results which are not provided by default.
|
42
42
|
'start': 0, // Number | Pagination start. Note that the pagination is based on main results and does not include related items when using `search_for_related_items` parameter.
|
@@ -58,7 +58,7 @@ Name | Type | Description | Notes
|
|
58
58
|
**term** | **String**| The search term to look for. Minimum 2 characters (or 1 if using `exact_match`). Please note that the search term has to be URL encoded. |
|
59
59
|
**itemTypes** | **String**| A comma-separated string array. The type of items to perform the search from. Defaults to all. | [optional]
|
60
60
|
**fields** | **String**| A comma-separated string array. The fields to perform the search from. Defaults to all. Relevant for each item type are:<br> <table> <tr><th><b>Item type</b></th><th><b>Field</b></th></tr> <tr><td>Deal</td><td>`custom_fields`, `notes`, `title`</td></tr> <tr><td>Person</td><td>`custom_fields`, `email`, `name`, `notes`, `phone`</td></tr> <tr><td>Organization</td><td>`address`, `custom_fields`, `name`, `notes`</td></tr> <tr><td>Product</td><td>`code`, `custom_fields`, `name`</td></tr> <tr><td>Lead</td><td>`custom_fields`, `notes`, `email`, `organization_name`, `person_name`, `phone`, `title`</td></tr> <tr><td>File</td><td>`name`</td></tr> <tr><td>Mail attachment</td><td>`name`</td></tr> <tr><td>Project</td><td> `custom_fields`, `notes`, `title`, `description` </td></tr> </table> <br> Only the following custom field types are searchable: `address`, `varchar`, `text`, `varchar_auto`, `double`, `monetary` and `phone`. Read more about searching by custom fields <a href=\"https://support.pipedrive.com/en/article/search-finding-what-you-need#searching-by-custom-fields\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.<br/> When searching for leads, the email, organization_name, person_name, and phone fields will return results only for leads not linked to contacts. For searching leads by person or organization values, please use `search_for_related_items`. | [optional]
|
61
|
-
**searchForRelatedItems** | **Boolean**| When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization
|
61
|
+
**searchForRelatedItems** | **Boolean**| When enabled, the response will include up to 100 newest related leads and 100 newest related deals for each found person and organization and up to 100 newest related persons for each found organization | [optional]
|
62
62
|
**exactMatch** | **Boolean**| When enabled, only full exact matches against the given term are returned. It is <b>not</b> case sensitive. | [optional]
|
63
63
|
**includeFields** | **String**| A comma-separated string array. Supports including optional fields in the results which are not provided by default. | [optional]
|
64
64
|
**start** | **Number**| Pagination start. Note that the pagination is based on main results and does not include related items when using `search_for_related_items` parameter. | [optional] [default to 0]
|
package/docs/LeadsApi.md
CHANGED
@@ -193,6 +193,9 @@ let api_key = apiClient.authentications['api_key'];
|
|
193
193
|
api_key.apiKey = 'YOUR API KEY';
|
194
194
|
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
|
195
195
|
//api_key.apiKeyPrefix = 'Token';
|
196
|
+
// Configure OAuth2 access token for authorization: oauth2
|
197
|
+
let oauth2 = apiClient.authentications['oauth2'];
|
198
|
+
oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
196
199
|
|
197
200
|
let apiInstance = new Pipedrive.LeadsApi(apiClient);
|
198
201
|
let id = "id_example"; // String | The ID of the lead
|
@@ -217,7 +220,7 @@ Name | Type | Description | Notes
|
|
217
220
|
|
218
221
|
### Authorization
|
219
222
|
|
220
|
-
[api_key](../README.md#api_key)
|
223
|
+
[api_key](../README.md#api_key), [oauth2](../README.md#oauth2)
|
221
224
|
|
222
225
|
### HTTP request headers
|
223
226
|
|
package/docs/MailboxApi.md
CHANGED
@@ -91,7 +91,7 @@ oauth2.accessToken = 'YOUR ACCESS TOKEN';
|
|
91
91
|
let apiInstance = new Pipedrive.MailboxApi(apiClient);
|
92
92
|
let id = 56; // Number | The ID of the mail message to fetch
|
93
93
|
let opts = {
|
94
|
-
'includeBody': new Pipedrive.NumberBooleanDefault0() // NumberBooleanDefault0 | Whether to include the full message body or not. `0` = Don't include, `1` = Include
|
94
|
+
'includeBody': new Pipedrive.NumberBooleanDefault0() // NumberBooleanDefault0 | Whether to include the full message body or not. `0` = Don't include, `1` = Include.
|
95
95
|
};
|
96
96
|
apiInstance.getMailMessage(id, opts).then((data) => {
|
97
97
|
console.log('API called successfully. Returned data: ' + data);
|
@@ -107,7 +107,7 @@ apiInstance.getMailMessage(id, opts).then((data) => {
|
|
107
107
|
Name | Type | Description | Notes
|
108
108
|
------------- | ------------- | ------------- | -------------
|
109
109
|
**id** | **Number**| The ID of the mail message to fetch |
|
110
|
-
**includeBody** | [**NumberBooleanDefault0**](.md)| Whether to include the full message body or not. `0` = Don't include, `1` = Include | [optional]
|
110
|
+
**includeBody** | [**NumberBooleanDefault0**](.md)| Whether to include the full message body or not. `0` = Don't include, `1` = Include. | [optional]
|
111
111
|
|
112
112
|
### Return type
|
113
113
|
|