public async Task<CreateSubaccountResponse> Create(SubaccountCreate subaccount)
        {
            var request = new Request
            {
                Url = $"api/{client.Version}/subaccounts",
                Method = "POST",
                Data = new
                {
                    name = subaccount.Name,
                    key_label = subaccount.KeyLabel,
                    key_grants = subaccount.KeyGrants
                }
            };

            var response = await requestSender.Send(request);
            if (response.StatusCode != HttpStatusCode.OK) throw new ResponseException(response);

            var results = Jsonification.DeserializeObject<dynamic>(response.Content).results;

            return new CreateSubaccountResponse
            {
                ReasonPhrase = response.ReasonPhrase,
                StatusCode = response.StatusCode,
                Content = response.Content,
                Key = results.key,
                Label = results.label,
                ShortKey = results.short_key,
                SubaccountId = results.subaccount_id
            };
        }
Esempio n. 2
0
        /// <summary>
        /// Create a Subaccount owned by the authenticated Reseller
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ShopperIdResponse> CreateSubaccount(SubaccountCreate request)
        {
            CheckRequestValid(request);
            var client   = GetBaseHttpClient();
            var response = await client.PostAsync($"shoppers/subaccount", request);

            await CheckResponseMessageIsValid(response);

            return(await response.Content.ReadAsAsync <ShopperIdResponse>());
        }