Class DirectDataRequest

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

public class DirectDataRequest extends VaultRequest<DirectDataRequest>
Direct Data Requests
  • Retrieve Available Direct Data Files
  • Download Direct Data File
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#direct-data
  • Field Details

  • Method Details

    • retrieveAvailableDirectDataFiles

      public DirectDataResponse retrieveAvailableDirectDataFiles()
      Retrieve Available Direct Data Files

      Retrieve a list of all Direct Data files available for download.

      Returns:
      DirectDataResponse
      Vault API Endpoint:
       GET /api/{version}/services/directdata/files 
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-available-direct-data-files
      Example Request:
       ZonedDateTime currentDateTime = ZonedDateTime.now(ZoneId.of("UTC"));
       ZonedDateTime stopTime = currentDateTime.toLocalDate().atStartOfDay(ZoneId.of("UTC"));
       ZonedDateTime startTime = stopTime.minusDays(1);
      
       DirectDataResponse response = vaultClient.newRequest(DirectDataRequest.class)
            .setExtractType(DirectDataRequest.ExtractType.INCREMENTAL)
            .setStartTime(startTime)
            .setStopTime(stopTime)
            .retrieveAvailableDirectDataFiles();
       
      Example Response:
       System.out.println("Total Direct Data Files: " + response.getResponseDetails().getTotal());
       System.out.println("-----------------------");
       List<DirectDataResponse.DirectDataItem> data = response.getData();
       for (DirectDataResponse.DirectDataItem item : data) {
            System.out.println("Name: " + item.getName());
            System.out.println("Filename: " + item.getFilename());
            System.out.println("Extract Type: " + item.getExtractType());
            System.out.println("Record Count: " + item.getRecordCount());
            System.out.println("Size: " + item.getSize());
            System.out.println("File parts: " + item.getFileparts());
            System.out.println("-----------------------");
       }
       
    • downloadDirectDataFile

      public VaultResponse downloadDirectDataFile(String name)
      Download Direct Data File

      Download a Direct Data file.

      Parameters:
      name - The name of the Direct Data file to download.
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/services/directdata/files/{name} 
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-direct-data-file
      Example Request:
       VaultResponse response = vaultClient.newRequest(DirectDataRequest.class)
            .downloadDirectDataFile(fileName);
       
      Example Response:
       System.out.println("Content-Type: " + response.getHeaderContentType());
       System.out.println("Content-Disposition: " + response.getHttpHeaderContentDisposition());
       
    • setExtractType

      public DirectDataRequest setExtractType(DirectDataRequest.ExtractType extractType)
      Set the Direct Data file type to retrieve. Options are FULL, INCREMENTAL, and LOG.
      Parameters:
      extractType - ExtractType enum value
      Returns:
      DirectDataRequest
    • setStartTime

      public DirectDataRequest setStartTime(ZonedDateTime startTime)
      Specify a start date and time to retrieve direct data files.
      Parameters:
      startTime - Start date and time for retrieving direct data file requests.
      Returns:
      DirectDataRequest
    • setStopTime

      public DirectDataRequest setStopTime(ZonedDateTime stopTime)
      Specify a stop date and time to retrieve direct data files.
      Parameters:
      stopTime - Stop date and time for retrieving direct data file requests.
      Returns:
      DirectDataRequest
    • setFilepart

      public DirectDataRequest setFilepart(Integer filepart)
      Set the number for the file part.
      Parameters:
      filepart - This value is required if the file to download has more than one part.
      Returns:
      DirectDataRequest