> 백엔드 개발 > C++ > IntApp Walls API를 사용하여 Matter 팀 멤버십 작업

IntApp Walls API를 사용하여 Matter 팀 멤버십 작업

Mary-Kate Olsen
풀어 주다: 2025-01-05 13:16:40
원래의
758명이 탐색했습니다.

IntApp Walls API는 윤리적 장벽을 관리하고 민감한 데이터에 대한 액세스를 안전하게 제어하기 위한 강력한 도구입니다. 개발자는 해당 운영을 활용하여 문제 팀과 효율적으로 상호 작용하고, 멤버십을 관리하고, 기밀 유지 요구 사항을 준수할 수 있습니다.

Intapp Walls API는 Intapp Walls 애플리케이션과 상호작용하기 위한 프로그래밍 방식 인터페이스를 제공하는 SOAP 웹 서비스입니다. 표준 컴포넌트 웹 서비스로 배포됩니다.

간단함을 위해 이 문서의 샘플 코드에서는 오류 검사, 예외 처리, 로깅 및 기타 방법을 생략했습니다. 이는 단지 설명을 위한 것이며 최상의 코딩 방법을 반드시 반영하는 것은 아닙니다.

여기에서는 두 가지 주요 시나리오를 살펴보겠습니다.

  1. 문제팀 멤버십 검색 및 나열
  2. 기존 사안 팀에 새 구성원 추가

"GetMatterTeamForMatter", "LoadMatterTeam", "AddUsersToMatterTeam"과 같은 IntApp Walls API 작업을 이해하고 사용하면 윤리적 벽 관리와 관련된 작업을 간소화할 수 있습니다. 다음 예에는 코드 조각과 단계별 지침이 포함되어 있습니다.

이 문서에서는 IntApp Walls API에 대한 개발 액세스 구성에 대한 구체적인 내용을 다루지 않습니다. 단, 관리 솔루션은 로컬 도메인에 설치해야 하며 웹 서비스는 일반적으로 Visual Studio에서 서비스 참조로 추가해야 하는 "APIService.svc"라는 파일을 통해 액세스할 수 있습니다.

Working with Matter Team Membership Using the IntApp Walls API

샘플 코드는 다음 IntApp Walls API 작업을 참조합니다.

GetMatterTeamForMatter: 지정된 법적 사안과 연결된 법적 사안 팀의 ID를 가져옵니다.
LoadMatterTeam: 문제 팀의 속성을 로드합니다.
GetDMSUserID: DMS 사용자 ID를 가져옵니다. 일부 API 메소드에는 사용자의 DMS 사용자 ID가 필요합니다. 예를 들어 CreateWall() 메서드에서는 사용자 ID가 사용자의 계시원 ID나 레코드 시스템 ID가 아닌 DMS의 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는 사안 팀 멤버십 세부정보를 얻는 데 사용됩니다.

이를 달성하려면 "matterID" 매개변수가 필요한 "GetMatterTeamForMatter" 작업을 호출하세요. "matterID"는 일반적으로 내부에서 생성된 ID이며 "사건 번호"라고도 합니다. 이 값은 사용자 또는 프로그래머가 자체 타임키퍼 유형 소스에서 제공합니다.

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 AD(Active Directory)의 속성입니다.

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를 사용하여 Matter 팀 멤버십 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿