首页 > 后端开发 > C++ > 使用 IntApp Walls API 处理事务团队成员资格

使用 IntApp Walls API 处理事务团队成员资格

Mary-Kate Olsen
发布: 2025-01-05 13:16:40
原创
719 人浏览过

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中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板