/// <summary> /// Queries the given reportId from an SMS /// </summary> /// <param name="request">prepared request to use for the query</param> public SmsResponse subscribeReceiveNotifications(ReceiveNotificationSubscribeRequest request) { EnsureRequestValid(request); string uri = ServiceBaseUrl + "/inbound/subscriptions"; return(CreateAuthenticatedJsonRequest <SmsResponse>(uri, request).Execute()); }
private TelekomJsonWebRequest <SmsResponse> CreateAuthenticatedJsonRequest <ResponseType>(string uri, ReceiveNotificationSubscribeRequest request) { TelekomJsonWebRequest <SmsResponse> webRequest = CreateAuthenticatedRequest <SmsResponse>(uri, HttpMethod.POST); Dictionary <string, Dictionary <string, object> > jsonRequest = new Dictionary <string, Dictionary <string, object> >(); //--------------------------------------------------------------------------------------------------------------- Dictionary <string, object> val = new Dictionary <string, object>(); Dictionary <string, string> helper = new Dictionary <string, string>(); helper.Add("notifyURL", request.notifyURL); if (request.callbackData != null) { helper.Add("callbackData", request.callbackData); } val.Add("callbackReference", helper); if (request.criteria != null) { val.Add("criteria", request.criteria); } if (request.clientCorrelator != null) { val.Add("clientCorrelator", request.clientCorrelator); } if (request.account != null) { val.Add("account", request.account); } if (request.notificationFormat != null) { val.Add("notificationFormat", request.notificationFormat); } val.Add("destinationAddress", request.destinationAddress); jsonRequest.Add("subscription", val); JsonSerializer serializer = new JsonSerializer(); MemoryStream ms = new MemoryStream(); StreamWriter sw = new StreamWriter(ms); JsonWriter writer = new JsonTextWriter(sw); serializer.Serialize(writer, jsonRequest); writer.Flush(); sw.Flush(); ms.Position = 0; ms.Flush(); webRequest.SetRawContent(ms, "application/json"); return(webRequest); }