IntApp Walls API 是一個強大的工具,用於管理道德牆並安全地控制對敏感資料的存取。透過利用其運營,開發人員可以與事務團隊高效互動、管理成員資格並確保遵守保密要求。
Intapp Walls API 是一種 SOAP Web 服務,提供用於與 Intapp Walls 應用程式互動的程式設計介面。它被部署為標準元件 Web 服務。
為了簡單起見,本文檔中的範例程式碼省略了錯誤檢查、異常處理、日誌記錄等實務。它僅用於說明目的,並不一定反映最佳編碼實踐。
這裡我將介紹兩個關鍵場景:
透過了解和使用 IntApp Walls API 操作(例如「GetMatterTeamForMatter」、「LoadMatterTeam」和「AddUsersToMatterTeam」),您可以簡化與道德牆管理相關的任務。以下範例包括程式碼片段和逐步指導。
本文檔不會涵蓋配置對 IntApp Walls API 的開發存取的細節。但是,管理解決方案必須安裝在您的本機網域上,並且通常可以透過名為「APIService.svc」的檔案存取 Web 服務,該檔案應會以服務參考新增至 Visual Studio 中。
範例程式碼引用了以下 IntApp Walls API 操作:
GetMatterTeamForMatter:取得與指定案件關聯的案件團隊的 ID。
LoadMatterTeam:載入事務團隊的屬性。
GetDMSUserID:取得 DMS 使用者 ID。某些 API 方法需要使用者的 DMS 使用者 ID。例如,CreateWall() 方法要求使用者 ID 是 DMS 的 ID,而不是使用者的計時員 ID 或記錄系統 ID。此方法可用於在給定使用者的另一個已知 ID 的情況下取得 DMS 使用者 ID。
LoadMatterTeamMembership:載入案件團隊成員資格。
GetWarningsIfUserIsIncluded:取得如果指定使用者被授予對特定客戶端或事務的存取權(即包含),則會產生的任何警告。此函數傳回任何可能由衝突的道德牆產生的警告。
AddUsersToMatterTeam:將使用者新增至具有指定角色的現有事務團隊。
範例:擷取並列出事務團隊成員資格
以下程式碼片段使用 IntApp Walls API「GetMatterTeamForMatter」和「LoadMatterTeam」操作來擷取交易團隊成員列表,然後將團隊成員詳細資料寫入控制台。
註:
• 使用 IntApp API 通常需要特定的權限,通常會授予具有適當 IntApp Walls 存取權限的服務帳戶。
• 在下面的程式碼片段中對「intapp_web_api」的引用是指 Visual Studio 中定義的 IntApp API 服務所引用的名稱。
第 1 步檢索唯一的 IntApp Walls 管理的交易團隊 ID 號碼。
檢索與指定交易關聯的事務團隊的 ID。此案件團隊 ID 隨後將用於取得案件團隊成員詳細資訊。
要實現此目的,請呼叫「GetMatterTeamForMatter」操作,該操作需要「matterID」參數。 「matterID」通常是內部產生的 ID,有時稱為「案例編號」。該值由使用者或程式設計師從他們自己的 Timekeeper 類型來源提供。
string matterID = "01234"; // matterID supplied by you string matterTeamID = String.Empty; // the return value // get the walls matter team id // example of matter team id "COOLE-033517" matterTeamID = intapp_web_api.GetMatterTeamForMatter(matterID); public static string GetMatterTeamForMatter(string matterID) { intapp_web_api.Matter matter = new intapp_web_api.Matter(); string matterTeamID = string.Empty; try { intapp_web_api.APIServiceClient intapp_web_api = new intapp_web_api.APIServiceClient(); matterTeamID = intapp_web_api.GetMatterTeamForMatter(matterID); if ((string.IsNullOrEmpty(matterTeamID))) { matterTeamID = "blank"; } } catch (Exception ex) { if (string.IsNullOrEmpty(matterTeamID) || ex.Message == "Error") { matterTeamID = "blank"; } } return matterTeamID; }
第 2 步載入問題團隊結果
定義「LoadMatterTeam」方法,並使用執行「GetMatterTeamForMatter」方法獲得的唯一 IntApp Walls 管理的案件團隊 ID 號碼「matterTeamID」變數來呼叫「LoadMatterTeam」方法來檢索案件團隊。迭代事務團隊內的「UserMemberships」集合,並將使用者團隊 ID 和角色輸出到控制台。
public static intapp_web_api.MatterTeam LoadMatterTeam(string matterTeamID) { intapp_web_api.MatterTeam matterTeam = new intapp_web_api.MatterTeam(); try { intapp_web_api.APIServiceClient intapp_web_api = new intapp_web_api.APIServiceClient(); matterTeam = intapp_web_api.LoadMatterTeam(wallscaseteamid); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return matterTeam; } MatterTeam the_matter_team_list = LoadMatterTeam(wallscaseteamid); using (APIServiceClient intapp_web_api = new APIServiceClient()) { // iterate through the usermemberships collection in the matterteam foreach (UserMembership user in the_matter_team_list.UserMemberships) { string _userid = user.UserId.ToString(); // get the user id string _therole = user.Role.ToString(); // get the user role // output the user team id and role to the console Console.WriteLine($"user team id: {_userid}"); Console.WriteLine($"user team role: {_therole}"); } }
範例:為現有事務團隊成員新增成員
基於「GetMatterTeamForMatter」和「LoadMatterTeam」操作來檢索事務團隊成員列表,以下程式碼片段示範如何使用 IntApp Walls API 檢查現有團隊成員身份,並向團隊新增成員(如果尚未新增)會員。
註:
• 透過IntApp API 操作IntApp Walls 團隊需要特定權限,這超出了本文檔的範圍。請求者還需要具有 IntApp Walls 中定義的 IntApp Walls 事務管理員角色。
• 使用 IntApp API 通常需要特定的權限,通常會授予具有適當 IntApp Walls 存取權限的服務帳戶。
• 在下面的程式碼片段中對「intapp_web_api」的引用是指 Visual Studio 中定義的 IntApp API 服務所引用的名稱。
第 1 步:使用「GetDMSUserID」操作,取得要新增至 Walls 團隊的使用者的「sAMAccountName」。
「sAMAccountName」(安全帳戶管理員帳戶名稱)是 Microsoft Active Directory (AD) 中的屬性,表示用於對網域進行驗證的使用者登入名稱。
string theid = "jsmith"; // the sAMAccountName ad account name of user to add string wallsuserid = string.Empty; wallsuserid = intapp_web_api.GetDMSUserID(UserIDSource.WindowsNetworkLogon, $@"YourDomainName\{theid}") // change "YourDomainName" to your domain name // check if wallsuserid contains a value if (string.IsNullOrEmpty(wallsuserid)) { Console.WriteLine("the user you are trying to add to Walls team does not exists in Walls"); return; }
第 2 步:檢查牆壁中是否有該物質。
string matterID = "01234"; // matterID supplied by you string matterTeamID = String.Empty; // the return value // get the walls matter team id // example of matter team id "COOLE-033517" matterTeamID = intapp_web_api.GetMatterTeamForMatter(matterID); public static string GetMatterTeamForMatter(string matterID) { intapp_web_api.Matter matter = new intapp_web_api.Matter(); string matterTeamID = string.Empty; try { intapp_web_api.APIServiceClient intapp_web_api = new intapp_web_api.APIServiceClient(); matterTeamID = intapp_web_api.GetMatterTeamForMatter(matterID); if ((string.IsNullOrEmpty(matterTeamID))) { matterTeamID = "blank"; } } catch (Exception ex) { if (string.IsNullOrEmpty(matterTeamID) || ex.Message == "Error") { matterTeamID = "blank"; } } return matterTeamID; }
第 3 步:如果問題存在,使用者是否已經是團隊成員?
public static intapp_web_api.MatterTeam LoadMatterTeam(string matterTeamID) { intapp_web_api.MatterTeam matterTeam = new intapp_web_api.MatterTeam(); try { intapp_web_api.APIServiceClient intapp_web_api = new intapp_web_api.APIServiceClient(); matterTeam = intapp_web_api.LoadMatterTeam(wallscaseteamid); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return matterTeam; } MatterTeam the_matter_team_list = LoadMatterTeam(wallscaseteamid); using (APIServiceClient intapp_web_api = new APIServiceClient()) { // iterate through the usermemberships collection in the matterteam foreach (UserMembership user in the_matter_team_list.UserMemberships) { string _userid = user.UserId.ToString(); // get the user id string _therole = user.Role.ToString(); // get the user role // output the user team id and role to the console Console.WriteLine($"user team id: {_userid}"); Console.WriteLine($"user team role: {_therole}"); } }
第 4 步:將使用者加入 Matter 團隊會導致內部衝突嗎?
string theid = "jsmith"; // the sAMAccountName ad account name of user to add string wallsuserid = string.Empty; wallsuserid = intapp_web_api.GetDMSUserID(UserIDSource.WindowsNetworkLogon, $@"YourDomainName\{theid}") // change "YourDomainName" to your domain name // check if wallsuserid contains a value if (string.IsNullOrEmpty(wallsuserid)) { Console.WriteLine("the user you are trying to add to Walls team does not exists in Walls"); return; }
第 5 步:最後,將使用者加入 Matter 團隊。
string matterID = "01234"; // matterID supplied by you try { matterTeamID = intapp_web_api.GetMatterTeamForMatter(matterID); } catch (Exception ex) { if (ex.Message.Contains("The matter") && ex.Message.Contains("does not exist")) { Console.WriteLine("the matter does do not exist"); return; } else { Console.WriteLine(ex.Message); return; } }
結論
IntApp Walls API 提供了一套全面的操作,用於管理事務團隊成員資格和保護敏感資訊。從檢索團隊詳細資訊到在檢查衝突時新增成員,這些 API 功能可以與您的工作流程無縫整合並遵守道德牆政策。透過正確的實施,管理事務團隊將成為一個簡化且有效率的流程,以維護資料完整性。
以上是使用 IntApp Walls API 處理事務團隊成員資格的詳細內容。更多資訊請關注PHP中文網其他相關文章!