In order to effectively use the SmartVault REST API, you should be familiar with the following concepts
AccountAll data is stored inside a SmartVault account. An account consists of billing information, access control, and a series of invited users.
Developers will have a developer account, but they will typically be interacting with a customer’s account.
Client IDA client ID represents a specific use of the SmartVault REST API.
Developers will sign up for a developer’s account and for each unique application they develop (say, an iPhone application and a web based integration), they will have one client ID. SmartVault customers will grant specific client IDs the ability to impersonate users within an account context.
User IDA user ID represents a unique user in the SmartVault system. User IDs are granted specific access within one or more accounts. A User ID typically authenticates via password.
However, using the SmartVault REST API, developers will use OAuth 2.0 to impersonate User IDs without requiring a password.
EntitiesAt SmartVault, elements like clients engagements, employees, etc. are conceived as entities. You can find more info about entities in its own menu section.
ApplicationAn application represents an application that stores documents within SmartVault by associating records between the native application and SmartVault.
An example of an application is QuickBooks or a developer’s CRM solution. Client IDs and applications are easily confused concepts.
Check the example below for clarity.
// Application example
- Let’s assume as a developer you want to add document management support to your CRM solution.
You have:
1.A web based interface.
2. An iPhone application.
3. An Android application.
- You would sign up for one developer's account, create one client IDfor the CRM application, and three client IDs to represent the three different applications used to access the CRM application.
Regarding the usage of the API, the SmartVault account type that you are using affects some endpoints.
We can differentiate two main account types:
Structured plan Non structured plan.
Regardless of account type, all of them have files, folders, vaults and apps, as well as user accounts present in their structure and can be managed and modified.
However, structured accounts have entities, templates and email templates definitions, exclusives for that account type.
For more information on how to retrieve the account type you are using check here
The NodeResponse is the workhorse of the SmartVault REST API. Understanding the structure of this response is key to working with the SmartVault REST API.
The structure is made up of the following elements (some may vary depending of the API element being browsed; files, folders, entities, etc.):
nameThe name of the element.
createdOnDate when the node was created.
modifiedOnLast date the node was modified.
uriThe uri of the element. The path used for the request that outputs this node's response.
dav_uriThe dav uri of the element, this is used to request the element from its strict path rather than its logical path.
download_uriThe download uri of the element. Only present if the API element being browsed is a file. This uri can be used to download the actual contents of the file.
your_permissionsThe permissions the current authenticated user has to this element.