Class ObjectRecordAttachmentRequest

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

public class ObjectRecordAttachmentRequest extends VaultRequest<ObjectRecordAttachmentRequest>
Object Record Attachments requests
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#object-record-attachments
  • Field Details

    • ID_PARAM

      public static final String ID_PARAM
      If you’re identifying object records in your input by a unique field, add idParam={fieldname} to the request endpoint.
      See Also:
  • Method Details

    • attachmentsEnabled

      public Boolean attachmentsEnabled(String objectName)
      Determine if Attachments are Enabled on an Object
      Parameters:
      objectName - Object name for the attachment
      Returns:
      Boolean indicating if the Object allows attachments. Null if error occurs
      Vault API Endpoint:
       GET /api/{version}/metadata/vobjects/{object_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#determine-if-attachments-are-enabled-on-an-object
      Example Request:
       Boolean attachmentsEnabled = vaultClient.newRequest(ObjectRecordAttachmentRequest.class).attachmentsEnabled(objectName);
      Example Response:
      System.out.println("attachmentsEnabled = " + attachmentsEnabled);
       }
    • retrieveObjectRecordAttachments

      public ObjectRecordAttachmentResponse retrieveObjectRecordAttachments(String objectName, String recordId)
      Retrieve Object Record Attachments
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-object-record-attachments
      Example Request:
       ObjectRecordAttachmentResponse attachmentResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .retrieveObjectRecordAttachments(objectName,recordId);
      Example Response:
       if (attachmentResponse.getData() != null) {
           for (ObjectAttachment attachment : attachmentResponse.getData()) {
      
             System.out.println("------------------------------");
             System.out.println("CreatedDate " + attachment.getCreatedBy());
             System.out.println("Filename " + attachment.getFilename());
             System.out.println("Format " + attachment.getFormat());
             System.out.println("Id " + attachment.getId());
             System.out.println("Md5checksum " + attachment.getMd5checksum());
             System.out.println("Size " + attachment.getSize());
             System.out.println("Version " + attachment.getVersion());
      
             if (attachment.getVersions() != null) {
               for (ObjectAttachment.Version version : attachment.getVersions()) {
                 System.out.println("Url " + version.getUrl());
                 System.out.println("Version " + version.getVersion());
                 System.out.println("");
               }
             }
           }
         }
    • retrieveObjectRecordAttachmentMetadata

      public ObjectRecordAttachmentResponse retrieveObjectRecordAttachmentMetadata(String objectName, String recordId, int attachmentId)
      Retrieve Object Record Attachment Metadata
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - attachment id
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-object-record-attachment-metadata
      Example Request:
       ObjectRecordAttachmentResponse metadataResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                      .retrieveObjectRecordAttachmentMetadata(objectName,recordId,attachmentId);
      Example Response:
       if (metadataResponse.getData() != null) {
           for (ObjectAttachment attachment : metadataResponse.getData()) {
      
             System.out.println("------------------------------");
             System.out.println("CreatedDate " + attachment.getCreatedBy());
             System.out.println("Filename " + attachment.getFilename());
             System.out.println("Format " + attachment.getFormat());
             System.out.println("Id " + attachment.getId());
             System.out.println("Md5checksum " + attachment.getMd5checksum());
             System.out.println("Size " + attachment.getSize());
             System.out.println("Version " + attachment.getVersion());
      
             if (attachment.getVersions() != null) {
               for (ObjectAttachment.Version version : attachment.getVersions()) {
                 System.out.println("Url " + version.getUrl());
                 System.out.println("Version " + version.getVersion());
                 System.out.println("");
               }
             }
           }
        }
    • retrieveObjectRecordAttachmentVersions

      public ObjectRecordAttachmentResponse retrieveObjectRecordAttachmentVersions(String objectName, String recordId, int attachmentId)
      Retrieve Object Record Attachment Versions
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - attachment id
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}/versions
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-object-record-attachment-versions
      Example Request:
       ObjectRecordAttachmentResponse versionsResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .retrieveObjectRecordAttachmentVersions(objectName,recordId,attachmentId);
      Example Response:
       if (versionsResponse.getData() != null) {
           for (ObjectAttachment attachment : versionsResponse.getData()) {
      
             System.out.println("------------------------------");
             System.out.println("CreatedDate " + attachment.getCreatedBy());
             System.out.println("Filename " + attachment.getFilename());
             System.out.println("Format " + attachment.getFormat());
             System.out.println("Id " + attachment.getId());
             System.out.println("Md5checksum " + attachment.getMd5checksum());
             System.out.println("Size " + attachment.getSize());
             System.out.println("Version " + attachment.getVersion());
      
             if (attachment.getVersions() != null) {
               for (ObjectAttachment.Version version : attachment.getVersions()) {
                 System.out.println("Url " + version.getUrl());
                 System.out.println("Version " + version.getVersion());
                 System.out.println("");
               }
             }
           }
        } 
    • retrieveObjectRecordAttachmentVersionMetadata

      public ObjectRecordAttachmentResponse retrieveObjectRecordAttachmentVersionMetadata(String objectName, String recordId, int attachmentId, int versionId)
      Retrieve Object Record Attachment Version Metadata
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - attachment id
      versionId - version of the attachment
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}/version/{attachment_version}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-object-record-attachment-version-metadata
      Example Request:
       ObjectRecordAttachmentResponse versionMetadataResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                      .retrieveObjectRecordAttachmentVersionMetadata(objectName,recordId,attachmentId,versionId);
      Example Response:
       if (versionMetadataResponse.getData() != null) {
           for (ObjectAttachment attachment : versionMetadataResponse.getData()) {
      
             System.out.println("------------------------------");
             System.out.println("CreatedDate " + attachment.getCreatedBy());
             System.out.println("Filename " + attachment.getFilename());
             System.out.println("Format " + attachment.getFormat());
             System.out.println("Id " + attachment.getId());
             System.out.println("Md5checksum " + attachment.getMd5checksum());
             System.out.println("Size " + attachment.getSize());
             System.out.println("Version " + attachment.getVersion());
      
             if (attachment.getVersions() != null) {
               for (ObjectAttachment.Version version : attachment.getVersions()) {
                 System.out.println("Url " + version.getUrl());
                 System.out.println("Version " + version.getVersion());
                 System.out.println("");
               }
             }
           }
        }
    • downloadObjectRecordAttachmentFile

      public VaultResponse downloadObjectRecordAttachmentFile(String objectName, String recordId, int attachmentId)
      Download Object Record Attachment File

      Download the attachment and write the output to the buffer, which can be retrieved via the VaultResponse.

      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}/file
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-object-record-attachment-file
      Example Request:
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class).downloadObjectRecordAttachmentFile(
                                              objectName,
                                              recordId,
                                              attachmentId);
      ,
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .setOutputPath(testDir + "retrieveObjectRecordAttachmentFile_localfile.pdf")
                                              .downloadObjectRecordAttachmentFile(objectName,recordId,attachmentId);
      Example Response:
      System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         OutputStream os = new FileOutputStream(testDir + "retrieveObjectRecordAttachmentFile_bytearray.pdf");
         os.write(VaultResponse.getBinaryContent());
         os.close();
       }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
      ,
       System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         String filePath = VaultResponse.getOutputFilePath();
         System.out.println(filePath);
       }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
    • downloadObjectRecordAttachmentVersionFile

      public VaultResponse downloadObjectRecordAttachmentVersionFile(String objectName, String recordId, int attachmentId, int versionId)
      Download Object Record Attachment Version File

      Download the attachment and write the output to the buffer, which can be retrieved via the VaultResponse.

      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      versionId - version id of the attachment
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}/versions/{attachment_version}/file
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-object-record-attachment-version-file
      Example Request:
      Example 1
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                      .downloadObjectRecordAttachmentVersionFile(objectName,recordId,attachmentId,versionId);
      , Example 2
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .setOutputPath(testDir + "retrieveObjectRecordAttachmentVersionFile_localfile.pdf")
                                              .downloadObjectRecordAttachmentVersionFile(
                                                              objectName,
                                                              recordId,
                                                              attachmentId,
                                                              versionId);
      Example Response:
       Example 1
       System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         OutputStream os = new FileOutputStream(testDir + "retrieveObjectRecordAttachmentVersionFile_bytearray.pdf");
         os.write(VaultResponse.getBinaryContent());
         os.close();
       }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
      ,
       Example 2
       System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         String filePath = VaultResponse.getOutputFilePath();
         System.out.println(filePath);
       }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
    • downloadAllObjectRecordAttachmentFiles

      public VaultResponse downloadAllObjectRecordAttachmentFiles(String objectName, String recordId)
      Download All Object Record Attachment Files
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/file
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-all-object-record-attachment-files
      Example Request:
      Example 1
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class).downloadAllObjectRecordAttachmentFiles(
                                              objectName,
                                              recordId);
      , Example 2
       VaultResponse VaultResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .setOutputPath(testDir + "downloadAllObjectRecordAttachmentFiles_localfile.zip")
                                              .downloadAllObjectRecordAttachmentFiles(
                                                              objectName,
                                                              recordId);
      Example Response:
      System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         OutputStream os = new FileOutputStream(testDir + "downloadAllObjectRecordAttachmentFiles_bytearray.zip");
         os.write(VaultResponse.getBinaryContent());
         os.close();
       }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
      ,
      System.out.println(VaultResponse.getResponseStatus());
      
       if (VaultResponse.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         String filePath = VaultResponse.getOutputFilePath();
         System.out.println(filePath);
         }
       else {
         System.out.println(VaultResponse.getResponseJSON());
       }
    • createObjectRecordAttachment

      public ObjectRecordAttachmentResponse createObjectRecordAttachment(String objectName, String recordId)
      Create Object Record Attachment
      Create a single object record attachment. If the attachment already exists, Vault uploads the attachment as a new version of the existing attachment.

      This method sends a local file for the attachment.

      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment Object record id for the attachment
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       POST /api/{version}/vobjects/{object_name}/{object_record_id}/attachments
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-object-record-attachment
      Example Request:
       ObjectRecordAttachmentResponse createResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                                      .setInputPath(testFile.getAbsolutePath())
                                                      .createObjectRecordAttachment(
                                                                      objectName,
                                                                      recordId);
      Example Response:
      System.out.println(createResponse.toString());
    • createMultipleObjectRecordAttachments

      public ObjectRecordAttachmentResponse createMultipleObjectRecordAttachments(String objectName)
      You can create object record attachments in bulk with a JSON or CSV input file. You must first load the attachments to the FTP staging server. If the attachment already exists in your vault, Vault uploads it as a new version of the existing attachment.
      Parameters:
      objectName - The object name for the operation
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       POST /api/{version}/vobjects/{object_name}/attachments/batch
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-multiple-object-record-attachments
    • restoreObjectRecordAttachmentVersion

      public ObjectRecordAttachmentResponse restoreObjectRecordAttachmentVersion(String objectName, String recordId, int attachmentId, int versionId)
      Restore Object Record Attachment Version
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      versionId - Document version id
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       POST /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}/versions/{attachment_version}?restore=true
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#restore-object-record-attachment-version
      Example Request:
       ObjectRecordAttachmentResponse restoreResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                              .restoreObjectRecordAttachmentVersion(objectName,recordId,attachmentId,versionId);
      Example Response:
      System.out.println(restoreResponse.getResponseJSON());
    • updateObjectRecordAttachmentDescription

      public ObjectRecordAttachmentResponse updateObjectRecordAttachmentDescription(String objectName, String recordId, int attachmentId, String description)
      Update Object Record Attachment Description
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      description - Attachment description
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       PUT /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-object-record-attachment-description
    • updateMultipleObjectRecordAttachments

      public ObjectRecordAttachmentResponse updateMultipleObjectRecordAttachments(String objectName)
      Update object record attachments in bulk with a JSON or CSV input file. You can only update the latest version of an attachment.
      Parameters:
      objectName - The object name for the operation
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       PUT /api/{version}/vobjects/{object_name}/attachments/batch
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-multiple-object-record-attachment-descriptions
    • deleteObjectRecordAttachment

      public ObjectRecordAttachmentResponse deleteObjectRecordAttachment(String objectName, String recordId, int attachmentId)
      Delete Object Record Attachment
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       DELETE /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-object-record-attachment
      Example Request:
       ObjectRecordAttachmentResponse deleteResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                      .deleteObjectRecordAttachment(objectName,recordId,attachmentId);
      Example Response:
      System.out.println(deleteResponse.getResponseJSON());
    • deleteMultipleObjectRecordAttachments

      public ObjectRecordAttachmentResponse deleteMultipleObjectRecordAttachments(String objectName)
      Delete object record attachments in bulk with a JSON or CSV input file. You can only delete the latest version of an attachment.
      Parameters:
      objectName - The object name for the operation
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       DELETE /api/{version}/vobjects/{object_name}/attachments/batch
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-multiple-object-record-attachments
    • deleteObjectRecordAttachmentVersion

      public ObjectRecordAttachmentResponse deleteObjectRecordAttachmentVersion(String objectName, String recordId, int attachmentId, int versionId)
      Delete Object Record Attachment Version
      Parameters:
      objectName - Object name for the attachment
      recordId - Object record id for the attachment
      attachmentId - The attachment id
      versionId - Attachment version
      Returns:
      ObjectRecordAttachmentResponse
      Vault API Endpoint:
       DELETE /api/{version}/vobjects/{object_name}/{object_record_id}/attachments/{attachment_id}versions/{attachment_version}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-object-record-attachment-version
      Example Request:
       ObjectRecordAttachmentResponse deleteResponse = vaultClient.newRequest(ObjectRecordAttachmentRequest.class)
                                      .deleteObjectRecordAttachmentVersion(objectName,recordId,attachmentId,versionId);
      Example Response:
      System.out.println(deleteResponse.getResponseJSON());
    • setAcceptCSV

      public ObjectRecordAttachmentRequest setAcceptCSV()
      Set the Header Accept to return CSV
      Returns:
      The Request
    • setBinaryFile

      public ObjectRecordAttachmentRequest 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 ObjectRecordAttachmentRequest setContentTypeCsv()
      Set the Header Content Type to CSV
      Returns:
      The Request
    • setContentTypeJson

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

      public ObjectRecordAttachmentRequest setIdParam(String idParam)
      Specify a value for the idParam (if not using id)
      Parameters:
      idParam - External Id field API name for the UPDATE and DELETE
      Returns:
      The Request
    • setInputPath

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

      public ObjectRecordAttachmentRequest setOutputPath(String outputPath)
      Specify source data in an output file
      Parameters:
      outputPath - Absolute path to the file for the response
      Returns:
      The Request
    • setRequestString

      public ObjectRecordAttachmentRequest 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