public string SyncCustomObjects() { CustomObjectsRequest request = _requestFactorty.CreateCustomObjectsRequest(_host, _token); string result = CustomObjectProcessor.SyncCustomObjects(request); return(result); }
public CustomObjectsRequest CreateCustomObjectsRequest(string host, string token) { Dictionary <string, dynamic> prod = new Dictionary <string, dynamic>(); prod.Add("cart_id", "3121137123457"); prod.Add("lead_id", "3121137"); prod.Add("product_id", "123457"); prod.Add("product_name", "prod_a"); prod.Add("product_price", "123.48"); prod.Add("quantity", "1"); Dictionary <string, dynamic> prod1 = new Dictionary <string, dynamic>(); prod1.Add("cart_id", "3121137123458"); prod1.Add("lead_id", "3121137"); prod1.Add("product_id", "123458"); prod1.Add("product_name", "prod_a"); prod1.Add("product_price", "123.48"); prod1.Add("quantity", "1"); List <Dictionary <string, dynamic> > input = new List <Dictionary <string, dynamic> >(); input.Add(prod); input.Add(prod1); CustomObjectsRequest request = new CustomObjectsRequest() { Host = host, Token = token, Name = "sitecore_cart_c", Action = "createOrUpdate", //createOnly, updateOnly, createOrUpdate, defaults to createOrUpdate DedupeBy = "dedupeFields", //dedupeFields or idField for object, only valid for updateOnly Input = input }; return(request); }
public static string SyncCustomObjects(CustomObjectsRequest request) { string url = request.Host + "/rest/v1/customobjects/" + request.Name + ".json?access_token=" + request.Token; HttpClient httpClient = new HttpClient(); StringContent content = new StringContent(BodyBuilder(request.Action, request.DedupeBy, request.Input), Encoding.UTF8, "application/json"); HttpResponseMessage response = httpClient.PostAsync(url, content).Result; response.EnsureSuccessStatusCode(); return(response.Content.ReadAsStringAsync().Result); }
public static string DescribeCustomObjects(CustomObjectsRequest request) { System.Collections.Specialized.NameValueCollection qs = HttpUtility.ParseQueryString(string.Empty); qs.Add("access_token", request.Token); string url = request.Host + "/rest/v1/customobjects/" + request.Name + "/describe.json?" + qs.ToString(); HttpClient httpClient = new HttpClient(); StringContent content = new StringContent("", Encoding.UTF8, "application/json"); HttpResponseMessage response = httpClient.PostAsync(url, content).Result; response.EnsureSuccessStatusCode(); return(response.Content.ReadAsStringAsync().Result); }