lib/client/services/audienceSegment/audienceSegmentService.interface.ts (21 lines of code) (raw):

import type { Statement, UpdateResult } from "../../../common/types"; import type { AudienceSegmentAction } from "./audienceSegment.action"; import type { AudienceSegmentPage, FirstPartyAudienceSegment, } from "./audienceSegment.type"; /** * Provides operations for creating, updating and retrieving * {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment AudienceSegment} objects. * */ export interface AudienceSegmentServiceOperations { /** * Creates new {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.FirstPartyAudienceSegment FirstPartyAudienceSegment} objects. * * @param segments first-party audience segments to create * @returns created first-party audience segments */ createAudienceSegments( segments: Partial<FirstPartyAudienceSegment>[], ): Promise<FirstPartyAudienceSegment[]>; /** * Gets an {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegmentPage AudienceSegmentPage} * of {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment AudienceSegment} * objects that satisfy the given {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.Statement#query Statement.query}. * The following fields are supported for filtering: * * | PQL Property | PQL Property | * | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | * | id | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#id AudienceSegment.id} | * | name | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#name AudienceSegment.name} | * | status | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#status AudienceSegment.status} | * | type | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#type AudienceSegment.type} | * | size | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#size AudienceSegment.size} | * | dataProviderName | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegmentDataProvider#name AudienceSegmentDataProvider.name} | * | segmentType | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.AudienceSegment#type AudienceSegment.type} | * | approvalStatus | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.ThirdPartyAudienceSegment#approvalStatus ThirdPartyAudienceSegment.approvalStatus} | * | cost | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.ThirdPartyAudienceSegment#cost ThirdPartyAudienceSegment.cost} | * | startDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.ThirdPartyAudienceSegment#startDateTime ThirdPartyAudienceSegment.startDateTime} | * | endDateTime | {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.ThirdPartyAudienceSegment#endDateTime ThirdPartyAudienceSegment.endDateTime} | * * @param filterStatement a Publisher Query Language statement used to filter a set of audience segments (the only supported operator is AND) * @returns the audience segments that match the given filter */ getAudienceSegmentsByStatement( filterStatement: Statement, ): Promise<AudienceSegmentPage>; /** * Performs the given AudienceSegmentAction on the set of segments identified by the given statement. * * @param action AudienceSegmentAction to perform * @param filterStatement a Publisher Query Language statement used to filter a set of audience segments (the only supported operator is AND) * @returns UpdateResult indicating the result */ performAudienceSegmentAction( action: AudienceSegmentAction, filterStatement: Statement, ): Promise<UpdateResult>; /** * Updates the given {@link https://developers.google.com/ad-manager/api/reference/v202405/AudienceSegmentService.FirstPartyAudienceSegment FirstPartyAudienceSegment} objects. * * @param segments first-party audience segments to update * @returns updated first-party audience segments */ updateAudienceSegments( segments: FirstPartyAudienceSegment[], ): Promise<FirstPartyAudienceSegment[]>; }