@rudderstack/integrations-lib
Version:
A comprehensive TypeScript library providing shared utilities, SDKs, and tools for RudderStack integrations and destinations.
140 lines • 3.41 kB
TypeScript
export interface AuthObject {
clientId: string;
clientSecret: string;
subDomain: string;
expiration?: number;
access_token?: string;
}
export interface FilterObj {
leftOperand: string;
rightOperand: string;
}
export interface Fields {
name: string;
type: string;
scale?: number;
precision?: number;
length: number;
isNullable: boolean;
isPrimaryKey: boolean;
isHidden: boolean;
isReadOnly: boolean;
isOverridable: boolean;
isTemplateField: boolean;
isInheritable: boolean;
mustOverride: boolean;
ordinal: 0;
}
export interface DataExtensionBody {
name: string;
categoryID: string;
isSendable?: boolean;
sendableCustomObjectField?: string;
sendableSubscriberField?: string;
dataRetentionProperties?: {
isDeleteAtEndOfRetentionPeriod?: boolean;
isRowBasedRetention?: boolean;
isResetRetentionPeriodOnImport?: boolean;
};
fields: Fields[];
}
export interface BusinessUnit {
Name: string;
ID: number;
}
export interface DataFolder {
PartnerKey: string;
ID: number;
ObjectID: string;
ParentFolder: {
PartnerKey: string;
ID: number;
ObjectID: string;
};
Name: string;
}
export interface DataExtension {
Name: string;
ObjectId: string;
CategoryId: number;
ExternalKey: string;
IsSendable: boolean;
}
export interface ContactAttributes {
isReadOnly: boolean;
attributes: [{
isReadOnly: boolean;
fullyQualifiedName: string;
dataType: string;
}];
}
export interface ContactAttributesResponse {
items: ContactAttributes[];
count: number;
page: number;
pageSize: number;
}
export interface DataExtensionFields {
fields: Fields[];
fieldCount: number;
fieldPage: number;
fieldPageSize: number;
}
export interface CreateDataExtensionResponse extends Omit<DataExtensionFields, 'fielsPage' | 'fieldPageSize'> {
id: string;
key: string;
name: string;
}
interface PartnerPropertyID {
Name: 'id';
Value: number;
}
interface PartnerPropertyName {
Name: 'name';
Value: string;
}
export type PartnerProperty = PartnerPropertyName | PartnerPropertyID;
export interface BusinessUnitResponse {
PartnerProperties: PartnerProperty[];
}
export type DataExtensionPartnerProperty = {
Name: 'NAME' | 'ObjectId' | 'CategoryId';
Value: string | number;
};
export interface DataExtensionResponse {
PartnerProperties: DataExtensionPartnerProperty[];
CustomerKey: string;
IsSendable: boolean;
}
export interface SoapResponseBody {
RetrieveResponseMsg: {
Results: BusinessUnitResponse | BusinessUnitResponse[] | DataFolder | DataFolder[] | DataExtensionResponse | DataExtensionResponse[];
};
}
export interface SFMCErrorResponse {
errorcode: string;
documentation: string;
message: string;
}
export interface EventDefinitionsResponse {
items: EventDefinition[];
count: number;
page: number;
pageSize: number;
}
export interface EventDefinition {
id: string;
name: string;
description: string;
eventDefinitionKey: string;
dataExtensionId: string;
dataExtensionName: string;
}
export interface DataExtensionApiResponse {
id: string;
name: string;
key: string;
isSendable: boolean;
}
export {};
//# sourceMappingURL=type.d.ts.map