Zarządzaj sprawami

Sprawa to zbiór danych związanych z określonym tematem, np. postępowaniem sądowym lub dochodzeniem. Sprawa obejmuje te elementy:

  • zapisane zapytania wyszukiwania,
  • blokady,
  • konta, którym udostępniono sprawę,
  • zestawy eksportu,
  • rejestr kontrolny.

Aby pracować z zasobami Google Vault, konto musi mieć wymagane uprawnienia Vault i dostęp do sprawy. Aby uzyskać dostęp do sprawy, konto musi ją utworzyć, mieć ją udostępnioną lub mieć uprawnienie Wyświetlanie wszystkich spraw.

Sprawa może mieć te stany:

StanOpis
OtwórzSprawa jest aktywna i możesz w niej tworzyć blokady, przeprowadzać wyszukiwania i eksportować dane.
ZamkniętoSprawa jest zwykle zamykana po zakończeniu dochodzenia. Zamknięte sprawy można w każdej chwili otworzyć ponownie. Zanim zamkniesz sprawę, usuń wszystkie powiązane z nią blokady.
UsuniętoSprawę można usunąć, aby stała się całkowicie niedostępna. Usunięta sprawa pozostaje w koszu przez około 30 dni, podczas których można ją przywrócić. Po tym czasie sprawa jest trwale usuwana. Tylko zamknięte sprawy można usunąć.

cykl życia spraw

Tworzenie sprawy

Poniższy przykład tworzy nową sprawę z nazwą i opisem.

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

Pobieranie sprawy

Sprawę można wyświetlić na 2 sposoby: BASIC (domyślny) i FULL. Widok FULL dodaje uprawnienia do sprawy do widoku BASIC.

Poniższy przykład pobiera określoną sprawę.

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

Wyświetlanie listy spraw

Poniższy przykład pokazuje, jak wyświetlić listę wszystkich otwartych, zamkniętych i usuniętych spraw. Domyślnie interfejs API zwraca maksymalnie 100 spraw na żądanie.

Java

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

Python

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

Poniższy przykład pokazuje, jak wyświetlić listę wszystkich otwartych, zamkniętych i usuniętych spraw w ramach wielu żądań.

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)

Poniższy przykład pokazuje, jak wyświetlić listę spraw o określonym stanie.

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

Aktualizowanie sprawy

Poniższy przykład aktualizuje nazwę i opis sprawy.

Java

String matterId = "matterId";
Matter matter = new Matter().setName("New Name")
    .setDescription("New Description");
client.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

Zamykanie sprawy

Poniższy przykład pokazuje, jak zamknąć sprawę.

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

Usuwanie, przywracanie i ponowne otwieranie sprawy

Poniższy przykład pokazuje, jak usunąć, przywrócić lub ponownie otworzyć sprawę.

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
 

Uprawnienia do standardu Matter

Każda sprawa ma zbiór uprawnień określających, kto może uzyskać do niej dostęp lub ją edytować. Możesz to sprawdzić, pobierając widok FULL sprawy.

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