Exemple #1
0
        public static async Task <UploadTrackingApiResponse <T> > Post <T, D>(UploadTrackingApiUpsertRequest <D> request)
        {
            try
            {
                HttpResponseMessage response;
                using (var http = new HttpClient())
                {
                    http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    if (request.Header != null)
                    {
                        foreach (var header in request.Header)
                        {
                            http.DefaultRequestHeaders.Add(header.Key, header.Value);
                        }
                    }

                    var           json          = JsonConvert.SerializeObject(request.Data);
                    StringContent stringContent = new StringContent(json, Encoding.UTF8, "application/json");

                    response = await http.PostAsync(request.Url, stringContent);
                }
                return(new UploadTrackingApiResponse <T>
                {
                    Data = JsonConvert.DeserializeObject <T>(await response.Content.ReadAsStringAsync()),
                    StatusCode = response.StatusCode,
                    ErrorMessage = response.RequestMessage.ToString()
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #2
0
        public async Task GetAccessToken(string code, string fullStoreName)
        {
            var storeName = fullStoreName.Substring(0, fullStoreName.LastIndexOf(".myshopify.com"));

            var request = new UploadTrackingApiUpsertRequest <ShopifyAccessTokenRequestModel>
            {
                Url  = $"https://{storeName}.myshopify.com/admin/oauth/access_token",
                Data = new ShopifyAccessTokenRequestModel
                {
                    Code = code
                }
            };

            var response = await HttpClientHelper.Post <ShopifyAccessTokenResponseModel, ShopifyAccessTokenRequestModel>(request);

            await _storeIntRepo.SaveIntegration(13, storeName, response.Data.AccessToken);
        }