Пример #1
0
        static void TestET_LinkSend()
        {
            Console.WriteLine("--- Testing LinkSend ---");
            ET_Client myclient = new ET_Client();

            Console.WriteLine("Retrieve Filtered LinkSend");
            ET_LinkSend oe = new ET_LinkSend();

            oe.AuthStub     = myclient;
            oe.SearchFilter = new SimpleFilterPart()
            {
                Property = "SendID", SimpleOperator = SimpleOperators.equals, Value = new String[] { "11428050" }
            };
            oe.Props = new string[] { "ID", "SendID", "PartnerKey", "Client.ID", "Client.PartnerClientKey", "Link.ID", "Link.PartnerKey", "Link.TotalClicks", "Link.UniqueClicks", "Link.URL", "Link.Alias" };
            GetReturn oeGet = oe.Get();

            Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            Console.WriteLine("Message: " + oeGet.Message.ToString());
            Console.WriteLine("Code: " + oeGet.Code.ToString());
            Console.WriteLine("Results Length: " + oeGet.Results.Length);
            Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());

            foreach (ET_LinkSend ls in oeGet.Results)
            {
                Console.WriteLine("SendID: " + ls.SendID + ", URL: " + ls.Link.URL + ", UniqueClicks: " + ls.Link.UniqueClicks + ", TotalClicks: " + ls.Link.TotalClicks);
            }
        }
Пример #2
0
        static void TestET_Endpoint()
        {
            ET_Client myclient = new ET_Client();

            Console.WriteLine("--- Testing Endpoint ---");

            Console.WriteLine("\n Retrieve All Endpoints");
            ET_Endpoint getEndpoint = new ET_Endpoint();

            getEndpoint.AuthStub = myclient;
            GetReturn grEndpoint = getEndpoint.Get();

            Console.WriteLine("Get Status: " + grEndpoint.Status.ToString());
            Console.WriteLine("Message: " + grEndpoint.Message.ToString());
            Console.WriteLine("Code: " + grEndpoint.Code.ToString());
            Console.WriteLine("Results Length: " + grEndpoint.Results.Length);
            Console.WriteLine("MoreResults: " + grEndpoint.MoreResults.ToString());

            Console.WriteLine("\n Retrieve Single Endpoint by Type");
            ET_Endpoint getSingleEndpoint = new ET_Endpoint();

            getSingleEndpoint.AuthStub = myclient;
            getSingleEndpoint.Type     = "soap";
            GetReturn grSingleEndpoint = getSingleEndpoint.Get();

            Console.WriteLine("Get Status: " + grSingleEndpoint.Status.ToString());
            Console.WriteLine("Message: " + grSingleEndpoint.Message.ToString());
            Console.WriteLine("Code: " + grSingleEndpoint.Code.ToString());
            Console.WriteLine("Results Length: " + grSingleEndpoint.Results.Length);
            Console.WriteLine("MoreResults: " + grSingleEndpoint.MoreResults.ToString());
        }
Пример #3
0
        public void ETClientNoClientSecret()
        {
            //set empty to client id and save the configuration to simulate emtpy client id  in config file
            _parameters["clientSecret"] = string.Empty;

            //now construct a ET_Client object
            var etClient = new ET_Client(_parameters);
        }
Пример #4
0
        public void ETClientNoAppSignature()
        {
            //set empty to client id and save the configuration to simulate emtpy client id  in config file
            _parameters["appSignature"] = string.Empty;
            _parameters.Add("jwt", "{'item1','value1'}");

            //now construct a ET_Client object
            var etClient = new ET_Client(_parameters);
        }
Пример #5
0
        public ETDataExtension()
        {
            NameValueCollection parameters = new NameValueCollection();

            parameters.Add("clientId", Properties.Settings.Default.ETClientId);
            parameters.Add("clientSecret", Properties.Settings.Default.ETClientSecret);

            _etClient = new ET_Client(parameters);
        }
Пример #6
0
        public void ProcessDailyAdditions()
        {
            String strTimeToRun = Sitecore.Configuration.Settings.GetAppSetting("CronJob.TimeToRun");

            if (!String.IsNullOrWhiteSpace(strTimeToRun))
            {
                TimeSpan TimeToRun = DateTime.Parse(strTimeToRun).TimeOfDay;
                Boolean  IsItTime  = DateTime.Now.TimeOfDay.Subtract(TimeToRun).Ticks > 0;
                if (IsItTime)
                {
                }
            }
            string    spName = "prcSelectDailyList";
            DataTable dt     = GetApprovedItems(spName);

            foreach (DataRow dr in dt.Rows)
            {
                NameValueCollection parameters = new NameValueCollection();
                parameters.Add("clientId", "3uqagf2nrt2mm27q3rt45ett");
                parameters.Add("clientSecret", "D5wxtEx6UGNVxgkbyrruJhQV");

                ET_Client myclient = new ET_Client(parameters);

                ET_TriggeredSend triggeredsend = new ET_TriggeredSend();
                triggeredsend.AuthStub       = myclient;
                triggeredsend.Name           = "SDKTriggeredSend";
                triggeredsend.CustomerKey    = "test_email_ram_mip";
                triggeredsend.Subscribers    = new ET_Subscriber[1];
                triggeredsend.Subscribers[0] = new ET_Subscriber();
                triggeredsend.Subscribers[0].EmailAddress  = "*****@*****.**";
                triggeredsend.Subscribers[0].SubscriberKey = "*****@*****.**";

                //triggeredsend.Email = new ET_Email() { ID = 1111111 };
                //triggeredsend.SendClassification = new ET_SendClassification() { CustomerKey = "2222" };
                //PostReturn prtriggeredsend = triggeredsend.Post();
                SendReturn srSend = triggeredsend.Send();

                //Sitecore.Diagnostics.Log.Info("Send Status: " + srSend.Status.ToString(), this);
                //Sitecore.Diagnostics.Log.Info("Message: " + srSend.Message.ToString(), this);
                //Sitecore.Diagnostics.Log.Info("Code: " + srSend.Code.ToString(), this);

//                ET_TriggeredSend triggeredsend = new ET_TriggeredSend();
//                triggeredsend.AuthStub = myclient;
//                triggeredsend.Name = "SDKTriggeredSend";
//                triggeredsend.CustomerKey = "test_email_ram_mip11";
//                triggeredsend.Email = new ET_Email() { ID = 1111111 };
                //triggeredsend.SendClassification = new ET_SendClassification() { CustomerKey = "test_email_ram_mip11" };
//                PostReturn prtriggeredsend = triggeredsend.Post();
//                Console.WriteLine("Post Status: " + prtriggeredsend.Status.ToString());

//                Sitecore.Diagnostics.Log.Info("Results Length: " + prtriggeredsend.Results.Length, this);
            }
        }
        static void Test_AddSubscriberToList()
        {
            string NewListName         = "CSharpSDKAddSubscriberToList";
            string SubscriberTestEmail = "*****@*****.**";

            Console.WriteLine("--- Testing AddSubscriberToList ---");
            ET_Client myclient = new ET_Client();

            Console.WriteLine("\n Create List");
            ET_List postList = new ET_List();

            postList.AuthStub = myclient;
            postList.ListName = NewListName;
            PostReturn prList = postList.Post();

            if (prList.Status && prList.Results.Length > 0)
            {
                int newListID = prList.Results[0].Object.ID;

                Console.WriteLine("\n Create Subscriber on List");
                FuelReturn hrAddSub = myclient.AddSubscribersToList(SubscriberTestEmail, new List <int>()
                {
                    newListID
                });
                Console.WriteLine("Helper Status: " + hrAddSub.Status.ToString());
                Console.WriteLine("Message: " + hrAddSub.Message.ToString());
                Console.WriteLine("Code: " + hrAddSub.Code.ToString());

                Console.WriteLine("\n Retrieve all Subscribers on the List");
                ET_List_Subscriber getListSub = new ET_List_Subscriber();
                getListSub.AuthStub     = myclient;
                getListSub.Props        = new string[] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" };
                getListSub.SearchFilter = new SimpleFilterPart()
                {
                    Property = "ListID", SimpleOperator = SimpleOperators.equals, Value = new string[] { newListID.ToString() }
                };
                GetReturn getResponse = getListSub.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message.ToString());
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_List_Subscriber ResultListSub in getResponse.Results)
                {
                    Console.WriteLine("--ListID: " + ResultListSub.ListID + ", SubscriberKey(EmailAddress): " + ResultListSub.SubscriberKey);
                }

                Console.WriteLine("\n Delete List");
                postList.ID = newListID;
                DeleteReturn drList = postList.Delete();
                Console.WriteLine("Delete Status: " + drList.Status.ToString());
            }
        }
Пример #8
0
        static void TestET_Send()
        {
            DateTime filterDate = new DateTime(2014, 1, 1, 13, 0, 0);

            Console.WriteLine("--- Testing Send ---");
            ET_Client myclient = new ET_Client();

            Console.WriteLine("Retrieve Filtered Send with GetMoreResults");
            ET_Send s = new ET_Send();

            s.AuthStub     = myclient;
            s.SearchFilter = new SimpleFilterPart()
            {
                Property = "SendDate", SimpleOperator = SimpleOperators.greaterThan, DateValue = new DateTime[] { filterDate }
            };
            s.Props = new string[] { "ID", "PartnerKey", "CreatedDate", "ModifiedDate", "Client.ID", "Client.PartnerClientKey", "Email.ID", "Email.PartnerKey", "SendDate", "FromAddress", "FromName", "Duplicates", "InvalidAddresses", "ExistingUndeliverables", "ExistingUnsubscribes", "HardBounces", "SoftBounces", "OtherBounces", "ForwardedEmails", "UniqueClicks", "UniqueOpens", "NumberSent", "NumberDelivered", "NumberTargeted", "NumberErrored", "NumberExcluded", "Unsubscribes", "MissingAddresses", "Subject", "PreviewURL", "SentDate", "EmailName", "Status", "IsMultipart", "SendLimit", "SendWindowOpen", "SendWindowClose", "IsAlwaysOn", "Additional", "BCCEmail", "EmailSendDefinition.ObjectID", "EmailSendDefinition.CustomerKey" };
            GetReturn sGet = s.Get();

            Console.WriteLine("Get Status: " + sGet.Status.ToString());
            Console.WriteLine("Message: " + sGet.Message.ToString());
            Console.WriteLine("Code: " + sGet.Code.ToString());
            Console.WriteLine("Results Length: " + sGet.Results.Length);
            Console.WriteLine("MoreResults: " + sGet.MoreResults.ToString());
            foreach (ET_Send send in sGet.Results)
            {
                Console.WriteLine("JobID: " + send.ID + ", SendDate: " + send.SendDate);
            }

            while (sGet.MoreResults)
            {
                Console.WriteLine("Continue Retrieve Filtered Send with GetMoreResults");
                sGet = s.GetMoreResults();
                Console.WriteLine("Get Status: " + sGet.Status.ToString());
                Console.WriteLine("Message: " + sGet.Message.ToString());
                Console.WriteLine("Code: " + sGet.Code.ToString());
                Console.WriteLine("Results Length: " + sGet.Results.Length);
                Console.WriteLine("MoreResults: " + sGet.MoreResults.ToString());
            }
        }
Пример #9
0
        static void TestET_Import()
        {
            var myclient      = new ET_Client();
            var newImportName = "FuelSDKImportExample";
            var SendableDataExtensionObjectID = "62476204-bfd3-de11-95ca-001e0bbae8cc";
            var ListIDForImport = 1768161;

            Console.WriteLine("--- Testing Import ---");
            Console.WriteLine("\n Create Import to DataExtension");
            var postImport = new ET_Import
            {
                AuthStub          = myclient,
                Name              = newImportName,
                CustomerKey       = newImportName,
                Description       = "Created with FuelSDK",
                AllowErrors       = true,
                DestinationObject = new ET_DataExtension {
                    ObjectID = SendableDataExtensionObjectID
                },
                FieldMappingType = ImportDefinitionFieldMappingType.InferFromColumnHeadings,
                FileSpec         = "FuelSDKExample.csv",
                FileType         = FileType.CSV,
                Notification     = new AsyncResponse {
                    ResponseType = AsyncResponseType.email, ResponseAddress = "*****@*****.**"
                },
                RetrieveFileTransferLocation = new FileTransferLocation {
                    CustomerKey = "ExactTarget Enhanced FTP"
                },
                UpdateType = ImportDefinitionUpdateType.Overwrite,
            };
            var prImport = postImport.Post();

            Console.WriteLine("Post Status: " + prImport.Status.ToString());
            Console.WriteLine("Message: " + prImport.Message);
            Console.WriteLine("Code: " + prImport.Code.ToString());
            Console.WriteLine("Results Length: " + prImport.Results.Length);

            Console.WriteLine("\n Delete Import");
            var deleteImport = new ET_Import
            {
                AuthStub    = myclient,
                CustomerKey = newImportName,
            };
            DeleteReturn drImport = deleteImport.Delete();

            Console.WriteLine("Delete Status: " + drImport.Status.ToString());
            Console.WriteLine("Message: " + drImport.Message);
            Console.WriteLine("Code: " + drImport.Code.ToString());
            Console.WriteLine("Results Length: " + drImport.Results.Length);

            Console.WriteLine("--- Testing Import ---");
            Console.WriteLine("\n Create Import to List");
            var postListImport = new ET_Import
            {
                AuthStub          = myclient,
                Name              = newImportName,
                CustomerKey       = newImportName,
                Description       = "Created with FuelSDK",
                AllowErrors       = true,
                DestinationObject = new ET_List {
                    ID = ListIDForImport
                },
                FieldMappingType = ImportDefinitionFieldMappingType.InferFromColumnHeadings,
                FileSpec         = "FuelSDKExample.csv",
                FileType         = FileType.CSV,
                Notification     = new AsyncResponse {
                    ResponseType = AsyncResponseType.email, ResponseAddress = "*****@*****.**"
                },
                RetrieveFileTransferLocation = new FileTransferLocation {
                    CustomerKey = "ExactTarget Enhanced FTP"
                },
                UpdateType = ImportDefinitionUpdateType.AddAndUpdate,
            };
            var prListImport = postListImport.Post();

            Console.WriteLine("Post Status: " + prListImport.Status.ToString());
            Console.WriteLine("Message: " + prListImport.Message);
            Console.WriteLine("Code: " + prListImport.Code.ToString());
            Console.WriteLine("Results Length: " + prListImport.Results.Length);

            Console.WriteLine("\n Start Import To List");
            var startImport = new ET_Import
            {
                AuthStub    = myclient,
                CustomerKey = newImportName,
            };
            var perListImport = startImport.Start();

            Console.WriteLine("Start Status: " + perListImport.Status.ToString());
            Console.WriteLine("Message: " + perListImport.Message);
            Console.WriteLine("Code: " + perListImport.Code.ToString());
            Console.WriteLine("Results Length: " + perListImport.Results.Length);

            if (perListImport.Status)
            {
                Console.WriteLine("\n Check Status using the same instance of ET_Import as used for start");
                var CurrentImportStatus = string.Empty;
                while (CurrentImportStatus != "Error" && CurrentImportStatus != "Completed")
                {
                    Console.WriteLine("Checking status in loop " + CurrentImportStatus);
                    //Wait a bit before checking the status to give it time to process
                    Thread.Sleep(15000);
                    var statusListImport = startImport.Status();
                    Console.WriteLine("Status Status: " + statusListImport.Status.ToString());
                    Console.WriteLine("Message: " + statusListImport.Message);
                    Console.WriteLine("Code: " + statusListImport.Code.ToString());
                    Console.WriteLine("Results Length: " + statusListImport.Results.Length);
                    CurrentImportStatus = ((ET_ImportResult)statusListImport.Results[0]).ImportStatus;
                }
                Console.WriteLine("Final Status: " + CurrentImportStatus);
            }

            Console.WriteLine("\n Delete Import");
            var deleteListImport = new ET_Import
            {
                AuthStub    = myclient,
                CustomerKey = newImportName,
            };
            var drListImport = deleteImport.Delete();

            Console.WriteLine("Delete Status: " + drListImport.Status.ToString());
            Console.WriteLine("Message: " + drListImport.Message);
            Console.WriteLine("Code: " + drListImport.Code.ToString());
            Console.WriteLine("Results Length: " + drListImport.Results.Length);
        }
Пример #10
0
        private void RetrieveSubscribers()
        {
            List <int> lstListIDs = new List <int>();

            lstListIDs.Add(17942355);
            lstListIDs.Add(17942350);
            lstListIDs.Add(17942353);
            lstListIDs.Add(17942356);
            lstListIDs.Add(17942359);
            lstListIDs.Add(17942361);

            dtSubscribers = new DataTable();
            dtSubscribers.Columns.Add("SubscriberID");
            dtSubscribers.Columns.Add("EmailAddress");
            dtSubscribers.Columns.Add("ListID");
            dtSubscribers.Columns.Add("DateAdded");
            dtSubscribers.Columns.Add("DateModified");

            NameValueCollection parameters = new NameValueCollection();

            parameters.Add("clientId", "3uqagf2nrt2mm27q3rt45ett");
            parameters.Add("clientSecret", "D5wxtEx6UGNVxgkbyrruJhQV");

            ET_Client myclient = new ET_Client(parameters);
            ET_List   postList = new ET_List();


            postList.AuthStub = myclient;
            PostReturn prList = postList.Post();

            if (prList.Status && prList.Results.Length > 0)
            {
                ET_List_Subscriber getListSub = new ET_List_Subscriber();
                getListSub.AuthStub = myclient;
                //getListSub.Props = new string[] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" };
                //getListSub.SearchFilter = new SimpleFilterPart() { Property = "ListID", SimpleOperator = SimpleOperators.equals, Value = new string[] { newListID.ToString() } };
                GetReturn getResponse = getListSub.Get();
                foreach (int newListID in lstListIDs)
                {
                    try
                    {
                        getListSub.SearchFilter = new SimpleFilterPart()
                        {
                            Property = "ListID", SimpleOperator = SimpleOperators.equals, Value = new string[] { newListID.ToString() }
                        };
                        GetReturn response = getListSub.Get();
                        foreach (ET_List_Subscriber subscriber in response.Results)
                        {
                            try
                            {
                                DataRow dr = dtSubscribers.NewRow();
                                dr["SubscriberID"] = subscriber.ID.ToString();
                                dr["ListID"]       = subscriber.ListID.ToString();
                                dr["EmailAddress"] = subscriber.SubscriberKey.ToString();
                                dr["DateAdded"]    = subscriber.CreatedDate.ToString();
                                dr["DateModified"] = subscriber.ModifiedDate.ToString();
                                dtSubscribers.Rows.Add(dr);
                            }
                            catch (Exception)
                            {
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                }
            }

            if (dtSubscribers.Rows.Count > 0)
            {
                //Save All Subscribers to the database
                foreach (DataRow scribe in dtSubscribers.Rows)
                {
                    try
                    {
                        string spName           = "dbo.AddETSubscriber";
                        String ConnectionString = Sitecore.Configuration.Settings.GetConnectionString("custom");
                        if (!String.IsNullOrWhiteSpace(ConnectionString))
                        {
                            using (SqlConnection connection = new SqlConnection(ConnectionString))
                            {
                                using (SqlCommand command = new SqlCommand(spName, connection))
                                {
                                    command.CommandType = CommandType.StoredProcedure;
                                    connection.Open();

                                    command.Parameters.Add(new SqlParameter("@SubscriberID", scribe["SubscriberID"].ToString()));
                                    command.Parameters.Add(new SqlParameter("@ListID", scribe["ListID"].ToString()));
                                    command.Parameters.Add(new SqlParameter("@EmailAddress", scribe["EmailAddress"].ToString()));
                                    command.Parameters.Add(new SqlParameter("@DateSubscriptionAdded", scribe["DateAdded"].ToString()));
                                    command.Parameters.Add(new SqlParameter("@DateSubscriptionUpdated", scribe["DateModified"].ToString()));
                                    command.ExecuteNonQuery();
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }
Пример #11
0
        static void TestET_Email()
        {
            var myclient        = new ET_Client();
            var nameOfTestEmail = "CSharpSDKEmail";

            Console.WriteLine("--- Testing Email ---");
            Console.WriteLine("\n Retrieve All Email with GetMoreResults");
            var getAllEmail = new ET_Email
            {
                AuthStub = myclient,
                Props    = new[] { "ID", "PartnerKey", "CreatedDate", "ModifiedDate", "Client.ID", "Name", "Folder", "CategoryID", "TextBody", "Subject", "IsActive", "IsHTMLPaste", "ClonedFromID", "Status", "EmailType", "CharacterSet", "HasDynamicSubjectLine", "ContentCheckStatus", "Client.PartnerClientKey", "ContentAreas", "CustomerKey" },
            };
            var grAllEmail = getAllEmail.Get();

            Console.WriteLine("Get Status: " + grAllEmail.Status.ToString());
            Console.WriteLine("Message: " + grAllEmail.Message);
            Console.WriteLine("Code: " + grAllEmail.Code.ToString());
            Console.WriteLine("Results Length: " + grAllEmail.Results.Length);

            while (grAllEmail.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All Email with GetMoreResults");
                grAllEmail = getAllEmail.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllEmail.Status.ToString());
                Console.WriteLine("Message: " + grAllEmail.Message);
                Console.WriteLine("Code: " + grAllEmail.Code.ToString());
                Console.WriteLine("Results Length: " + grAllEmail.Results.Length);
            }

            Console.WriteLine("\n Create Email");
            var postEmail = new ET_Email
            {
                AuthStub    = myclient,
                Name        = nameOfTestEmail,
                CustomerKey = nameOfTestEmail,
                Subject     = "Created Using the Fuel SDK",
                HTMLBody    = "<b>Some HTML Goes here</b>",
                //FolderID = 898544,
            };
            var postResponse = postEmail.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message);
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            if (postResponse.Status)
            {
                Console.WriteLine("\n Retrieve newly create Email");
                var getEmail = new ET_Email
                {
                    AuthStub     = myclient,
                    Props        = new[] { "ID", "PartnerKey", "CreatedDate", "ModifiedDate", "Client.ID", "Name", "Folder", "CategoryID", "HTMLBody", "TextBody", "Subject", "IsActive", "IsHTMLPaste", "ClonedFromID", "Status", "EmailType", "CharacterSet", "HasDynamicSubjectLine", "ContentCheckStatus", "Client.PartnerClientKey", "ContentAreas", "CustomerKey" },
                    SearchFilter = new SimpleFilterPart {
                        Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestEmail }
                    },
                };
                var getResponse = getEmail.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_Email ResultEmail in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultEmail.ID + ", Name: " + ResultEmail.Name + ", HTMLBody: " + ResultEmail.HTMLBody);
                }

                Console.WriteLine("\n Update Email");
                var patchEmail = new ET_Email
                {
                    CustomerKey = nameOfTestEmail,
                    HTMLBody    = "<b>Some HTML Goes here. NOW WITH NEW CONTENT</b>",
                    AuthStub    = myclient,
                };
                var patchFR = patchEmail.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message);
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve updated Email");
                getEmail.Props        = new[] { "ID", "PartnerKey", "CreatedDate", "ModifiedDate", "Client.ID", "Name", "Folder", "CategoryID", "HTMLBody", "TextBody", "Subject", "IsActive", "IsHTMLPaste", "ClonedFromID", "Status", "EmailType", "CharacterSet", "HasDynamicSubjectLine", "ContentCheckStatus", "Client.PartnerClientKey", "ContentAreas", "CustomerKey" };
                getEmail.SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestEmail }
                };
                getResponse = getEmail.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_Email ResultEmail in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultEmail.ID + ", Name: " + ResultEmail.Name + ", HTMLBody: " + ResultEmail.HTMLBody);
                }

                Console.WriteLine("\n Delete Email");
                var delEmail = new ET_Email
                {
                    CustomerKey = nameOfTestEmail,
                    AuthStub    = myclient,
                };
                var deleteResponse = delEmail.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message);
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Retrieve Email to confirm deletion");
                getEmail.Props        = new[] { "ID", "PartnerKey", "CreatedDate", "ModifiedDate", "Client.ID", "Name", "Folder", "CategoryID", "HTMLBody", "TextBody", "Subject", "IsActive", "IsHTMLPaste", "ClonedFromID", "Status", "EmailType", "CharacterSet", "HasDynamicSubjectLine", "ContentCheckStatus", "Client.PartnerClientKey", "ContentAreas", "CustomerKey" };
                getEmail.SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestEmail }
                };
                getResponse = getEmail.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);

                Console.WriteLine("\n Info Email");
                var EmailInfo = new ET_Email
                {
                    AuthStub = myclient,
                };
                var info = EmailInfo.Info();
                Console.WriteLine("Info Status: " + info.Status.ToString());
                Console.WriteLine("Message: " + info.Message);
                Console.WriteLine("Code: " + info.Code.ToString());
                Console.WriteLine("Results Length: " + info.Results.Length);
                foreach (ET_PropertyDefinition def in info.Results)
                {
                    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                }
            }
        }
Пример #12
0
        static void TestET_DataExtension()
        {
            ET_Client myclient = new ET_Client();

            string NameOfTestDataExtension = "CSharpCreatedDE";

            Console.WriteLine("--- Testing DataExtension ---");
            Console.WriteLine("\n Get all of the DataExtensions in an Account");
            ET_DataExtension getAllDataExtension = new ET_DataExtension();

            getAllDataExtension.AuthStub = myclient;
            getAllDataExtension.Props    = new string[] { "CustomerKey", "Name" };
            GetReturn grAllDataExtension = getAllDataExtension.Get();

            Console.WriteLine("Get Status: " + grAllDataExtension.Status.ToString());
            Console.WriteLine("Message: " + grAllDataExtension.Message.ToString());
            Console.WriteLine("Code: " + grAllDataExtension.Code.ToString());
            Console.WriteLine("Results Length: " + grAllDataExtension.Results.Length);

            while (grAllDataExtension.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All DataExtension with GetMoreResults");
                grAllDataExtension = getAllDataExtension.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllDataExtension.Status.ToString());
                Console.WriteLine("Message: " + grAllDataExtension.Message.ToString());
                Console.WriteLine("Code: " + grAllDataExtension.Code.ToString());
                Console.WriteLine("Results Length: " + grAllDataExtension.Results.Length);
            }



            Console.WriteLine("\n Create DataExtension");
            ET_DataExtension postDataExtension = new ET_DataExtension();

            postDataExtension.AuthStub    = myclient;
            postDataExtension.Name        = NameOfTestDataExtension;
            postDataExtension.CustomerKey = NameOfTestDataExtension;
            ET_DataExtensionColumn nameColumn = new ET_DataExtensionColumn()
            {
                Name = "Name", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
            };
            ET_DataExtensionColumn otherColumn = new ET_DataExtensionColumn()
            {
                Name = "OtherColumn", FieldType = DataExtensionFieldType.Text
            };

            postDataExtension.Columns = new ET_DataExtensionColumn[] { nameColumn, otherColumn };
            PostReturn postResponse = postDataExtension.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message.ToString());
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            if (postResponse.Status)
            {
                Console.WriteLine("\n Update DE to add new field");
                ET_DataExtension patchDataExtension = new ET_DataExtension();
                patchDataExtension.AuthStub    = myclient;
                patchDataExtension.CustomerKey = NameOfTestDataExtension;
                ET_DataExtensionColumn addedField = new ET_DataExtensionColumn()
                {
                    Name = "AddedField", FieldType = DataExtensionFieldType.Text
                };
                patchDataExtension.Columns = new ET_DataExtensionColumn[] { addedField };
                FuelSDK.PatchReturn patchFR = patchDataExtension.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message.ToString());
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve All Columns for a data extension");
                ET_DataExtensionColumn getColumn = new ET_DataExtensionColumn();
                getColumn.AuthStub     = myclient;
                getColumn.Props        = new string[] { "Name", "FieldType" };
                getColumn.SearchFilter = new SimpleFilterPart()
                {
                    Property = "DataExtension.CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new string[] { NameOfTestDataExtension }
                };
                GetReturn getColumnResponse = getColumn.Get();
                Console.WriteLine("Get Status: " + getColumnResponse.Status.ToString());
                Console.WriteLine("Message: " + getColumnResponse.Message.ToString());
                Console.WriteLine("Code: " + getColumnResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getColumnResponse.Results.Length);

                if (getColumnResponse.Status)
                {
                    foreach (ET_DataExtensionColumn column in getColumnResponse.Results)
                    {
                        Console.WriteLine("-- Name: " + column.Name + "  Type: " + column.FieldType.ToString());
                    }
                }

                Console.WriteLine("\n Add a row to a data extension (using CustomerKey)");
                ET_DataExtensionRow deRowPost = new ET_DataExtensionRow();
                deRowPost.AuthStub = myclient;
                deRowPost.DataExtensionCustomerKey = NameOfTestDataExtension;
                deRowPost.ColumnValues.Add("Name", "Example Name");
                deRowPost.ColumnValues.Add("OtherColumn", "Different Example Text");
                PostReturn prRowResponse = deRowPost.Post();
                Console.WriteLine("Post Status: " + prRowResponse.Status.ToString());
                Console.WriteLine("Message: " + prRowResponse.Message.ToString());
                Console.WriteLine("Code: " + prRowResponse.Code.ToString());
                Console.WriteLine("Results Length: " + prRowResponse.Results.Length);

                Console.WriteLine("\n Add a row to a data extension (using Name)");
                ET_DataExtensionRow deRowPost2 = new ET_DataExtensionRow();
                deRowPost2.AuthStub          = myclient;
                deRowPost2.DataExtensionName = NameOfTestDataExtension;
                deRowPost2.ColumnValues.Add("Name", "Example Name3");
                deRowPost2.ColumnValues.Add("OtherColumn", "Different Example Text");
                PostReturn prRowResponse2 = deRowPost2.Post();
                Console.WriteLine("Post Status: " + prRowResponse2.Status.ToString());
                Console.WriteLine("Message: " + prRowResponse2.Message.ToString());
                Console.WriteLine("Code: " + prRowResponse2.Code.ToString());
                Console.WriteLine("Results Length: " + prRowResponse2.Results.Length);

                Console.WriteLine("\n Retrieve All Rows from DataExtension");
                ET_DataExtensionRow deRowGet = new ET_DataExtensionRow();
                deRowGet.AuthStub          = myclient;
                deRowGet.DataExtensionName = NameOfTestDataExtension;
                deRowGet.Props             = new string[] { "Name", "OtherColumn" };
                GetReturn grRow = deRowGet.Get();
                Console.WriteLine("Post Status: " + grRow.Status.ToString());
                Console.WriteLine("Message: " + grRow.Message.ToString());
                Console.WriteLine("Code: " + grRow.Code.ToString());
                Console.WriteLine("Results Length: " + grRow.Results.Length);

                if (getColumnResponse.Status)
                {
                    foreach (ET_DataExtensionRow column in grRow.Results)
                    {
                        Console.WriteLine("--Name: " + column.ColumnValues["Name"] + " - OtherColumn: " + column.ColumnValues["OtherColumn"]);
                    }
                }

                Console.WriteLine("\n Update a row in  a data extension");
                ET_DataExtensionRow deRowPatch = new ET_DataExtensionRow();
                deRowPatch.AuthStub = myclient;
                deRowPatch.DataExtensionCustomerKey = NameOfTestDataExtension;
                deRowPatch.ColumnValues.Add("Name", "Example Name");
                deRowPatch.ColumnValues.Add("OtherColumn", "New Value for First Column");
                PatchReturn patchRowResponse = deRowPatch.Patch();
                Console.WriteLine("Post Status: " + patchRowResponse.Status.ToString());
                Console.WriteLine("Message: " + patchRowResponse.Message.ToString());
                Console.WriteLine("Code: " + patchRowResponse.Code.ToString());
                Console.WriteLine("Results Length: " + patchRowResponse.Results.Length);

                Console.WriteLine("\n Retrieve only updated row");
                ET_DataExtensionRow deRowGetSingle = new ET_DataExtensionRow();
                deRowGetSingle.AuthStub          = myclient;
                deRowGetSingle.DataExtensionName = NameOfTestDataExtension;
                deRowGetSingle.Props             = new string[] { "Name", "OtherColumn" };
                deRowGetSingle.SearchFilter      = new SimpleFilterPart()
                {
                    Property = "Name", SimpleOperator = SimpleOperators.equals, Value = new string[] { "Example Name" }
                };
                GetReturn grSingleRow = deRowGetSingle.Get();
                Console.WriteLine("Post Status: " + grSingleRow.Status.ToString());
                Console.WriteLine("Message: " + grSingleRow.Message.ToString());
                Console.WriteLine("Code: " + grSingleRow.Code.ToString());
                Console.WriteLine("Results Length: " + grSingleRow.Results.Length);

                if (getColumnResponse.Status)
                {
                    foreach (ET_DataExtensionRow column in grSingleRow.Results)
                    {
                        Console.WriteLine("--Name: " + column.ColumnValues["Name"] + " - OtherColumn: " + column.ColumnValues["OtherColumn"]);
                    }
                }

                Console.WriteLine("\n Delete a row from a data extension)");
                ET_DataExtensionRow deRowDelete = new ET_DataExtensionRow();
                deRowDelete.AuthStub = myclient;
                deRowDelete.DataExtensionCustomerKey = NameOfTestDataExtension;
                deRowDelete.ColumnValues.Add("Name", "Example Name");
                DeleteReturn drRowResponse = deRowDelete.Delete();
                Console.WriteLine("Post Status: " + drRowResponse.Status.ToString());
                Console.WriteLine("Message: " + drRowResponse.Message.ToString());
                Console.WriteLine("Code: " + drRowResponse.Code.ToString());
                Console.WriteLine("Results Length: " + drRowResponse.Results.Length);


                Console.WriteLine("\n Delete DataExtension");
                ET_DataExtension delDataExtension = new ET_DataExtension();
                delDataExtension.CustomerKey = NameOfTestDataExtension;
                delDataExtension.AuthStub    = myclient;
                DeleteReturn deleteResponse = delDataExtension.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message.ToString());
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Info DataExtension");
                ET_DataExtension DataExtensionInfo = new ET_DataExtension();
                DataExtensionInfo.AuthStub = myclient;
                InfoReturn info = DataExtensionInfo.Info();
                Console.WriteLine("Info Status: " + info.Status.ToString());
                Console.WriteLine("Message: " + info.Message.ToString());
                Console.WriteLine("Code: " + info.Code.ToString());
                Console.WriteLine("Results Length: " + info.Results.Length);
                foreach (ET_PropertyDefinition def in info.Results)
                {
                    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                }
            }
        }
Пример #13
0
        static void TestET_Subscriber()
        {
            ET_Client myclient = new ET_Client();

            Console.WriteLine("--- Testing Subscriber ---");
            string SubscriberTestEmail = "*****@*****.**";

            Console.WriteLine("\n Create Subscriber");
            ET_Subscriber postSub = new ET_Subscriber();

            postSub.AuthStub     = myclient;
            postSub.EmailAddress = SubscriberTestEmail;
            postSub.Attributes   = new FuelSDK.ET_ProfileAttribute[] { new ET_ProfileAttribute()
                                                                       {
                                                                           Name = "First Name", Value = "ExactTarget Example"
                                                                       } };
            PostReturn postResponse = postSub.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message.ToString());
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            if (postResponse.Results.Length > 0)
            {
                Console.WriteLine("--NewID: " + postResponse.Results[0].NewID.ToString());
                foreach (ET_ProfileAttribute attr in ((ET_Subscriber)postResponse.Results[0].Object).Attributes)
                {
                    Console.WriteLine("Name: " + attr.Name + ", Value: " + attr.Value);
                }
            }

            Console.WriteLine("\n Retrieve newly created Subscriber");
            ET_Subscriber getSub = new ET_Subscriber();

            getSub.AuthStub     = myclient;
            getSub.Props        = new string[] { "SubscriberKey", "EmailAddress", "Status" };
            getSub.SearchFilter = new SimpleFilterPart()
            {
                Property = "SubscriberKey", SimpleOperator = SimpleOperators.equals, Value = new string[] { SubscriberTestEmail }
            };
            GetReturn getResponse = getSub.Get();

            Console.WriteLine("Get Status: " + getResponse.Status.ToString());
            Console.WriteLine("Message: " + getResponse.Message.ToString());
            Console.WriteLine("Code: " + getResponse.Code.ToString());
            Console.WriteLine("Results Length: " + getResponse.Results.Length);

            foreach (ET_Subscriber sub in getResponse.Results)
            {
                Console.WriteLine("--EmailAddress: " + sub.EmailAddress + " Status: " + sub.Status.ToString());
            }


            Console.WriteLine("\n Update Subscriber");
            ET_Subscriber patchSub = new ET_Subscriber();

            patchSub.AuthStub     = myclient;
            patchSub.EmailAddress = SubscriberTestEmail;
            patchSub.Status       = SubscriberStatus.Unsubscribed;
            patchSub.Attributes   = new FuelSDK.ET_ProfileAttribute[] { new ET_ProfileAttribute()
                                                                        {
                                                                            Name = "First Name", Value = "ExactTarget Example"
                                                                        } };
            PatchReturn pathResponse = patchSub.Patch();

            Console.WriteLine("Patch Status: " + pathResponse.Status.ToString());
            Console.WriteLine("Message: " + pathResponse.Message.ToString());
            Console.WriteLine("Code: " + pathResponse.Code.ToString());
            Console.WriteLine("Results Length: " + pathResponse.Results.Length);

            foreach (ResultDetail rd in pathResponse.Results)
            {
                ET_Subscriber sub = (ET_Subscriber)rd.Object;
                Console.WriteLine("--EmailAddress: " + sub.EmailAddress + " Status: " + sub.Status.ToString());
            }

            Console.WriteLine("\n Retrieve Subscriber that should have status unsubscribed now");
            getResponse = getSub.Get();
            Console.WriteLine("Get Status: " + getResponse.Status.ToString());
            Console.WriteLine("Message: " + getResponse.Message.ToString());
            Console.WriteLine("Code: " + getResponse.Code.ToString());
            Console.WriteLine("Results Length: " + getResponse.Results.Length);

            foreach (ET_Subscriber sub in getResponse.Results)
            {
                Console.WriteLine("--EmailAddress: " + sub.EmailAddress + " Status: " + sub.Status.ToString());
            }

            Console.WriteLine("\n Delete Subscriber");
            ET_Subscriber deleteSub = new ET_Subscriber();

            deleteSub.AuthStub     = myclient;
            deleteSub.EmailAddress = SubscriberTestEmail;
            DeleteReturn deleteResponse = deleteSub.Delete();

            Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
            Console.WriteLine("Message: " + deleteResponse.Message.ToString());
            Console.WriteLine("Code: " + deleteResponse.Code.ToString());
            Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

            Console.WriteLine("\n Retrieve Subscriber to confirm deletion");
            getResponse = getSub.Get();
            Console.WriteLine("Get Status: " + getResponse.Status.ToString());
            Console.WriteLine("Message: " + getResponse.Message.ToString());
            Console.WriteLine("Code: " + getResponse.Code.ToString());
            Console.WriteLine("Results Length: " + getResponse.Results.Length);

            foreach (ET_Subscriber sub in getResponse.Results)
            {
                Console.WriteLine("--EmailAddress: " + sub.EmailAddress + " Status: " + sub.Status.ToString());
            }
        }
Пример #14
0
        static void TestET_ListSubscriber()
        {
            string NewListName         = "CSharpSDKListSubscriber";
            string SubscriberTestEmail = "*****@*****.**";

            Console.WriteLine("--- Testing ListSubscriber ---");
            ET_Client myclient = new ET_Client();

            Console.WriteLine("\n Create List");
            ET_List postList = new ET_List();

            postList.AuthStub = myclient;
            postList.ListName = NewListName;
            PostReturn prList = postList.Post();

            if (prList.Status && prList.Results.Length > 0)
            {
                int newListID = prList.Results[0].Object.ID;

                Console.WriteLine("\n Create Subscriber on List");
                ET_Subscriber postSub = new ET_Subscriber();
                postSub.Lists = new ET_SubscriberList[] { new ET_SubscriberList()
                                                          {
                                                              ID = newListID
                                                          } };
                postSub.AuthStub     = myclient;
                postSub.EmailAddress = SubscriberTestEmail;
                postSub.Attributes   = new FuelSDK.ET_ProfileAttribute[] { new ET_ProfileAttribute()
                                                                           {
                                                                               Name = "First Name", Value = "ExactTarget Example"
                                                                           } };
                PostReturn postResponse = postSub.Post();
                Console.WriteLine("Post Status: " + postResponse.Status.ToString());
                Console.WriteLine("Message: " + postResponse.Message.ToString());
                Console.WriteLine("Code: " + postResponse.Code.ToString());
                Console.WriteLine("Results Length: " + postResponse.Results.Length);


                if (!postResponse.Status)
                {
                    if (postResponse.Results.Length > 0 && postResponse.Results[0].ErrorCode == 12014)
                    {
                        // If the subscriber already exists in the account then we need to do an update.
                        //Update Subscriber On List
                        Console.WriteLine("\n Update Subscriber to add to List");
                        PatchReturn patchResponse = postSub.Patch();
                        Console.WriteLine("Post Status: " + patchResponse.Status.ToString());
                        Console.WriteLine("Message: " + patchResponse.Message.ToString());
                        Console.WriteLine("Code: " + patchResponse.Code.ToString());
                        Console.WriteLine("Results Length: " + patchResponse.Results.Length);
                    }
                }

                Console.WriteLine("\n Retrieve all Subscribers on the List");
                ET_List_Subscriber getListSub = new ET_List_Subscriber();
                getListSub.AuthStub     = myclient;
                getListSub.Props        = new string[] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" };
                getListSub.SearchFilter = new SimpleFilterPart()
                {
                    Property = "ListID", SimpleOperator = SimpleOperators.equals, Value = new string[] { newListID.ToString() }
                };
                GetReturn getResponse = getListSub.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message.ToString());
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_List_Subscriber ResultListSub in getResponse.Results)
                {
                    Console.WriteLine("--ListID: " + ResultListSub.ID + ", SubscriberKey(EmailAddress): " + ResultListSub.SubscriberKey);
                }
            }


            //Console.WriteLine("Retrieve Filtered ListSubscribers with GetMoreResults");
            //ET_ListSubscriber oe = new ET_ListSubscriber();
            //oe.authStub = myclient;
            //oe.SearchFilter = new SimpleFilterPart() { Property = "EventDate", SimpleOperator = SimpleOperators.greaterThan, DateValue = new DateTime[] { filterDate } };
            //oe.props = new string[] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" };
            //GetReturn oeGet = oe.Get();

            //Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            //Console.WriteLine("Message: " + oeGet.Message.ToString());
            //Console.WriteLine("Code: " + oeGet.Code.ToString());
            //Console.WriteLine("Results Length: " + oeGet.Results.Length);
            //Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            //// Since this could potentially return a large number of results, we do not want to print the results
            ////foreach (ET_ListSubscriber ListSubscriber in oeGet.Results)
            ////{
            ////    Console.WriteLine("SubscriberKey: " + ListSubscriber.SubscriberKey + ", EventDate: " + ListSubscriber.EventDate.ToString());
            ////}

            //while (oeGet.MoreResults)
            //{
            //    Console.WriteLine("Continue Retrieve Filtered ListSubscribers with GetMoreResults");
            //    oeGet = oe.GetMoreResults();
            //    Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            //    Console.WriteLine("Message: " + oeGet.Message.ToString());
            //    Console.WriteLine("Code: " + oeGet.Code.ToString());
            //    Console.WriteLine("Results Length: " + oeGet.Results.Length);
            //    Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            //}


            //The following request could potentially bring back large amounts of data if run against a production account
            //Console.WriteLine("Retrieve All ListSubscribers with GetMoreResults");
            //ET_ListSubscriber oe = new ET_ListSubscriber();
            //oe.authStub = myclient;
            //oe.props = new string[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" };
            //GetResponse oeGetAll = oe.Get();

            //Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            //Console.WriteLine("Message: " + oeGetAll.Message.ToString());
            //Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            //Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            //Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            //// Since this could potentially return a large number of results, we do not want to print the results
            ////foreach (ET_ListSubscriber ListSubscriber in oeGet.Results)
            ////{
            ////    Console.WriteLine("SubscriberKey: " + ListSubscriber.SubscriberKey + ", EventDate: " + ListSubscriber.EventDate.ToString());
            ////}

            //while (oeGetAll.MoreResults)
            //{
            //    oeGetAll = oe.GetMoreResults();
            //    Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            //    Console.WriteLine("Message: " + oeGetAll.Message.ToString());
            //    Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            //    Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            //    Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            //}
        }
Пример #15
0
        static void TestET_ContentArea()
        {
            var myclient = new ET_Client();
            var nameOfTestContentArea = "CSharpSDKContentArea";

            Console.WriteLine("--- Testing ContentArea ---");
            Console.WriteLine("\n Retrieve All ContentArea with GetMoreResults");
            var getAllContentArea = new ET_ContentArea
            {
                AuthStub = myclient,
                Props    = new[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" },
            };
            var grAllContent = getAllContentArea.Get();

            Console.WriteLine("Get Status: " + grAllContent.Status.ToString());
            Console.WriteLine("Message: " + grAllContent.Message);
            Console.WriteLine("Code: " + grAllContent.Code.ToString());
            Console.WriteLine("Results Length: " + grAllContent.Results.Length);

            while (grAllContent.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All ContentArea with GetMoreResults");
                grAllContent = getAllContentArea.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllContent.Status.ToString());
                Console.WriteLine("Message: " + grAllContent.Message);
                Console.WriteLine("Code: " + grAllContent.Code.ToString());
                Console.WriteLine("Results Length: " + grAllContent.Results.Length);
            }

            Console.WriteLine("\n Create ContentArea");
            var postContentArea = new ET_ContentArea
            {
                AuthStub    = myclient,
                Name        = nameOfTestContentArea,
                CustomerKey = nameOfTestContentArea,
                Content     = "<b>Some HTML Content Goes here</b>",
                //FolderID = 1073161,
            };
            var postResponse = postContentArea.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message);
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            if (postResponse.Status)
            {
                Console.WriteLine("\n Retrieve newly create ContentArea");
                var getContentArea = new ET_ContentArea
                {
                    AuthStub     = myclient,
                    Props        = new[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" },
                    SearchFilter = new SimpleFilterPart {
                        Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestContentArea }
                    },
                };
                var getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_ContentArea ResultContentArea in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultContentArea.ID + ", Name: " + ResultContentArea.Name + ", Content: " + ResultContentArea.Content);
                }

                Console.WriteLine("\n Update ContentArea");
                var patchContentArea = new ET_ContentArea
                {
                    CustomerKey = nameOfTestContentArea,
                    Content     = "<b>Some HTML Content Goes here. NOW WITH NEW CONTENT</b>",
                    AuthStub    = myclient,
                };
                var patchFR = patchContentArea.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message);
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve updated ContentArea");
                getContentArea.Props        = new[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
                getContentArea.SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestContentArea }
                };
                getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_ContentArea ResultContentArea in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultContentArea.ID + ", Name: " + ResultContentArea.Name + ", Content: " + ResultContentArea.Content);
                }

                Console.WriteLine("\n Delete ContentArea");
                var delContentArea = new ET_ContentArea
                {
                    CustomerKey = nameOfTestContentArea,
                    AuthStub    = myclient,
                };
                var deleteResponse = delContentArea.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message);
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Retrieve ContentArea to confirm deletion");
                getContentArea.Props        = new[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
                getContentArea.SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { nameOfTestContentArea }
                };
                getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);

#if false
                Console.WriteLine("\n Info ContentArea");
                var ContentAreaInfo = new ET_ContentArea
                {
                    AuthStub = myclient,
                };
                var info = ContentAreaInfo.Info();
                Console.WriteLine("Info Status: " + info.Status.ToString());
                Console.WriteLine("Message: " + info.Message);
                Console.WriteLine("Code: " + info.Code.ToString());
                Console.WriteLine("Results Length: " + info.Results.Length);
                foreach (ET_PropertyDefinition def in info.Results)
                {
                    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                }
#endif
            }
        }
Пример #16
0
        static void TestET_TriggeredSend()
        {
            var myclient = new ET_Client();

            Console.WriteLine("--- Testing TriggeredSend ---");
            var tsNameForCreateThenDelete = Guid.NewGuid().ToString();
            var existingTSDCustomerKey    = "TEXTEXT";

            Console.WriteLine("\n Send Using an Existing Definition ");
            var tsdSend = new ET_TriggeredSend
            {
                AuthStub    = myclient,
                CustomerKey = existingTSDCustomerKey,
                Subscribers = new[] { new ET_Subscriber {
                                          EmailAddress = "*****@*****.**", SubscriberKey = "*****@*****.**"
                                      } },
            };
            var srSend = tsdSend.Send();

            Console.WriteLine("Send Status: " + srSend.Status.ToString());
            Console.WriteLine("Message: " + srSend.Message);
            Console.WriteLine("Code: " + srSend.Code.ToString());
            Console.WriteLine("Results Length: " + srSend.Results.Length);

            Console.WriteLine("\n Retrieve All TriggeredSend Definitions");
            var tsdGetAll = new ET_TriggeredSend
            {
                AuthStub     = myclient,
                Props        = new[] { "CustomerKey", "Name", "TriggeredSendStatus" },
                SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { tsNameForCreateThenDelete }
                },
            };
            var grAllTSD = tsdGetAll.Get();

            Console.WriteLine("Get Status: " + grAllTSD.Status.ToString());
            Console.WriteLine("Message: " + grAllTSD.Message);
            Console.WriteLine("Code: " + grAllTSD.Code.ToString());
            Console.WriteLine("Results Length: " + grAllTSD.Results.Length);
            foreach (ET_TriggeredSend result in grAllTSD.Results)
            {
                Console.WriteLine("--CustomerKey: " + result.CustomerKey + ", Name: " + result.Name + ", Status: " + result.TriggeredSendStatus.ToString());
            }

            Console.WriteLine("\n Create a TriggeredSend Definition");
            var tsd = new ET_TriggeredSend
            {
                AuthStub    = myclient,
                Name        = tsNameForCreateThenDelete,
                CustomerKey = tsNameForCreateThenDelete,
                Email       = new ET_Email {
                    ID = 3113962
                },
                SendClassification = new ET_SendClassification {
                    CustomerKey = "2240"
                },
            };
            var prTSD = tsd.Post();

            Console.WriteLine("Post Status: " + prTSD.Status.ToString());
            Console.WriteLine("Message: " + prTSD.Message);
            Console.WriteLine("Code: " + prTSD.Code.ToString());
            Console.WriteLine("Results Length: " + prTSD.Results.Length);

            Console.WriteLine("\n Retrieve Single TriggeredSend");
            var tsdGet = new ET_TriggeredSend
            {
                AuthStub     = myclient,
                Props        = new[] { "CustomerKey", "Name", "TriggeredSendStatus" },
                SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { tsNameForCreateThenDelete }
                },
            };
            var tsdGetSingle = tsdGet.Get();

            Console.WriteLine("Get Status: " + tsdGetSingle.Status.ToString());
            Console.WriteLine("Message: " + tsdGetSingle.Message);
            Console.WriteLine("Code: " + tsdGetSingle.Code.ToString());
            Console.WriteLine("Results Length: " + tsdGetSingle.Results.Length);
            foreach (ET_TriggeredSend result in tsdGetSingle.Results)
            {
                Console.WriteLine("--CustomerKey: " + result.CustomerKey + ", Name: " + result.Name + ", Status: " + result.TriggeredSendStatus.ToString());
            }

            Console.WriteLine("\n Start a TriggeredSend by setting to Active");
            var tsdPatch = new ET_TriggeredSend
            {
                AuthStub            = myclient,
                CustomerKey         = tsNameForCreateThenDelete,
                TriggeredSendStatus = TriggeredSendStatusEnum.Active,
            };
            var patchrTSD = tsdPatch.Patch();

            Console.WriteLine("Patch Status: " + patchrTSD.Status.ToString());
            Console.WriteLine("Message: " + patchrTSD.Message);
            Console.WriteLine("Code: " + patchrTSD.Code.ToString());
            Console.WriteLine("Results Length: " + patchrTSD.Results.Length);

            Console.WriteLine("\n  Retrieve Single TriggeredSend After setting to active");
            tsdGetSingle = tsdGet.Get();
            Console.WriteLine("Get Status: " + tsdGetSingle.Status.ToString());
            Console.WriteLine("Message: " + tsdGetSingle.Message);
            Console.WriteLine("Code: " + tsdGetSingle.Code.ToString());
            Console.WriteLine("Results Length: " + tsdGetSingle.Results.Length);
            foreach (ET_TriggeredSend result in tsdGetSingle.Results)
            {
                Console.WriteLine("--CustomerKey: " + result.CustomerKey + ", Name: " + result.Name + ", Status: " + result.TriggeredSendStatus.ToString());
            }

            Console.WriteLine("\n  Send using new definition");
            var tsdSendNew = new ET_TriggeredSend
            {
                AuthStub    = myclient,
                CustomerKey = tsNameForCreateThenDelete,
                Subscribers = new[] { new ET_Subscriber {
                                          EmailAddress = "*****@*****.**", SubscriberKey = "*****@*****.**"
                                      } },
            };
            var srSendnew = tsdSendNew.Send();

            Console.WriteLine("Send Status: " + srSendnew.Status.ToString());
            Console.WriteLine("Message: " + srSendnew.Message);
            Console.WriteLine("Code: " + srSendnew.Code.ToString());
            Console.WriteLine("Results Length: " + srSendnew.Results.Length);

            Console.WriteLine("\n Pause a TriggeredSend by setting to Inactive");
            tsdPatch.TriggeredSendStatus = TriggeredSendStatusEnum.Inactive;
            patchrTSD = tsdPatch.Patch();
            Console.WriteLine("Patch Status: " + patchrTSD.Status.ToString());
            Console.WriteLine("Message: " + patchrTSD.Message);
            Console.WriteLine("Code: " + patchrTSD.Code.ToString());
            Console.WriteLine("Results Length: " + patchrTSD.Results.Length);

            Console.WriteLine("\n Delete a TriggeredSend Definition");
            var tsdDelete = new ET_TriggeredSend
            {
                AuthStub    = myclient,
                CustomerKey = tsNameForCreateThenDelete,
            };
            var drTSD = tsdDelete.Delete();

            Console.WriteLine("Delete Status: " + drTSD.Status.ToString());
            Console.WriteLine("Message: " + drTSD.Message);
            Console.WriteLine("Code: " + drTSD.Code.ToString());
            Console.WriteLine("Results Length: " + drTSD.Results.Length);
        }
Пример #17
0
        static void TestET_UnsubEvent()
        {
            var filterDate = new DateTime(2013, 1, 15, 13, 0, 0);

            Console.WriteLine("--- Testing UnsubEvent ---");
            var myclient = new ET_Client();

            Console.WriteLine("Retrieve Filtered UnsubEvents with GetMoreResults");
            var oe = new ET_UnsubEvent
            {
                AuthStub     = myclient,
                SearchFilter = new SimpleFilterPart {
                    Property = "EventDate", SimpleOperator = SimpleOperators.greaterThan, DateValue = new[] { filterDate }
                },
                Props = new[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" },
            };
            var oeGet = oe.Get();

            Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            Console.WriteLine("Message: " + oeGet.Message);
            Console.WriteLine("Code: " + oeGet.Code.ToString());
            Console.WriteLine("Results Length: " + oeGet.Results.Length);
            Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            // Since this could potentially return a large number of results, we do not want to print the results
            foreach (ET_UnsubEvent UnsubEvent in oeGet.Results)
            {
                Console.WriteLine("SubscriberKey: " + UnsubEvent.SubscriberKey + ", EventDate: " + UnsubEvent.EventDate.ToString());
            }

            while (oeGet.MoreResults)
            {
                Console.WriteLine("Continue Retrieve Filtered UnsubEvents with GetMoreResults");
                oeGet = oe.GetMoreResults();
                Console.WriteLine("Get Status: " + oeGet.Status.ToString());
                Console.WriteLine("Message: " + oeGet.Message);
                Console.WriteLine("Code: " + oeGet.Code.ToString());
                Console.WriteLine("Results Length: " + oeGet.Results.Length);
                Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            }

#if false
            // The following request could potentially bring back large amounts of data if run against a production account
            Console.WriteLine("Retrieve All UnsubEvents with GetMoreResults");
            var oe2 = new ET_UnsubEvent
            {
                AuthStub = myclient,
                Props    = new[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" },
            };
            var oeGetAll = oe2.Get();

            Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            Console.WriteLine("Message: " + oeGetAll.Message);
            Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            // Since this could potentially return a large number of results, we do not want to print the results
            foreach (ET_UnsubEvent UnsubEvent in oeGet.Results)
            {
                Console.WriteLine("SubscriberKey: " + UnsubEvent.SubscriberKey + ", EventDate: " + UnsubEvent.EventDate.ToString());
            }

            while (oeGetAll.MoreResults)
            {
                oeGetAll = oe2.GetMoreResults();
                Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
                Console.WriteLine("Message: " + oeGetAll.Message);
                Console.WriteLine("Code: " + oeGetAll.Code.ToString());
                Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
                Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            }
#endif
        }
Пример #18
0
        static void TestET_Folder()
        {
            var newFolderName    = "Testing C Sharp SDK";
            var parentIDForEmail = 0;
            var contentType      = "email";

            var myclient = new ET_Client();

            Console.WriteLine("--- Testing Folder ---");

            Console.WriteLine("\n Retrieve All Folder with GetMoreResults");
            var getAllFolder = new ET_Folder
            {
                AuthStub = myclient,
                Props    = new[] { "ID", "Client.ID", "ParentFolder.ID", "ParentFolder.CustomerKey", "ParentFolder.ObjectID", "ParentFolder.Name", "ParentFolder.Description", "ParentFolder.ContentType", "ParentFolder.IsActive", "ParentFolder.IsEditable", "ParentFolder.AllowChildren", "Name", "Description", "ContentType", "IsActive", "IsEditable", "AllowChildren", "CreatedDate", "ModifiedDate", "Client.ModifiedBy", "ObjectID", "CustomerKey", "Client.EnterpriseID", "Client.CreatedBy" },
            };
            var grAllFolder = getAllFolder.Get();

            Console.WriteLine("Get Status: " + grAllFolder.Status.ToString());
            Console.WriteLine("Message: " + grAllFolder.Message);
            Console.WriteLine("Code: " + grAllFolder.Code.ToString());
            Console.WriteLine("Results Length: " + grAllFolder.Results.Length);

            while (grAllFolder.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All Folders with GetMoreResults");
                grAllFolder = getAllFolder.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllFolder.Status.ToString());
                Console.WriteLine("Message: " + grAllFolder.Message);
                Console.WriteLine("Code: " + grAllFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grAllFolder.Results.Length);
            }

            Console.WriteLine("\n Retrieve Specific Folder for Email Folder ParentID");
            var getFolder = new ET_Folder
            {
                AuthStub     = myclient,
                SearchFilter = new ComplexFilterPart
                {
                    LeftOperand = new SimpleFilterPart {
                        Property = "ParentFolder.ID", SimpleOperator = SimpleOperators.equals, Value = new[] { "0" }
                    },
                    RightOperand = new SimpleFilterPart {
                        Property = "ContentType", SimpleOperator = SimpleOperators.equals, Value = new[] { "Email" }
                    },
                    LogicalOperator = LogicalOperators.AND
                },
                Props = new[] { "ID", "Name", "Description" },
            };
            var grFolder = getFolder.Get();

            Console.WriteLine("Get Status: " + grFolder.Status.ToString());
            Console.WriteLine("Message: " + grFolder.Message);
            Console.WriteLine("Code: " + grFolder.Code.ToString());
            Console.WriteLine("Results Length: " + grFolder.Results.Length);

            foreach (ET_Folder ef in grFolder.Results)
            {
                parentIDForEmail = ef.ID;
            }

            if (parentIDForEmail != 0)
            {
                Console.WriteLine("\n Create Folder");
                var fold = new ET_Folder
                {
                    Name         = newFolderName,
                    Description  = newFolderName,
                    CustomerKey  = newFolderName,
                    AuthStub     = myclient,
                    ParentFolder = new ET_Folder {
                        ID = parentIDForEmail
                    },
                    ContentType = contentType,
                    IsEditable  = true,
                };
                var prFolder = fold.Post();

                Console.WriteLine("Post Status: " + prFolder.Status.ToString());
                Console.WriteLine("Message: " + prFolder.Message);
                Console.WriteLine("Code: " + prFolder.Code.ToString());
                Console.WriteLine("Results Length: " + prFolder.Results.Length);
                foreach (ResultDetail rd in prFolder.Results)
                {
                    Console.WriteLine("--Status Code: " + rd.StatusCode);
                    Console.WriteLine("--Status Message: " + rd.StatusMessage);
                }

                Console.WriteLine("\n Retrieve newly created Folder");
                var getNewFolder = new ET_Folder
                {
                    AuthStub     = myclient,
                    SearchFilter = new SimpleFilterPart {
                        Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { newFolderName }
                    },
                    Props = new[] { "ID", "Name", "Description" },
                };
                var grNewFolder = getNewFolder.Get();

                Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                Console.WriteLine("Message: " + grFolder.Message);
                Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grNewFolder.Results.Length);
                foreach (ET_Folder ef in grNewFolder.Results)
                {
                    Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                }

                Console.WriteLine("\n UpdateFolder");
                var patchFolder = new ET_Folder
                {
                    AuthStub    = myclient,
                    CustomerKey = newFolderName,
                    Description = "Now with a new Description",
                };
                var patchResponse = patchFolder.Patch();

                Console.WriteLine("Patch Status: " + patchResponse.Status.ToString());
                Console.WriteLine("Message: " + patchResponse.Message);
                Console.WriteLine("Code: " + patchResponse.Code.ToString());
                Console.WriteLine("Results Length: " + patchResponse.Results.Length);

                if (patchResponse.Status)
                {
                    Console.WriteLine("\n Retrieve updated Folder");
                    grNewFolder = getNewFolder.Get();
                    Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                    Console.WriteLine("Message: " + grFolder.Message);
                    Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                    Console.WriteLine("Results Length: " + grNewFolder.Results.Length);
                    foreach (ET_Folder ef in grNewFolder.Results)
                    {
                        Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                    }
                }

                Console.WriteLine("\n Delete Folder");
                var delFolder = new ET_Folder
                {
                    AuthStub    = myclient,
                    CustomerKey = newFolderName,
                };
                var drFolder = delFolder.Delete();
                Console.WriteLine("Delete Status: " + drFolder.Status.ToString());
                Console.WriteLine("Message: " + drFolder.Message);
                Console.WriteLine("Code: " + drFolder.Code.ToString());
                Console.WriteLine("Results Length: " + drFolder.Results.Length);
                foreach (ResultDetail rd in drFolder.Results)
                {
                    Console.WriteLine("--Status Code: " + rd.StatusCode);
                    Console.WriteLine("--Status Message: " + rd.StatusMessage);
                }

                Console.WriteLine("\n Retrieve Folder to confirm deletion");
                grNewFolder = getNewFolder.Get();

                Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                Console.WriteLine("Message: " + grFolder.Message);
                Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grNewFolder.Results.Length);
                foreach (ET_Folder ef in grNewFolder.Results)
                {
                    Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                }
            }
        }
Пример #19
0
        static void TestET_List()
        {
            ET_Client myclient = new ET_Client();

            Console.WriteLine("--- Testing List ---");
            int MyNewListID = 0;

            Console.WriteLine("\n Create List");
            ET_List list = new ET_List();

            list.AuthStub    = myclient;
            list.ListName    = "C# SDK Rules!!";
            list.Description = "This is my SDK Created List";
            PostReturn postFR = list.Post();

            Console.WriteLine("Post Status: " + postFR.Status.ToString());
            Console.WriteLine("Message: " + postFR.Message.ToString());
            Console.WriteLine("Code: " + postFR.Code.ToString());
            Console.WriteLine("Results Length: " + postFR.Results.Length);

            if (postFR.Results.Length > 0)
            {
                MyNewListID = postFR.Results[0].NewID;
            }

            if (MyNewListID > 0)
            {
                Console.WriteLine("\n Retrieve newly create list");
                list.Props        = new string[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart()
                {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new String[] { MyNewListID.ToString() }
                };
                GetReturn getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message.ToString());
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Update list");
                ET_List patchList = new ET_List();
                patchList.ID          = MyNewListID;
                patchList.Description = "This is the new description";
                patchList.AuthStub    = myclient;
                FuelSDK.PatchReturn patchFR = patchList.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message.ToString());
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve List that should have description updated");
                list.Props        = new string[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart()
                {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new String[] { MyNewListID.ToString() }
                };
                getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message.ToString());
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Delete List");
                ET_List delList = new ET_List();
                delList.ID       = MyNewListID;
                delList.AuthStub = myclient;
                FuelSDK.DeleteReturn fr = delList.Delete();
                Console.WriteLine("Delete Status: " + fr.Status.ToString());
                Console.WriteLine("Message: " + fr.Message.ToString());
                Console.WriteLine("Code: " + fr.Code.ToString());
                Console.WriteLine("Results Length: " + fr.Results.Length);

                Console.WriteLine("\n Retrieve List to confirm deletion");
                list.Props        = new string[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart()
                {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new String[] { MyNewListID.ToString() }
                };
                getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message.ToString());
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Info List");
                ET_List listInfo = new ET_List();
                listInfo.AuthStub = myclient;
                InfoReturn info = listInfo.Info();
                Console.WriteLine("Info Status: " + info.Status.ToString());
                Console.WriteLine("Message: " + info.Message.ToString());
                Console.WriteLine("Code: " + info.Code.ToString());
                Console.WriteLine("Results Length: " + info.Results.Length);
                foreach (ET_PropertyDefinition def in info.Results)
                {
                    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                }
            }
        }
Пример #20
0
        static void TestET_ContentArea()
        {
            ET_Client myclient = new ET_Client();
            string    NameOfTestContentArea = "CSharpSDKContentArea";

            Console.WriteLine("--- Testing ContentArea ---");
            Console.WriteLine("\n Retrieve All ContentArea with GetMoreResults");
            ET_ContentArea getAllContentArea = new ET_ContentArea();

            getAllContentArea.AuthStub = myclient;
            getAllContentArea.Props    = new string[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
            GetReturn grAllContent = getAllContentArea.Get();

            Console.WriteLine("Get Status: " + grAllContent.Status.ToString());
            Console.WriteLine("Message: " + grAllContent.Message.ToString());
            Console.WriteLine("Code: " + grAllContent.Code.ToString());
            Console.WriteLine("Results Length: " + grAllContent.Results.Length);

            while (grAllContent.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All ContentArea with GetMoreResults");
                grAllContent = getAllContentArea.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllContent.Status.ToString());
                Console.WriteLine("Message: " + grAllContent.Message.ToString());
                Console.WriteLine("Code: " + grAllContent.Code.ToString());
                Console.WriteLine("Results Length: " + grAllContent.Results.Length);
            }

            Console.WriteLine("\n Create ContentArea");
            ET_ContentArea postContentArea = new ET_ContentArea();

            postContentArea.AuthStub    = myclient;
            postContentArea.Name        = NameOfTestContentArea;
            postContentArea.CustomerKey = NameOfTestContentArea;
            postContentArea.Content     = "<b>Some HTML Content Goes here</b>";
            PostReturn postResponse = postContentArea.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message.ToString());
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            if (postResponse.Status)
            {
                Console.WriteLine("\n Retrieve newly create ContentArea");
                ET_ContentArea getContentArea = new ET_ContentArea();
                getContentArea.AuthStub     = myclient;
                getContentArea.Props        = new string[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
                getContentArea.SearchFilter = new SimpleFilterPart()
                {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new String[] { NameOfTestContentArea }
                };
                GetReturn getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message.ToString());
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_ContentArea ResultContentArea in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultContentArea.ID + ", Name: " + ResultContentArea.Name + ", Content: " + ResultContentArea.Content);
                }

                Console.WriteLine("\n Update ContentArea");
                ET_ContentArea patchContentArea = new ET_ContentArea();
                patchContentArea.CustomerKey = NameOfTestContentArea;
                patchContentArea.Content     = "<b>Some HTML Content Goes here. NOW WITH NEW CONTENT</b>";
                patchContentArea.AuthStub    = myclient;
                FuelSDK.PatchReturn patchFR = patchContentArea.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message.ToString());
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve updated ContentArea");
                getContentArea.Props        = new string[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
                getContentArea.SearchFilter = new SimpleFilterPart()
                {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new String[] { NameOfTestContentArea }
                };
                getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message.ToString());
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_ContentArea ResultContentArea in getResponse.Results)
                {
                    Console.WriteLine("--ID: " + ResultContentArea.ID + ", Name: " + ResultContentArea.Name + ", Content: " + ResultContentArea.Content);
                }

                Console.WriteLine("\n Delete ContentArea");
                ET_ContentArea delContentArea = new ET_ContentArea();
                delContentArea.CustomerKey = NameOfTestContentArea;
                delContentArea.AuthStub    = myclient;
                DeleteReturn deleteResponse = delContentArea.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message.ToString());
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Retrieve ContentArea to confirm deletion");
                getContentArea.Props        = new string[] { "RowObjectID", "ObjectID", "ID", "CustomerKey", "Client.ID", "ModifiedDate", "CreatedDate", "CategoryID", "Name", "Layout", "IsDynamicContent", "Content", "IsSurvey", "IsBlank", "Key" };
                getContentArea.SearchFilter = new SimpleFilterPart()
                {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new String[] { NameOfTestContentArea }
                };
                getResponse = getContentArea.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message.ToString());
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);

                //Console.WriteLine("\n Info ContentArea");
                //ET_ContentArea ContentAreaInfo = new ET_ContentArea();
                //ContentAreaInfo.authStub = myclient;
                //InfoReturn info = ContentAreaInfo.Info();
                //Console.WriteLine("Info Status: " + info.Status.ToString());
                //Console.WriteLine("Message: " + info.Message.ToString());
                //Console.WriteLine("Code: " + info.Code.ToString());
                //Console.WriteLine("Results Length: " + info.Results.Length);
                //foreach (ET_PropertyDefinition def in info.Results)
                //{
                //    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                //}
            }
        }
        static void TestET_EmailSendDefinition()
        {
            var myclient = new ET_Client();
            var newSendDefinitionName            = "CSharpSDKSendDefinition";
            var sendableDataExtensionCustomerKey = "F6F3871A-D124-499B-BBF5-3EFC0E827A51";
            var emailIDForSendDefinition         = 3113962;
            var listIDForSendDefinition          = 1729515;
            var sendClassificationCustomerKey    = "2239";

            Console.WriteLine("--- Testing EmailSendDefinition ---");
            Console.WriteLine("\n Retrieve All EmailSendDefinition with GetMoreResults");
            var getAllESD = new ET_EmailSendDefinition
            {
                AuthStub = myclient,
                Props    = new[] { "Client.ID", "CreatedDate", "ModifiedDate", "ObjectID", "CustomerKey", "Name", "CategoryID", "Description", "SendClassification.CustomerKey", "SenderProfile.CustomerKey", "SenderProfile.FromName", "SenderProfile.FromAddress", "DeliveryProfile.CustomerKey", "DeliveryProfile.SourceAddressType", "DeliveryProfile.PrivateIP", "DeliveryProfile.DomainType", "DeliveryProfile.PrivateDomain", "DeliveryProfile.HeaderSalutationSource", "DeliveryProfile.FooterSalutationSource", "SuppressTracking", "IsSendLogging", "Email.ID", "BccEmail", "AutoBccEmail", "TestEmailAddr", "EmailSubject", "DynamicEmailSubject", "IsMultipart", "IsWrapped", "SendLimit", "SendWindowOpen", "SendWindowClose", "DeduplicateByEmail", "ExclusionFilter", "Additional" },
            };
            var grAllEmail = getAllESD.Get();

            Console.WriteLine("Get Status: " + grAllEmail.Status.ToString());
            Console.WriteLine("Message: " + grAllEmail.Message);
            Console.WriteLine("Code: " + grAllEmail.Code.ToString());
            Console.WriteLine("Results Length: " + grAllEmail.Results.Length);

            while (grAllEmail.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All Email with GetMoreResults");
                grAllEmail = getAllESD.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllEmail.Status.ToString());
                Console.WriteLine("Message: " + grAllEmail.Message);
                Console.WriteLine("Code: " + grAllEmail.Code.ToString());
                Console.WriteLine("Results Length: " + grAllEmail.Results.Length);
            }

            Console.WriteLine("\n Create SendDefinition to DataExtension");
            var postESDDE = new ET_EmailSendDefinition
            {
                AuthStub           = myclient,
                Name               = newSendDefinitionName,
                CustomerKey        = newSendDefinitionName,
                Description        = "Created with Fuel SDK",
                SendClassification = new ET_SendClassification {
                    CustomerKey = sendClassificationCustomerKey
                },
                SendDefinitionList = new[] { new ET_SendDefinitionList {
                                                 CustomerKey = sendableDataExtensionCustomerKey, DataSourceTypeID = DataSourceTypeEnum.CustomObject
                                             } },
                Email = new ET_Email {
                    ID = emailIDForSendDefinition
                },
            };
            var postResponse = postESDDE.Post();

            Console.WriteLine("Post Status: " + postResponse.Status.ToString());
            Console.WriteLine("Message: " + postResponse.Message);
            Console.WriteLine("Code: " + postResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postResponse.Results.Length);

            Console.WriteLine("\n Delete SendDefinition");
            var deleteESDDE = new ET_EmailSendDefinition
            {
                CustomerKey = newSendDefinitionName,
                AuthStub    = myclient,
            };
            var deleteESDDEResponse = deleteESDDE.Delete();

            Console.WriteLine("Delete Status: " + deleteESDDEResponse.Status.ToString());
            Console.WriteLine("Message: " + deleteESDDEResponse.Message);
            Console.WriteLine("Code: " + deleteESDDEResponse.Code.ToString());
            Console.WriteLine("Results Length: " + deleteESDDEResponse.Results.Length);

            Console.WriteLine("\n Create SendDefinition to List");
            var postESDL = new ET_EmailSendDefinition
            {
                AuthStub           = myclient,
                Name               = newSendDefinitionName,
                CustomerKey        = newSendDefinitionName,
                Description        = "Created with Fuel SDK",
                SendClassification = new ET_SendClassification {
                    CustomerKey = sendClassificationCustomerKey
                },
                SendDefinitionList = new[] { new ET_SendDefinitionList()
                                             {
                                                 List = new ET_List {
                                                     ID = listIDForSendDefinition
                                                 }, DataSourceTypeID = DataSourceTypeEnum.List
                                             } },
                Email = new ET_Email {
                    ID = emailIDForSendDefinition
                },
            };
            var postESDLResponse = postESDDE.Post();

            Console.WriteLine("Post Status: " + postESDLResponse.Status.ToString());
            Console.WriteLine("Message: " + postESDLResponse.Message);
            Console.WriteLine("Code: " + postESDLResponse.Code.ToString());
            Console.WriteLine("Results Length: " + postESDLResponse.Results.Length);

            Console.WriteLine("\n Send using Definition ");
            var sendESD = new ET_EmailSendDefinition
            {
                AuthStub    = myclient,
                CustomerKey = newSendDefinitionName,
            };
            var sendESDResponse = sendESD.Send();

            Console.WriteLine("Send Status: " + sendESDResponse.Status.ToString());
            Console.WriteLine("Message: " + sendESDResponse.Message);
            Console.WriteLine("Code: " + sendESDResponse.Code.ToString());
            Console.WriteLine("Results Length: " + sendESDResponse.Results.Length);

            Console.WriteLine("\n Retrieve All EmailSendDefinition with GetMoreResults");
            var emailStatus = string.Empty;

            while (sendESDResponse.Status && emailStatus != "Canceled" && emailStatus != "Complete")
            {
                Console.WriteLine("\n Checking Status in Loop");
                var getESDStatusReturn = sendESD.Status();
                Console.WriteLine("Get Status: " + getESDStatusReturn.Status.ToString());
                Console.WriteLine("Message: " + getESDStatusReturn.Message);
                Console.WriteLine("Code: " + getESDStatusReturn.Code.ToString());
                Console.WriteLine("Results Length: " + getESDStatusReturn.Results.Length);
                emailStatus = ((ET_Send)getESDStatusReturn.Results[0]).Status;
                Console.WriteLine("Send Status: " + emailStatus);
                Thread.Sleep(5000);
            }

            Console.WriteLine("\n Delete SendDefinition");
            var deleteESDL = new ET_EmailSendDefinition
            {
                CustomerKey = newSendDefinitionName,
                AuthStub    = myclient,
            };
            var deleteESDLResponse = deleteESDDE.Delete();

            Console.WriteLine("Delete Status: " + deleteESDLResponse.Status.ToString());
            Console.WriteLine("Message: " + deleteESDLResponse.Message);
            Console.WriteLine("Code: " + deleteESDLResponse.Code.ToString());
            Console.WriteLine("Results Length: " + deleteESDLResponse.Results.Length);
        }
Пример #22
0
        static void TestET_OpenEvent()
        {
            DateTime filterDate = new DateTime(2013, 1, 15, 13, 0, 0);

            Console.WriteLine("--- Testing OpenEvent ---");
            ET_Client myclient = new ET_Client();

            Console.WriteLine("Retrieve Filtered OpenEvents with GetMoreResults");
            ET_OpenEvent oe = new ET_OpenEvent();

            oe.AuthStub     = myclient;
            oe.SearchFilter = new SimpleFilterPart()
            {
                Property = "EventDate", SimpleOperator = SimpleOperators.greaterThan, DateValue = new DateTime[] { filterDate }
            };
            oe.Props = new string[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" };
            GetReturn oeGet = oe.Get();

            Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            Console.WriteLine("Message: " + oeGet.Message.ToString());
            Console.WriteLine("Code: " + oeGet.Code.ToString());
            Console.WriteLine("Results Length: " + oeGet.Results.Length);
            Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            // Since this could potentially return a large number of results, we do not want to print the results
            //foreach (ET_OpenEvent openEvent in oeGet.Results)
            //{
            //    Console.WriteLine("SubscriberKey: " + openEvent.SubscriberKey + ", EventDate: " + openEvent.EventDate.ToString());
            //}

            while (oeGet.MoreResults)
            {
                Console.WriteLine("Continue Retrieve Filtered OpenEvents with GetMoreResults");
                oeGet = oe.GetMoreResults();
                Console.WriteLine("Get Status: " + oeGet.Status.ToString());
                Console.WriteLine("Message: " + oeGet.Message.ToString());
                Console.WriteLine("Code: " + oeGet.Code.ToString());
                Console.WriteLine("Results Length: " + oeGet.Results.Length);
                Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            }


            //The following request could potentially bring back large amounts of data if run against a production account
            //Console.WriteLine("Retrieve All OpenEvents with GetMoreResults");
            //ET_OpenEvent oe = new ET_OpenEvent();
            //oe.authStub = myclient;
            //oe.props = new string[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" };
            //GetResponse oeGetAll = oe.Get();

            //Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            //Console.WriteLine("Message: " + oeGetAll.Message.ToString());
            //Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            //Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            //Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            //// Since this could potentially return a large number of results, we do not want to print the results
            ////foreach (ET_OpenEvent openEvent in oeGet.Results)
            ////{
            ////    Console.WriteLine("SubscriberKey: " + openEvent.SubscriberKey + ", EventDate: " + openEvent.EventDate.ToString());
            ////}

            //while (oeGetAll.MoreResults)
            //{
            //    oeGetAll = oe.GetMoreResults();
            //    Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            //    Console.WriteLine("Message: " + oeGetAll.Message.ToString());
            //    Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            //    Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            //    Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            //}
        }
Пример #23
0
        static void TestET_Campaign()
        {
            ET_Client myclient              = new ET_Client();
            string    IDOfpostCampaign      = string.Empty;
            string    IDOfpostCampaignAsset = string.Empty;
            string    ExampleAssetType      = "LIST";
            string    ExampleAssetItemID    = "1953114";

            Console.WriteLine("--- Testing Campaign ---");

            Console.WriteLine("\n Retrieve All Campaigns");
            ET_Campaign getCampaign = new ET_Campaign();

            getCampaign.AuthStub = myclient;
            GetReturn grCampaign = getCampaign.Get();

            Console.WriteLine("Get Status: " + grCampaign.Status.ToString());
            Console.WriteLine("Message: " + grCampaign.Message.ToString());
            Console.WriteLine("Code: " + grCampaign.Code.ToString());
            Console.WriteLine("Results Length: " + grCampaign.Results.Length);
            Console.WriteLine("MoreResults: " + grCampaign.MoreResults.ToString());

            foreach (ET_Campaign thisCamp in grCampaign.Results)
            {
                Console.WriteLine("Name: " + thisCamp.Name + ",  ID: " + thisCamp.ID + ", Description: " + thisCamp.Description);
            }

            if (grCampaign.MoreResults)
            {
                grCampaign = getCampaign.GetMoreResults();
                Console.WriteLine("Get Status: " + grCampaign.Status.ToString());
                Console.WriteLine("Message: " + grCampaign.Message.ToString());
                Console.WriteLine("Code: " + grCampaign.Code.ToString());
                Console.WriteLine("Results Length: " + grCampaign.Results.Length);
                Console.WriteLine("MoreResults: " + grCampaign.MoreResults.ToString());

                foreach (ET_Campaign thisCamp in grCampaign.Results)
                {
                    Console.WriteLine("Name: " + thisCamp.Name + ",  ID: " + thisCamp.ID + ", Description: " + thisCamp.Description);
                }
            }


            Console.WriteLine("\n Create Campaign");
            ET_Campaign camp = new ET_Campaign();

            camp.AuthStub    = myclient;
            camp.Name        = "CSharpSDKCreatedForTEST";
            camp.Description = "CSharpSDKCreatedForTEST";

            PostReturn prCampaign = camp.Post();

            Console.WriteLine("Post Status: " + prCampaign.Status.ToString());
            Console.WriteLine("Message: " + prCampaign.Message.ToString());
            Console.WriteLine("Code: " + prCampaign.Code.ToString());
            Console.WriteLine("Results Length: " + prCampaign.Results.Length);

            if (prCampaign.Results.Length > 0)
            {
                ET_Campaign campaign = (ET_Campaign)prCampaign.Results[0].Object;
                Console.WriteLine("--ID: " + campaign.ID + ", CreatedDate: " + campaign.CreatedDate);
                IDOfpostCampaign = campaign.ID.ToString();

                Console.WriteLine("\n Retrieve the new Campaign");
                ET_Campaign singleCampaign = new ET_Campaign();
                singleCampaign.AuthStub = myclient;
                singleCampaign.ID       = campaign.ID;
                GetReturn grSingleCamp = singleCampaign.Get();

                Console.WriteLine("Get Status: " + grSingleCamp.Status.ToString());
                Console.WriteLine("Message: " + grSingleCamp.Message.ToString());
                Console.WriteLine("Code: " + grSingleCamp.Code.ToString());
                Console.WriteLine("Results Length: " + grSingleCamp.Results.Length);

                Console.WriteLine("\n Create a new Campaign Asset");
                ET_CampaignAsset postCampAsset = new ET_CampaignAsset();
                postCampAsset.AuthStub   = myclient;
                postCampAsset.CampaignID = IDOfpostCampaign;
                postCampAsset.Type       = ExampleAssetType;
                postCampAsset.IDs        = new string[] { ExampleAssetItemID };
                PostReturn prCampAsset = postCampAsset.Post();
                Console.WriteLine("Post Status: " + prCampAsset.Status.ToString());
                Console.WriteLine("Message: " + prCampAsset.Message.ToString());
                Console.WriteLine("Code: " + prCampAsset.Code.ToString());
                Console.WriteLine("Results Length: " + prCampAsset.Results.Length);

                if (prCampAsset.Status)
                {
                    IDOfpostCampaignAsset = prCampAsset.Results[0].Object.ID.ToString();

                    Console.WriteLine("\n Retrieve a single new Campaign Asset");
                    ET_CampaignAsset singleCampAsset = new ET_CampaignAsset();
                    singleCampAsset.AuthStub   = myclient;
                    singleCampAsset.ID         = Convert.ToInt16(IDOfpostCampaignAsset);
                    singleCampAsset.CampaignID = IDOfpostCampaign;
                    GetReturn grSingleCampAsset = singleCampAsset.Get();
                    Console.WriteLine("Get Status: " + grSingleCampAsset.Status.ToString());
                    Console.WriteLine("Message: " + grSingleCampAsset.Message.ToString());
                    Console.WriteLine("Code: " + grSingleCampAsset.Code.ToString());
                    Console.WriteLine("Results Length: " + grSingleCampAsset.Results.Length);


                    Console.WriteLine("\n Delete the new Campaign Asset");
                    ET_CampaignAsset deleteCampAsset = new ET_CampaignAsset();
                    deleteCampAsset.AuthStub   = myclient;
                    deleteCampAsset.ID         = Convert.ToInt16(IDOfpostCampaignAsset);
                    deleteCampAsset.CampaignID = IDOfpostCampaign;
                    DeleteReturn drSingleCampAsset = deleteCampAsset.Delete();
                    Console.WriteLine("Get Status: " + drSingleCampAsset.Status.ToString());
                    Console.WriteLine("Message: " + drSingleCampAsset.Message.ToString());
                    Console.WriteLine("Code: " + drSingleCampAsset.Code.ToString());
                    Console.WriteLine("Results Length: " + drSingleCampAsset.Results.Length);
                }

                Console.WriteLine("\n Delete Campaign");
                ET_Campaign delCampaign = new ET_Campaign();
                delCampaign.AuthStub = myclient;
                delCampaign.ID       = campaign.ID;
                DeleteReturn drCampaign = delCampaign.Delete();
                Console.WriteLine("Delete Status: " + drCampaign.Status.ToString());
                Console.WriteLine("Message: " + drCampaign.Message.ToString());
                Console.WriteLine("Code: " + drCampaign.Code.ToString());
                Console.WriteLine("Results Length: " + drCampaign.Results.Length);
            }
        }
Пример #24
0
        static void TestET_Folder()
        {
            string NewFolderName    = "Testing C Sharp SDK";
            int    ParentIDForEmail = 0;
            string ContentType      = "email";

            ET_Client myclient = new ET_Client();

            Console.WriteLine("--- Testing Folder ---");

            Console.WriteLine("\n Retrieve All Folder with GetMoreResults");
            ET_Folder getAllFolder = new ET_Folder();

            getAllFolder.AuthStub = myclient;
            getAllFolder.Props    = new string[] { "ID", "Client.ID", "ParentFolder.ID", "ParentFolder.CustomerKey", "ParentFolder.ObjectID", "ParentFolder.Name", "ParentFolder.Description", "ParentFolder.ContentType", "ParentFolder.IsActive", "ParentFolder.IsEditable", "ParentFolder.AllowChildren", "Name", "Description", "ContentType", "IsActive", "IsEditable", "AllowChildren", "CreatedDate", "ModifiedDate", "Client.ModifiedBy", "ObjectID", "CustomerKey", "Client.EnterpriseID", "Client.CreatedBy" };
            GetReturn grAllFolder = getAllFolder.Get();

            Console.WriteLine("Get Status: " + grAllFolder.Status.ToString());
            Console.WriteLine("Message: " + grAllFolder.Message.ToString());
            Console.WriteLine("Code: " + grAllFolder.Code.ToString());
            Console.WriteLine("Results Length: " + grAllFolder.Results.Length);

            while (grAllFolder.MoreResults)
            {
                Console.WriteLine("\n Continue Retrieve All Folders with GetMoreResults");
                grAllFolder = getAllFolder.GetMoreResults();
                Console.WriteLine("Get Status: " + grAllFolder.Status.ToString());
                Console.WriteLine("Message: " + grAllFolder.Message.ToString());
                Console.WriteLine("Code: " + grAllFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grAllFolder.Results.Length);
            }


            Console.WriteLine("\n Retrieve Specific Folder for Email Folder ParentID");
            ET_Folder getFolder = new ET_Folder();

            getFolder.AuthStub = myclient;
            SimpleFilterPart ParentFolderFilter = new SimpleFilterPart()
            {
                Property = "ParentFolder.ID", SimpleOperator = SimpleOperators.equals, Value = new string[] { "0" }
            };
            SimpleFilterPart ContentTypeFilter = new SimpleFilterPart()
            {
                Property = "ContentType", SimpleOperator = SimpleOperators.equals, Value = new string[] { "Email" }
            };

            getFolder.SearchFilter = new ComplexFilterPart()
            {
                LeftOperand = ParentFolderFilter, RightOperand = ContentTypeFilter, LogicalOperator = LogicalOperators.AND
            };
            getFolder.Props = new string[] { "ID", "Name", "Description" };
            GetReturn grFolder = getFolder.Get();

            Console.WriteLine("Get Status: " + grFolder.Status.ToString());
            Console.WriteLine("Message: " + grFolder.Message.ToString());
            Console.WriteLine("Code: " + grFolder.Code.ToString());
            Console.WriteLine("Results Length: " + grFolder.Results.Length);

            foreach (ET_Folder ef in grFolder.Results)
            {
                ParentIDForEmail = ef.ID;
            }


            if (ParentIDForEmail != 0)
            {
                Console.WriteLine("\n Create Folder");
                ET_Folder fold = new ET_Folder();
                fold.Name            = NewFolderName;
                fold.Description     = NewFolderName;
                fold.CustomerKey     = NewFolderName;
                fold.AuthStub        = myclient;
                fold.ParentFolder    = new ET_Folder();
                fold.ParentFolder.ID = ParentIDForEmail;
                fold.ContentType     = ContentType;
                fold.IsEditable      = true;
                PostReturn prFolder = fold.Post();

                Console.WriteLine("Post Status: " + prFolder.Status.ToString());
                Console.WriteLine("Message: " + prFolder.Message.ToString());
                Console.WriteLine("Code: " + prFolder.Code.ToString());
                Console.WriteLine("Results Length: " + prFolder.Results.Length);

                foreach (ResultDetail rd in prFolder.Results)
                {
                    Console.WriteLine("--Status Code: " + rd.StatusCode);
                    Console.WriteLine("--Status Message: " + rd.StatusMessage);
                }

                Console.WriteLine("\n Retrieve newly created Folder");
                ET_Folder getNewFolder = new ET_Folder();
                getNewFolder.AuthStub     = myclient;
                getNewFolder.SearchFilter = new SimpleFilterPart()
                {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new string[] { NewFolderName }
                };
                getNewFolder.Props = new string[] { "ID", "Name", "Description" };
                GetReturn grNewFolder = getNewFolder.Get();

                Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                Console.WriteLine("Message: " + grFolder.Message.ToString());
                Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grNewFolder.Results.Length);

                foreach (ET_Folder ef in grNewFolder.Results)
                {
                    Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                }

                Console.WriteLine("\n UpdateFolder");
                ET_Folder patchFolder = new ET_Folder();
                patchFolder.AuthStub    = myclient;
                patchFolder.CustomerKey = NewFolderName;
                patchFolder.Description = "Now with a new Description";
                PatchReturn patchResponse = patchFolder.Patch();

                Console.WriteLine("Patch Status: " + patchResponse.Status.ToString());
                Console.WriteLine("Message: " + patchResponse.Message.ToString());
                Console.WriteLine("Code: " + patchResponse.Code.ToString());
                Console.WriteLine("Results Length: " + patchResponse.Results.Length);

                if (patchResponse.Status)
                {
                    Console.WriteLine("\n Retrieve updated Folder");
                    grNewFolder = getNewFolder.Get();

                    Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                    Console.WriteLine("Message: " + grFolder.Message.ToString());
                    Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                    Console.WriteLine("Results Length: " + grNewFolder.Results.Length);

                    foreach (ET_Folder ef in grNewFolder.Results)
                    {
                        Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                    }
                }

                Console.WriteLine("\n Delete Folder");
                ET_Folder delFolder = new ET_Folder();
                delFolder.AuthStub    = myclient;
                delFolder.CustomerKey = NewFolderName;
                FuelSDK.DeleteReturn drFolder = delFolder.Delete();
                Console.WriteLine("Delete Status: " + drFolder.Status.ToString());
                Console.WriteLine("Message: " + drFolder.Message.ToString());
                Console.WriteLine("Code: " + drFolder.Code.ToString());
                Console.WriteLine("Results Length: " + drFolder.Results.Length);

                foreach (ResultDetail rd in drFolder.Results)
                {
                    Console.WriteLine("--Status Code: " + rd.StatusCode);
                    Console.WriteLine("--Status Message: " + rd.StatusMessage);
                }

                Console.WriteLine("\n Retrieve Folder to confirm deletion");
                grNewFolder = getNewFolder.Get();

                Console.WriteLine("Get Status: " + grNewFolder.Status.ToString());
                Console.WriteLine("Message: " + grFolder.Message.ToString());
                Console.WriteLine("Code: " + grNewFolder.Code.ToString());
                Console.WriteLine("Results Length: " + grNewFolder.Results.Length);

                foreach (ET_Folder ef in grNewFolder.Results)
                {
                    Console.WriteLine("--Name: " + ef.Name + " - Description:" + ef.Description);
                }
            }
        }
        static void Test_CreateDataExtensions()
        {
            var myclient = new ET_Client();

            Console.WriteLine("--- Testing CreateDataExtensions ---");

            var deOne = new ET_DataExtension
            {
                Name        = "HelperDEOne",
                CustomerKey = "HelperDEOne",
                Columns     = new[] {
                    new ET_DataExtensionColumn {
                        Name = "Name", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
                    },
                    new ET_DataExtensionColumn {
                        Name = "OtherField", FieldType = DataExtensionFieldType.Text
                    }
                },
            };

            var deTwo = new ET_DataExtension
            {
                Name        = "HelperDETwo",
                CustomerKey = "HelperDETwo",
                Columns     = new[] {
                    new ET_DataExtensionColumn {
                        Name = "Name", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
                    },
                    new ET_DataExtensionColumn {
                        Name = "OtherField", FieldType = DataExtensionFieldType.Text
                    }
                },
            };

            var aCoupleDEs = new[] { deOne, deTwo };

            var createReturn = myclient.CreateDataExtensions(aCoupleDEs);

            Console.WriteLine("Helper Status: " + createReturn.Status.ToString());
            Console.WriteLine("Message: " + createReturn.Message);
            Console.WriteLine("Code: " + createReturn.Code.ToString());

            if (createReturn.Status)
            {
                Console.WriteLine("\n Delete DEOne");
                var delDataExtension = new ET_DataExtension
                {
                    CustomerKey = "HelperDEOne",
                    AuthStub    = myclient,
                };
                var deleteResponse = delDataExtension.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message);
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Delete DETwo");
                var delDataExtension2 = new ET_DataExtension
                {
                    CustomerKey = "HelperDETwo",
                    AuthStub    = myclient,
                };
                var deleteResponse2 = delDataExtension2.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse2.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse2.Message);
                Console.WriteLine("Code: " + deleteResponse2.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse2.Results.Length);
            }
        }
        static void TestET_ListSubscriber()
        {
            var newListName         = "CSharpSDKListSubscriber";
            var subscriberTestEmail = "*****@*****.**";

            Console.WriteLine("--- Testing ListSubscriber ---");
            var myclient = new ET_Client();

            Console.WriteLine("\n Create List");
            var postList = new ET_List
            {
                AuthStub = myclient,
                ListName = newListName,
            };
            var prList = postList.Post();

            if (prList.Status && prList.Results.Length > 0)
            {
                var newListID = prList.Results[0].Object.ID;

                Console.WriteLine("\n Create Subscriber on List");
                var postSub = new ET_Subscriber
                {
                    Lists = new[] { new ET_SubscriberList {
                                        ID = newListID
                                    } },
                    AuthStub     = myclient,
                    EmailAddress = subscriberTestEmail,
                    Attributes   = new[] { new ET_ProfileAttribute {
                                               Name = "First Name", Value = "ExactTarget Example"
                                           } },
                };
                var postResponse = postSub.Post();
                Console.WriteLine("Post Status: " + postResponse.Status.ToString());
                Console.WriteLine("Message: " + postResponse.Message);
                Console.WriteLine("Code: " + postResponse.Code.ToString());
                Console.WriteLine("Results Length: " + postResponse.Results.Length);

                if (!postResponse.Status)
                {
                    if (postResponse.Results.Length > 0 && postResponse.Results[0].ErrorCode == 12014)
                    {
                        // If the subscriber already exists in the account then we need to do an update.
                        // Update Subscriber On List
                        Console.WriteLine("\n Update Subscriber to add to List");
                        PatchReturn patchResponse = postSub.Patch();
                        Console.WriteLine("Post Status: " + patchResponse.Status.ToString());
                        Console.WriteLine("Message: " + patchResponse.Message);
                        Console.WriteLine("Code: " + patchResponse.Code.ToString());
                        Console.WriteLine("Results Length: " + patchResponse.Results.Length);
                    }
                }

                Console.WriteLine("\n Retrieve all Subscribers on the List");
                var getListSub = new ET_List_Subscriber
                {
                    AuthStub     = myclient,
                    Props        = new[] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" },
                    SearchFilter = new SimpleFilterPart {
                        Property = "ListID", SimpleOperator = SimpleOperators.equals, Value = new[] { newListID.ToString() }
                    },
                };
                var getResponse = getListSub.Get();
                Console.WriteLine("Get Status: " + getResponse.Status.ToString());
                Console.WriteLine("Message: " + getResponse.Message);
                Console.WriteLine("Code: " + getResponse.Code.ToString());
                Console.WriteLine("Results Length: " + getResponse.Results.Length);
                foreach (ET_List_Subscriber resultListSub in getResponse.Results)
                {
                    Console.WriteLine("--ListID: " + resultListSub.ID + ", SubscriberKey(EmailAddress): " + resultListSub.SubscriberKey);
                }
            }

#if false
            var filterDate = new DateTime(2013, 1, 15, 13, 0, 0);

            Console.WriteLine("Retrieve Filtered ListSubscribers with GetMoreResults");
            var oe2 = new ET_List_Subscriber
            {
                AuthStub     = myclient,
                SearchFilter = new SimpleFilterPart {
                    Property = "EventDate", SimpleOperator = SimpleOperators.greaterThan, DateValue = new [] { filterDate }
                },
                Props = new [] { "ObjectID", "SubscriberKey", "CreatedDate", "Client.ID", "Client.PartnerClientKey", "ListID", "Status" },
            };
            var oeGet = oe2.Get();

            Console.WriteLine("Get Status: " + oeGet.Status.ToString());
            Console.WriteLine("Message: " + oeGet.Message);
            Console.WriteLine("Code: " + oeGet.Code.ToString());
            Console.WriteLine("Results Length: " + oeGet.Results.Length);
            Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            // Since this could potentially return a large number of results, we do not want to print the results
            //foreach (ET_ListSubscriber ListSubscriber in oeGet.Results)
            //    Console.WriteLine("SubscriberKey: " + ListSubscriber.SubscriberKey + ", EventDate: " + ListSubscriber.EventDate.ToString());

            while (oeGet.MoreResults)
            {
                Console.WriteLine("Continue Retrieve Filtered ListSubscribers with GetMoreResults");
                oeGet = oe2.GetMoreResults();
                Console.WriteLine("Get Status: " + oeGet.Status.ToString());
                Console.WriteLine("Message: " + oeGet.Message);
                Console.WriteLine("Code: " + oeGet.Code.ToString());
                Console.WriteLine("Results Length: " + oeGet.Results.Length);
                Console.WriteLine("MoreResults: " + oeGet.MoreResults.ToString());
            }

            // The following request could potentially bring back large amounts of data if run against a production account
            Console.WriteLine("Retrieve All ListSubscribers with GetMoreResults");
            var oe3 = new ET_List_Subscriber
            {
                AuthStub = myclient,
                Props    = new string[] { "SendID", "SubscriberKey", "EventDate", "Client.ID", "EventType", "BatchID", "TriggeredSendDefinitionObjectID", "PartnerKey" },
            };
            var oeGetAll = oe3.Get();

            Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
            Console.WriteLine("Message: " + oeGetAll.Message);
            Console.WriteLine("Code: " + oeGetAll.Code.ToString());
            Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
            Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            // Since this could potentially return a large number of results, we do not want to print the results
            foreach (ET_List_Subscriber ListSubscriber in oeGetAll.Results)
            {
                Console.WriteLine("SubscriberKey: " + ListSubscriber.SubscriberKey + ", EventDate: " + ListSubscriber.EventDate.ToString());
            }

            while (oeGetAll.MoreResults)
            {
                oeGetAll = oe3.GetMoreResults();
                Console.WriteLine("Get Status: " + oeGetAll.Status.ToString());
                Console.WriteLine("Message: " + oeGetAll.Message);
                Console.WriteLine("Code: " + oeGetAll.Code.ToString());
                Console.WriteLine("Results Length: " + oeGetAll.Results.Length);
                Console.WriteLine("MoreResults: " + oeGetAll.MoreResults.ToString());
            }
#endif
        }
Пример #27
0
        static void TestET_List()
        {
            var myclient = new ET_Client();

            Console.WriteLine("--- Testing List ---");
            var myNewListID = 0;

            Console.WriteLine("\n Create List");
            var list = new ET_List
            {
                AuthStub    = myclient,
                ListName    = "C# SDK Rules!!",
                Description = "This is my SDK Created List",
                //FolderID = 1083760,
            };
            var postFR = list.Post();

            Console.WriteLine("Post Status: " + postFR.Status.ToString());
            Console.WriteLine("Message: " + postFR.Message);
            Console.WriteLine("Code: " + postFR.Code.ToString());
            Console.WriteLine("Results Length: " + postFR.Results.Length);

            if (postFR.Results.Length > 0)
            {
                myNewListID = postFR.Results[0].NewID;
            }

            if (myNewListID > 0)
            {
                Console.WriteLine("\n Retrieve newly create list");
                list.Props        = new[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new[] { myNewListID.ToString() }
                };
                var getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message);
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Update list");
                var patchList = new ET_List
                {
                    ID          = myNewListID,
                    Description = "This is the new description",
                    AuthStub    = myclient,
                };
                var patchFR = patchList.Patch();
                Console.WriteLine("Patch Status: " + patchFR.Status.ToString());
                Console.WriteLine("Message: " + patchFR.Message);
                Console.WriteLine("Code: " + patchFR.Code.ToString());
                Console.WriteLine("Results Length: " + patchFR.Results.Length);

                Console.WriteLine("\n Retrieve List that should have description updated");
                list.Props        = new[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new[] { myNewListID.ToString() }
                };
                getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message);
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Delete List");
                var delList = new ET_List
                {
                    ID       = myNewListID,
                    AuthStub = myclient,
                };
                var fr = delList.Delete();
                Console.WriteLine("Delete Status: " + fr.Status.ToString());
                Console.WriteLine("Message: " + fr.Message);
                Console.WriteLine("Code: " + fr.Code.ToString());
                Console.WriteLine("Results Length: " + fr.Results.Length);

                Console.WriteLine("\n Retrieve List to confirm deletion");
                list.Props        = new[] { "ID", "ListName", "Description" };
                list.SearchFilter = new SimpleFilterPart {
                    Property = "ID", SimpleOperator = SimpleOperators.equals, Value = new[] { myNewListID.ToString() }
                };
                getFR = list.Get();
                Console.WriteLine("Get Status: " + getFR.Status.ToString());
                Console.WriteLine("Message: " + getFR.Message);
                Console.WriteLine("Code: " + getFR.Code.ToString());
                Console.WriteLine("Results Length: " + getFR.Results.Length);
                foreach (ET_List ResultList in getFR.Results)
                {
                    Console.WriteLine("--ID: " + ResultList.ID + ", Name: " + ResultList.ListName + ", Description: " + ResultList.Description);
                }

                Console.WriteLine("\n Info List");
                var listInfo = new ET_List
                {
                    AuthStub = myclient
                };
                var info = listInfo.Info();
                Console.WriteLine("Info Status: " + info.Status.ToString());
                Console.WriteLine("Message: " + info.Message);
                Console.WriteLine("Code: " + info.Code.ToString());
                Console.WriteLine("Results Length: " + info.Results.Length);
                foreach (ET_PropertyDefinition def in info.Results)
                {
                    Console.WriteLine("--Name: " + def.Name + ", IsRetrievable: " + def.IsRetrievable.ToString());
                }
            }
        }
Пример #28
0
        static void TestET_Campaign()
        {
            var myclient              = new ET_Client();
            var idOfpostCampaign      = string.Empty;
            var idOfpostCampaignAsset = string.Empty;
            var exampleAssetType      = "LIST";
            var exampleAssetItemID    = "1953114";

            Console.WriteLine("--- Testing Campaign ---");

            Console.WriteLine("\n Retrieve All Campaigns");
            var getCampaign = new ET_Campaign
            {
                AuthStub = myclient,
            };
            var grCampaign = getCampaign.Get();

            Console.WriteLine("Get Status: " + grCampaign.Status.ToString());
            Console.WriteLine("Message: " + grCampaign.Message);
            Console.WriteLine("Code: " + grCampaign.Code.ToString());
            Console.WriteLine("Results Length: " + grCampaign.Results.Length);
            Console.WriteLine("MoreResults: " + grCampaign.MoreResults.ToString());
            foreach (ET_Campaign thisCamp in grCampaign.Results)
            {
                Console.WriteLine("Name: " + thisCamp.Name + ",  ID: " + thisCamp.ID + ", Description: " + thisCamp.Description);
            }

            if (grCampaign.MoreResults)
            {
                grCampaign = getCampaign.GetMoreResults();
                Console.WriteLine("Get Status: " + grCampaign.Status.ToString());
                Console.WriteLine("Message: " + grCampaign.Message);
                Console.WriteLine("Code: " + grCampaign.Code.ToString());
                Console.WriteLine("Results Length: " + grCampaign.Results.Length);
                Console.WriteLine("MoreResults: " + grCampaign.MoreResults.ToString());
                foreach (ET_Campaign thisCamp in grCampaign.Results)
                {
                    Console.WriteLine("Name: " + thisCamp.Name + ",  ID: " + thisCamp.ID + ", Description: " + thisCamp.Description);
                }
            }

            Console.WriteLine("\n Create Campaign");
            var camp = new ET_Campaign
            {
                AuthStub    = myclient,
                Name        = "CSharpSDKCreatedForTEST",
                Description = "CSharpSDKCreatedForTEST",
            };
            var prCampaign = camp.Post();

            Console.WriteLine("Post Status: " + prCampaign.Status.ToString());
            Console.WriteLine("Message: " + prCampaign.Message);
            Console.WriteLine("Code: " + prCampaign.Code.ToString());
            Console.WriteLine("Results Length: " + prCampaign.Results.Length);

            if (prCampaign.Results.Length > 0)
            {
                var campaign = (ET_Campaign)prCampaign.Results[0].Object;
                Console.WriteLine("--ID: " + campaign.ID + ", CreatedDate: " + campaign.CreatedDate);
                idOfpostCampaign = campaign.ID.ToString();

                Console.WriteLine("\n Retrieve the new Campaign");
                var singleCampaign = new ET_Campaign
                {
                    AuthStub = myclient,
                    ID       = campaign.ID,
                };
                var grSingleCamp = singleCampaign.Get();

                Console.WriteLine("Get Status: " + grSingleCamp.Status.ToString());
                Console.WriteLine("Message: " + grSingleCamp.Message);
                Console.WriteLine("Code: " + grSingleCamp.Code.ToString());
                Console.WriteLine("Results Length: " + grSingleCamp.Results.Length);

                Console.WriteLine("\n Create a new Campaign Asset");
                var postCampAsset = new ET_CampaignAsset
                {
                    AuthStub   = myclient,
                    CampaignID = idOfpostCampaign,
                    Type       = exampleAssetType,
                    IDs        = new[] { exampleAssetItemID },
                };
                var prCampAsset = postCampAsset.Post();
                Console.WriteLine("Post Status: " + prCampAsset.Status.ToString());
                Console.WriteLine("Message: " + prCampAsset.Message);
                Console.WriteLine("Code: " + prCampAsset.Code.ToString());
                Console.WriteLine("Results Length: " + prCampAsset.Results.Length);

                if (prCampAsset.Status)
                {
                    idOfpostCampaignAsset = prCampAsset.Results[0].Object.ID.ToString();

                    Console.WriteLine("\n Retrieve a single new Campaign Asset");
                    var singleCampAsset = new ET_CampaignAsset
                    {
                        AuthStub   = myclient,
                        ID         = Convert.ToInt16(idOfpostCampaignAsset),
                        CampaignID = idOfpostCampaign,
                    };
                    var grSingleCampAsset = singleCampAsset.Get();
                    Console.WriteLine("Get Status: " + grSingleCampAsset.Status.ToString());
                    Console.WriteLine("Message: " + grSingleCampAsset.Message);
                    Console.WriteLine("Code: " + grSingleCampAsset.Code.ToString());
                    Console.WriteLine("Results Length: " + grSingleCampAsset.Results.Length);

                    Console.WriteLine("\n Delete the new Campaign Asset");
                    var deleteCampAsset = new ET_CampaignAsset
                    {
                        AuthStub   = myclient,
                        ID         = Convert.ToInt16(idOfpostCampaignAsset),
                        CampaignID = idOfpostCampaign,
                    };
                    var drSingleCampAsset = deleteCampAsset.Delete();
                    Console.WriteLine("Get Status: " + drSingleCampAsset.Status.ToString());
                    Console.WriteLine("Message: " + drSingleCampAsset.Message);
                    Console.WriteLine("Code: " + drSingleCampAsset.Code.ToString());
                    Console.WriteLine("Results Length: " + drSingleCampAsset.Results.Length);
                }

                Console.WriteLine("\n Delete Campaign");
                var delCampaign = new ET_Campaign
                {
                    AuthStub = myclient,
                    ID       = campaign.ID,
                };
                var drCampaign = delCampaign.Delete();
                Console.WriteLine("Delete Status: " + drCampaign.Status.ToString());
                Console.WriteLine("Message: " + drCampaign.Message);
                Console.WriteLine("Code: " + drCampaign.Code.ToString());
                //Console.WriteLine("Results Length: " + drCampaign.Results.Length);
            }
        }
        static void Test_CreateDataExtensions()
        {
            ET_Client myclient = new ET_Client();


            Console.WriteLine("--- Testing CreateDataExtensions ---");

            ET_DataExtension DEOne = new ET_DataExtension()
            {
                Name = "HelperDEOne", CustomerKey = "HelperDEOne"
            };
            ET_DataExtensionColumn DEOneColumnOne = new ET_DataExtensionColumn()
            {
                Name = "Name", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
            };
            ET_DataExtensionColumn DEOneColumnTwo = new ET_DataExtensionColumn()
            {
                Name = "OtherField", FieldType = DataExtensionFieldType.Text
            };

            DEOne.Columns = new ET_DataExtensionColumn[] { DEOneColumnOne, DEOneColumnTwo };

            ET_DataExtension DETwo = new ET_DataExtension()
            {
                Name = "HelperDETwo", CustomerKey = "HelperDETwo"
            };
            ET_DataExtensionColumn DETwoColumnOne = new ET_DataExtensionColumn()
            {
                Name = "Name", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
            };
            ET_DataExtensionColumn DETwoColumnTwo = new ET_DataExtensionColumn()
            {
                Name = "OtherField", FieldType = DataExtensionFieldType.Text
            };

            DETwo.Columns = new ET_DataExtensionColumn[] { DETwoColumnOne, DETwoColumnTwo };

            ET_DataExtension[] ACoupleDEs = new ET_DataExtension[] { DEOne, DETwo };

            FuelReturn createReturn = myclient.CreateDataExtensions(ACoupleDEs);

            Console.WriteLine("Helper Status: " + createReturn.Status.ToString());
            Console.WriteLine("Message: " + createReturn.Message.ToString());
            Console.WriteLine("Code: " + createReturn.Code.ToString());

            if (createReturn.Status)
            {
                Console.WriteLine("\n Delete DEOne");
                ET_DataExtension delDataExtension = new ET_DataExtension();
                delDataExtension.CustomerKey = "HelperDEOne";;
                delDataExtension.AuthStub    = myclient;
                DeleteReturn deleteResponse = delDataExtension.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse.Message.ToString());
                Console.WriteLine("Code: " + deleteResponse.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse.Results.Length);

                Console.WriteLine("\n Delete DETwo");
                ET_DataExtension delDataExtension2 = new ET_DataExtension();
                delDataExtension2.CustomerKey = "HelperDETwo";;
                delDataExtension2.AuthStub    = myclient;
                DeleteReturn deleteResponse2 = delDataExtension2.Delete();
                Console.WriteLine("Delete Status: " + deleteResponse2.Status.ToString());
                Console.WriteLine("Message: " + deleteResponse2.Message.ToString());
                Console.WriteLine("Code: " + deleteResponse2.Code.ToString());
                Console.WriteLine("Results Length: " + deleteResponse2.Results.Length);
            }
        }