Exemplo n.º 1
0
        public void DataExtensionUpdate()
        {
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                Name        = updatedDataExtensionName,
                CustomerKey = dataExtensionName
            };

            var response = deObj.Patch();

            Assert.AreEqual(response.Code, 200);
            var degetObj = new ETDataExtension
            {
                AuthStub     = client,
                Props        = new[] { "Name" },
                SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { dataExtension.CustomerKey }
                },
            };

            var getResponse = degetObj.Get();

            Assert.AreEqual(getResponse.Code, 200);
            Assert.GreaterOrEqual(getResponse.Results.Length, 1);

            var getDE = (ETDataExtension)getResponse.Results[0];

            Assert.AreEqual(getDE.Name, updatedDataExtensionName);
        }
Exemplo n.º 2
0
        public void DataExtensionSetup()
        {
            dataExtensionName        = Guid.NewGuid().ToString();
            updatedDataExtensionName = Guid.NewGuid().ToString();
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                Name        = dataExtensionName,
                CustomerKey = dataExtensionName,
                Columns     = new[] {
                    new ETDataExtensionColumn {
                        Name = "Field1", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
                    },
                    new ETDataExtensionColumn {
                        Name = "Field2", FieldType = DataExtensionFieldType.Text
                    },
                    new ETDataExtensionColumn {
                        Name = "NumericField", FieldType = DataExtensionFieldType.Number
                    }
                }
            };

            var result = deObj.Post();

            dataExtension = (ETDataExtension)result.Results[0].Object;
        }
Exemplo n.º 3
0
        public void PublishItem(int changeId, string approvalStatus)
        {
            List <ItemChangeHistory> changeList = GetItemChangeHistory(changeId, approvalStatus);

            if (changeList.Count > 0)
            {
                ItemChangeHistory change = GetItemChangeHistory(changeId, approvalStatus)[0];

                string itemId     = change.ItemId;
                string changeType = change.ChangeType;


                ETDataExtension etd = new ETDataExtension();

                etd.InsertIntoDataExtension(change.ItemHtml, change.ChangeType, change.ProductCategory);

                Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
                Sitecore.Data.Database web    = Sitecore.Configuration.Factory.GetDatabase("web");

                Sitecore.Data.Items.Item           item           = master.Items.GetItem(itemId);
                Sitecore.Publishing.PublishOptions publishOptions =
                    new Sitecore.Publishing.PublishOptions(item.Database,
                                                           web,
                                                           Sitecore.Publishing.PublishMode.SingleItem,
                                                           item.Language,
                                                           System.DateTime.Now);
                Sitecore.Publishing.Publisher publisher = new Sitecore.Publishing.Publisher(publishOptions);

                publisher.Options.RootItem = item;
                publisher.Options.Deep     = true;

                publisher.Publish();
            }
        }
Exemplo n.º 4
0
        public void DataExtensionDelete()
        {
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                CustomerKey = dataExtensionName
            };
            var response = deObj.Delete();

            Assert.AreEqual(response.Code, 200);
            Assert.AreEqual(response.Results[0].StatusMessage, "Data Extension deleted.");
            var degetObj = new ETDataExtension
            {
                AuthStub     = client,
                Props        = new[] { "Name" },
                SearchFilter = new SimpleFilterPart {
                    Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new[] { dataExtension.CustomerKey }
                },
            };

            var getResponse = degetObj.Get();

            Assert.AreEqual(getResponse.Code, 200);
            Assert.AreEqual(getResponse.Results.Length, 0);
        }
Exemplo n.º 5
0
 public void DataExtensionTearDown()
 {
     if (dataExtension != null)
     {
         var deObj = new ETDataExtension();
         deObj.AuthStub    = client;
         deObj.CustomerKey = dataExtensionName;
         deObj.Delete();
     }
 }
Exemplo n.º 6
0
        protected void AddSubscriber()
        {
            string        email             = tbx_YourEmail.Value;
            string        firstName         = tbx_FirstName.Value;
            string        lastName          = tbx_LastName.Value;
            List <string> productCategories = categories.Value.Split(';').ToList();

            ETDataExtension etd = new ETDataExtension();

            etd.InsertSubscribers(productCategories, firstName, lastName, email);
        }
        public void TearDown()
        {
            var qDef = new ETQueryDefinition
            {
                AuthStub    = client,
                CustomerKey = queryDefKey,
                ObjectID    = queryDef.ObjectID
            };
            var qdefResponse = qDef.Delete();

            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                CustomerKey = dataExtensionName,
            };
            var result = deObj.Delete();
        }
        public void TearDown()
        {
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                CustomerKey = dataExtensionName
            };
            var response = deObj.Delete();

            if (deleteDef)
            {
                var importObj = new ETImportDefinition
                {
                    AuthStub    = client,
                    CustomerKey = importName
                };
                importObj.Delete();
            }
        }
        public void TearDown()
        {
            var emailSendDef = new ETEmailSendDefinition
            {
                AuthStub    = client,
                CustomerKey = this.emailSendDef.CustomerKey
            };
            var response = emailSendDef.Delete();

            var email = new ETEmail
            {
                AuthStub    = client,
                CustomerKey = this.email.CustomerKey
            };
            var emailResponse = email.Delete();

            var de = new ETDataExtension
            {
                AuthStub    = client,
                CustomerKey = this.dataExtension.CustomerKey
            };
            var deResponse = de.Delete();
        }
        public void Setup()
        {
            dataExtensionName = Guid.NewGuid().ToString();
            importName        = Guid.NewGuid().ToString();
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                Name        = dataExtensionName,
                CustomerKey = dataExtensionName,
                IsSendable  = true,
                SendableDataExtensionField = new ETDataExtensionColumn {
                    Name = "SubscriberID", FieldType = DataExtensionFieldType.Number
                },
                SendableSubscriberField = new ETProfileAttribute {
                    Name = "Subscriber ID", Value = "Subscriber ID"
                },
                Columns = new[] {
                    new ETDataExtensionColumn {
                        Name = "SubscriberID", FieldType = DataExtensionFieldType.Number, IsPrimaryKey = true, IsRequired = true
                    },
                    new ETDataExtensionColumn {
                        Name = "FirstName", FieldType = DataExtensionFieldType.Text
                    },
                    new ETDataExtensionColumn {
                        Name = "LastName", FieldType = DataExtensionFieldType.Text
                    }
                }
            };
            var response = deObj.Post();

            Assert.AreEqual(response.Code, 200);
            Assert.AreEqual(response.Status, true);
            dataExtensionId = response.Results[0].NewObjectID;

            var importDefObj = new ETImportDefinition
            {
                AuthStub          = client,
                Name              = importName,
                CustomerKey       = importName,
                Description       = "Created with FuelSDK",
                AllowErrors       = true,
                DestinationObject = new ETDataExtension {
                    ObjectID = dataExtensionId
                },
                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 createresponse = importDefObj.Post();

            Assert.AreEqual(createresponse.Code, 200);
            Assert.AreEqual(createresponse.Status, true);
            Assert.AreEqual(createresponse.Results[0].StatusMessage, "ImportDefinition created.");
            deleteDef = true;
        }
        public void Setup()
        {
            //To create a email send definition we need: Email, SendableList, SendClassification
            //we will create email ,sendable data extension for SendableList

            var dataExtensionName = Guid.NewGuid().ToString();
            var deObj             = new ETDataExtension
            {
                AuthStub    = client,
                Name        = dataExtensionName,
                CustomerKey = dataExtensionName,
                IsSendable  = true,
                SendableDataExtensionField = new ETDataExtensionColumn {
                    Name = "SubscriberID", FieldType = DataExtensionFieldType.Number
                },
                SendableSubscriberField = new ETProfileAttribute {
                    Name = "Subscriber ID", Value = "Subscriber ID"
                },
                Columns = new[] {
                    new ETDataExtensionColumn {
                        Name = "SubscriberID", FieldType = DataExtensionFieldType.Number, IsPrimaryKey = true, IsRequired = true
                    },
                    new ETDataExtensionColumn {
                        Name = "FirstName", FieldType = DataExtensionFieldType.Text
                    },
                    new ETDataExtensionColumn {
                        Name = "LastName", FieldType = DataExtensionFieldType.Text
                    }
                }
            };

            var result = deObj.Post();

            dataExtension = (ETDataExtension)result.Results[0].Object;
            var dataExtensionId = result.Results[0].NewObjectID;
            //create Email
            var emailName    = string.Empty;
            var emailCustKey = emailName = System.Guid.NewGuid().ToString();
            var emailContent = "<b>This is a content generated by Fuel SDK C#";

            var emailObj = new ETEmail
            {
                AuthStub    = client,
                Name        = emailName,
                CustomerKey = emailCustKey,
                Subject     = "This email is created using C# SDK",
                HTMLBody    = emailContent
            };
            var emailResponse = emailObj.Post();

            Assert.AreEqual(emailResponse.Code, 200);
            Assert.AreEqual(emailResponse.Status, true);
            email = (ETEmail)emailResponse.Results[0].Object;



            //create the send def
            var sendDefName = Guid.NewGuid().ToString();
            var sendDefList = new ETSendDefinitionList
            {
                Name                   = "SendDefintion List CSharp",
                CustomerKey            = dataExtension.CustomerKey,
                SendDefinitionListType = SendDefinitionListTypeEnum.SourceList,
                CustomObjectID         = dataExtension.ObjectID,
                DataSourceTypeID       = DataSourceTypeEnum.CustomObject
            };
            var postESDDE = new ETEmailSendDefinition
            {
                AuthStub           = client,
                Name               = sendDefName,
                CustomerKey        = sendDefName,
                Description        = desc,
                SendClassification = new ETSendClassification {
                    CustomerKey = "Default Commercial"
                },
                SendDefinitionList = new[] { sendDefList },
                Email = new ETEmail {
                    ID = emailResponse.Results[0].NewID
                },
            };
            var postResponse = postESDDE.Post();

            Assert.AreEqual(postResponse.Code, 200);
            Assert.AreEqual(postResponse.Status, true);

            emailSendDef = (ETEmailSendDefinition)postResponse.Results[0].Object;
        }
        public void Setup()
        {
            dataExtensionName = Guid.NewGuid().ToString();
            targetDEKey       = Guid.NewGuid().ToString();
            desc        = "Query definition created by C# SDK";
            updatedDesc = "Updated Query definition created by C# SDK";
            var deObj = new ETDataExtension
            {
                AuthStub    = client,
                Name        = dataExtensionName,
                CustomerKey = dataExtensionName,
                Columns     = new[] {
                    new ETDataExtensionColumn {
                        Name = "CustomerNumber", FieldType = DataExtensionFieldType.Text, IsPrimaryKey = true, MaxLength = 100, IsRequired = true
                    },
                    new ETDataExtensionColumn {
                        Name = "StoreId", FieldType = DataExtensionFieldType.Number
                    },
                    new ETDataExtensionColumn {
                        Name = "FirstName", FieldType = DataExtensionFieldType.Text, MaxLength = 256
                    },
                    new ETDataExtensionColumn {
                        Name = "LastName", FieldType = DataExtensionFieldType.Text, MaxLength = 256
                    }
                }
            };

            var result = deObj.Post();

            dataExtension = (ETDataExtension)result.Results[0].Object;

            for (int i = 0; i < 3; i++)
            {
                var deRow = new ETDataExtensionRow
                {
                    AuthStub          = client,
                    DataExtensionName = dataExtensionName,
                };
                deRow.ColumnValues.Add("CustomerNumber", i.ToString());
                deRow.ColumnValues.Add("StoreId", i % 2 == 0 ? "101" : "102");
                deRow.ColumnValues.Add("FirstName", "FirstName_" + i.ToString());
                deRow.ColumnValues.Add("LastName", "LastName_" + i.ToString());

                var derResponse = deRow.Post();
                Assert.AreEqual(derResponse.Code, 200);
                Assert.AreEqual(derResponse.Results[0].StatusMessage, "Created DataExtensionObject");
            }

            queryDefKey = Guid.NewGuid().ToString();
            var qDef = new ETQueryDefinition
            {
                AuthStub            = client,
                Name                = queryDefKey,
                Description         = desc,
                CustomerKey         = queryDefKey,
                DataExtensionTarget = new InteractionBaseObject {
                    CustomerKey = targetDEKey, Name = "Store102DEx"
                },
                QueryText        = string.Format("SELECT * FROM [{0}] WHERE STOREID=102", dataExtensionName),
                TargetType       = "DE",
                TargetUpdateType = "Overwrite"
            };
            var qdefResponse = qDef.Post();

            Assert.AreEqual(qdefResponse.Code, 200);
            Assert.AreEqual(qdefResponse.Status, true);
            Assert.AreEqual(qdefResponse.Results[0].StatusMessage, "QueryDefinition created");
            queryDef = (ETQueryDefinition)qdefResponse.Results[0].Object;
        }