public GetResponseCampaignRequest getRequestData(CampaignDocument campaign, List <CampaignSettingDocument> settings) { GetResponseCampaignRequest request = FillSendinBlueRequestFromCosmos(settings); request.Name = campaign.Name; request.Text = campaign.Text; return(request); }
public GetResponseCampaignRequest FillSendinBlueRequestFromCosmos(List <CampaignSettingDocument> campaignSettings) { GetResponseCampaignRequest request = new GetResponseCampaignRequest(); try { // from products if (this.settings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "getResponseApiToken": { request.ApiKey = item.Name.Equals("getResponseApiToken") ? item.Value : string.Empty; } break; case "getResponseList": { request.ListId = item.Name.Equals("getResponseList") ? item.Value : string.Empty; } break; case "getResponseFromField": { request.FromFiledId = item.Name.Equals("getResponseFromField") ? item.Value : string.Empty; } break; } } } // from campaigns if (campaignSettings.Count > 0) { foreach (var setting in campaignSettings) { switch (setting.Name) { case "getResponseSubject": { request.Subject = setting.Name.Equals("getResponseSubject") ? setting.Value : string.Empty; } break; } } } } catch (Exception e) { string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(exceptionMessage); } return(request); }
public string SendCampaign(GetResponseCampaignRequest request) { string Id = string.Empty; try { //main objects dynamic json = new ExpandoObject(); dynamic fromField = new ExpandoObject(); dynamic campaign = new ExpandoObject(); dynamic content = new ExpandoObject(); dynamic sendSettings = new ExpandoObject(); dynamic selectedCampaigns = new List <string>(); //set values json.name = request.Name; json.type = "broadcast"; json.subject = request.Subject; fromField.fromFieldId = request.FromFiledId; json.fromField = fromField; campaign.campaignId = request.ListId; json.campaign = campaign; content.html = request.Text; content.plain = null; json.content = content; json.replyTo = fromField; selectedCampaigns.Add(request.ListId); sendSettings.timeTravel = "false"; sendSettings.perfectTiming = "true"; sendSettings.selectedCampaigns = selectedCampaigns; sendSettings.selectedSegments = new List <string>(); sendSettings.selectedSuppressions = new List <string>(); sendSettings.excludedCampaigns = new List <string>(); sendSettings.excludedSegments = new List <string>(); sendSettings.selectedContacts = new List <string>(); json.sendSettings = sendSettings; var result = MethodPost(request.ApiKey, "newsletters", (IDictionary <string, object>)json); dynamic data = JsonConvert.DeserializeObject(result.Data); Id = (string)data.newsletterId; } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(Id); }