The Veeva Vault Connector can be configured using the Rest API. It requires the following entities to be created:

  • Credential
  • Connection
  • Connector
  • Seed

Below are the examples of how to create the Connection and the Seed. For the Connector, please check this page.

Create Credential


Field

Required

Default

Multiple

NotesExample
typeYes-No

The value must be "veeva-vault".

"veeva-vault"

descriptionYes-NoName of the credential object.

"Veeva Vault Credential"

throttlePolicyNo-NoThrottle policy ID that will affect all seeds that use this credential.

"4f07e6c5-d2e9-48d8-a55d-094917508c0f"

propertiesYes-NoConfiguration object
usernameYes-NoUsername for the crawl account

"[email protected]"

passwordYes-NoPassword for the crawl account "password"

Example 

POST aspire/_api/credentials
{
    "type": "veeva-vault",
    "description": "Veeva Vault Credential",    
	"throttlePolicy": "4f07e6c5-d2e9-48d8-a55d-094917508c0f", 
	"properties": {
    	"username": "[email protected]",
	    "password": "encrypted:5A1765DE0C17E1BDD019D61D9E5A2809A0A4F0B4792DD7D4DEF12B7ADA34A043"
  	}
}

Update Credential


Field

Required

Default

Multiple

NotesExample
idYes-NoID of the credential to update."2f287669-d163-4e35-ad17-6bbfe9df3778"
descriptionYes-NoName of the credential object.

"Veeva VaultCredential"

throttlePolicyNo-NoThrottle policy ID that will affect all seeds that use this credential.

"4f07e6c5-d2e9-48d8-a55d-094917508c0f"

propertiesYes-NoConfiguration object
usernameYes-NoUsername for the crawl account

"[email protected]"

passwordYes-NoPassword for the crawl account "password"

Example 

PUT aspire/_api/credentials/2a5ca234-e328-4d40-bb2a-2df3e550b065
{
    "id": "2a5ca234-e328-4d40-bb2a-2df3e550b065",  
	"type": "veeva-vault",   
	"description": "Veeva Vault Credential",     
	"throttlePolicy": "4f07e6c5-d2e9-48d8-a55d-094917508c0f",
	"properties": {
    	"username": "[email protected]",
	    "password": "encrypted:5A1765DE0C17E1BDD019D61D9E5A2809A0A4F0B4792DD7D4DEF12B7ADA34A043"
  	} 
}

Create Connection


Field

Required

Default

Multiple

Notes

Example

typeYes-No

The value must be veeva-vault

veeva-vault

descriptionYes-NoName of the connection object.

"My Veeva Vault Connection"

credentialNo-NoID of the credential that applies to this connection object."d42e1872-02c8-4a90-a714-44f15577389a"
throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe IDs of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
propertiesYes-NoConfiguration object
baseUrlYes-NoThe DNS of the vault for which you want to generate a session."https://my-veeva-vault-repo.com"
baseVersionYes-NoThe Vault REST API version."v21.3"
pageSizeYes500NoThe response page size.500
throttlingConnectionRateYes1000NoBurst Limit is the number of API calls that your vault can receive within a fixed 5-minute period.1000
maxRetriesYes3NoThe number of connections retries.3
apiLimitWaitYes60000NoThe waiting time before retry in milliseconds for API LIMIT Errors (in milliseconds).60000
maxAPILimitRetriesYes3NoThe number of retries for API Limit errors.3

Example

POST aspire/_api/connections
{
    
	"type": "veeva-vault",
    "description": "Veeva Vault Test Connector",
	"credential": "d42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "",
    "routingPolicies": ["5c7274ef-429b-46ef-8f73-f010e479a467", "9dee4fba-14f2-4afc-a74d-297bcbbd359a"],
    "properties": {
		"baseUrl": "https://my-veeva-vault-repo.com",
		"baseVersion": "v21.3",
		"pageSize": 500,
		"throttlingConnectionRate": 1000,
		"maxRetries": 3,
		"apiLimitWait": 60000,
		"maxAPILimitRetries": 3
	}
}

Update Connection


Field

Required

Default

Multiple

Notes

Example

idYes-NoID of the connection to update"89d6632a-a296-426c-adb0-d442adcab4b0",
descriptionNo-NoName of the connection object.

"My Veeva Vault Connection"

throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe IDs of the routing policies that this connection will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
propertiesYes-NoConfiguration object
baseUrlYes-NoThe DNS of the vault for which you want to generate a session."https://my-veeva-vault-repo.com"
baseVersionYes-NoThe Vault REST API version."v21.3"
pageSizeYes500NoThe response page size.500
throttlingConnectionRateYes1000NoBurst Limit is the number of API calls that your vault can receive within a fixed 5-minute period.1000
maxRetriesYes3NoThe number of connections retries.3
apiLimitWaitYes60000NoThe waiting time before retry in milliseconds for API LIMIT Errors (in milliseconds).60000
maxAPILimitRetriesYes3NoThe number of retries for API Limit errors.3

Example

{
    "id": "89d6632a-a296-426c-adb0-d442adcab4b0",     
	"type": "veeva-vault",
    "description": "Veeva Vault Test Connector",
	"credential": "d42e1872-02c8-4a90-a714-44f15577389a",
    "throttlePolicy": "",
    "routingPolicies": ["5c7274ef-429b-46ef-8f73-f010e479a467", "9dee4fba-14f2-4afc-a74d-297bcbbd359a"],
    "properties": {
		"baseUrl": "https://my-veeva-vault-repo.com",
		"baseVersion": "v21.3",
		"pageSize": 500,
		"throttlingConnectionRate": 1000,
		"maxRetries": 3,
		"apiLimitWait": 60000,
		"maxAPILimitRetries": 3
	} 
}

Create Connector Instance


For the creation of the Connector object using the Rest API, check this page.

Update Connector Instance


For the update of the Connector object using the Rest API, check this page

Create Seed


Field

Required

Default

Multiple

Notes

Example

seedYes-NoThis value must be veevavault_seedveevavault_seed
typeYes-No

The value must be veeva-vault.

veeva-vault

descriptionYes-NoName of the seed object.

"My Veeva Vault Seed"

connectorYes-NoThe id of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
connectionYes-NoThe id of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"
workflowsNo[ ]YesThe ids of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo-NoId of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe ids of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag2"]
propertiesYes-NoConfiguration object
seedYes-NoThis value must be veevavault_seedveevavault_seed
attachmentsYes-NoSelect if you want to get attachment for the resulting objects from the VQL querytrue
renditionsYes-NoSelect if you want to get renditions for the resulting objects from the VQL queryfalse
queriesYes-YesThe seed to be crawl as VQL queries[{"query": "SELECT id FROM documents"},{"query": "SELECT id FROM products__c"}]

Example 

POST aspire/_api/seeds
{
    "type": "<Connector Type>",
    "seed": "directory",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag1", "tag2"],     
	"properties": {
    	"seed": "veevavault_seed",
		"attachments": false,
		"renditions": true,
		"queries": [
			{
				"query": "SELECT id FROM documents"
			},
			{
				"query": "SELECT id FROM products__c"
			}
		]
	} 
}

Update Seed


Field

Required

Default

Multiple

Notes

Example

idYes-NoID of the seed to update."2f287669-d163-4e35-ad17-6bbfe9df3778"
seedNo-No<seed description>
descriptionNo-NoName of the seed object.

"MyVeeva VaultSeed"

connectorNo-NoThe ID of the connector to be used with this seed. The connector type must match the seed type."82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31"
connectionNo-NoThe ID of the connection to be used with this seed. The connection type must match the seed type."602d3700-28dd-4a6a-8b51-e4a663fe9ee6"
workflowsNo[ ]YesThe IDs of the workflows that will be executed for the documents crawled.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
workflows.addNo[ ]YesThe IDs of the workflows to add.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
workflows.removeNo[ ]YesThe IDs of the workflows to remove.["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"]
throttlePolicyNo-NoID of the throttle policy that applies to this connection object."f5587cee-9116-4011-b3a9-6b235b333a1b"
routingPoliciesNo[ ]YesThe IDs of the routing policies that this seed will use.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
routingPolicies.addNo[ ]YesThe IDs of the routingPolicies to add.["b4d2579f-1a0a-4a8b-9fd4-d42780003b36"]
routingPolicies.removeNo[ ]YesThe IDs of the routingPolicies to remove.["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7"]
tagsNo[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag3"]
tags.addNo[ ]YesThe tags to add["tag4"]
tags.removeNo[ ]YesThe tags to remove["tag2"]
propertiesYes-NoConfiguration object
seedYes-NoThis value must be veevavault_seedveevavault_seed
attachmentsYes-NoSelect if you want to get attachment for the resulting objects from the VQL querytrue
renditionsYes-NoSelect if you want to get renditions for the resulting objects from the VQL queryfalse
queriesYes-YesThe seed to be crawled as VQL queries[{"query": "SELECT id FROM documents"},{"query": "SELECT id FROM products__c"}]

Example 

PUT aspire/_api/seeds/2f287669-d163-4e35-ad17-6bbfe9df3778
{
    "id": "2f287669-d163-4e35-ad17-6bbfe9df3778",
    "seed": "<seed example>",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "<connector>_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["b255e950-1dac-46dc-8f86-1238b2fbdf27", "f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag", "tag2"],      
	"properties": {
    	"seed": "veevavault_seed",
		"attachments": false,
		"renditions": true,
		"queries": [
			{
				"query": "SELECT id FROM documents"
			},
			{
				"query": "SELECT id FROM products__c"
			}
		]
	}   
}
  • No labels