The DocumentService API provides methods for creating, deleting, and updating a document.

This API requires the Document Management plugin (com.snc.platform_document_management) and is provided within the sn_doc_services namespace. For information, see Document Services.

A document is a collection of information about a document record. The methods used to create or update a record modify fields using the SystemDocument object.

Document content is managed using versions. The following APIs enable you to define and manage document versions:
  • SystemDocumentVersion – Define a document version as the source of the document content. Each version is an element containing the document content and is provided using a single URL or attachment. An attachment can only be added in the Document Versions [ds_document_version] table UI and not with the API.
  • DocumentVersionService – Document content is managed using versions.

Use the DocumentReferenceService API to manage documents referenced in a target table, such as the Incidents [incident] or Knowledge [kb_knowledge] table.

The Document Management plugin also supports creating lists of document templates to associate with your document. For example, a job application requiring multiple documents such as a diploma, ID, or passport.

DocumentService - DocumentService()

Instantiates a DocumentService object.

Table 1. Parameters
Name Type Description
None

Example

The following example shows how to instantiate a DocumentService object.

var s = new sn_doc_services.DocumentService();

DocumentService - createDocument(SystemDocument doc)

Creates a document record in the Documents [ds_document] table.

Table 2. Parameters
Name Type Description
doc SystemDocument One or more properties representing fields of a new record. The name property is required and can be set using the SystemDocument constructor or name() method.

Example

The following example shows how to populate SystemDocument object properties and create a new document record.

var d = new sn_doc_services.SystemDocument('My document');

// Define the document fields
var reviewers = '62826bf03710200044e0bfc8bcbe5df1,a8f98bb0eb32010045e1a5115206fe3a';
d.description('description');
d.classification('restricted');
d.state('review');
d.department('93b25282c0a8000b0b55c8ab34e2f1e6');
d.template(false);
d.type('policy');
d.reviewers(reviewers);
d.audience('external');

var s = new sn_doc_services.DocumentService();
gs.info(JSON.stringify(s.createDocument(d), null, 2));
Output:
{
  "message": "Create document sysId : 1040420224503410f877a6fed1c2b031 is successful.",
  "request_id": "1040420224503410f877a6fed1c2b031",
  "status": "success"
}

DocumentService - deleteDocument(String docSysId)

Removes a document record from the Documents [ds_document] table.

Table 4. Parameters
Name Type Description
docSysId String Sys_id of a document record in the Documents [ds_document] table.

Example

The following example shows how to delete an existing document record.

var docid = "<sys_id>";
var svc = new sn_doc_services.DocumentService();
gs.info(JSON.stringify(svc.deleteDocument(docid), null, 2));
Output:
{
  "message": "Delete document sysId : <sys_id> is successful.",
  "request_id": "<sys_id>",
  "status": "success"
}

DocumentService - updateDocument(String docSysId, SystemDocument doc)

Updates the field values of an existing document record.

Table 6. Parameters
Name Type Description
docSysId String Sys_id of a document record in the Documents [ds_document] table.
doc SystemDocument One or more properties representing document fields to be updated.

Example

The following example shows how to change a document name. See also SystemDocument.

var dId = "19aab54e24103410f877a6fed1c2b03d";
var d = new sn_doc_services.SystemDocument();
d.name("c22.txt");

var s = new sn_doc_services.DocumentService();
gs.info(JSON.stringify(s.updateDocument(dId, d), null, 2));
Output:
{
  "message": "Update document sysId : 19aab54e24103410f877a6fed1c2b03d is successful.",
  "request_id": "19aab54e24103410f877a6fed1c2b03d",
  "status": "success"
}