Class DocumentTemplateRequest

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

public class DocumentTemplateRequest extends VaultRequest<DocumentTemplateRequest>
Document Template Requests
Vault API Coverage:
https://developer.veevavault.com/api/25.1/#document-templates
  • Method Details

    • retrieveDocumentTemplateMetadata

      public DocumentTemplateMetadataResponse retrieveDocumentTemplateMetadata()
      Retrieve Document Template Metadata

      Retrieve the metadata which defines the shape of document templates in your vault.

      Returns:
      DocumentTemplateMetadataResponse
      Vault API Endpoint:
       GET /api/{version}/metadata/objects/documents/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-document-template-metadata
    • retrieveDocumentTemplateCollection

      public DocumentTemplatesResponse retrieveDocumentTemplateCollection()
      Retrieve Document Template Collection

      Retrieve all document templates.

      Returns:
      DocumentTemplatesResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-document-template-collection
      Example Request:
       DocumentTemplateMetadataResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .retrieveDocumentTemplateMetadata();
      Example Response:
       for (Template data : resp.getData()) {
         System.out.println("\n**** Data Item **** ");
         System.out.println("Name = " + data.getName());
         System.out.println("Type = " + data.getType());
         System.out.println("Requiredness = " + data.getRequiredness());
         System.out.println("Editable = " + data.getEditable());
         System.out.println("Multi Value = " + data.getMultiValue());
         System.out.println("Component = " + data.getComponent());
         System.out.println("Ordered = " + data.getOrdered());
         System.out.println("MaxValue = " + data.getMaxValue());
       }
       
    • retrieveDocumentTemplateAttributes

      public DocumentTemplateResponse retrieveDocumentTemplateAttributes(String templateName)
      Retrieve Document Template Attributes

      Retrieve the attributes from a document template.

      Parameters:
      templateName - The document template name__v field value.
      Returns:
      DocumentTemplateResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/templates/{template_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#retrieve-document-template-attributes
      Example Request:
       DocumentTemplatesResponse respTemplates = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .retrieveDocumentTemplateCollection();
      
       String templateName = respTemplates.getData().get(0).getName();
       DocumentTemplateResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .retrieveDocumentTemplateAttributes(templateName);
      Example Response:
       DocumentTemplate data = resp.getData();
       System.out.println("\n**** Data Item **** ");
       System.out.println("Name = " + data.getName());
       System.out.println("Label = " + data.getLabel());
       System.out.println("Active = " + data.getActive());
       System.out.println("Type = " + data.getType());
       System.out.println("SubType = " + data.getSubType());
       System.out.println("Classification = " + data.getClassification());
       System.out.println("Format = " + data.getFormat());
       System.out.println("Size = " + data.getSize());
       System.out.println("Created By = " + data.getCreatedBy());
       System.out.println("File Uploaded By = " + data.getFileUploadedBy());
       System.out.println("MD5 Checksum = " + data.getMd5checksum());
       System.out.println("Is Controlled = " + data.getIsControlled());
       System.out.println("Template Doc ID = " + data.getTemplateDocId());
       System.out.println("Template Doc Selected By = " + data.getTemplateDocSelectedBy());
    • downloadDocumentTemplateFile

      public VaultResponse downloadDocumentTemplateFile(String templateName)
      Download Document Template File

      Download the file of a specific document template.

      Parameters:
      templateName - The document template name__v field value.
      Returns:
      VaultResponse
      Vault API Endpoint:
       GET /api/{version}/objects/documents/templates/{template_name}/file
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#download-document-template-file
      Example Request:
       Example 1 - Download directly to file
       VaultResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setOutputPath(outputPath.toString())
                                      .downloadDocumentTemplateFile(templateName);
      ,
       Example 2 - Stream and Download
       VaultResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setOutputPath(null)
                                      .downloadDocumentTemplateFile(templateName);
      
       if (resp.getResponseStatus().equals(VaultResponse.HTTP_RESPONSE_SUCCESS)) {
         try (OutputStream os = new FileOutputStream(outputPath.toString())) {
           os.write(resp.getBinaryContent());
         }
         catch (IOException ignored){}
       }
      Example Response:
       System.out.println("File was saved to: " + outputPath.toString());
    • createSingleDocumentTemplate

      public DocumentTemplateResponse createSingleDocumentTemplate(DocumentTemplate documentTemplate)
      Create Single Document Template

      Create one document template. To create multiple document templates, see Bulk Create Document Templates.

      Parameters:
      documentTemplate - Template metadata to create
      Returns:
      DocumentTemplateResponse
      Vault API Endpoint:
       POST /api/{version}/objects/documents/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-single-document-template
      Example Request:
       Example 1 - From file
       DocumentTemplateResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setInputPath(inputPath.toString())
                                      .createSingleDocumentTemplate(documentTemplate);
      ,
       Example 1 - From binary
       DocumentTemplateResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setBinaryFile("DocTemplate.rtf", getRTFContent().getBytes())
                                      .createSingleDocumentTemplate(documentTemplate);
      Example Response:
       if (resp.isSuccessful()) {
         System.out.println("The document template was created: " + resp.getName());
       }
    • createMultipleDocumentTemplates

      public DocumentTemplateBulkResponse createMultipleDocumentTemplates()
      Create Multiple Document Templates

      Create up to 500 document templates.

      Returns:
      DocumentTemplateBulkResponse
      Vault API Endpoint:
       POST /api/{version}/objects/documents/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#create-multiple-document-templates
      Example Request:
       Example 1 - CSV as File
       DocumentTemplateBulkResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setInputPath(filePath)
                                      .createMultipleDocumentTemplates();
      ,
       Example 2 - CSV as Bytes
       DocumentTemplateBulkResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setBinaryFile(fileName, csvText.toString().getBytes())
                                      .createMultipleDocumentTemplates();
      ,
       Example 3 - JSON
       DocumentTemplateBulkResponse resp = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .setContentTypeJson()
                                      .setRequestString(jsonString.toString())
                                      .createMultipleDocumentTemplates();
      Example Response:
       for (DocumentTemplateBulkResponse.TemplateResult data : resp.getData()) {
         System.out.println("Status: " + data.getResponseStatus());
      
         if (!data.isSuccessful()) {
           for (VaultResponse.APIResponseError e : data.getErrors()){
             System.out.println(e.getType() + " " + e.getMessage());
           }
         }
         else {
           System.out.println("Name: " + data.getName());
         }
       }
    • updateSingleDocumentTemplate

      public DocumentTemplateResponse updateSingleDocumentTemplate(String templateName, DocumentTemplate documentTemplate)
      Update Single Document Template

      Update a single document template in your vault.

      Parameters:
      templateName - The document template name__v field value.
      documentTemplate - Template metadata to update.
      Returns:
      DocumentTemplateResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/documents/templates/{template_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-single-document-template
      Example Request:
       DocumentTemplateResponse response = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .updateSingleDocumentTemplate(DOCUMENT_TEMPLATE_NAME1, documentTemplate);
      Example Response:
       if (response.isSuccessful()) {
         System.out.println("The template was updated: " + response.getName());
       }
       else {
         System.out.println(response.getResponse());
       }
    • updateMultipleDocumentTemplates

      public DocumentTemplateBulkResponse updateMultipleDocumentTemplates()
      Update Multiple Document Templates

      Update uo to 500 document templates in your vault.

      Returns:
      DocumentTemplateBulkResponse
      Vault API Endpoint:
       PUT /api/{version}/objects/documents/templates
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#update-multiple-document-templates
      Example Request:
      See createMultipleDocumentTemplates() for example requests (replace "createMultipleDocumentTemplates" with "updateMultipleDocumentTemplates")
      Example Response:
      See createMultipleDocumentTemplates() for example responses (replace "createMultipleDocumentTemplates" with "updateMultipleDocumentTemplates")
    • deleteBasicDocumentTemplate

      public DocumentTemplateResponse deleteBasicDocumentTemplate(String templateName)
      Delete Basic Document Template

      Delete a basic document template from your vault. You cannot delete controlled document templates. Learn more about controlled template deletion in Vault Help.

      Parameters:
      templateName - The document template name__v field value.
      Returns:
      DocumentTemplateResponse
      Vault API Endpoint:
       DELETE /api/{version}/objects/documents/templates/{template_name}
      Vault API Help Link:
      https://developer.veevavault.com/api/25.1/#delete-basic-document-template
      Example Request:
       DocumentTemplateResponse response = vaultClient.newRequest(DocumentTemplateRequest.class)
                                      .deleteBasicDocumentTemplate(DOCUMENT_TEMPLATE_NAME1);
      Example Response:
       if (response.isSuccessful()) {
         System.out.println("The document template was deleted");
       }
    • setContentTypeCsv

      public DocumentTemplateRequest setContentTypeCsv()
      Set the Header Content Type to text/csv
      Returns:
      The Request
    • setContentTypeJson

      public DocumentTemplateRequest setContentTypeJson()
      Set the Header Content Type to application/json
      Returns:
      The Request
    • setContentTypeXForm

      public DocumentTemplateRequest setContentTypeXForm()
      Set the Header Content Type to application/x-www-form-urlencoded
      Returns:
      The Request
    • setBinaryFile

      public DocumentTemplateRequest 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
    • setInputPath

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