Ejemplo n.º 1
0
        public bool IsValid(string apiKey, string url)
        {
            ActiveCampaignClient        activeCampaignClient = new ActiveCampaignClient(apiKey, url);
            Dictionary <string, string> parameters           = new Dictionary <string, string>()
            {
            };
            var result = activeCampaignClient.ApiAsync("account_view", parameters);

            return(Convert.ToBoolean(result.Code));
        }
Ejemplo n.º 2
0
        public ActiveCampaignClientTests()
        {
            _handler = new FakeMessageHandler();
            var httpClient = new HttpClient(_handler);

            _activeCampaignClient = new ActiveCampaignClient(httpClient, new ActiveCampaignClientOptions
            {
                ApiKey  = "abc",
                BaseUri = "http://localhost"
            });
        }
Ejemplo n.º 3
0
        public List <GenericElement> GetLists(string apiKey, string url)
        {
            GenericElement              element;
            List <GenericElement>       list = new List <GenericElement>();
            ActiveCampaignClient        activeCampaignClient = new ActiveCampaignClient(apiKey, url);
            Dictionary <string, string> parameters           = new Dictionary <string, string>();
            var     result = activeCampaignClient.ApiAsync("list_paginator", parameters);
            dynamic stuff  = JsonConvert.DeserializeObject(result.Data);
            dynamic rows   = stuff.rows;

            foreach (var item in rows)
            {
                element = new GenericElement()
                {
                    Id   = item.id,
                    Name = item.name
                };
                list.Add(element);
            }
            return(list);
        }
Ejemplo n.º 4
0
 public TagWrapper(ActiveCampaignClient client) : base(client)
 {
 }
Ejemplo n.º 5
0
 public ContactWrapper(ActiveCampaignClient client) : base(client)
 {
 }
Ejemplo n.º 6
0
        public string CreateCampaignActiveCampaign(string idCampaign)
        {
            string apiKey  = null;
            string idList  = null;
            string url     = null;
            string subject = null;
            string idCampaignActiveCampaign = null;
            string fromName  = null;
            string fromEmail = null;
            string idMessage = null;

            var campaign = _campaignService.GetCampaignById(idCampaign);
            var product  = _campaignService.GetProductByIdProduct(campaign.PRODUCT.IdProduct);

            if (product.PRODUCT_SETTINGS != null && product.PRODUCT_SETTINGS.Any())
            {
                foreach (var item in product.PRODUCT_SETTINGS)
                {
                    apiKey = item.SettingName.Equals("activeCampaignApiToken") ? item.SettingValue : apiKey;
                    idList = item.SettingName.Equals("activeCampaignList") ? item.SettingValue : idList;
                    url    = item.SettingName.Equals("activeCampaignUrl") ? item.SettingValue : url;
                }
            }

            if (campaign.CAMPAIGN_SETTINGS != null && campaign.CAMPAIGN_SETTINGS.Any())
            {
                foreach (var setting in campaign.CAMPAIGN_SETTINGS)
                {
                    subject = setting.SettingName.Equals("activeCampaignSubject") ? setting.SettingValue : subject;
                }
            }

            ActiveCampaignClient        activeCampaignClient = new ActiveCampaignClient(apiKey, url);
            Dictionary <string, string> parameters           = new Dictionary <string, string>()
            {
            };

            var     result = activeCampaignClient.ApiAsync("account_view", parameters);
            dynamic data   = JsonConvert.DeserializeObject(result.Data);

            fromEmail = data.email;
            fromName  = data.fname;

            activeCampaignClient = new ActiveCampaignClient(apiKey, url);
            parameters           = new Dictionary <string, string>
            {
                { "format", "mime" },
                { "subject", subject },
                { "fromemail", fromEmail },
                { "fromname", fromName },
                { "reply2", "" },
                { "priority", "5" },
                { "charset", "utf-8" },
                { "encoding", "quoted-printable" },
                { "htmlconstructor", "editor" },
                { "html", campaign.AdText },
                { "textconstructor", "editor" },
                { "p[" + idList + "]", idList }
            };
            result    = activeCampaignClient.ApiAsync("message_add", parameters);
            data      = JsonConvert.DeserializeObject(result.Data);
            idMessage = data.id;
            //Console.WriteLine(result.Code);//1 successfull

            activeCampaignClient = new ActiveCampaignClient(apiKey, url);
            parameters           = new Dictionary <string, string>
            {
                { "type", "text" },
                { "segmentid", "0" },
                { "bounceid", "-1" },
                { "name", campaign.Name },
                { "sdate", DateTime.Now.ToString() },
                { "status", "1" },
                { "public", "1" },
                { "mailer_log_file", "4" },
                { "tracklinks", "all" },
                { "tracklinksanalytics", "" },
                { "trackreads", "0" },
                { "trackreplies", "0" },
                { "htmlunsub", "1" },
                { "textunsub", "1" },
                { "p[" + idList + "]", idList },
                { "m[" + idMessage + "]", "100" }
            };
            result = activeCampaignClient.ApiAsync("campaign_create", parameters);
            data   = JsonConvert.DeserializeObject(result.Data);
            idCampaignActiveCampaign = data.id;
            //Console.WriteLine(data.id);
            //Console.WriteLine(result.Code);//1 successfull

            idCampaignActiveCampaign = Convert.ToBoolean(result.Code) ? data.id : null;
            return(idCampaignActiveCampaign);
        }
Ejemplo n.º 7
0
 public AccountViewWrapper(ActiveCampaignClient client) : base(client)
 {
 }
Ejemplo n.º 8
0
        public string SendCampaign(ActiveCampaignRequest request)
        {
            string Id = string.Empty;

            try
            {
                ActiveCampaignClient        activeCampaignClient = new ActiveCampaignClient(request.ApiKey, request.Url);
                Dictionary <string, string> parameters           = new Dictionary <string, string>()
                {
                };

                var     result = activeCampaignClient.ApiAsync("account_view", parameters);
                dynamic data   = JsonConvert.DeserializeObject(result.Data);
                request.FromEmail = data.email;
                request.FromName  = data.fname;

                activeCampaignClient = new ActiveCampaignClient(request.ApiKey, request.Url);
                parameters           = new Dictionary <string, string>
                {
                    { "format", "mime" },
                    { "subject", request.Subject },
                    { "fromemail", request.FromEmail },
                    { "fromname", request.FromName },
                    { "reply2", "" },
                    { "priority", "5" },
                    { "charset", "utf-8" },
                    { "encoding", "quoted-printable" },
                    { "htmlconstructor", "editor" },
                    { "html", request.Text },
                    { "textconstructor", "editor" },
                    { "p[" + request.ListId + "]", request.ListId }
                };
                result = activeCampaignClient.ApiAsync("message_add", parameters);
                data   = JsonConvert.DeserializeObject(result.Data);
                string idMessage = data.id;

                activeCampaignClient = new ActiveCampaignClient(request.ApiKey, request.Url);
                parameters           = new Dictionary <string, string>
                {
                    { "type", "text" },
                    { "segmentid", "0" },
                    { "bounceid", "-1" },
                    { "name", request.Name },
                    { "sdate", DateTime.Now.ToString() },
                    { "status", "1" },
                    { "public", "1" },
                    { "mailer_log_file", "4" },
                    { "tracklinks", "all" },
                    { "tracklinksanalytics", "" },
                    { "trackreads", "0" },
                    { "trackreplies", "0" },
                    { "htmlunsub", "1" },
                    { "textunsub", "1" },
                    { "p[" + request.ListId + "]", request.ListId },
                    { "m[" + idMessage + "]", "100" }
                };
                result = activeCampaignClient.ApiAsync("campaign_create", parameters);
                data   = JsonConvert.DeserializeObject(result.Data);
                Id     = data.id;

                Id = Convert.ToBoolean(result.Code) ? data.id : null;
            }
            catch (Exception ex)
            {
                var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(Id);
        }