Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.1.0] - 2025-10-06
### Added
Expand Down
28 changes: 14 additions & 14 deletions src/versions/v2/api/deals-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -941,12 +941,12 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
* @param {number} id The ID of the deal
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
* @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.
* @param {'id' | 'add_time' | 'update_time'} [sort_by] The field to sort by. Supported fields: `id`, `add_time`, `update_time`.
* @param {'id' | 'add_time' | 'update_time' | 'order_nr'} [sort_by] The field to sort by. Supported fields: `id`, `add_time`, `update_time`, `order_nr`.
* @param {'asc' | 'desc'} [sort_direction] The sorting direction. Supported values: `asc`, `desc`.

* @throws {RequiredError}
*/
getDealProducts: async (id: number, cursor?: string, limit?: number, sort_by?: 'id' | 'add_time' | 'update_time', sort_direction?: 'asc' | 'desc', ): Promise<RequestArgs> => {
getDealProducts: async (id: number, cursor?: string, limit?: number, sort_by?: 'id' | 'add_time' | 'update_time' | 'order_nr', sort_direction?: 'asc' | 'desc', ): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('getDealProducts', 'id', id)
const localVarPath = `/deals/{id}/products`
Expand Down Expand Up @@ -1119,12 +1119,12 @@ export const DealsApiAxiosParamCreator = function (configuration?: Configuration
* @param {Array<number>} deal_ids An array of integers with the IDs of the deals for which the attached products will be returned. A maximum of 100 deal IDs can be provided.
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
* @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.
* @param {'id' | 'deal_id' | 'add_time' | 'update_time'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;.
* @param {'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;, &#x60;order_nr&#x60;.
* @param {'asc' | 'desc'} [sort_direction] The sorting direction. Supported values: &#x60;asc&#x60;, &#x60;desc&#x60;.

* @throws {RequiredError}
*/
getDealsProducts: async (deal_ids: Array<number>, cursor?: string, limit?: number, sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time', sort_direction?: 'asc' | 'desc', ): Promise<RequestArgs> => {
getDealsProducts: async (deal_ids: Array<number>, cursor?: string, limit?: number, sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr', sort_direction?: 'asc' | 'desc', ): Promise<RequestArgs> => {
// verify required parameter 'deal_ids' is not null or undefined
assertParamExists('getDealsProducts', 'deal_ids', deal_ids)
const localVarPath = `/deals/products`;
Expand Down Expand Up @@ -1841,12 +1841,12 @@ export const DealsApiFp = function(configuration?: Configuration) {
* @param {number} id The ID of the deal
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
* @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.
* @param {'id' | 'add_time' | 'update_time'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;.
* @param {'id' | 'add_time' | 'update_time' | 'order_nr'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;, &#x60;order_nr&#x60;.
* @param {'asc' | 'desc'} [sort_direction] The sorting direction. Supported values: &#x60;asc&#x60;, &#x60;desc&#x60;.

* @throws {RequiredError}
*/
async getDealProducts(id: number, cursor?: string, limit?: number, sort_by?: 'id' | 'add_time' | 'update_time', sort_direction?: 'asc' | 'desc', ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetDealsProductsResponse>> {
async getDealProducts(id: number, cursor?: string, limit?: number, sort_by?: 'id' | 'add_time' | 'update_time' | 'order_nr', sort_direction?: 'asc' | 'desc', ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetDealsProductsResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getDealProducts(id, cursor, limit, sort_by, sort_direction, );
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
Expand Down Expand Up @@ -1882,12 +1882,12 @@ export const DealsApiFp = function(configuration?: Configuration) {
* @param {Array<number>} deal_ids An array of integers with the IDs of the deals for which the attached products will be returned. A maximum of 100 deal IDs can be provided.
* @param {string} [cursor] For pagination, the marker (an opaque string value) representing the first item on the next page
* @param {number} [limit] For pagination, the limit of entries to be returned. If not provided, 100 items will be returned. Please note that a maximum value of 500 is allowed.
* @param {'id' | 'deal_id' | 'add_time' | 'update_time'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;.
* @param {'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr'} [sort_by] The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;, &#x60;order_nr&#x60;.
* @param {'asc' | 'desc'} [sort_direction] The sorting direction. Supported values: &#x60;asc&#x60;, &#x60;desc&#x60;.

* @throws {RequiredError}
*/
async getDealsProducts(deal_ids: Array<number>, cursor?: string, limit?: number, sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time', sort_direction?: 'asc' | 'desc', ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetDealsProductsResponse>> {
async getDealsProducts(deal_ids: Array<number>, cursor?: string, limit?: number, sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr', sort_direction?: 'asc' | 'desc', ): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<GetDealsProductsResponse>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getDealsProducts(deal_ids, cursor, limit, sort_by, sort_direction, );
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
Expand Down Expand Up @@ -2769,11 +2769,11 @@ export interface DealsApiGetDealProductsRequest {
readonly limit?: number

/**
* The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;.
* @type {'id' | 'add_time' | 'update_time'}
* The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;, &#x60;order_nr&#x60;.
* @type {'id' | 'add_time' | 'update_time' | 'order_nr'}
* @memberof DealsApiGetDealProducts
*/
readonly sort_by?: 'id' | 'add_time' | 'update_time'
readonly sort_by?: 'id' | 'add_time' | 'update_time' | 'order_nr'

/**
* The sorting direction. Supported values: &#x60;asc&#x60;, &#x60;desc&#x60;.
Expand Down Expand Up @@ -2930,11 +2930,11 @@ export interface DealsApiGetDealsProductsRequest {
readonly limit?: number

/**
* The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;.
* @type {'id' | 'deal_id' | 'add_time' | 'update_time'}
* The field to sort by. Supported fields: &#x60;id&#x60;, &#x60;deal_id&#x60;, &#x60;add_time&#x60;, &#x60;update_time&#x60;, &#x60;order_nr&#x60;.
* @type {'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr'}
* @memberof DealsApiGetDealsProducts
*/
readonly sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time'
readonly sort_by?: 'id' | 'deal_id' | 'add_time' | 'update_time' | 'order_nr'

/**
* The sorting direction. Supported values: &#x60;asc&#x60;, &#x60;desc&#x60;.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ export interface GetDealsProductsResponseDataInnerAllOf {
*/
'product_variation_id'?: number | null;
/**
* The order number of the product within the deal
* @type {number}
*/
'order_nr'?: number | null;
/**
* The date and time when the product was added to the deal
* @type {string}
*/
Expand Down
Loading