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