首頁 >後端開發 >C++ >使用 IntApp Walls API 處理事務團隊成員資格

使用 IntApp Walls API 處理事務團隊成員資格

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-05 13:16:40737瀏覽

IntApp Walls API 是一個強大的工具,用於管理道德牆並安全地控制對敏感資料的存取。透過利用其運營,開發人員可以與事務團隊高效互動、管理成員資格並確保遵守保密要求。

Intapp Walls API 是一種 SOAP Web 服務,提供用於與 Intapp Walls 應用程式互動的程式設計介面。它被部署為標準元件 Web 服務。

為了簡單起見,本文檔中的範例程式碼省略了錯誤檢查、異常處理、日誌記錄等實務。它僅用於說明目的,並不一定反映最佳編碼實踐。

這裡我將介紹兩個關鍵場景:

  1. 檢索並列出事務團隊成員資格。
  2. 為現有事務團隊新增成員。

透過了解和使用 IntApp Walls API 操作(例如「GetMatterTeamForMatter」、「LoadMatterTeam」和「AddUsersToMatterTeam」),您可以簡化與道德牆管理相關的任務。以下範例包括程式碼片段和逐步指導。

本文檔不會涵蓋配置對 IntApp Walls API 的開發存取的細節。但是,管理解決方案必須安裝在您的本機網域上,並且通常可以透過名為「APIService.svc」的檔案存取 Web 服務,該檔案應會以服務參考新增至 Visual Studio 中。

Working with Matter Team Membership Using the IntApp Walls API

範例程式碼引用了以下 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 服務所引用的名稱。

Working with Matter Team Membership Using the IntApp Walls 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 服務所引用的名稱。

Working with Matter Team Membership Using the IntApp Walls 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn