mcdev
Version:
Accenture Salesforce Marketing Cloud DevTools
1,849 lines • 41.3 kB
TypeScript
declare const _default: {};
export default _default;
export type BuObject = {
/**
* installed package client id
*/
clientId?: string;
/**
* installed package client secret
*/
clientSecret?: string;
/**
* subdomain part of Authentication Base Uri
*/
tenant?: string;
/**
* Enterprise ID = MID of the parent BU
*/
eid?: number;
/**
* MID of the BU to work with
*/
mid?: number;
/**
* name of the BU to interact with
*/
businessUnit?: string;
/**
* name of the credential to interact with
*/
credential?: string;
};
export type TemplateMap = {
[x: string]: string;
};
export type SupportedMetadataTypes = "asset" | "asset-archive" | "asset-asset" | "asset-audio" | "asset-block" | "asset-code" | "asset-document" | "asset-image" | "asset-message" | "asset-other" | "asset-rawimage" | "asset-template" | "asset-textfile" | "asset-video" | "attributeGroup" | "attributeSet" | "automation" | "campaign" | "contentArea" | "dataExtension" | "dataExtensionField" | "dataExtensionTemplate" | "dataExtract" | "dataExtractType" | "discovery" | "deliveryProfile" | "email" | "emailSend" | "event" | "fileLocation" | "fileTransfer" | "filter" | "folder" | "importFile" | "journey" | "list" | "mobileCode" | "mobileKeyword" | "mobileMessage" | "query" | "role" | "script" | "sendClassification" | "senderProfile" | "transactionalEmail" | "transactionalPush" | "transactionalSMS" | "triggeredSend" | "user" | "verification";
/**
* object-key=SupportedMetadataTypes, value=array of external keys
*/
export type TypeKeyCombo = {
[x: string]: string[];
};
/**
* generic metadata item
*/
export type MetadataTypeItem = any;
/**
* key=customer key
*/
export type MetadataTypeMap = {
[x: string]: any;
};
/**
* key=Supported MetadataType
*/
export type MultiMetadataTypeMap = {
[x: string]: {
[x: string]: any;
};
};
/**
* key=Supported MetadataType
*/
export type MultiMetadataTypeList = {
[x: string]: any[];
};
export type MetadataTypeMapObj = {
metadata: MetadataTypeMap;
type: string;
};
export type MetadataTypeItemObj = {
metadata: MetadataTypeItem;
type: string;
};
/**
* key=MID
*/
export type Cache = {
[x: number]: {
[x: string]: {
[x: string]: any;
};
};
};
/**
* used during update
*/
export type MetadataTypeItemDiff = {
before: MetadataTypeItem;
after: MetadataTypeItem;
};
export type CodeExtractItem = {
/**
* metadata of one item w/o code
*/
json: MetadataTypeItem;
/**
* list of code snippets in this item
*/
codeArr: CodeExtract[];
/**
* mostly set to null, otherwise list of subfolders
*/
subFolder: string[];
};
export type CodeExtract = {
/**
* mostly set to null, otherwise subfolders path split into elements
*/
subFolder: string[];
/**
* name of file w/o extension
*/
fileName: string;
/**
* file extension
*/
fileExt: string;
/**
* file content
*/
content: string;
/**
* optional for binary files
*/
encoding?: "base64";
};
export type QueryItem = {
/**
* name
*/
name: string;
/**
* key
*/
key: string;
/**
* -
*/
description: string;
/**
* Object ID of DE (removed before save)
*/
targetId?: string;
/**
* key of target data extension
*/
targetKey: string;
/**
* key of target data extension
*/
r__dataExtension_key: string;
/**
* e.g. "2020-09-14T01:42:03.017"
*/
createdDate: string;
/**
* e.g. "2020-09-14T01:42:03.017"
*/
modifiedDate: string;
/**
* defines how the query writes into the target data extension
*/
targetUpdateTypeName: "Overwrite" | "Update" | "Append";
/**
* 0|1|2, mapped to targetUpdateTypeName via this.definition.targetUpdateTypeMapping
*/
targetUpdateTypeId?: number;
/**
* Description DE (removed before save)
*/
targetDescription?: string;
/**
* looks like this is always set to false
*/
isFrozen: boolean;
/**
* contains SQL query with line breaks converted to '\n'. The content is extracted during retrieval and written into a separate *.sql file
*/
queryText?: string;
/**
* holds folder ID, replaced with r__folder_Path during retrieve
*/
categoryId?: string;
/**
* folder path in which this DE is saved
*/
r__folder_Path: string;
/**
* Object ID of query
*/
queryDefinitionId?: string;
};
export type QueryMap = {
[x: string]: QueryItem;
};
export type ScriptItem = {
/**
* name
*/
name: string;
/**
* key
*/
key: string;
/**
* -
*/
description: string;
/**
* e.g. "2020-09-14T01:42:03.017"
*/
createdDate: string;
/**
* e.g. "2020-09-14T01:42:03.017"
*/
modifiedDate: string;
/**
* contains script with line breaks converted to '\n'. The content is extracted during retrieval and written into a separate *.ssjs file
*/
script?: string;
/**
* holds folder ID, replaced with r__folder_Path during retrieve
*/
categoryId?: string;
/**
* folder path in which this DE is saved
*/
r__folder_Path: string;
};
export type ScriptMap = {
[x: string]: ScriptItem;
};
export type AssetItem = {
[x: string]: any;
};
export type AssetMap = {
[x: string]: {
[x: string]: any;
};
};
export type AssetSubType = "archive" | "asset" | "audio" | "block" | "code" | "document" | "image" | "message" | "other" | "rawimage" | "template" | "textfile" | "video";
export type DataExtensionFieldItem = {
/**
* id
*/
ObjectID?: string;
/**
* key in format [DEkey].[FieldName]
*/
CustomerKey?: string;
/**
* -
*/
DataExtension?: {
CustomerKey: string;
};
/**
* name of field
*/
Name: string;
/**
* custom attribute that is only used when trying to rename a field from Name to Name_new
*/
Name_new?: string;
/**
* empty string for not set
*/
DefaultValue: string;
/**
* -
*/
IsRequired: true | false;
/**
* opposite of IsRequired
*/
IsNullable?: true | false;
/**
* -
*/
IsPrimaryKey: true | false;
/**
* 1, 2, 3, ...
*/
Ordinal: number;
/**
* can only be set on create
*/
FieldType: "Text" | "Number" | "Date" | "Boolean" | "Decimal" | "EmailAddress" | "Phone" | "Locale";
/**
* field length
*/
MaxLength: number | string;
/**
* the number of places after the decimal that the field can hold; example: "0","1", ...
*/
Scale: string;
};
/**
* key: name of field, value: DataExtensionFieldItem
*/
export type DataExtensionFieldMap = {
[x: string]: DataExtensionFieldItem;
};
export type DataExtensionItem = {
/**
* key
*/
CustomerKey: string;
/**
* name
*/
Name: string;
/**
* -
*/
Description: string;
/**
* iso format
*/
CreatedDate?: string;
/**
* iso format
*/
ModifiedDate?: string;
/**
* -
*/
IsSendable: true | false;
/**
* -
*/
IsTestable: true | false;
/**
* -
*/
SendableDataExtensionField: {
Name: string;
};
/**
* -
*/
SendableSubscriberField: {
Name: string;
};
/**
* list of DE fields
*/
Fields: DataExtensionFieldItem[];
/**
* retrieved from associated folder
*/
r__folder_ContentType: "dataextension" | "salesforcedataextension" | "synchronizeddataextension" | "shared_dataextension" | "shared_salesforcedataextension";
/**
* folder path in which this DE is saved
*/
r__folder_Path: string;
/**
* holds folder ID, replaced with r__folder_Path during retrieve
*/
CategoryID?: string;
/**
* name of optionally associated DE template
*/
r__dataExtensionTemplate_name?: string;
/**
* -
*/
Template?: {
CustomerKey?: string;
};
/**
* empty string or US date + 12:00:00 AM
*/
RetainUntil: string;
/**
* YYYY-MM-DD
*/
c__retainUntil: string;
/**
* readable name of retention policy
*/
c__retentionPolicy?: "none" | "allRecordsAndDataextension" | "allRecords" | "individialRecords";
/**
* number of days/weeks/months/years before retention kicks in
*/
DataRetentionPeriodLength?: number;
/**
* 3:Days, 4:Weeks, 5:Months, 6:Years
*/
DataRetentionPeriodUnitOfMeasure?: number;
/**
* 3:Days, 4:Weeks, 5:Months, 6:Years
*/
c__dataRetentionPeriodUnitOfMeasure?: string;
/**
* true for retention policy individialRecords
*/
RowBasedRetention?: boolean;
/**
* ?
*/
ResetRetentionPeriodOnImport: boolean;
/**
* true for retention policy allRecords
*/
DeleteAtEndOfRetentionPeriod?: boolean;
};
export type DataExtensionMap = {
[x: string]: DataExtensionItem;
};
export type UserDocument = {
/**
* -
*/
TYPE: "User" | "Installed Package" | "Inactivated User";
/**
* equal to UserID; optional in update/create calls
*/
ID?: string;
/**
* equal to ID; required in update/create calls
*/
UserID: string;
/**
* user.AccountUserID
*/
AccountUserID?: number;
/**
* copy of AccountUserID
*/
c__AccountUserID: number;
/**
* user.CustomerKey
*/
CustomerKey: string;
/**
* user.Name
*/
Name: string;
/**
* user.Email
*/
Email: string;
/**
* user.NotificationEmailAddress
*/
NotificationEmailAddress: string;
/**
* user.ActiveFlag === true ? '✓' : '-'
*/
ActiveFlag: boolean;
/**
* user.IsAPIUser === true ? '✓' : '-'
*/
IsAPIUser: boolean;
/**
* user.MustChangePassword === true ? '✓' : '-'
*/
MustChangePassword: boolean;
/**
* default MID; BUName after we resolved it
*/
DefaultBusinessUnit: number;
/**
* associatedBus
*/
c__AssociatedBusinessUnits: number[];
/**
* (API only)
*/
Roles?: {
Role?: object[];
};
/**
* roles
*/
c__RoleNamesGlobal: string[];
/**
* userPermissions
*/
UserPermissions: string[];
/**
* this.timeSinceDate(user.LastSuccessfulLogin)
*/
LastSuccessfulLogin: string;
/**
* user.CreatedDate
*/
CreatedDate: string;
/**
* user.ModifiedDate
*/
ModifiedDate: string;
/**
* -
*/
Client: {
ID?: number;
ModifiedBy?: number;
};
/**
* -
*/
c__type: "User" | "Installed Package";
/**
* (API only)
*/
IsLocked?: boolean;
/**
* used to unlock a user that has IsLocked === true
*/
Unlock?: boolean;
/**
* copy of IsLocked
*/
c__IsLocked_readOnly: boolean;
/**
* name of timezone
*/
c__TimeZoneName: string;
/**
* (API only)
*/
TimeZone?: {
Name?: string;
ID?: string;
};
/**
* only used to set the password. cannot be retrieved
*/
Password?: string;
/**
* fr-CA, en-US, ...
*/
c__LocaleCode: "en-US" | "fr-CA" | "fr-FR" | "de-DE" | "it-IT" | "ja-JP" | "pt-BR" | "es-419" | "es-ES";
/**
* (API only)
*/
Locale?: {
LocaleCode?: "en-US" | "fr-CA" | "fr-FR" | "de-DE" | "it-IT" | "ja-JP" | "pt-BR" | "es-419" | "es-ES";
};
/**
* -
*/
SsoIdentity?: object;
/**
* -
*/
SsoIdentities?: any[] | object;
};
export type UserDocumentDiff = {
before: UserDocument;
after: UserDocument;
};
/**
* key=customer key
*/
export type UserDocumentMap = {
[x: string]: UserDocument;
};
export type UserDocumentDocumentHelper = {
/**
* docs: user.ActiveFlag === true ? '✓' : '-'
*/
ActiveFlagDocs: string;
/**
* docs: user.IsAPIUser === true ? '✓' : '-'
*/
IsAPIUserDocs: string;
/**
* docs: user.MustChangePassword === true ? '✓' : '-'
*/
MustChangePasswordDocs: string;
/**
* docs: default MID; BUName after we resolved it
*/
DefaultBusinessUnitDocs: string;
/**
* docs: list of roles as concatenated string
*/
RolesDocs: string;
/**
* docs: list of associated BUs as concatenated string
*/
AssociatedBusDocs: string;
/**
* docs: user name who last modified this user
*/
ModifiedBy: string | number;
/**
* docs: name of timezone
*/
TimeZoneName: string;
/**
* docs: if the user cannot login
*/
IsLockedDocs: string;
};
export type UserDocumentDocument = UserDocument & UserDocumentDocumentHelper;
export type AccountUserConfiguration = {
/**
* wrapper
*/
Client: {
ID: number;
};
/**
* empty string
*/
PartnerKey?: string;
/**
* User ID e.g:717133502
*/
ID: number | string;
/**
* empty string
*/
ObjectID?: string;
/**
* 0,1
*/
Delete?: number;
/**
* -
*/
BusinessUnitAssignmentConfiguration: BusinessUnitAssignmentConfiguration;
};
export type BusinessUnitAssignmentConfiguration = {
/**
* wrapper
*/
BusinessUnitIds: {
BusinessUnitId: number[] | number;
};
/**
* assign BU if false, remove assignment if true
*/
IsDelete: boolean;
};
export type AutomationActivity = {
/**
* key of associated activity
*/
r__key: string;
/**
* name (not key) of associated activity
*/
name?: string;
/**
* used by wait activity if a specific time of day was set
*/
timeZone?: string;
/**
* Id of assoicated activity type; see this.definition.activityTypeMapping
*/
objectTypeId?: number;
/**
* Object Id of assoicated metadata item
*/
activityObjectId?: string;
/**
* order within step; starts with 1 or higher number
*/
displayOrder?: number;
/**
* see this.definition.activityTypeMapping
*/
r__type: string;
};
export type AutomationStep = {
/**
* description
*/
name: string;
/**
* equals AutomationStep.name
*/
annotation?: string;
/**
* step iterator; starts with 1
*/
step?: number;
/**
* step iterator, automatically set during deployment
*/
stepNumber?: number;
/**
* -
*/
activities: AutomationActivity[];
};
/**
* REST format
*/
export type AutomationSchedule = {
/**
* legacy id of schedule
*/
id: string;
/**
* equals schedule.scheduleTypeId; upsert endpoint requires scheduleTypeId. retrieve endpoint returns typeId
*/
typeId: number;
/**
* equals schedule.typeId; upsert endpoint requires scheduleTypeId. retrieve endpoint returns typeId
*/
scheduleTypeId?: number;
/**
* example: '2021-05-07T09:00:00'
*/
startDate: string;
/**
* example: '2021-05-07T09:00:00'
*/
endDate: string;
/**
* example: 'FREQ=DAILY;UNTIL=20790606T160000;INTERVAL=1'
*/
icalRecur: string;
/**
* same as icalRecur but returned by legacy-API; example: 'FREQ=DAILY;UNTIL=20790606T160000;INTERVAL=1'
*/
iCalRecur?: string;
/**
* example: 'W. Europe Standard Time'; see this.definition.timeZoneMapping
*/
timezoneName: string;
/**
* same as timezoneName but returned by legacy-API; example: 'W. Europe Standard Time'; see this.definition.timeZoneMapping
*/
timeZone?: string;
/**
* kept in legacy API only, exact description of what this schedule does
*/
description?: string;
/**
* see this.definition.timeZoneMapping
*/
timezoneId?: number;
/**
* same as timezoneId but returned by legacy-API; see this.definition.timeZoneMapping
*/
timeZoneId?: number;
/**
* ?
*/
rangeTypeId?: number;
/**
* ?
*/
pattern?: any;
/**
* ?
*/
scheduledTime?: any;
/**
* ?
*/
scheduledStatus?: string;
};
/**
* SOAP format
*/
export type AutomationScheduleSoap = {
/**
* 'Minutely'|'Hourly'|'Daily'|'Weekly'|'Monthly'|'Yearly'
*/
RecurrenceType?: string;
/**
* -
*/
Recurrence: {
$?: object;
YearlyRecurrencePatternType?: "ByYear";
MonthlyRecurrencePatternType?: "ByMonth";
WeeklyRecurrencePatternType?: "ByWeek";
DailyRecurrencePatternType?: "ByDay";
MinutelyRecurrencePatternType?: "Interval";
HourlyRecurrencePatternType?: "Interval";
YearInterval?: number;
MonthInterval?: number;
WeekInterval?: number;
DayInterval?: number;
HourInterval?: number;
MinuteInterval?: number;
};
/**
* internal variable for CLI output only
*/
_interval?: number;
/**
* -
*/
TimeZone: {
ID: number;
IDSpecified?: true;
};
/**
* internal variable for CLI output only
*/
_timezoneString?: string;
/**
* AutomationSchedule.startDate
*/
StartDateTime: string;
/**
* AutomationSchedule.startDate; internal variable for CLI output only
*/
_StartDateTime?: string;
/**
* AutomationSchedule.endDate
*/
EndDateTime?: string;
/**
* set to 'EndOn' if AutomationSchedule.icalRecur contains 'UNTIL'; otherwise to 'EndAfter'
*/
RecurrenceRangeType: "EndOn" | "EndAfter";
/**
* only exists if RecurrenceRangeType=='EndAfter'
*/
Occurrences?: number;
};
export type AutomationItem = {
/**
* Object Id
*/
id: string;
/**
* legacy Object Id - used for handling notifications
*/
legacyId?: string;
/**
* Object Id as returned by SOAP API
*/
ObjectID?: string;
/**
* legacy id
*/
programId?: string;
/**
* key (Rest API)
*/
key: string;
/**
* key (SOAP API)
*/
CustomerKey?: string;
/**
* name (Rest API)
*/
name?: string;
/**
* name (SOAP API)
*/
Name?: string;
/**
* notifications
*/
notifications?: any;
/**
* -
*/
description?: string;
/**
* Starting Source = Schedule / File Drop
*/
type?: "scheduled" | "triggered" | "automationtriggered";
/**
* Starting Source = Schedule / File Drop; from legacy api
*/
automationType?: "scheduled" | "triggered" | "automationtriggered";
/**
* automation status
*/
status?: "Scheduled" | "Running" | "Ready" | "Building" | "PausedSchedule" | "InactiveTrigger";
/**
* automation status
*/
statusId?: number;
/**
* only existing if type=scheduled
*/
schedule?: AutomationSchedule;
/**
* only existing if type=triggered
*/
fileTrigger?: {
fileNamingPattern: string;
fileNamePatternTypeId: number;
folderLocationText: string;
isPublished: boolean;
queueFiles: boolean;
triggerActive: boolean;
};
/**
* only existing if type=automationtriggered
*/
automationTrigger?: object;
/**
* -
*/
startSource?: {
schedule?: AutomationSchedule;
fileDrop?: {
fileNamePattern: string;
fileNamePatternTypeId: number;
folderLocation: string;
queueFiles: boolean;
};
typeId: number;
};
/**
* -
*/
steps?: AutomationStep[];
/**
* folder path
*/
r__folder_Path?: string;
/**
* holds folder ID, replaced with r__folder_Path during retrieve
*/
categoryId?: string;
/**
* user name of person who created this automation
*/
createdName?: string;
/**
* iso format
*/
createdDate?: string;
/**
* user name of person who last modified this automation
*/
modifiedName?: string;
/**
* iso format
*/
modifiedDate?: string;
/**
* user name of person who paused this automation
*/
pausedName?: string;
/**
* iso format
*/
pausedDate?: string;
};
export type VerificationItem = {
/**
* ID / Key
*/
dataVerificationDefinitionId: string;
/**
* key
*/
verificationType: "IsEqualTo" | "IsLessThan" | "IsGreaterThan" | "IsOutsideRange" | "IsInsideRange" | "IsNotEqualTo" | "IsNotLessThan" | "IsNotGreaterThan" | "IsNotOutsideRange" | "IsNotInsideRange";
/**
* used for all verificationTypes; lower value for IsOutsideRange, IsInsideRange, IsNotOutsideRange, IsNotInsideRange
*/
value1: number;
/**
* only used for IsOutsideRange, IsInsideRange, IsNotOutsideRange, IsNotInsideRange; otherwise set to 0
*/
value2: number;
/**
* flag to stop automation if verification fails
*/
shouldStopOnFailure: boolean;
/**
* flag to send email if verification fails
*/
shouldEmailOnFailure: boolean;
/**
* email address to send notification to; empty string if shouldEmailOnFailure=false
*/
notificationEmailAddress: string;
/**
* email message to send; empty string if shouldEmailOnFailure=false
*/
notificationEmailMessage: string;
/**
* user id of creator
*/
createdBy: number;
/**
* ObjectID of target data extension
*/
targetObjectId?: string;
/**
* key of target data extension
*/
r__dataExtension_key: string;
/**
* custom key for verifications based on automation, step and activity number
*/
c__automation_step: string;
};
export type AutomationMap = {
[x: string]: AutomationItem;
};
export type AutomationMapObj = {
metadata: AutomationMap;
type: string;
};
export type AutomationItemObj = {
metadata: object | AutomationItem;
type: string;
};
export type McdevDeltaPkgItem = {
/**
* relative path to file
*/
file: string;
/**
* changed lines
*/
changes: number;
/**
* added lines
*/
insertions: number;
/**
* deleted lines
*/
deletions: number;
/**
* is a binary file
*/
binary: boolean;
/**
* git thinks this file was moved
*/
moved: boolean;
/**
* git thinks this relative path is where the file was before
*/
fromPath?: string;
/**
* metadata type
*/
type: string;
/**
* key
*/
externalKey: string;
/**
* name
*/
name: string;
/**
* what git recognized as an action
*/
gitAction: "move" | "add/update" | "delete";
/**
* mcdev credential name
*/
_credential: string;
/**
* mcdev business unit name inside of _credential
*/
_businessUnit: string;
};
export type DeltaPkgItem = import("simple-git").DiffResultTextFile & McdevDeltaPkgItem;
export type RestError = import("sfmc-sdk/util").RestError;
export type SOAPError = import("sfmc-sdk/util").SOAPError;
export type SDKError = SOAPError & RestError;
/**
* signals what to insert automatically for things usually asked via wizard
*/
export type SkipInteraction = {
/**
* client id of installed package
*/
client_id?: string;
/**
* client secret of installed package
*/
client_secret?: string;
/**
* tenant specific auth url of installed package
*/
auth_url?: string;
/**
* MID of the Parent Business Unit
*/
account_id?: number;
/**
* how you would like the credential to be named
*/
credentialName?: string;
/**
* URL of Git remote server
*/
gitRemoteUrl?: string;
/**
* will trigger re-downloading latest versions of dependent types after fixing keys
*/
fixKeysReretrieve?: boolean;
/**
* used by mcdev init to directly push to a remote
*/
gitPush?: string;
/**
* used by mcdev init to directly push to a remote
*/
developmentBu?: string;
/**
* used by mcdev init to directly push to a remote
*/
downloadBUs?: string;
};
export type AuthObject = {
/**
* client_id client_id for sfmc-sdk auth
*/
client_id: string;
/**
* client_secret for sfmc-sdk auth
*/
client_secret: string;
/**
* mid of business unit to auth against
*/
account_id: number;
/**
* authentication base url
*/
auth_url: string;
};
export type SoapRequestParams = {
/**
* request id
*/
continueRequest?: string;
/**
* additional options (CallsInConversation, Client, ConversationID, Priority, RequestType, SaveOptions, ScheduledTime, SendResponseTo, SequenceCode)
*/
options?: object;
/**
* ?
*/
clientIDs?: any;
/**
* simple or complex
* complex
*/
filter?: SoapSDKFilter;
/**
* all BUs or just one
*/
QueryAllAccounts?: boolean;
};
export type SoapFilterSimple = {
/**
* field
*/
property: string;
/**
* various options
*/
simpleOperator: "equals" | "notEquals" | "isNull" | "isNotNull" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual" | "between" | "IN" | "in" | "like";
/**
* field value
*/
value?: string | number | boolean | string[] | number[];
};
export type SoapFilterComplex = {
/**
* string for simple or a new filter-object for complex
*/
leftOperand: SoapSDKFilter;
/**
* various options
*/
logicalOperator: "AND" | "OR";
/**
* string for simple or a new filter-object for complex; omit for isNull and isNotNull
*/
rightOperand: SoapSDKFilter;
};
export type SoapSDKFilterSimple = {
/**
* string for simple or a new filter-object for complex
*/
leftOperand: SoapFilterSimple["property"];
/**
* various options
*/
operator: SoapFilterSimple["simpleOperator"];
/**
* string for simple or a new filter-object for complex; omit for isNull and isNotNull
*/
rightOperand?: SoapFilterSimple["value"];
};
export type SoapSDKFilterComplex = {
/**
* string for simple or a new filter-object for complex
*/
leftOperand: SoapFilterComplex["leftOperand"];
/**
* various options
*/
operator: SoapFilterComplex["logicalOperator"];
/**
* string for simple or a new filter-object for complex; omit for isNull and isNotNull
*/
rightOperand: SoapFilterComplex["rightOperand"];
};
export type SoapSDKFilter = SoapSDKFilterSimple | SoapSDKFilterComplex;
export type AssetRequestParams = {
/**
* request id
*/
continueRequest?: string;
/**
* additional options (CallsInConversation, Client, ConversationID, Priority, RequestType, SaveOptions, ScheduledTime, SendResponseTo, SequenceCode)
*/
options?: object;
/**
* ?
* complex
*/
clientIDs?: any;
/**
* pagination
*/
page?: object;
/**
* list of fields we want returned
*/
fields?: string[];
/**
* pagination
*/
sort?: {
property: string;
direction: "ASC" | "DESC";
}[];
/**
* simple or complex filter
*/
query?: AssetFilter | AssetFilterSimple;
};
export type AssetFilter = {
/**
* string for simple or a new filter-object for complex
*/
leftOperand: AssetFilter | AssetFilterSimple;
/**
* various options
*/
logicalOperator: "AND" | "OR";
/**
* string for simple or a new filter-object for complex; omit for isNull and isNotNull
*/
rightOperand?: SoapSDKFilter | AssetFilterSimple;
};
export type AssetFilterSimple = {
/**
* field
*/
property: string;
/**
* various options
*/
simpleOperator: "equal" | "notEquals" | "isNull" | "isNotNull" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual" | "between" | "IN" | "in" | "like";
/**
* field value
*/
value: string | number | boolean | any[];
};
export type Mcdevrc = {
/**
* list of credentials
*/
credentials: object;
/**
* configure options for mcdev
*/
options: object;
/**
* configure directories for mcdev to read/write to
*/
directories: {
businessUnits: string;
deploy: string;
docs: string;
retrieve: string;
template: string;
templateBuilds: string;
};
/**
* templating variables grouped by markets
*/
markets: {
[x: string]: any;
};
/**
* combination of markets and BUs for streamlined deployments
*/
marketList: object;
/**
* templating variables grouped by markets
*/
metaDataTypes: {
retrieve: string[];
createDeltaPkg: string[];
documentOnRetrieve: string[];
};
/**
* mcdev version that last updated the config file
*/
version: string;
};
export type LoggerLevel = "error" | "verbose" | "info" | "debug";
export type McdevLogger = {
/**
* (msg) print info message
*/
level?: LoggerLevel;
/**
* (msg) print error message; wrapper around winstonLogger.error that also sets error code to 1
*/
error: (msg: string) => void;
/**
* print error with trace message
*/
errorStack: (ex: SDKError, message?: string) => void;
};
export type Logger = import("winston").Logger & McdevLogger;
export type AssetItemSimple = {
id: number;
key: string;
name: string;
};
export type AssetItemSimpleMap = {
[x: string]: AssetItemSimple;
};
export type AssetItemIdSimpleMap = {
[x: number]: AssetItemSimple;
};
export type ContentBlockConversionTypes = "id" | "key" | "name";
export type ExplainType = {
/**
* readable name of type
*/
name: string;
/**
* api parameter name for type
*/
apiName: string;
/**
* more info on what this type is about
*/
description: string;
/**
* is it retrieved by default OR list of subtypes that are retrieved by default
*/
retrieveByDefault: boolean | string[];
/**
* supported features
*/
supports: {
retrieve: boolean;
create: boolean;
update: boolean;
delete: boolean;
changeKey: boolean;
buildTemplate: boolean;
retrieveAsTemplate: boolean;
};
};
export type ListItem = {
/**
* wrapper
*/
Client?: {
ID: number;
};
/**
* not used
*/
PartnerKey?: string;
/**
* "2021-06-21T11:54:57.103"
*/
CreatedDate?: string;
/**
* "2021-06-21T11:54:57.103"
*/
ModifiedDate?: string;
/**
* unique identifier per BU
*/
ID?: number;
/**
* not used
*/
ObjectID?: string;
/**
* unique identifer per BU
*/
CustomerKey?: string;
/**
* customn field that tracks the exact directory path of the current folder including its own name
*/
Path?: string;
/**
* wrapper
*/
ParentFolder?: {
ID: number;
ObjectID?: string;
Path?: string;
};
/**
* folder name
*/
Name: string;
/**
* deprecated option to describe the folder content
*/
Description?: string;
/**
* e.g. "shared_data"; see folder-subtypes for complete list
*/
ContentType: string;
/**
* ?
*/
IsActive: boolean;
/**
* option to disable renaming/moving this folder via GUI
*/
IsEditable: boolean;
/**
* option to prevent creating subfolders via GUI
*/
AllowChildren: boolean;
/**
* helper flag for Deployer class to signal if the folder was auto-generated or manually placed
*/
_generated?: boolean;
};
/**
* key=id
*/
export type ListIdMap = {
[x: number]: ListItem;
};
/**
* key=customer key
*/
export type ListMap = {
[x: string]: ListItem;
};
/**
* returned by /data/v1/integration/member/salesforce/object/<OBJECT NAME>/referenceobjects
*/
export type ReferenceObject = {
/**
* label
*/
displayname: string;
/**
* api name of salesforce object
*/
referenceObjectName: string;
/**
* name of lookup/MD field on related object ending on __r (way to return fields from other object)
*/
relationshipName: string;
/**
* name of lookup/MD field on related object ending on __c (returning id)
*/
relationshipIdName: string;
/**
* if this lookup can point to multiple objects or not
*/
isPolymorphic: boolean;
};
/**
* returned by /legacy/v1/beta/integration/member/salesforce/object/<OBJECT NAME>
*/
export type SfObjectPicklist = {
/**
* -
*/
active: boolean;
/**
* -
*/
defaultValue: boolean;
/**
* what you see in the GUI
*/
label: string;
/**
* whats stored in the DB
*/
value: string;
};
/**
* returned by /legacy/v1/beta/integration/member/salesforce/object/<OBJECT NAME>
*/
export type SfObjectField = {
/**
* "Annual Revenue"
*/
label: string;
/**
* "AnnualRevenue"
*/
name: string;
/**
* type
*/
datatype: "currency" | "string" | "int" | "picklist" | "textarea" | "boolean" | "date" | "datetime" | "email";
/**
* 0-4000
*/
length: number;
/**
* == not required
*/
nillable: boolean;
/**
* is it a custom field
*/
custom: boolean;
/**
* always true?
*/
updateable: boolean;
/**
* always true?
*/
createable: boolean;
/**
* -
*/
defaultedoncreate: boolean;
/**
* -
*/
externalid: boolean;
/**
* -
*/
idlookup: boolean;
/**
* -
*/
precision: number;
/**
* -
*/
scale: number;
/**
* "Currency"
*/
displaydatatype: "Currency" | "Text" | "Number" | "Picklist" | "Text Area (long)" | "Checkbox" | "Date" | "Date/Time" | "Email";
/**
* "Lead",
*/
objectname: string;
/**
* "",
*/
relationname: string;
/**
* -
*/
isnamefield: boolean;
/**
* list of values
*/
picklist?: SfObjectPicklist[];
};
export type configurationArguments = {
/**
* SalesforceObjectTriggerV2
*/
applicationExtensionKey: string;
/**
* 3.0
*/
version: string;
/**
* what record event in SF triggers this
*/
salesforceTriggerCriteria: "Created" | "Updated" | "CreatedUpdated";
/**
* what objects are used by this event
*/
eventDataConfig: {
objects: eventDataConfigObject[];
};
/**
* TODO
*/
primaryObjectFilterCriteria: Conditions;
/**
* TODO
*/
relatedObjectFilterCriteria: Conditions;
/**
* seems to only exist on journey but not on event and also not on every journey
*/
additionalObjectFilterCriteria?: object;
/**
* defines how this event links to the all contacts list
*/
contactKey: {
relationshipIdName: string;
relationshipName: string;
isPolymorphic: boolean;
referenceObjectName: string;
fieldName?: string;
};
/**
* TODO
*/
passThroughArgument: {
fields: {
ContactKey: string;
Email: object;
HasOptedOutOfEmail?: string;
};
};
/**
* primaryObjectFilterCriteria in simplified string-form
*/
primaryObjectFilterSummary: string;
/**
* relatedObjectFilterCriteria in simplified string-form
*/
relatedObjectFilterSummary: string;
/**
* eventDataConfig in simplified string-form
*/
eventDataSummary: string[];
/**
* salesforceTriggerCriteria plus semi-colon
*/
evaluationCriteriaSummary: "Created;" | "Updated;" | "Created;Updated;";
/**
* if objectAPIName==CampaignMember then this is also CampaignMember; otherwise it's Contact
*/
contactPersonType: "CampaignMember" | "Contact";
/**
* the SF object on which the salesforceTriggerCriteria is listening on
*/
objectAPIName: string;
/**
* "objectAPIName (Contact / Lead / Contacts and Leads)"
*/
whoToInject: string;
/**
* empty string for SF events
*/
criteria: string;
/**
* set to 0 for SF events
*/
schemaVersionId: number;
};
/**
* part of configurationArguments
*/
export type eventDataConfigObject = {
/**
* CampaignMember:Campaign:
*/
dePrefix: string;
/**
* ?
*/
isPolymorphic: boolean;
/**
* field on parent object containing the id; ends on __c for custom fields; same as referenceObject for standard fields; can be "Contacts and Leads"
*/
referenceObject: string;
/**
* field on parent object acting as lookup; ends on __r for custom fields; same as referenceObject for standard fields; can be "Common"
*/
relationshipName: string;
/**
* ?
*/
relationshipIdName?: string;
/**
* list of field names that are used by this journey
*/
fields: string[];
};
/**
* part of configurationArguments
*/
export type Conditions = {
/**
* -
*/
operand: "AND" | "OR";
/**
* list of conditions
*/
conditions: (Conditions | FieldCondition)[];
};
/**
* part of configurationArguments
*/
export type FieldCondition = {
/**
* is 0 for booleans, otherwise field length
*/
_length: number;
/**
* type
*/
datatype: "currency" | "string" | "int" | "picklist" | "textarea" | "boolean" | "date" | "datetime" | "email";
/**
* field API name; "TR1__Email__c"
*/
fieldName: string;
/**
* "CampaignMember-CampaignMember"
*/
folderId: string;
/**
* "CampaignMember-CampaignMember-TR1__Email__c"
*/
id: string;
/**
* ?
*/
isPolymorphic: boolean;
/**
* likely the field label; "Email"
*/
name: string;
/**
* condition comparator
*/
operator: "equals" | "EQUALS" | "WASSET";
/**
* value to compare the field with if operator is sth like "equals"; booleans are stored as upper-camel-case string!
*/
value?: string;
/**
* ?
*/
precision: number;
/**
* "Contacts and Leads"
*/
referenceObjectName: string;
/**
* "CommonId"; can be an empty string
*/
relationshipIdName: string;
/**
* "Common"; can be an empty string
*/
relationshipName: string;
/**
* ?
*/
scale: number;
/**
* seems to be equal to name-attribute?; "Email"
*/
text: string;
};
export type validationRuleFix = () => boolean | null;
export type validationRuleTest = () => boolean;
export type validationRule = {
/**
* error message to display in case of a failed test
*/
failedMsg: string;
/**
* test to run
*/
passed: validationRuleTest;
/**
* test to run
*/
fix?: validationRuleFix;
};
/**
* key=rule name
*/
export type validationRuleList = {
[x: string]: validationRule;
};
export type DomainVerificationItem = {
/**
* EID
*/
enterpriseId?: number;
/**
* MID
*/
memberId?: number;
/**
* domain or email address used in retrieve and create
*/
domain?: string;
/**
* email address used in update call for isSendable field
*/
emailAddress?: string;
/**
* returned by retrieve
*/
status?: "Verified" | "Pending";
/**
* returned by retrieve and required for update call
*/
domainType?: "SAP" | "UserDomain" | "PrivateDomain" | "RegisteredDomain";
/**
* automatically true upon creation. can be changed to false via update
*/
isSendable: boolean;
/**
* e.g. ""2023-06-19T11:11:17.32""
*/
emailSendTime?: string;
/**
* for bulk-creation only: email address to send notifications to when done
*/
notificationEmail?: string;
/**
* for bulk-creation only: list of email addresses to verify
*/
addresses?: string[];
/**
* for bulk-creation only: instead of an array in addresses, specify the name of a DE
*/
deTable?: string;
/**
* for bulk-creation only: instead of an array in addresses, specify the name of a DE column/field here
*/
deColumn?: string;
};
//# sourceMappingURL=mcdev.d.d.ts.map