private async Task <SyncStack> GetResultAsync(string Init = "false", SyncType SyncType = SyncType.All, string ContentTypeUid = null, DateTime?StartFrom = null, string SyncToken = null, string PaginationToken = null, string Locale = null) { //mainJson = null; Dictionary <string, object> mainJson = new Dictionary <string, object>(); if (Init != "false") { mainJson.Add("init", "true"); mainJson.Add("environment", this.Config.Environment); } if (StartFrom != null) { DateTime startFrom = StartFrom ?? DateTime.MinValue; mainJson.Add("start_from", startFrom.ToString("yyyy-MM-ddTHH\\:mm\\:ss.sssZ")); } if (SyncToken != null) { mainJson.Add("sync_token", SyncToken); } if (PaginationToken != null) { mainJson.Add("pagination_token", PaginationToken); } if (ContentTypeUid != null) { mainJson.Add("content_type_uid", ContentTypeUid); } if (Locale != null) { mainJson.Add("locale", Locale); } if (SyncType.HasFlag(SyncType.All)) { } if (SyncType.HasFlag(SyncType.All)) { mainJson.Add("type", "entry_published,asset_published,entry_unpublished,asset_unpublished,entry_deleted,asset_deleted,content_type_deleted"); } else { List <string> Type = new List <string>(); if (SyncType.HasFlag(SyncType.EntryDeleted)) { Type.Add("entry_deleted"); } if (SyncType.HasFlag(SyncType.EntryPublished)) { Type.Add("entry_published"); } if (SyncType.HasFlag(SyncType.EntryUnpublished)) { Type.Add("entry_unpublished"); } if (SyncType.HasFlag(SyncType.AssetDeleted)) { Type.Add("asset_deleted"); } if (SyncType.HasFlag(SyncType.AssetPublished)) { Type.Add("asset_published"); } if (SyncType.HasFlag(SyncType.AssetUnpublished)) { Type.Add("asset_unpublished"); } if (SyncType.HasFlag(SyncType.ContentTypeDeleted)) { Type.Add("content_type_deleted"); } mainJson.Add("type", String.Join(",", Type.ToArray())); } try { HttpRequestHandler requestHandler = new HttpRequestHandler(); string js = await requestHandler.ProcessRequest(_SyncUrl, _LocalHeaders, mainJson); SyncStack stackSyncOutput = JsonConvert.DeserializeObject <SyncStack>(js); return(stackSyncOutput); } catch (Exception ex) { throw GetContentstackError(ex); } }