Class DocumentLifecycleRequest

java.lang.Object
com.veeva.vault.vapil.api.request.VaultRequest<DocumentLifecycleRequest>
com.veeva.vault.vapil.api.request.DocumentLifecycleRequest

public class DocumentLifecycleRequest extends VaultRequest<DocumentLifecycleRequest>
Document Lifecycle requests
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#document-lifecycle
  • Method Details

    • retrieveDocumentUserActions

      public DocumentActionResponse retrieveDocumentUserActions(int id, int majorVersionNumber, int minorVersionNumber)
      Retrieve Document User Actions
      Parameters:
      id - document or binder id
      majorVersionNumber - major version number
      minorVersionNumber - major version number
      Returns:
      DocumentActionResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/{id}/versions/{major_version}/{minor_version}/lifecycle_actions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-document-user-actions
      Example Request:
       DocumentActionResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveDocumentUserActions(docId, majorVersion, minorVersion);
       
      Example Response:
       for (DocumentActionResponse.LifecycleAction lifecycleAction : response.getLifecycleActions()) {
                      System.out.println("--------Lifecycle Action--------");
                      System.out.println("Name: " + lifecycleAction.getName());
                      System.out.println("Label: " + lifecycleAction.getLabel());
                      System.out.println("Lifecycle: " + lifecycleAction.getLifecycle());
                      System.out.println("Lifecycle Action Type: " + lifecycleAction.getLifecycleActionType());
                      System.out.println("State: " + lifecycleAction.getState());
                      System.out.println("Executable: " + lifecycleAction.getExecutable());
                      System.out.println("Entry Requirements: " + lifecycleAction.getEntryRequirements());
       }
       
    • retrieveUserActionsOnMultipleDocuments

      public DocumentActionResponse retrieveUserActionsOnMultipleDocuments(String docIds)
      Retrieve User Actions On Multiple Documents
      Parameters:
      docIds - Include a comma-separated list of document IDs, major and minor version numbers. The document docIds field values from which to retrieve the available user actions. e.g. "docIds=22:0:1,21:1:0,20:1:0
      Returns:
      DocumentActionResponse
      Vault API Endpoint:
       POST /api/{version}/objects/documents/lifecycle_actions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-user-actions-on-multiple-documents
      Example Request:
       DocumentActionResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveUserActionsOnMultipleDocuments(docIds);
       
      Example Response:
       for (DocumentActionResponse.LifecycleAction lifecycleAction : response.getLifecycleActions()) {
                      System.out.println("--------Lifecycle Action--------");
                      System.out.println("Name: " + lifecycleAction.getName());
                      System.out.println("Label: " + lifecycleAction.getLabel());
                      System.out.println("Lifecycle: " + lifecycleAction.getLifecycle());
                      System.out.println("Lifecycle Action Type: " + lifecycleAction.getLifecycleActionType());
                      System.out.println("State: " + lifecycleAction.getState());
                      System.out.println("Executable: " + lifecycleAction.getExecutable());
                      System.out.println("Entry Requirements: " + lifecycleAction.getEntryRequirements());
       }
       
    • retrieveDocumentEntryCriteria

      public DocumentActionEntryCriteriaResponse retrieveDocumentEntryCriteria(int id, int majorVersion, int minorVersion, String lifecycleName)
      Retrieve Document Entry Criteria.
      Parameters:
      id - The document id field value from which to retrieve available user actions.
      majorVersion - The major version number of the document.
      minorVersion - The minor version number of the document.
      lifecycleName - The lifecycle name__v field value from which to retrieve entry criteria. This is retrieved from the Retrieve User Actions request above.
      Returns:
      DocumentActionEntryCriteriaResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/{id}/versions/{major_version}/{minor_version}/lifecycle_actions/{name__v}/entry_requirements
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-document-entry-criteria
      Example Request:
       DocumentActionEntryCriteriaResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveDocumentEntryCriteria(docId, majorVersion, minorVersion, userActionName);
       
      Example Response:
      System.out.println("Status = " + resp.getResponseStatus());
       for (DocumentActionEntryCriteriaResponse.Property property : response.getProperties()) {
                      System.out.println("--------Entry Criteria--------");
                      System.out.println("Name: " + property.getName());
                      System.out.println("Description: " + property.getDescription());
                      System.out.println("Editable: " + property.getEditable());
                      System.out.println("Type: " + property.getType());
       }
       
    • initiateDocumentUserAction

      public DocumentActionInitiateResponse initiateDocumentUserAction(int id, int majorVersionNumber, int minorVersionNumber, String userActionName)
      Initiate Document User Action
      Parameters:
      id - document id
      majorVersionNumber - major version number
      minorVersionNumber - major version number
      userActionName - api name of the useraction
      Returns:
      DocumentActionInitiateResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/documents/{id}/versions/{major_version}/{minor_version}/lifecycle_actions/{name__v}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#initiate-document-user-action
      Example Request:
       DocumentActionInitiateResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .initiateDocumentUserAction(docId, majorVersion, minorVersion, userActionName);
       
      Example Response:
       System.out.println("Id: " + response.getId());
       
    • initiateBulkDocumentUserActions

      public VaultResponse initiateBulkDocumentUserActions(String userActionName, String docIds, String lifecycleName, String state)
      Initiate Bulk Document User Actions
      Parameters:
      docIds - Include a comma-separated list of document IDs, major and minor version numbers. The document docIds field values from which to retrieve the available user actions. e.g. "docIds=22:0:1,21:1:0,20:1:0
      userActionName - The user action name__v field value. Find this value with the Retrieve User Actions on Multiple Documents or Binders endpoint.
      lifecycleName - The name of the document lifecycle.
      state - The current state of the document
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/documents/lifecycle_actions/{user_action_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#initiate-bulk-document-user-actions
      Example Request:
       VaultResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .initiateBulkDocumentUserActions(userActionName, docIds, lifecycle, state);
       
      Example Response:
       System.out.println("Response: " + response.getResponseStatus());
       
    • retrieveBinderUserActions

      public BinderActionResponse retrieveBinderUserActions(int id, int majorVersionNumber, int minorVersionNumber)
      Retrieve Binder User Actions
      Parameters:
      id - document or binder id
      majorVersionNumber - major version number
      minorVersionNumber - major version number
      Returns:
      BinderActionResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/{id}/versions/{major_version}/{minor_version}/lifecycle_actions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-user-actions
      Example Request:
       BinderActionResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveBinderUserActions(binderId, majorVersion, minorVersion);
       
      Example Response:
       for (BinderActionResponse.LifecycleAction lifecycleAction : response.getLifecycleActions()) {
                      System.out.println("--------Lifecycle Action--------");
                      System.out.println("Name: " + lifecycleAction.getName());
                      System.out.println("Label: " + lifecycleAction.getLabel());
                      System.out.println("Lifecycle: " + lifecycleAction.getLifecycle());
                      System.out.println("Lifecycle Action Type: " + lifecycleAction.getLifecycleActionType());
                      System.out.println("State: " + lifecycleAction.getState());
                      System.out.println("Executable: " + lifecycleAction.getExecutable());
                      System.out.println("Entry Requirements: " + lifecycleAction.getEntryRequirements());
       }
       
    • retrieveUserActionsOnMultipleBinders

      public BinderActionResponse retrieveUserActionsOnMultipleBinders(String binderIds)
      Retrieve User Actions On Multiple Binders
      Parameters:
      binderIds - Include a comma-separated list of binder IDs, major and minor version numbers. The document docIds field values from which to retrieve the available user actions. e.g. "docIds=22:0:1,21:1:0,20:1:0
      Returns:
      BinderActionResponse
      Vault API Endpoint:
       POST /api/{version}/objects/binders/lifecycle_actions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-user-actions-on-multiple-binders
      Example Request:
       BinderActionResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveUserActionsOnMultipleBinders(binderIds);
       
      Example Response:
       for (BinderActionResponse.LifecycleAction lifecycleAction : response.getLifecycleActions()) {
                      System.out.println("--------Lifecycle Action--------");
                      System.out.println("Name: " + lifecycleAction.getName());
                      System.out.println("Label: " + lifecycleAction.getLabel());
                      System.out.println("Lifecycle: " + lifecycleAction.getLifecycle());
                      System.out.println("Lifecycle Action Type: " + lifecycleAction.getLifecycleActionType());
                      System.out.println("State: " + lifecycleAction.getState());
                      System.out.println("Executable: " + lifecycleAction.getExecutable());
                      System.out.println("Entry Requirements: " + lifecycleAction.getEntryRequirements());
       }
       
    • retrieveBinderEntryCriteria

      public BinderActionEntryCriteriaResponse retrieveBinderEntryCriteria(int id, int majorVersion, int minorVersion, String lifecycleName)
      Retrieve Binder Entry Criteria.
      Parameters:
      id - The binder id field value from which to retrieve available user actions.
      majorVersion - The major version number of the binder.
      minorVersion - The minor version number of the binder.
      lifecycleName - The lifecycle name__v field value from which to retrieve entry criteria. This is retrieved from the Retrieve User Actions request above.
      Returns:
      BinderActionEntryCriteriaResponse
      Vault API Endpoint:
       GET /api/{version}/objects/binders/{id}/versions/{major_version}/{minor_version}/lifecycle_actions/{name__v}/entry_requirements
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-binder-entry-criteria
      Example Request:
       BinderActionEntryCriteriaResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .retrieveBinderEntryCriteria(binderId, majorVersion, minorVersion, userActionName);
       
      Example Response:
      System.out.println("Status = " + resp.getResponseStatus());
       for (BinderActionEntryCriteriaResponse.Property property : response.getProperties()) {
                      System.out.println("--------Entry Criteria--------");
                      System.out.println("Name: " + property.getName());
                      System.out.println("Description: " + property.getDescription());
                      System.out.println("Editable: " + property.getEditable());
                      System.out.println("Type: " + property.getType());
       }
       
    • initiateBinderUserAction

      public BinderActionInitiateResponse initiateBinderUserAction(int id, int majorVersionNumber, int minorVersionNumber, String userActionName)
      Initiate Binder User Action
      Parameters:
      id - binder id
      majorVersionNumber - major version number
      minorVersionNumber - major version number
      userActionName - api name of the useraction
      Returns:
      BinderActionInitiateResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/binders/{id}/versions/{major_version}/{minor_version}/lifecycle_actions/{name__v}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#initiate-binder-user-action
      Example Request:
       BinderActionInitiateResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .initiateBinderUserAction(binderId, majorVersion, minorVersion, userActionName);
       
      Example Response:
       System.out.println("Id: " + response.getId());
       
    • initiateBulkBinderUserActions

      public VaultResponse initiateBulkBinderUserActions(String userActionName, String docIds, String lifecycleName, String state)
      Initiate Bulk Binder User Actions
      Parameters:
      docIds - Include a comma-separated list of document IDs, major and minor version numbers. The document docIds field values from which to retrieve the available user actions. e.g. "docIds=22:0:1,21:1:0,20:1:0
      userActionName - The user action name__v field value. Find this value with the Retrieve User Actions on Multiple Documents or Binders endpoint.
      lifecycleName - The name of the document lifecycle.
      state - The current state of the document
      Returns:
      VaultResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/binders/lifecycle_actions/{user_action_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#initiate-bulk-binder-user-actions
      Example Request:
       VaultResponse response = vaultClient.newRequest(DocumentLifecycleRequest.class)
                      .initiateBulkBinderUserActions(userActionName, binderIds, lifecycle, state);
       
      Example Response:
       System.out.println("Response: " + response.getResponseStatus());
       
    • downloadControlledCopyJobResult

      public VaultResponse downloadControlledCopyJobResult(String lifecycleStateAction, int jobId)
      Download Controlled Copy Job Results.
      Parameters:
      lifecycleStateAction - The name__v values for the lifecycle, state, and action. We recommend you Retrieve the Job Status and use the href under "rel": "artifacts" to obtain this value.
      jobId - The ID of the job, returned from the original job request. For controlled copy, you can find this ID in the Initiate User Action response.
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/actions/{lifecycle.state.action}/{job_id}/results
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-controlled-copy-job-results
    • retrieveLifecycleRoleAssignmentRules

      public DocumentLifecycleRoleAssignmentResponse retrieveLifecycleRoleAssignmentRules()
      Retrieve Lifecycle Role Assignment Rules (Default & Override)
      Returns:
      DocumentLifecycleRoleAssignmentResponse
      Vault API Endpoint:
       GET /api/{version}/configuration/role_assignment_rule
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-lifecycle-role-assignment-rules-default-amp-override
      Example Request:
       DocumentLifecycleRoleAssignmentResponse resp = vaultClient.newRequest(DocumentLifecycleRequest.class)
                                      .setLifecycleName("general_lifecycle1__c").setRoleName("all_users__v")
                                      .retrieveLifecycleRoleAssignmentRules();
      ,
       DocumentLifecycleRoleAssignmentResponse resp = vaultClient.newRequest(DocumentLifecycleRequest.class)
                                      .setQueryParams(hm)
                                      .retrieveLifecycleRoleAssignmentRules(withOverride);
      Example Response:
      System.out.println("Status = " + resp.getResponseStatus());
      
       if (resp.isSuccessful()) {
         System.out.println("Successful ");
         List<RoleAssignmentResponse> roleAssigmentRes = resp.getRoleAssignmentResponse();
      
         for (RoleAssignmentResponse roleAssigment : roleAssigmentRes) {
           System.out.println("Get Lifecycle Name:" + roleAssigment.getLifecycle());
           System.out.println("Get Role Name:" + roleAssigment.getRole());
           List<String> allowedGroups = roleAssigment.getAllowedGroups();
           for (String groups : allowedGroups) {
             System.out.println("Get allowed Groups:" + groups);
           }
         }
       }
      ,
       System.out.println("Status = " + resp.getResponseStatus());
      
       if (resp.isSuccessful()) {
         System.out.println("Successful ");
         List<RoleAssignmentResponse> roleAssigmentRes = resp.getRoleAssignmentResponse();
      
         for (RoleAssignmentResponse roleAssigment : roleAssigmentRes) {
           System.out.println("Get Lifecycle Name:" + roleAssigment.getLifecycle());
           System.out.println("Get Role Name:" + roleAssigment.getRole());
           List<String> allowedGroups = roleAssigment.getAllowedGroups();
           for (String groups : allowedGroups) {
             System.out.println("Get allowed Groups:" + groups);
             }
         }
       }
    • createOverrideRules

      public DocumentLifecycleRoleAssignmentRulesResponse createOverrideRules()
      Create Override Rules
      Returns:
      LifecycleRoleAssignmentRulesResponse
      Vault API Endpoint:
       POST /api/{version}/configuration/role_assignment_rule
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-override-rules
      Example Request:
       .newRequest(DocumentLifecycleRequest.class).setInputPath(csvFilePath).createOverrideRules();
      Example Response:
      System.out.println(bulkPathResponse.getResponse());
      
       if (bulkPathResponse.isSuccessful()) {
         System.out.println("Successful ");
         }
      
       DocumentLifecycleRoleAssignmentRulesResponse bulkByteResponse = vaultClient
       .newRequest(DocumentLifecycleRequest.class)
       .setBinaryFile(csv.getName(), Files.readAllBytes(csv.toPath())).createOverrideRules();
       System.out.println(bulkByteResponse.getResponse());
      
       if (bulkByteResponse.isSuccessful()) {
         System.out.println("Successful ");
         }
      
       } catch (Exception e) {
       e.printStackTrace();
       }
    • updateOverrideRules

      public DocumentLifecycleRoleAssignmentRulesResponse updateOverrideRules()
      Update Override Rules
      Returns:
      LifecycleRoleAssignmentRulesResponse
      Vault API Endpoint:
       PUT /api/{version}/configuration/role_assignment_rule
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-override-rules
      Example Request:
       .newRequest(DocumentLifecycleRequest.class).setInputPath(csvFilePath).updateOverrideRules();
      Example Response:
      System.out.println(updateOverrideRulesResponse.getResponse());
      
       if (updateOverrideRulesResponse.isSuccessful()) {
         System.out.println("Successful ");
         }
       } catch (Exception e) {
       e.printStackTrace();
       }
    • deleteOverrideRules

      public DocumentLifecycleDeleteOverrideRulesResponse deleteOverrideRules(String lifecycleName, String role)
      Delete Override Rules
      Parameters:
      lifecycleName - Include the name of the lifecycle from which to delete override rules. For example: lifecycle__v=general_lifecycle__c
      role - Include the name of the role from which to delete override rules. For example: role__v=editor__c
      Returns:
      DocumentLifecycleDeleteOverrideRulesResponse
      Vault API Endpoint:
       DELETE /api/{version}/configuration/role_assignment_rule
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-override-rules
      Example Request:
       .newRequest(DocumentLifecycleRequest.class)
                                              .deleteOverrideRules(lifecycle, role);
      ,
       .newRequest(DocumentLifecycleRequest.class)
                                              .setQueryParams(hm).deleteOverrideRules();
      Example Response:
      System.out.println(deleteOverrideRulesResponse.getResponse());
       if (deleteOverrideRulesResponse != null) {
         if (deleteOverrideRulesResponse.getData() != null) {
           System.out.println("Rules Deleted:" + deleteOverrideRulesResponse.getData().getRulesDeleted());
           }else {
           System.out.println("INVALID_DATA");
           }
         }
       } catch (Exception e) {
       e.printStackTrace();
       }
       
      ,
      System.out.println(deleteOverrideRulesResponse.getResponse());
       if (deleteOverrideRulesResponse != null) {
         if (deleteOverrideRulesResponse.getData() != null) {
           System.out.println("Rules Deleted:" + deleteOverrideRulesResponse.getData().getRulesDeleted());
           }else {
           System.out.println("INVALID_DATA");
           }
         }
       } catch (Exception e) {
       e.printStackTrace();
       }
    • deleteOverrideRules

      public DocumentLifecycleDeleteOverrideRulesResponse deleteOverrideRules()
      Delete Override Rules
      Returns:
      DocumentLifecycleDeleteOverrideRulesResponse
      Vault API Endpoint:
       DELETE /api/{version}/configuration/role_assignment_rule
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-override-rules
    • setBodyParams

      public DocumentLifecycleRequest setBodyParams(Map<String,Object> bodyParams)
      Single record form ObjectRecordRequest with name/value body parameters
      Parameters:
      bodyParams - map of body params
      Returns:
      The Request
    • setQueryParams

      public DocumentLifecycleRequest setQueryParams(Map<String,Object> queryParams)
      Single record form ObjectRecordRequest with name/value body parameters
      Parameters:
      queryParams - map of query params
      Returns:
      The Request
    • setBinaryFile

      public DocumentLifecycleRequest setBinaryFile(String filename, byte[] binaryContent)
      Specify source data in an input file
      Parameters:
      filename - file name (no path)
      binaryContent - byte array of the file content
      Returns:
      The Request
    • setContentTypeCsv

      public DocumentLifecycleRequest setContentTypeCsv()
      Set the Header Content Type to CSV
      Returns:
      The Request
    • setRequestString

      public DocumentLifecycleRequest setRequestString(String requestString)
      Specify source data in an input string, such as a JSON request
      Parameters:
      requestString - The source request as a string
      Returns:
      The Request
    • setContentTypeJson

      public DocumentLifecycleRequest setContentTypeJson()
      Set the Header Content Type to JSON
      Returns:
      The Request
    • setDocumentState

      public DocumentLifecycleRequest setDocumentState(String documentState)
      Set document state name to the request
      Parameters:
      documentState - name of document state
      Returns:
      The Request
    • setLifecycleName

      public DocumentLifecycleRequest setLifecycleName(String lifecycleName)
      Set lifecycle name to the request
      Parameters:
      lifecycleName - name of lifecycle
      Returns:
      The Request
    • setRoleName

      public DocumentLifecycleRequest setRoleName(String roleName)
      Set role name (role__v) to the request
      Parameters:
      roleName - name of role
      Returns:
      The Request
    • setProductName

      public DocumentLifecycleRequest setProductName(String productName)
      Set product name to the request
      Parameters:
      productName - name of product
      Returns:
      The Request
    • setCountryName

      public DocumentLifecycleRequest setCountryName(String countryName)
      Set country name to the request
      Parameters:
      countryName - name of country
      Returns:
      The Request
    • setCountryID

      public DocumentLifecycleRequest setCountryID(String countryID)
      Set country id to the request
      Parameters:
      countryID - id of country
      Returns:
      The Request
    • setInputPath

      public DocumentLifecycleRequest setInputPath(String inputPath)
      Specify source data in an input file
      Parameters:
      inputPath - Absolute path to the file for the request
      Returns:
      The Request