public static async Task <StockXApiResult <object> > DeleteListin(this StockXAccount stockAuth, string ChainID) { using (var httpClient = stockAuth.GetHttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("DELETE"), "https://stockx.com/api/portfolio/" + ChainID)) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("origin", "https://stockx.com"); request.Headers.TryAddWithoutValidation("authorization", "Bearer " + stockAuth.Token); request.Headers.TryAddWithoutValidation("content-type", "application/json"); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", "https://stockx.com/sell/" + ChainID); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var json = new { chain_id = "", notes = "User Canceled Bid" }; request.Content = new StringContent(JsonConvert.SerializeObject(json)); request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode > 399) { return(new StockXApiResult <object>() { Code = response.StatusCode, ResultText = txt, }); } var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(new StockXApiResult <object>() { Code = response.StatusCode, ResultText = txt, RO = JsonConvert.DeserializeObject <GetPagedPortfolioItemsResponse>(txt, settings) }); } } }
public static async Task <StockXApiResult <GetPagedPortfolioItemsResponse> > GetCurrentListings(this StockXAccount stockAuth, string CusomterID, int Page, string IfNoneMatch = "") { using (var httpClient = stockAuth.GetHttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://stockx.com/api/customers/{CusomterID}/selling/current?sort=created_at&order=DESC&limit=20&page={Page}¤cy={stockAuth.Currency}&country={stockAuth.Country}")) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("authorization", "Bearer " + stockAuth.Token); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("x-anonymous-id", "undefined"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", "https://stockx.com/selling"); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode > 399) { return(new StockXApiResult <GetPagedPortfolioItemsResponse>() { Code = response.StatusCode, ResultText = txt, }); } var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(new StockXApiResult <GetPagedPortfolioItemsResponse>() { Code = response.StatusCode, ResultText = txt, RO = JsonConvert.DeserializeObject <GetPagedPortfolioItemsResponse>(txt, settings) }); } } }
public static async Task <StockXApiResult <ProductActivityResponse> > GetASks(this StockXAccount stockAuth, Inventory Item, int Page = 1) { using (var httpClient = stockAuth.GetHttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("GET"), $"https://stockx.com/api/products/{Item.Sku}/activity?state=400¤cy={stockAuth.Currency}&limit=100&page={Page}&sort=amount&order=ASC&country={stockAuth.Country}")) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("x-anonymous-id", "undefined"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", Item.StockXUrl); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode > 399) { return(new StockXApiResult <ProductActivityResponse>() { Code = response.StatusCode, ResultText = txt, }); } var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(new StockXApiResult <ProductActivityResponse>() { Code = response.StatusCode, ResultText = txt, RO = JsonConvert.DeserializeObject <ProductActivityResponse>(txt, settings) }); } } }
public static async Task <GetProductSizesReponse> GetProductFromUrl(this StockXAccount stockAuth, string Url) { using (var httpClient = stockAuth.GetHttpClient()) { string requestUri = $"{Url.Replace("https://stockx.com/", $"https://stockx.com/api/products/")}?includes=market,360¤cy={stockAuth.Currency}&country={stockAuth.Country}"; using (var request = new HttpRequestMessage(new HttpMethod("GET"), requestUri)) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("x-anonymous-id", "undefined"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", Regex.Replace(Url.Replace("https://stockx.com/", "https://stockx.com/sell"), @"\??.*", "")); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(JsonConvert.DeserializeObject <GetProductSizesReponse>(txt, settings)); } } }
public static async Task <StockXApiResult <ListItemResponse> > MakeListing(this StockXAccount stockAuth, string RefUrl, string skuUuid, int Amount, string ExpiresDate) { using (var httpClient = stockAuth.GetHttpClient()) { using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://stockx.com/api/portfolio?a=ask")) { request.Headers.TryAddWithoutValidation("authority", "stockx.com"); request.Headers.TryAddWithoutValidation("origin", "https://stockx.com"); request.Headers.TryAddWithoutValidation("authorization", "Bearer " + stockAuth.Token); request.Headers.TryAddWithoutValidation("content-type", "application/json"); request.Headers.TryAddWithoutValidation("appos", "web"); request.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); request.Headers.TryAddWithoutValidation("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"); request.Headers.TryAddWithoutValidation("dnt", "1"); request.Headers.TryAddWithoutValidation("appversion", "0.1"); request.Headers.TryAddWithoutValidation("accept", "*/*"); request.Headers.TryAddWithoutValidation("sec-fetch-site", "same-origin"); request.Headers.TryAddWithoutValidation("sec-fetch-mode", "cors"); request.Headers.TryAddWithoutValidation("referer", RefUrl.Replace("//stockx.com/", "//stockx.com/sell/")); request.Headers.TryAddWithoutValidation("accept-encoding", "gzip, deflate, br"); request.Headers.TryAddWithoutValidation("accept-language", "en-US,en;q=0.9"); var NewListing = new ListItemRequest() { Action = "ask", PortfolioItem = new ListItemRequestPortfolioItem() { LocalAmount = Amount, ExpiresAt = ExpiresDate, SkuUuid = skuUuid, LocalCurrency = stockAuth.Currency, Meta = new ListItemRequestMeta { DiscountCode = "", } } }; var PostJson = JsonConvert.SerializeObject(NewListing); request.Content = new StringContent(PostJson); request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await httpClient.SendAsync(request); var txt = await response.Content.ReadAsStringAsync(); if ((int)response.StatusCode > 399) { return(new StockXApiResult <ListItemResponse>() { Code = response.StatusCode, ResultText = txt }); } var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore }; return(new StockXApiResult <ListItemResponse>() { RO = JsonConvert.DeserializeObject <ListItemResponse>(txt, settings), Code = response.StatusCode, ResultText = txt }); } } }