Skip to content

Instantly share code, notes, and snippets.

@angrycider
angrycider / 14_PerformESD.js
Created March 27, 2017 22:13
14. Perform/Send an Email Send Definition
//Execute User Initiated Send
var def = {
'CustomerKey': 'DCL_Test',
};
SoapClient.perform('EmailSendDefinition', def, function(err, response){
if(err){
console.log(err);
}
else{
@angrycider
angrycider / 13_CreateESD.js
Created March 27, 2017 22:12
13. Create Email Send Definition
//Create User Initiated Send
var folderID = '100506' //Hover over or inspect the folder in the UI and grab the CID querystring parameter
var dexObjectID = 'cc7ce594-070f-e711-a5d3-8cdcd4aff7c9'; //DEX Object ID: https://gist.github.com/angrycider/47a2727e274ef87632c115b333aeb473
var guid = uuid.v1() // https://github.com/kelektiv/node-uuid
var co = {
"Name": "TuneIn_201757f52c3c0dbf0", //Should be dynamic...same as used to create email
"CustomerKey": guid,
"Email": {
"ID":"105947", //Email ID https://gist.github.com/angrycider/ee39a7a87454201ea469108104b6f0e0
"IDSpecified":true
@angrycider
angrycider / 12_DEObjectID.js
Created March 27, 2017 22:06
12. Retrieve Data Extension Object ID given a Customer Key
//Retrieve Data Extension ObjectId
var options = {
filter: {
leftOperand: 'CustomerKey',
operator: 'equals',
rightOperand: 'IonThreeTesting'
}
};
SoapClient.retrieve(
'DataExtension',
@angrycider
angrycider / 11_CreateEmail.js
Created March 27, 2017 22:05
11. Create Email
//Create Email
var emailFolderID = '99633'; //Hover over or inspect the folder in the UI and grab the CID querystring parameter
var co = {
"Name": "TuneIn_201757f52c3c0dbf0",
"Subject": "Game is starting now!",
"HTMLBody": "HTML Goes Here",
"CharacterSet":"UTF-8",
"CategoryID":emailFolderID //Folder ID from Create Folder Above...Omit to create at root
};
@angrycider
angrycider / 10_CreateFolder.js
Created March 27, 2017 22:03
10. Create Folder
// //Create Folder
var parentFolderID = '100504'; //Hover over or Inspect folder in the UI and look at CID querystring parameter
var co = {
"Name": "201703",
"Description": "201703",
"ParentFolder": {"ID":parentFolderID,"IDSpecified":true}, //Omit this to create at root
"ContentType":"email"
};
/*
@angrycider
angrycider / 9_ComplexFilter.js
Created March 27, 2017 21:58
9. Complex filter retrieving a folder with a given parent and name.
//Complex filter
var parentFolderID = '99624'; //Hover over or inspect the folder and look at the CID querystring parameter
var options = {
filter: {
leftOperand: {
leftOperand: 'ParentFolder.ID',
operator: 'equals', //https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/creating_a_filterdefinition_object.htm
rightOperand: parentFolderID
},
operator: 'AND', //https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/using_complex_filter_parts.htm
@angrycider
angrycider / 8_RetrieveFolder.js
Created March 27, 2017 21:56
8. Retrieve Folder with Given Parent
//Retrieve Folder within folder
var parentFolderID = '99624'; //Hover over or inspect the folder in the UI and look at the CID querystring variable
var options = {
filter: {
leftOperand: 'ParentFolder.ID',
operator: 'equals',
rightOperand: parentFolderID
}
};
SoapClient.retrieve(
@angrycider
angrycider / 7_SubscriberAttributes.js
Created March 27, 2017 21:52
7. Retrieve Subscriber Attributes
//Describe Subscriber
SoapClient.describe(
'Subscriber',
function( err, response ) {
if ( err ) {
// error here
console.log( err );
return;
}
@angrycider
angrycider / 6_UpsertSubscriber.js
Created March 27, 2017 21:48
6. Upsert Subscriber Record
//UPSERT SUBSCRIBER
var co = {
"SubscriberKey": "test@fakeemail.com",
"EmailAddress": "test@fakeemail.com",
"Attributes":[{"Name":"Favorite Color","Value":"purple3"}]
};
var uo = {
SaveOptions: [{"SaveOption":{PropertyName:"*",SaveAction:"UpdateAdd"}}]
};
@angrycider
angrycider / 5_UpsertDE.js
Last active March 23, 2021 07:14
5. Upsert row to a Data Extension
//UPSERT DE
var co = {
"CustomerKey": "7254CCBC-E5F8-49B6-991E-855825DAEADD",
"Keys":[
{"Key":{"Name":"subscriberkey","Value":"test@fakeemail.com"}}],
"Properties":[
{"Property":{"Name":"color","Value":"purple"}}
]
};