@mediarithmics/plugins-nodejs-sdk
Version:
This is the mediarithmics nodejs to help plugin developers bootstrapping their plugin without having to deal with most of the plugin boilerplate
127 lines (126 loc) • 4.91 kB
TypeScript
import { RealmFilter } from '../../core/webdomain/UserAgentIdentifierRealmSelectionInterface';
export type AudienceFeedConnectorStatus = 'ok' | 'error' | 'retry' | 'no_eligible_identifier';
export declare type AudienceFeedConnectorConnectionStatus = 'ok' | 'error' | 'external_segment_not_ready_yet';
export declare type AudienceFeedConnectorTroubleshootStatus = 'ok' | 'error' | 'not_implemented';
export declare type AudienceFeedConnectorAuthenticationStatus = 'authenticated' | 'not_authenticated' | 'error' | 'not_implemented';
export declare type AudienceFeedAuthenticationStatus = 'ok' | 'error' | 'not_implemented';
export declare type AudienceFeedLogoutStatus = 'ok' | 'error' | 'not_implemented';
export declare type AudienceFeedConnectorDynamicPropertyValuesQueryStatus = 'ok' | 'error' | 'not_implemented';
export type AudienceFeedConnectorContentType = 'text/csv' | 'application/json' | 'text/plain';
export interface UserSegmentUpdatePluginResponse {
status: AudienceFeedConnectorStatus;
data?: UserSegmentUpdatePluginFileDeliveryResponseData[];
stats?: UserSegmentUpdatePluginResponseStats[];
message?: string;
next_msg_delay_in_ms?: number;
}
export interface BatchedUserSegmentUpdatePluginResponse<T> {
status: AudienceFeedConnectorStatus;
data?: UserSegmentUpdatePluginBatchDeliveryResponseData<T>[];
stats?: UserSegmentUpdatePluginResponseStats[];
message?: string;
next_msg_delay_in_ms?: number;
}
export type DeliveryType<T> = UserSegmentUpdatePluginFileDeliveryResponseData | UserSegmentUpdatePluginBatchDeliveryResponseData<T>;
export interface UserSegmentUpdatePluginFileDeliveryResponseData extends UserSegmentUpdatePluginDeliveryContent<string> {
type: 'FILE_DELIVERY';
destination_token: string;
}
export interface UserSegmentUpdatePluginBatchDeliveryResponseData<T> extends UserSegmentUpdatePluginDeliveryContent<T> {
type: 'BATCH_DELIVERY';
}
export interface UserSegmentUpdatePluginDeliveryContent<T> {
content: T;
grouping_key: string;
}
type SyncResult = 'PROCESSED' | 'SUCCESS' | 'REJECTED';
export interface UserSegmentUpdatePluginResponseStats {
identifier: string;
sync_result: SyncResult;
tags?: AudienceFeedStatTag[];
}
export interface ExternalSegmentCreationPluginResponse {
status: AudienceFeedConnectorStatus;
message?: string;
visibility?: Visibility;
}
export interface ExternalSegmentConnectionPluginResponse {
status: AudienceFeedConnectorConnectionStatus;
message?: string;
}
export interface ExternalSegmentTroubleshootResponse {
status: AudienceFeedConnectorTroubleshootStatus;
message?: string;
data?: any;
}
export interface ExternalSegmentAuthenticationStatusQueryResponse {
status: AudienceFeedConnectorAuthenticationStatus;
message?: string;
data?: {
login_url?: string;
[key: string]: any;
};
}
export interface ExternalSegmentAuthenticationResponse {
status: AudienceFeedAuthenticationStatus;
message?: string;
}
export interface ExternalSegmentLogoutResponse {
status: AudienceFeedLogoutStatus;
message?: string;
}
export interface ExternalSegmentDynamicPropertyValuesQueryResponse {
status: AudienceFeedConnectorDynamicPropertyValuesQueryStatus;
message?: string;
data?: {
property_technical_name: string;
enum: {
label: string;
value: string;
}[];
[key: string]: any;
}[];
}
export interface AudienceFeedStatTag {
key: string;
value: string;
}
export type Visibility = 'PRIVATE' | 'PUBLIC';
export declare class AudienceFeedInstanceContextError extends Error {
message: string;
visibility: Visibility;
constructor(message: string);
}
export declare class MissingConfigurationPropertyError extends AudienceFeedInstanceContextError {
feed_id: string;
property_name: string;
log: string;
constructor(feed_id: string, property_name: string);
}
export declare class MandatoryPropertyValueError extends AudienceFeedInstanceContextError {
feed_id: string;
property_name: string;
log: string;
constructor(feed_id: string, property_name: string);
}
export declare class InvalidPropertyValueError extends AudienceFeedInstanceContextError {
feed_id: string;
property_name: string;
property_value: string;
allowed: string[];
log: string;
constructor(feed_id: string, property_name: string, property_value: string, allowed: string[]);
}
export declare class FileDownloadError extends AudienceFeedInstanceContextError {
feed_id: string;
file_name: string;
log: string;
constructor(feed_id: string, file_name: string);
}
export declare class MissingRealmError extends AudienceFeedInstanceContextError {
datamart_id: string;
realmFilter: RealmFilter;
log: string;
constructor(datamart_id: string, realmFilter: RealmFilter);
}
export {};