예제 #1
0
        public SendReturnStatus CreateTriggeredSendEmail(string name, string customerKey, string description, string subject, string htmlBody, string emailAddress)
        {
            try
            {
                string triggeredEndCustomerKey = CreateTriggeredSendDefinition(name, customerKey, description, subject, htmlBody);

                //string triggeredEndCustomerKey = CreateTriggeredSendDefinition(name, customerKey, description, subject, htmlBody);
                ET_TriggeredSend tsdSendNew = new ET_TriggeredSend();
                tsdSendNew.AuthStub    = _etClient;
                tsdSendNew.CustomerKey = triggeredEndCustomerKey;


                tsdSendNew.Subscribers = new ET_Subscriber[] { new ET_Subscriber()
                                                               {
                                                                   EmailAddress = emailAddress, SubscriberKey = emailAddress
                                                               } };
                SendReturn srSendnew = tsdSendNew.Send();

                return(new SendReturnStatus()
                {
                    Status = srSendnew.Status.ToString(),
                    Message = srSendnew.Message.ToString(),
                    Code = srSendnew.Code.ToString(),
                    ResultsLength = srSendnew.Results.Length
                });
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #2
0
파일: EmailJob.cs 프로젝트: beiyiz/GA
        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 TestET_TriggeredSend()
        {
            ET_Client myclient = new ET_Client();

            Console.WriteLine("--- Testing TriggeredSend ---");
            string TSNameForCreateThenDelete = Guid.NewGuid().ToString();
            string ExistingTSDCustomerKey    = "TEXTEXT";

            Console.WriteLine("\n Send Using an Existing Definition ");
            ET_TriggeredSend tsdSend = new ET_TriggeredSend();

            tsdSend.AuthStub    = myclient;
            tsdSend.CustomerKey = ExistingTSDCustomerKey;
            tsdSend.Subscribers = new ET_Subscriber[] { new ET_Subscriber()
                                                        {
                                                            EmailAddress = "*****@*****.**", SubscriberKey = "*****@*****.**"
                                                        } };
            SendReturn srSend = tsdSend.Send();

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

            Console.WriteLine("\n Retrieve All TriggeredSend Definitions");
            ET_TriggeredSend tsdGetAll = new ET_TriggeredSend();

            tsdGetAll.AuthStub     = myclient;
            tsdGetAll.Props        = new string[] { "CustomerKey", "Name", "TriggeredSendStatus" };
            tsdGetAll.SearchFilter = new SimpleFilterPart()
            {
                Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new string[] { TSNameForCreateThenDelete }
            };
            GetReturn grAllTSD = tsdGetAll.Get();

            Console.WriteLine("Get Status: " + grAllTSD.Status.ToString());
            Console.WriteLine("Message: " + grAllTSD.Message.ToString());
            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");
            ET_TriggeredSend tsd = new ET_TriggeredSend();

            tsd.AuthStub    = myclient;
            tsd.Name        = TSNameForCreateThenDelete;
            tsd.CustomerKey = TSNameForCreateThenDelete;
            tsd.Email       = new ET_Email()
            {
                ID = 3113962
            };
            tsd.SendClassification = new ET_SendClassification()
            {
                CustomerKey = "2240"
            };
            PostReturn prTSD = tsd.Post();

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

            Console.WriteLine("\n Retrieve Single TriggeredSend");
            ET_TriggeredSend tsdGet = new ET_TriggeredSend();

            tsdGet.AuthStub     = myclient;
            tsdGet.Props        = new string[] { "CustomerKey", "Name", "TriggeredSendStatus" };
            tsdGet.SearchFilter = new SimpleFilterPart()
            {
                Property = "CustomerKey", SimpleOperator = SimpleOperators.equals, Value = new string[] { TSNameForCreateThenDelete }
            };
            GetReturn tsdGetSingle = tsdGet.Get();

            Console.WriteLine("Get Status: " + tsdGetSingle.Status.ToString());
            Console.WriteLine("Message: " + tsdGetSingle.Message.ToString());
            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");
            ET_TriggeredSend tsdPatch = new ET_TriggeredSend();

            tsdPatch.AuthStub            = myclient;
            tsdPatch.CustomerKey         = TSNameForCreateThenDelete;
            tsdPatch.TriggeredSendStatus = TriggeredSendStatusEnum.Active;
            PatchReturn patchrTSD = tsdPatch.Patch();

            Console.WriteLine("Patch Status: " + patchrTSD.Status.ToString());
            Console.WriteLine("Message: " + patchrTSD.Message.ToString());
            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.ToString());
            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");
            ET_TriggeredSend tsdSendNew = new ET_TriggeredSend();

            tsdSendNew.AuthStub    = myclient;
            tsdSendNew.CustomerKey = TSNameForCreateThenDelete;
            tsdSendNew.Subscribers = new ET_Subscriber[] { new ET_Subscriber()
                                                           {
                                                               EmailAddress = "*****@*****.**", SubscriberKey = "*****@*****.**"
                                                           } };
            SendReturn srSendnew = tsdSendNew.Send();

            Console.WriteLine("Send Status: " + srSendnew.Status.ToString());
            Console.WriteLine("Message: " + srSendnew.Message.ToString());
            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.ToString());
            Console.WriteLine("Code: " + patchrTSD.Code.ToString());
            Console.WriteLine("Results Length: " + patchrTSD.Results.Length);

            Console.WriteLine("\n Delete a TriggeredSend Definition");
            ET_TriggeredSend tsdDelete = new ET_TriggeredSend();

            tsdDelete.AuthStub    = myclient;
            tsdDelete.CustomerKey = TSNameForCreateThenDelete;
            DeleteReturn drTSD = tsdDelete.Delete();

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