Exemplo n.º 1
0
        public AccountAttribute Update(AccountAttribute attribute)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.PUT, ITEM, new { accountId = attribute.AccountId, nameOrId = attribute.Id }, attribute.Value);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <AccountAttribute>(request, response, "update"));
        }
Exemplo n.º 2
0
        public ContactAttribute CreateOrUpdate(int accountId, int contactId, string name, string value)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.POST, ITEM, new { accountId, contactId, name }, value);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <ContactAttribute>(request, response, "create or update"));
        }
Exemplo n.º 3
0
        public ContactAttribute GetByName(int accountId, int contactId, string name, bool throwIfEmpty = false)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.GET, ITEM, new { accountId, name });
            IRestResponse response = TDClient.InnerExecute(request);

            if (response == null)
            {
                return(null);
            }

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                if (throwIfEmpty)
                {
                    throw new HttpException(string.Format("Empty response for {0}: {1} {2} {3}",
                                                          typeof(ContactAttribute).Name,
                                                          request.Resource,
                                                          response.StatusCode,
                                                          response.StatusDescription));
                }

                return(null);
            }

            return(new ContactAttribute
            {
                Name = name,
                AccountId = accountId,
                Value = response.Content
            });
        }
        public CouponRedemption Redeem(int accountId, string couponCode)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.POST, REDEEM, new { accountId }, couponCode);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <CouponRedemption>(request, response, "redeem"));
        }
Exemplo n.º 5
0
        public LongCode RemoveForwarding(int accountId, string longCode)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.DELETE, FORWARDING, new { accountId, longCode = Utils.SoftReadPhoneNumber(longCode) });
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <LongCode>(request, response, "remove forwarding"));
        }
Exemplo n.º 6
0
        public List <string> GetRawList(int accountId, bool throwIfEmpty = false)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.GET, LIST, new { accountId });
            IRestResponse response = TDClient.InnerExecute(request);

            if (response == null)
            {
                return(null);
            }

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                if (throwIfEmpty)
                {
                    throw new HttpException(string.Format("Empty list response for {0}: {1} {2} {3}",
                                                          typeof(LongCode).Name,
                                                          request.Resource,
                                                          response.StatusCode,
                                                          response.StatusDescription));
                }

                return(new List <string>());
            }

            return(response.Deserialize <List <string> >());
        }
Exemplo n.º 7
0
        internal Campaign InternalCreate(int accountId, CreateCampaign campaign)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.POST, LIST, new { accountId }, campaign);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <Campaign>(request, response, "add"));
        }
Exemplo n.º 8
0
        public Keyword AttachCampaign(int accountId, string channel, string keyword, int campaignId)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.POST, KEYWORD_CAMPAIGN, new { accountId, channel, keyword }, campaignId);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <Keyword>(request, response, "attach campaign"));
        }
Exemplo n.º 9
0
        public LongCode AddForwarding(int accountId, string longCode, string forwardingNumber)
        {
            IRestRequest request = TDClient.BuildRequest(Method.POST, FORWARDING,
                                                         new { accountId, longCode = Utils.SoftReadPhoneNumber(longCode) }, new { ForwardingNumber = Utils.ReadPhoneNumber(forwardingNumber) });
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <LongCode>(request, response, "add forwarding"));
        }
Exemplo n.º 10
0
        public LongCode VerifyForwarding(int accountId, string longCode, string verificationCode)
        {
            IRestRequest request = TDClient.BuildRequest(Method.POST, FORWARDING_VERIFICATION,
                                                         new { accountId, longCode = Utils.SoftReadPhoneNumber(longCode) }, new { VerificationCode = verificationCode });
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <LongCode>(request, response, "verify forwarding"));
        }
Exemplo n.º 11
0
        public AccountAttribute Create(int accountId, AccountAttribute attribute)
        {
            var nameOrId = attribute.Id > 0 ? attribute.Id.ToString() : attribute.Name;

            IRestRequest  request  = TDClient.BuildRequest(Method.POST, ITEM, new { accountId, nameOrId }, attribute.Value);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessOperationResponse <AccountAttribute>(request, response, "add"));
        }
        public MediaContent GetMediaContent(string mediaId)
        {
            var           request  = TDClient.BuildRequest(Method.GET, MEDIA, new { mediaId });
            IRestResponse response = TDClient.InnerExecute(request);

            return(new MediaContent
            {
                Content = response.RawBytes,
                ContentType = response.ContentType
            });
        }
Exemplo n.º 13
0
        public List <ChatConversation> GetConversations(int accountId, out int totalCount, int skip = 0, int take = 20, bool throwIfEmpty = false)
        {
            //"X-TrueDialog-Count";
            IRestRequest  request  = TDClient.BuildRequest(Method.GET, CONVERSATION_LIST, new { accountId }, filter: string.Format("$skip={0}&$top={1}", skip, take));
            IRestResponse response = TDClient.InnerExecute(request);

            var rval        = TDClient.ProcessListResponse <ChatConversation>(request, response, throwIfEmpty);
            var countHeader = response.Headers.FirstOrDefault(p => p.Name == "X-TrueDialog-Count");

            totalCount = countHeader != null?int.Parse(countHeader.Value.ToString()) : rval.Count;

            return(rval);
        }
Exemplo n.º 14
0
        public List <ChatMessage> GetMessages(int accountId, int conversationId, int skip, int top)
        {
            IRestRequest request = TDClient.BuildRequest(Method.GET, CONVERSATION_ITEM, new { accountId, conversationId }, filter: string.Format("$skip={0}&$top={1}", skip, top));

            IRestResponse response = TDClient.InnerExecute(request);

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                return(new List <ChatMessage>());
            }

            var res = response.Deserialize <List <ChatMessage> >();

            return(res);
        }
        public AccountMedia UploadAsByteArray(int accountId, MediaType type, byte[] byteArray)
        {
            var request = TDClient.BuildRequest(Method.POST, LIST, new { accountId });

            var extension = ExtensionFromMimeType(type);
            var fileName  = String.Format("ACCT{0}_{1}_Media{2}", accountId, DateTime.UtcNow.Ticks, extension);

            request.AddFile("media", byteArray, fileName);

            var response = TDClient.InnerExecute(request);

            var rval = TDClient.ProcessListResponse <AccountMedia>(request, response, true);

            return(rval.FirstOrDefault());
        }
Exemplo n.º 16
0
        public List <Contact> Search(int accountId, string needle)
        {
            var request  = TDClient.BuildRequest(RestSharp.Method.POST, SEARCH, new { accountId }, needle);
            var response = TDClient.InnerExecute(request);

            if (response == null)
            {
                return(null);
            }

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                return(new List <Contact>());
            }

            return(response.Deserialize <List <Contact> >());
        }
Exemplo n.º 17
0
        public Campaign GetDefault(int accountId, CampaignType type)
        {
            var filter   = string.Format("$filter=(IsDefault eq true) and (CampaignTypeId eq {0})", (int)type);
            var request  = TDClient.BuildRequest(Method.GET, LIST, new { accountId, onlyMine = true }, filter: filter);
            var response = TDClient.InnerExecute(request);

            var rval = TDClient.ProcessListResponse <Campaign>(request, response, false);

            if (rval == null)
            {
                return(null);
            }
            else
            {
                return(rval.FirstOrDefault());
            }
        }
Exemplo n.º 18
0
        public List <ContactLookupRow> ContactLookup(int accountId, ContactLookupOptions options, out int count)
        {
            var request  = TDClient.BuildRequest(Method.POST, CONTACT_LOOKUP, new { accountId }, options);
            var response = TDClient.InnerExecute(request);

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                count = 0;
                return(new List <ContactLookupRow>());
            }

            var rval        = response.Deserialize <List <ContactLookupRow> >();
            var countHeader = response.Headers.FirstOrDefault(p => p.Name == "X-TrueDialog-Count");

            count = countHeader != null?int.Parse(countHeader.Value.ToString()) : rval.Count;

            return(rval);
        }
Exemplo n.º 19
0
        public List <ChatConversation> FindConversations(int accountId, string needle, int skip, int top, out int count)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.POST, SEARCH_CONVERSATION, new { accountId }, needle.Trim(), filter: string.Format("$skip={0}&$top={1}", skip, top));
            IRestResponse response = TDClient.InnerExecute(request);

            if (response.StatusCode == HttpStatusCode.NoContent)
            {
                count = 0;
                return(new List <ChatConversation>());
            }

            var rval        = response.Deserialize <List <ChatConversation> >();
            var countHeader = response.Headers.FirstOrDefault(p => p.Name == "X-TrueDialog-Count");

            count = countHeader != null?int.Parse(countHeader.Value.ToString()) : rval.Count;

            return(rval);
        }
Exemplo n.º 20
0
        public int GetTotalCount(int accountId, int contactListId)
        {
            IRestRequest  request  = TDClient.BuildRequest(Method.GET, EXECUTE_SUBSCRIPTIONLESS, new { accountId, contactListId, getCount = true });
            IRestResponse response = TDClient.InnerExecute(request);

            if (response == null || response.StatusCode == HttpStatusCode.NoContent)
            {
                throw new HttpException(string.Format("Empty response for {0}: {1} {2} {3}",
                                                      typeof(ContactList).Name,
                                                      request.Resource,
                                                      response.StatusCode,
                                                      response.StatusDescription));
            }

            if (Int32.TryParse(response.Content, out int rval))
            {
                return(rval);
            }

            return(0);
        }
Exemplo n.º 21
0
        private List <MessageReportRow> InternalGetReport(int accountId,
                                                          DateTime?from     = null,
                                                          DateTime?to       = null,
                                                          string filter     = null,
                                                          bool throwIfEmpty = false)
        {
            var url = URL;

            if (from.HasValue)
            {
                url += ((url.IndexOf('?') != -1) ? "&" : "?") + "from=" + from.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
            }

            if (to.HasValue)
            {
                url += ((url.IndexOf('?') != -1) ? "&" : "?") + "to=" + to.Value.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
            }

            IRestRequest  request  = TDClient.BuildRequest(Method.GET, URL, new { accountId }, null, null, filter);
            IRestResponse response = TDClient.InnerExecute(request);

            return(TDClient.ProcessListResponse <MessageReportRow>(request, response, throwIfEmpty));
        }
Exemplo n.º 22
0
        public void UpdatePassword(int accountId, string username, string newPassword)
        {
            var request = TDClient.BuildRequest(Method.PUT, RESET, new { accountId, username }, new { NewPassword = newPassword, ConfirmPassword = newPassword });

            TDClient.InnerExecute(request);
        }
Exemplo n.º 23
0
        public void Lock(int accountId, string username)
        {
            var request = TDClient.BuildRequest(Method.POST, LOCK, new { accountId, username }, null);

            TDClient.InnerExecute(request);
        }