/// <summary> /// Get business get buttons (partners) /// </summary> public async Task <IResult <InstaBusinessPartnersList> > GetBusinessPartnersButtonsAsync() { InstaUserAuthValidator.Validate(userAuthValidate); try { var data = new JObject(); var dataStr = httpHelper.GetSignature(data); var instaUri = InstaUriCreator.GetBusinessInstantExperienceUri(dataStr); var request = httpHelper.GetDefaultRequest(HttpMethod.Get, instaUri, deviceInfo); var response = await httpRequestProcessor.SendAsync(request).ConfigureAwait(false); var json = await response.Content.ReadAsStringAsync().ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.OK) { return(Result.UnExpectedResponse <InstaBusinessPartnersList>(response, json)); } var obj = JsonConvert.DeserializeObject <InstaBusinessPartnerContainer>(json); var partners = new InstaBusinessPartnersList(); foreach (var p in obj.Partners) { partners.Add(p); } return(Result.Success(partners)); } catch (HttpRequestException httpException) { logger?.LogError(httpException, "Error"); return(Result.Fail(httpException, default(InstaBusinessPartnersList), ResponseType.NetworkProblem)); } catch (Exception exception) { logger?.LogError(exception, "Error"); return(Result.Fail <InstaBusinessPartnersList>(exception)); } }