UNPKG

@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
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 {};