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")); }
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")); }
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")); }
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")); }
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> >()); }
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")); }
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")); }
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")); }
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")); }
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 }); }
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); }
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()); }
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> >()); }
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()); } }
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); }
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); }
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); }
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)); }
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); }
public void Lock(int accountId, string username) { var request = TDClient.BuildRequest(Method.POST, LOCK, new { accountId, username }, null); TDClient.InnerExecute(request); }