@rudderstack/integrations-lib
Version:
51 lines • 1.88 kB
TypeScript
import { AuthObject, AudienceSegmentBody, AudienceSegmentData } from './types';
/**
* CriteoAudience SDK for managing audience segments in Criteo
* @class
*/
export default class CriteoAudience {
private authObject;
private httpClient;
/**
* Creates an instance of CriteoAudience
* @param {AuthObject} authObject - Authentication object containing access token and refresh function
* @throws {Error} If authObject is invalid or missing required properties
*/
constructor(authObject: AuthObject);
/**
* Validates the authentication object
* @param {AuthObject} authObject - Authentication object to validate
* @throws {Error} If authObject is invalid or missing required properties
* @private
*/
private static validateAuthObject;
/**
* Refreshes the access token using the provided refresh function
* @throws {Error} If token refresh fails
* @private
*/
private refreshToken;
/**
* Gets the request headers with authentication
* @returns {RequestConfig} Request configuration with headers
* @private
*/
private getHeader;
/**
* Executes a POST request with token refresh handling
* @template T - Response type
* @param {string} url - API endpoint URL
* @param {object} data - Request payload
* @returns {Promise<ApiResponse<T>>} API response
* @private
*/
private executePostRequest;
/**
* Creates a new audience segment in Criteo
* @param {AudienceSegmentBody} audienceSegmentBody - Audience segment data
* @returns {Promise<AudienceSegmentData>} Created audience segment data
* @throws {Error} If audience segment creation fails
*/
createAudienceSegment(audienceSegmentBody: AudienceSegmentBody): Promise<AudienceSegmentData>;
}
//# sourceMappingURL=criteoAudience.d.ts.map