コード例 #1
0
        /// <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());
        }
コード例 #2
0
        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);
        }