Quản lý vấn đề

Vấn đề là một vùng chứa cho tất cả dữ liệu liên quan đến một chủ đề cụ thể, chẳng hạn như vụ kiện hoặc cuộc điều tra. Vấn đề bao gồm:

  • Cụm từ tìm kiếm đã lưu
  • Lưu giữ
  • Các tài khoản được chia sẻ vấn đề
  • Xuất nhóm trang
  • Nhật ký kiểm tra

Để sử dụng các tài nguyên của Vault, tài khoản phải có các đặc quyền bắt buộc đối với Vault và quyền truy cập vào vấn đề. Để truy cập vào một vấn đề, tài khoản phải là tài khoản đã tạo vấn đề đó, được chia sẻ vấn đề đó hoặc có đặc quyền Xem tất cả vấn đề.

Một vấn đề có các trạng thái sau:

Tiểu bangMô tả
MởVấn đề đang hoạt động và bạn có thể tạo yêu cầu lưu giữ dữ liệu, chạy tìm kiếm và xuất dữ liệu trong vấn đề đó.
Đã đóngThông thường, khi một cuộc điều tra hoàn tất, vấn đề sẽ được khép lại.

Bạn có thể mở lại các vấn đề đã đóng bất cứ lúc nào.

Đã xóaBạn có thể xoá một vấn đề để vấn đề đó không còn tồn tại nữa.

Một vấn đề đã bị xoá sẽ nằm trong Thùng rác khoảng 30 ngày. Trong thời gian này, bạn có thể khôi phục vấn đề đó. Sau thời gian đó, vấn đề sẽ bị xoá vĩnh viễn.

vòng đời của vấn đề

Tạo một vấn đề

Ví dụ sau đây tạo một vấn đề mới có tên và nội dung mô tả được chỉ định.

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

Nhận một vấn đề

Có hai chế độ xem của một vấn đề: CƠ BẢN (mặc định) và ĐẦY ĐỦ. Chế độ xem ĐẦY ĐỦ sẽ thêm quyền đối với vấn đề vào chế độ xem CƠ BẢN.

Ví dụ sau đây truy xuất vấn đề được chỉ định.

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();

Liệt kê các vấn đề

Ví dụ sau đây minh hoạ cách liệt kê tất cả các vấn đề đang mở, đã đóng và đã xoá (tối đa 100 vấn đề cho mỗi yêu cầu theo mặc định).

Java

List mattersList = client.matters().list().execute().getMatters();

Python

mattersList = client.matters().list().execute()

Ví dụ sau đây cho thấy cách liệt kê tất cả các vấn đề đang mở, đã đóng và đã xoá qua nhiều yêu cầu.

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)

Ví dụ sau đây cho biết cách liệt kê các vấn đề của một trạng thái cụ thể.

Java

// Only get open matters.
List openMattersList = 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()

Cập nhật vấn đề

Ví dụ sau đây cập nhật tên và nội dung mô tả của một vấn đề.

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

Đóng vấn đề

Ví dụ sau đây cho thấy cách đóng một vấn đề.

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']
 

Xoá, huỷ xoá hoặc mở lại vấn đề

Ví dụ sau đây cho biết cách xoá, khôi phục hoặc mở lại một vấn đề.

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

 

Quyền đối với vấn đề

Mỗi vấn đề đều có một bộ quyền về những người có thể truy cập hoặc chỉnh sửa vấn đề đó. Bạn có thể xem thông tin này bằng cách xem chế độ XEM ĐẦY ĐỦ của một vấn đề.

Java

String matterId = "Matter Id";
String accountId = "Account Id";
 
// List permissions for a matter.
Matter matter = client.matters().get(matterId).setView("FULL").execute();
List matterPermissions = 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()