案件是指與特定主題 (例如訴訟案件或調查) 相關的所有資料容器。案件包含下列項目:
- 已儲存的搜尋查詢
- 保留項目
- 與案件共用的帳戶
- 匯出集
- 稽核記錄
如要使用保管箱資源,帳戶必須具備必要的保管箱權限,並能存取相關資料。如要存取案件,帳戶必須是該案件的建立者、共用對象,或具備「查看所有案件」權限。
案件有下列狀態:
州 | 說明 |
---|---|
開啟 | 案件處於有效狀態,您可以在其中建立訴訟保留、執行搜尋,以及匯出資料。 |
已關閉 | 通常在調查結束後,我們就會關閉案件。 您隨時可以重新開啟已結案的案件。 |
已刪除 | 刪除案件後,該案件就會完全無法使用。 刪除的案件會保留在垃圾桶中約 30 天,在這段期間內,您可以還原該案件。過了這段時間後,系統就會永久清除該案件。 |
建立案件
以下範例會建立新案件,並提供指定的名稱和說明。
Java
Matter matter = new Matter(); matter.setName("Matter Name"); matter.setDescription("Matter Description"); Matter createdMatter = client.matters().create(matter).execute();
Python
def create_matter(service): matter_content = { 'name': 'Matter Name', 'description': 'Matter Description', } matter = service.matters().create(body=matter_content).execute() return matter
取得案件
案件有兩種檢視畫面:基本 (預設) 和完整。「FULL」檢視畫面會在「BASIC」檢視畫面中加入「物件」權限。
以下範例會擷取指定的議題。
Java
client.matters().get(matterId).execute(); // Returns BASIC view. client.matters().get(matterId).setView("BASIC").execute(); client.matters().get(matterId).setView("FULL").execute();
Python
matter_id = getMatterId() service.matters().get(matterId=matter_id).execute(); // Returns BASIC view. service.matters().get(matterId=matter_id, view='BASIC').execute(); service.matters().get(matterId=matter_id, view='FULL').execute();
列出事項
以下範例說明如何列出所有待處理、已結案和已刪除的案件 (每個要求最多 100 筆)。
Java
ListmattersList = client.matters().list().execute().getMatters();
Python
mattersList = client.matters().list().execute()
以下範例說明如何列出多個要求中所有已開啟、已關閉和已刪除的案件。
Java
ListMattersResponse firstPageResponse = client.matters().list().setPageSize(20).execute(); String nextPageToken = firstPageResponse.getNextPageToken()); if (nextPageToken != null) { client.matters().list().setPageToken(nextPageToken).setPageSize(20).execute(); }
Python
list_response1 = service.matters().list( view='FULL', pageSize=10).execute() for matter in list_response1['matters']: print(matter) if ‘nextPageToken’ in list_response1: list_response2 = service.matters().list( pageSize=10, pageToken=list_response1['nextPageToken']).execute() for matter in list_response2['matters']: print(matter)
以下範例說明如何列出特定狀態的案件。
Java
// Only get open matters. ListopenMattersList = client.matters().list().setState("OPEN").execute().getMatters(); // Only get closed matters. List closedMattersList = client.matters().list().setState("CLOSED").execute().getMatters(); // Only get deleted matters. List deletedMattersList = client.matters().list().setState("DELETED").execute().getMatters();
Python
# Only get open matters. openMattersList = client.matters().list( state='OPEN').execute() # Only get closed matters. closedMattersList = client.matters().list( state='CLOSED').execute() # Only get deleted matters. deletedMattersList = client.matters().list( state='DELETED').execute()
更新案件
以下範例會更新案件的名稱和說明。
Java
String matterId = "matterId"; Matter matter = new Matter().setName("New Name").setDescription("New Description"); vault.matters().update(matterId, matter).execute();
Python
def update_matter(service, matter_id): wanted_matter = { 'name': 'New Matter Name', 'description': 'New Description' } updated_matter = service.matters().update( matterId=matter_id, body=wanted_matter).execute() return updated_matter
關閉案件
以下範例說明如何關閉案件。
Java
String matterId = "matterId"; // If the matter still has holds, this operation will fail. client.matters().close(matterId, new CloseMatterRequest()).execute();
Python
def close_matter(service, matter_id): close_response = service.matters().close( matterId=matter_id, body={}).execute() return close_response['matter']
刪除、取消刪除或重新開啟案件
以下範例說明如何刪除、取消刪除或重新開啟案件。
Java
Matter matter = client.matters().get(matterId).execute(); // Delete the matter. client.matters().delete(matter.getMatterId()); // Undelete the matter. client.matters().undelete(matter.getMatterId(), new UndeleteRequest()); // Reopen the matter. client.matters().reopen(matter.getMatterId(), new ReopenMatterRequest());
Python
def reopen_matter(service, matter_id): reopen_response = service.matters().reopen( matterId=matter_id, body={}).execute() return reopen_response['matter'] def delete_matter(service, matter_id): service.matters().delete(matterId=matter_id).execute() return get_matter(matter_id) def undelete_matter(service, matter_id): undeleted_matter = service.matters().undelete( matterId=matter_id, body={}).execute() return undeleted_matter
Matter 權限
每個案件都有一組權限,說明哪些使用者可以存取或編輯該案件。您可以查看案件的完整檢視畫面。
Java
String matterId = "Matter Id"; String accountId = "Account Id"; // List permissions for a matter. Matter matter = client.matters().get(matterId).setView("FULL").execute(); ListmatterPermissions = matter.getMatterPermissions(); // Add a user to the permission set. client .matters() .addPermissions(matterId) .setMatterPermissionAccountId(accountId) .setMatterPermissionRole("COLLABORATOR") .execute(); // Remove a user from the permission set. client .matters() .removePermissions(matterId) .setAccountId(accountId) .execute();
Python
def list_matter_permission(service, matter_id): matter = service.matters().get(matterId=matter_id, view='FULL').execute() return matter['matterPermissions'] def add_matter_permission(service, matter_id, account_id): permission = service.matters().addPermissions( matterId=matter_id, matterPermission_accountId=account_id, matterPermission_role='COLLABORATOR', sendEmails='False', ccMe='False').execute() return permission def remove_matter_permission(service, matter_id, account_id): service.matters().removePermissions( matterId=matter_id, accountId=account_id).execute()