public OneSignalCampaignRequest FillSendinBlueRequestFromCosmos() { OneSignalCampaignRequest request = new OneSignalCampaignRequest(); // todo try { if (this.settings.Count > 0) { foreach (var item in settings) { switch (item.Name) { case "oneSignalAppKey": { request.AppKey = item.Name.Equals("oneSignalAppKey") ? item.Value : string.Empty; } break; case "oneSignalAppId": { request.AppId = item.Name.Equals("oneSignalAppId") ? item.Value : string.Empty; } break; } } } } catch (Exception e) { string exceptionMessage = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(exceptionMessage); } return(request); }
public OneSignalCampaignRequest getRequestData(CampaignDocument campaign) { OneSignalCampaignRequest request = FillSendinBlueRequestFromCosmos(); request.Text = campaign.Text; request.Name = campaign.Name; return(request); }
public string SendCampaign(OneSignalCampaignRequest requestData) { string Id = string.Empty; try { var request = WebRequest.Create(api_url + "notifications") as HttpWebRequest; request.KeepAlive = true; request.Method = "POST"; request.ContentType = "application/json; charset=utf-8"; request.Headers.Add("authorization", "Basic " + requestData.AppKey); byte[] byteArray = Encoding.UTF8.GetBytes("{" + "\"app_id\": \"" + requestData.AppId + "\"," + "\"contents\": {\"en\": \"" + requestData.Text + "\"}," + "\"included_segments\": [\"All\"]}"); dynamic responseContent = null; using (var writer = request.GetRequestStream()) { writer.Write(byteArray, 0, byteArray.Length); } using (var response = request.GetResponse() as HttpWebResponse) { using (var reader = new StreamReader(response.GetResponseStream())) { responseContent = JsonConvert.DeserializeObject(reader.ReadToEnd()); } } Id = responseContent.id; } catch (Exception ex) { var messageException = telemetria.MakeMessageException(ex, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(Id); }