diff --git a/CHANGELOG.md b/CHANGELOG.md index 23dfb3fd..7f107f7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ The file format of it is based on [Keep a Changelog](http://keepachangelog.com/e For public Changelog covering all changes done to Pipedrive’s API, webhooks and app extensions platforms, see [public Changelog](https://pipedrive.readme.io/docs/changelog) with discussion area in [Developers Community](https://devcommunity.pipedrive.com/c/documentation/changelog/19). ## [Unreleased] +### Added +- Added `POST /deals/{id}/products/bulk` endpoint for creating multiple deal products at once (max 100 per request) +- Added `DELETE /deals/{id}/products` endpoint for deleting multiple deal products at once (max 100 per request) ## [30.0.0] - 2025-10-06 ### Changed diff --git a/docs/v2.md b/docs/v2.md index 8aeb2ead..b4987ea7 100644 --- a/docs/v2.md +++ b/docs/v2.md @@ -24,12 +24,14 @@ BetaApi | uploadProductImage | **POST** /products/{id}/images | Upload an image DealsApi | addDeal | **POST** /deals | Add a new deal DealsApi | addDealFollower | **POST** /deals/{id}/followers | Add a follower to a deal DealsApi | addDealProduct | **POST** /deals/{id}/products | Add a product to a deal +DealsApi | addManyDealProducts | **POST** /deals/{id}/products/bulk | Add multiple products to a deal DealsApi | convertDealToLead | **POST** /deals/{id}/convert/lead | Convert a deal to a lead (BETA) DealsApi | deleteAdditionalDiscount | **DELETE** /deals/{id}/discounts/{discount_id} | Delete a discount from a deal DealsApi | deleteDeal | **DELETE** /deals/{id} | Delete a deal DealsApi | deleteDealFollower | **DELETE** /deals/{id}/followers/{follower_id} | Delete a follower from a deal DealsApi | deleteDealProduct | **DELETE** /deals/{id}/products/{product_attachment_id} | Delete an attached product from a deal DealsApi | deleteInstallment | **DELETE** /deals/{id}/installments/{installment_id} | Delete an installment from a deal +DealsApi | deleteManyDealProducts | **DELETE** /deals/{id}/products | Delete many products from a deal DealsApi | getAdditionalDiscounts | **GET** /deals/{id}/discounts | List discounts added to a deal DealsApi | getArchivedDeals | **GET** /deals/archived | Get all archived deals DealsApi | getDeal | **GET** /deals/{id} | Get details of a deal diff --git a/src/versions/v2/api/deals-api.ts b/src/versions/v2/api/deals-api.ts index e0c82e32..b7f8cacb 100644 --- a/src/versions/v2/api/deals-api.ts +++ b/src/versions/v2/api/deals-api.ts @@ -42,6 +42,10 @@ import { AddFollowerResponse } from '../models'; // @ts-ignore import { AddInstallmentRequestBody } from '../models'; // @ts-ignore +import { AddManyDealProductResponse } from '../models'; +// @ts-ignore +import { CreateManyDealProductRequest } from '../models'; +// @ts-ignore import { DeleteAdditionalDiscountResponse } from '../models'; // @ts-ignore import { DeleteDealProductResponse } from '../models'; @@ -52,6 +56,8 @@ import { DeleteFollowerResponse } from '../models'; // @ts-ignore import { DeleteInstallmentResponse } from '../models'; // @ts-ignore +import { DeleteManyDealProductResponse } from '../models'; +// @ts-ignore import { GetAdditionalDiscountsResponse } from '../models'; // @ts-ignore import { GetConvertResponse } from '../models'; @@ -220,6 +226,51 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration options: localVarRequestOptions, }; }, + /** + * Adds multiple products to a deal in a single request. Maximum of 100 products allowed per request. + * @summary Add multiple products to a deal + * @param {number} id The ID of the deal + * @param {CreateManyDealProductRequest} [CreateManyDealProductRequest] + + * @throws {RequiredError} + */ + addManyDealProducts: async (id: number, CreateManyDealProductRequest?: CreateManyDealProductRequest, ): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('addManyDealProducts', 'id', id) + const localVarPath = `/deals/{id}/products/bulk` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions }; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication api_key required + await setApiKeyToObject(localVarHeaderParameter, "x-api-token", configuration) + + // authentication oauth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "oauth2", ["products:full", "deals:full"], configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, }; + localVarRequestOptions.data = serializeDataIfNeeded(CreateManyDealProductRequest, localVarRequestOptions, configuration) + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, /** * Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint. * @summary Convert a deal to a lead (BETA) @@ -265,11 +316,11 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration * Removes a discount from a deal, changing the deal value if the deal has one-time products attached. * @summary Delete a discount from a deal * @param {number} id The ID of the deal - * @param {number} discount_id The ID of the discount + * @param {string} discount_id The ID of the discount * @throws {RequiredError} */ - deleteAdditionalDiscount: async (id: number, discount_id: number, ): Promise => { + deleteAdditionalDiscount: async (id: number, discount_id: string, ): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('deleteAdditionalDiscount', 'id', id) // verify required parameter 'discount_id' is not null or undefined @@ -473,6 +524,52 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, }; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * Deletes multiple products from a deal. If no product IDs are specified, up to 100 products will be removed from the deal. A maximum of 100 product IDs can be provided per request. + * @summary Delete many products from a deal + * @param {number} id The ID of the deal + * @param {string} [ids] Comma-separated list of deal product IDs to delete. If not provided, all deal products will be deleted up to 100 items. Maximum 100 IDs allowed. + + * @throws {RequiredError} + */ + deleteManyDealProducts: async (id: number, ids?: string, ): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('deleteManyDealProducts', 'id', id) + const localVarPath = `/deals/{id}/products` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'DELETE', ...baseOptions }; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication api_key required + await setApiKeyToObject(localVarHeaderParameter, "x-api-token", configuration) + + // authentication oauth2 required + // oauth required + await setOAuthToObject(localVarHeaderParameter, "oauth2", ["products:full", "deals:full"], configuration) + + if (ids !== undefined) { + localVarQueryParameter['ids'] = ids; + } + + + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, }; @@ -1322,12 +1419,12 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration * Edits a discount added to a deal, changing the deal value if the deal has one-time products attached. * @summary Update a discount added to a deal * @param {number} id The ID of the deal - * @param {number} discount_id The ID of the discount + * @param {string} discount_id The ID of the discount * @param {UpdateAdditionalDiscountRequestBody} [UpdateAdditionalDiscountRequestBody] * @throws {RequiredError} */ - updateAdditionalDiscount: async (id: number, discount_id: number, UpdateAdditionalDiscountRequestBody?: UpdateAdditionalDiscountRequestBody, ): Promise => { + updateAdditionalDiscount: async (id: number, discount_id: string, UpdateAdditionalDiscountRequestBody?: UpdateAdditionalDiscountRequestBody, ): Promise => { // verify required parameter 'id' is not null or undefined assertParamExists('updateAdditionalDiscount', 'id', id) // verify required parameter 'discount_id' is not null or undefined @@ -1556,6 +1653,18 @@ export const DealsApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.addDealProduct(id, AddDealProductRequest, ); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, + /** + * Adds multiple products to a deal in a single request. Maximum of 100 products allowed per request. + * @summary Add multiple products to a deal + * @param {number} id The ID of the deal + * @param {CreateManyDealProductRequest} [CreateManyDealProductRequest] + + * @throws {RequiredError} + */ + async addManyDealProducts(id: number, CreateManyDealProductRequest?: CreateManyDealProductRequest, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.addManyDealProducts(id, CreateManyDealProductRequest, ); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, /** * Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint. * @summary Convert a deal to a lead (BETA) @@ -1571,11 +1680,11 @@ export const DealsApiFp = function(configuration?: Configuration) { * Removes a discount from a deal, changing the deal value if the deal has one-time products attached. * @summary Delete a discount from a deal * @param {number} id The ID of the deal - * @param {number} discount_id The ID of the discount + * @param {string} discount_id The ID of the discount * @throws {RequiredError} */ - async deleteAdditionalDiscount(id: number, discount_id: number, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { + async deleteAdditionalDiscount(id: number, discount_id: string, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAdditionalDiscount(id, discount_id, ); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -1626,6 +1735,18 @@ export const DealsApiFp = function(configuration?: Configuration) { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteInstallment(id, installment_id, ); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, + /** + * Deletes multiple products from a deal. If no product IDs are specified, up to 100 products will be removed from the deal. A maximum of 100 product IDs can be provided per request. + * @summary Delete many products from a deal + * @param {number} id The ID of the deal + * @param {string} [ids] Comma-separated list of deal product IDs to delete. If not provided, all deal products will be deleted up to 100 items. Maximum 100 IDs allowed. + + * @throws {RequiredError} + */ + async deleteManyDealProducts(id: number, ids?: string, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.deleteManyDealProducts(id, ids, ); + return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + }, /** * Lists discounts attached to a deal. * @summary List discounts added to a deal @@ -1832,12 +1953,12 @@ export const DealsApiFp = function(configuration?: Configuration) { * Edits a discount added to a deal, changing the deal value if the deal has one-time products attached. * @summary Update a discount added to a deal * @param {number} id The ID of the deal - * @param {number} discount_id The ID of the discount + * @param {string} discount_id The ID of the discount * @param {UpdateAdditionalDiscountRequestBody} [UpdateAdditionalDiscountRequestBody] * @throws {RequiredError} */ - async updateAdditionalDiscount(id: number, discount_id: number, UpdateAdditionalDiscountRequestBody?: UpdateAdditionalDiscountRequestBody, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { + async updateAdditionalDiscount(id: number, discount_id: string, UpdateAdditionalDiscountRequestBody?: UpdateAdditionalDiscountRequestBody, ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateAdditionalDiscount(id, discount_id, UpdateAdditionalDiscountRequestBody, ); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, @@ -1919,6 +2040,16 @@ export const DealsApiFactory = function (configuration?: Configuration, basePath addDealProduct(requestParameters: DealsApiAddDealProductRequest, ): Promise { return localVarFp.addDealProduct(requestParameters.id, requestParameters.AddDealProductRequest, ).then((request) => request(axios, basePath)); }, + /** + * Adds multiple products to a deal in a single request. Maximum of 100 products allowed per request. + * @summary Add multiple products to a deal + * @param {DealsApiAddManyDealProductsRequest} requestParameters Request parameters. + + * @throws {RequiredError} + */ + addManyDealProducts(requestParameters: DealsApiAddManyDealProductsRequest, ): Promise { + return localVarFp.addManyDealProducts(requestParameters.id, requestParameters.CreateManyDealProductRequest, ).then((request) => request(axios, basePath)); + }, /** * Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint. * @summary Convert a deal to a lead (BETA) @@ -1979,6 +2110,16 @@ export const DealsApiFactory = function (configuration?: Configuration, basePath deleteInstallment(requestParameters: DealsApiDeleteInstallmentRequest, ): Promise { return localVarFp.deleteInstallment(requestParameters.id, requestParameters.installment_id, ).then((request) => request(axios, basePath)); }, + /** + * Deletes multiple products from a deal. If no product IDs are specified, up to 100 products will be removed from the deal. A maximum of 100 product IDs can be provided per request. + * @summary Delete many products from a deal + * @param {DealsApiDeleteManyDealProductsRequest} requestParameters Request parameters. + + * @throws {RequiredError} + */ + deleteManyDealProducts(requestParameters: DealsApiDeleteManyDealProductsRequest, ): Promise { + return localVarFp.deleteManyDealProducts(requestParameters.id, requestParameters.ids, ).then((request) => request(axios, basePath)); + }, /** * Lists discounts attached to a deal. * @summary List discounts added to a deal @@ -2208,6 +2349,27 @@ export interface DealsApiAddDealProductRequest { readonly AddDealProductRequest?: AddDealProductRequest } +/** + * Request parameters for addManyDealProducts operation in DealsApi. + * @export + * @interface DealsApiAddManyDealProductsRequest + */ +export interface DealsApiAddManyDealProductsRequest { + /** + * The ID of the deal + * @type {number} + * @memberof DealsApiAddManyDealProducts + */ + readonly id: number + + /** + * + * @type {CreateManyDealProductRequest} + * @memberof DealsApiAddManyDealProducts + */ + readonly CreateManyDealProductRequest?: CreateManyDealProductRequest +} + /** * Request parameters for convertDealToLead operation in DealsApi. * @export @@ -2237,10 +2399,10 @@ export interface DealsApiDeleteAdditionalDiscountRequest { /** * The ID of the discount - * @type {number} + * @type {string} * @memberof DealsApiDeleteAdditionalDiscount */ - readonly discount_id: number + readonly discount_id: string } /** @@ -2320,6 +2482,27 @@ export interface DealsApiDeleteInstallmentRequest { readonly installment_id: number } +/** + * Request parameters for deleteManyDealProducts operation in DealsApi. + * @export + * @interface DealsApiDeleteManyDealProductsRequest + */ +export interface DealsApiDeleteManyDealProductsRequest { + /** + * The ID of the deal + * @type {number} + * @memberof DealsApiDeleteManyDealProducts + */ + readonly id: number + + /** + * Comma-separated list of deal product IDs to delete. If not provided, all deal products will be deleted up to 100 items. Maximum 100 IDs allowed. + * @type {string} + * @memberof DealsApiDeleteManyDealProducts + */ + readonly ids?: string +} + /** * Request parameters for getAdditionalDiscounts operation in DealsApi. * @export @@ -2930,10 +3113,10 @@ export interface DealsApiUpdateAdditionalDiscountRequest { /** * The ID of the discount - * @type {number} + * @type {string} * @memberof DealsApiUpdateAdditionalDiscount */ - readonly discount_id: number + readonly discount_id: string /** * @@ -3063,6 +3246,18 @@ export class DealsApi extends BaseAPI { return DealsApiFp(this.configuration).addDealProduct(requestParameters.id, requestParameters.AddDealProductRequest, ).then((request) => request(this.axios, this.basePath)); } + /** + * Adds multiple products to a deal in a single request. Maximum of 100 products allowed per request. + * @summary Add multiple products to a deal + * @param {DealsApiAddManyDealProductsRequest} requestParameters Request parameters. + + * @throws {RequiredError} + * @memberof DealsApi + */ + public addManyDealProducts(requestParameters: DealsApiAddManyDealProductsRequest, ) { + return DealsApiFp(this.configuration).addManyDealProducts(requestParameters.id, requestParameters.CreateManyDealProductRequest, ).then((request) => request(this.axios, this.basePath)); + } + /** * Initiates a conversion of a deal to a lead. The return value is an ID of a job that was assigned to perform the conversion. Related entities (notes, files, emails, activities, ...) are transferred during the process to the target entity. There are exceptions for entities like invoices or history that are not transferred and remain linked to the original deal. If the conversion is successful, the deal is marked as deleted. To retrieve the created entity ID and the result of the conversion, call the /api/v2/deals/{deal_id}/convert/status/{conversion_id} endpoint. * @summary Convert a deal to a lead (BETA) @@ -3135,6 +3330,18 @@ export class DealsApi extends BaseAPI { return DealsApiFp(this.configuration).deleteInstallment(requestParameters.id, requestParameters.installment_id, ).then((request) => request(this.axios, this.basePath)); } + /** + * Deletes multiple products from a deal. If no product IDs are specified, up to 100 products will be removed from the deal. A maximum of 100 product IDs can be provided per request. + * @summary Delete many products from a deal + * @param {DealsApiDeleteManyDealProductsRequest} requestParameters Request parameters. + + * @throws {RequiredError} + * @memberof DealsApi + */ + public deleteManyDealProducts(requestParameters: DealsApiDeleteManyDealProductsRequest, ) { + return DealsApiFp(this.configuration).deleteManyDealProducts(requestParameters.id, requestParameters.ids, ).then((request) => request(this.axios, this.basePath)); + } + /** * Lists discounts attached to a deal. * @summary List discounts added to a deal diff --git a/src/versions/v2/models/add-many-deal-product-response.ts b/src/versions/v2/models/add-many-deal-product-response.ts new file mode 100644 index 00000000..6bcc7997 --- /dev/null +++ b/src/versions/v2/models/add-many-deal-product-response.ts @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { GetDealsProductsResponseDataInner } from './get-deals-products-response-data-inner'; + +/** +* +* @export +* @interface AddManyDealProductResponse +*/ +export interface AddManyDealProductResponse { + /** + * If the response is successful or not + * @type {boolean} + */ + 'success'?: boolean; + /** + * Array of created deal products + * @type {Array} + */ + 'data'?: Array; +} + diff --git a/src/versions/v2/models/create-many-deal-product-request.ts b/src/versions/v2/models/create-many-deal-product-request.ts new file mode 100644 index 00000000..0f94ab60 --- /dev/null +++ b/src/versions/v2/models/create-many-deal-product-request.ts @@ -0,0 +1,32 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { AddDealProductRequest } from './add-deal-product-request'; + +/** +* +* @export +* @interface CreateManyDealProductRequest +*/ +export interface CreateManyDealProductRequest { + /** + * Array of products to attach to the deal. See the single product endpoint (https://developers.pipedrive.com/docs/api/v1/Deals#addDealProduct) for the expected format of array items. + * @type {Array} + */ + 'data': Array; +} + diff --git a/src/versions/v2/models/delete-many-deal-product-response-additional-data.ts b/src/versions/v2/models/delete-many-deal-product-response-additional-data.ts new file mode 100644 index 00000000..a1fe257f --- /dev/null +++ b/src/versions/v2/models/delete-many-deal-product-response-additional-data.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** +* +* @export +* @interface DeleteManyDealProductResponseAdditionalData +*/ +export interface DeleteManyDealProductResponseAdditionalData { + /** + * Whether there are more products to delete (when the deal has more than 100 products) + * @type {boolean} + */ + 'more_items_in_collection'?: boolean; +} + diff --git a/src/versions/v2/models/delete-many-deal-product-response-data.ts b/src/versions/v2/models/delete-many-deal-product-response-data.ts new file mode 100644 index 00000000..363184ba --- /dev/null +++ b/src/versions/v2/models/delete-many-deal-product-response-data.ts @@ -0,0 +1,29 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** +* +* @export +* @interface DeleteManyDealProductResponseData +*/ +export interface DeleteManyDealProductResponseData { + /** + * Array of IDs of products that were deleted from the deal + * @type {Array} + */ + 'ids'?: Array; +} + diff --git a/src/versions/v2/models/delete-many-deal-product-response.ts b/src/versions/v2/models/delete-many-deal-product-response.ts new file mode 100644 index 00000000..b9981a28 --- /dev/null +++ b/src/versions/v2/models/delete-many-deal-product-response.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Pipedrive API v2 + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 2.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import { DeleteManyDealProductResponseAdditionalData } from './delete-many-deal-product-response-additional-data'; +// May contain unused imports in some cases +// @ts-ignore +import { DeleteManyDealProductResponseData } from './delete-many-deal-product-response-data'; + +/** +* +* @export +* @interface DeleteManyDealProductResponse +*/ +export interface DeleteManyDealProductResponse { + /** + * If the response is successful or not + * @type {boolean} + */ + 'success'?: boolean; + /** + * + * @type {DeleteManyDealProductResponseData} + */ + 'data'?: DeleteManyDealProductResponseData; + /** + * + * @type {DeleteManyDealProductResponseAdditionalData} + */ + 'additional_data'?: DeleteManyDealProductResponseAdditionalData | null; +} + diff --git a/src/versions/v2/models/index.ts b/src/versions/v2/models/index.ts index 15dc409a..2d2470aa 100644 --- a/src/versions/v2/models/index.ts +++ b/src/versions/v2/models/index.ts @@ -17,6 +17,7 @@ export * from './add-deal-request'; export * from './add-follower-response'; export * from './add-follower-response-all-of'; export * from './add-installment-request-body'; +export * from './add-many-deal-product-response'; export * from './add-organization-request'; export * from './add-person-request'; export * from './add-person-request-emails-inner'; @@ -32,6 +33,7 @@ export * from './base-product-all-of'; export * from './base-product-all-of1'; export * from './base-response'; export * from './convert-lead-to-deal-request'; +export * from './create-many-deal-product-request'; export * from './deal-item'; export * from './deal-item1'; export * from './deal-product-request-body'; @@ -48,6 +50,9 @@ export * from './delete-follower-response'; export * from './delete-follower-response-data'; export * from './delete-installment-response'; export * from './delete-installment-response-data'; +export * from './delete-many-deal-product-response'; +export * from './delete-many-deal-product-response-additional-data'; +export * from './delete-many-deal-product-response-data'; export * from './delete-organization-response'; export * from './delete-organization-response-data'; export * from './delete-person-response';