Esempio n. 1
0
        public string SendCampaign(SubscribersCampaignRequest requestData)
        {
            string Id = string.Empty;

            try
            {
                SubscribersModels.MessageRequest _message = new SubscribersModels.MessageRequest();

                _message.body             = requestData.Text;
                _message.title            = requestData.Name;
                _message.landing_page_url = requestData.Url;
                _message.image_url        = requestData.Image;
                _message.utm = new SubscribersModels.UTM()
                {
                    campaign = requestData.Utm, medium = requestData.UtmMedium, source = requestData.UtmSource
                };
                _message.metadata = new SubscribersModels.METADATA()
                {
                    additionalProp1 = "", additionalProp2 = "", additionalProp3 = ""
                };

                string sdata = Newtonsoft.Json.JsonConvert.SerializeObject(_message);

                HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://app.subscribers.com/api/v1/messages");
                request.Method      = "POST";
                request.ContentType = "application/json";
                request.Headers.Add("X-API-Key", requestData.ApiKey);

                //POST
                request.ContentLength = sdata.Length;

                using (Stream webStream = request.GetRequestStream())
                    using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
                    {
                        requestWriter.Write(sdata);
                    }

                SubscribersModels.MessageResponse _response = new SubscribersModels.MessageResponse();

                WebResponse webResponse = request.GetResponse();
                using (Stream webStream = webResponse.GetResponseStream())
                {
                    if (webStream != null)
                    {
                        using (StreamReader responseReader = new StreamReader(webStream))
                        {
                            _response = Newtonsoft.Json.JsonConvert.DeserializeObject <SubscribersModels.MessageResponse>(responseReader.ReadToEnd());
                            return(_response.uuid);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(messageException);
            }
            return(Id);
        }
Esempio n. 2
0
        public SubscribersCampaignRequest getRequestData(CampaignDocument campaign)
        {
            SubscribersCampaignRequest request = FillSendinBlueRequestFromCosmos();

            request.Text = campaign.Text;
            request.Name = campaign.Name;
            return(request);
        }
Esempio n. 3
0
        public SubscribersCampaignRequest FillSendinBlueRequestFromCosmos()
        {
            SubscribersCampaignRequest request = new SubscribersCampaignRequest();

            //todo
            try
            {
                if (this.settings.Count > 0)
                {
                    foreach (var item in settings)
                    {
                        switch (item.Name)
                        {
                        case "pushApiToken":
                        {
                            request.ApiKey = item.Name.Equals("pushApiToken") ? item.Value : string.Empty;
                        }
                        break;
                        }
                    }
                }

                if (this.campaignSettings.Count > 0)
                {
                    foreach (var item in settings)
                    {
                        switch (item.Name)
                        {
                        case "pushNotifUrl":
                        {
                            request.Url = item.Name.Equals("pushNotifUrl") ? item.Value : string.Empty;
                        }
                        break;

                        case "pushImage":
                        {
                            request.Image = item.Name.Equals("pushImage") ? item.Value : string.Empty;
                        }
                        break;

                        case "Utm":
                        {
                            request.Utm = item.Name.Equals("Utm") ? item.Value : string.Empty;
                        }
                        break;

                        case "UtmMedium":
                        {
                            request.UtmMedium = item.Name.Equals("UtmMedium") ? item.Value : string.Empty;
                        }
                        break;

                        case "UtmSource":
                        {
                            request.UtmSource = item.Name.Equals("UtmSource") ? item.Value : string.Empty;
                        }
                        break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name);
                telemetria.Critical(exceptionMessage);
            }
            return(request);
        }