lib/client/services/placement/placementService.interface.ts (12 lines of code) (raw):
import type { Statement, UpdateResult } from "../../../common/types";
import type { PlacementAction } from "./placement.action";
import type { Placement, PlacementPage } from "./placement.type";
/**
* Provides operations for creating, updating and retrieving {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement Placement} objects.
*
* You can use a placement to group ad units. For example, you might have a placement that focuses on sports sites, which may be spread across different branches of your inventory.
* You might also have a "fire sale" placement that includes ad units that have not been selling and are consequently priced very attractively.
*/
export interface PlacementServiceOperations {
/**
* Creates new {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement Placement} objects.
*
* @param placements the placements to create
* @returns the created placements with their IDs filled in
*/
createPlacements(placements: Partial<Placement>[]): Promise<Placement[]>;
/**
* Gets a {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.PlacementPage PlacementPage}
* of {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement Placement} objects that satisfy the given
* {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Statement#query Statement.query}.
* The following fields are supported for filtering:
*
* | PQL Property | PQL Property |
* | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
* | description | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#description Placement.description} |
* | id | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#id Placement.id} |
* | name | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#name Placement.name} |
* | placementCode | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#placementCode Placement.placementCode} |
* | status | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#status Placement.status} |
* | lastModifiedDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement#lastModifiedDateTime Placement.lastModifiedDateTime} |
*
* @param filterStatement a Publisher Query Language statement used to filter a set of placements
* @returns the placements that match the given filter
*/
getPlacementsByStatement(filterStatement: Statement): Promise<PlacementPage>;
/**
* Performs actions on {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement Placement} objects that match the given Statement.
*
* @param PlacementAction the action to perform
* @param filterStatement a PQL statement used to filter placements
* @returns the result of the action performed
*/
performPlacementAction(
placementAction: PlacementAction,
filterStatement: Statement,
): Promise<UpdateResult>;
/**
* Updates the specified {@link https://developers.google.com/ad-manager/api/reference/v202405/PlacementService.Placement Placement} objects.
*
* @param placements the placements to update
* @returns the updated placements
*/
updatePlacements(placements: Placement[]): Promise<Placement[]>;
}