Integration Key Management

From SmartWiki
Jump to: navigation, search

Overview

SmartSimple allows for the ability to store the authentication credentials for various integration end points and external services. The purpose of this is to provide a single point of configuration for integration credentials that can then be referenced throughout the system.

Features include native integration with services such as Salesforce, and Adobe Sign, as well any custom end point.

Configuring Integration Keys

You need to have Global User Administrator permissions in order to access Integration key functions.

  1. Within SmartSimple, access the Global Settings page.
  2. Click on the Integrations tab and under Services Settings, click on Integration Key Management link.
  3. This page will list all current integration keys configured for this instance of SmartSimple.
  4. Create a new Integration Key by clicking the + button on the top left. 
  5. Select a Key Type, fill out the authentication details and click Save once complete.

Integration Key-1.PNG

Function Settings

Each new integration key has the following fields below.

KeyTypes.png

  • Name - Unique name description for this integration key.
  • Security Token - Access token or integration key from the external service.
  • Authentication URL - end point of external service.
  • Synchronization Direction 
    • From SmartSimple to External Service 
    • From External Service to SmartSimple 
    • Bidirectional
  • Username - Username of API account
  • Password - Password of API account

In the case of Adobe Sign integration, this requires input of OAuth security token and Application ID which is available by signing into your Adobe ID account at https://accounts.adobe.com. See the Adobe Sign article on this wiki for how to configure Adobe Sign e-signature documents.

Retrieving Integration Keys

Integration keys can be retrieved from the Variable Processor via the following syntax. The ssGet variables will only get replaced when the API call is made and will not resolve directly on the source of a page. This prevents exposing the credentials to the end user.

@ssGet(APIKEY,keyname,attribute)@

An example use of this would be using the built in service call function to make a RESTful API call

//service call syntax:
//exservice_call(syncflag, callbackfunc, fields, URL)
//URL - the URL to post the call to.
//fields - contain all the parameters you may need (required is "svc=restful"), delimited by ';;'.

//given an Integration Key named 'myapi'
exservice_call(false, "", "svc=restful;;companyid=xxx;;alias=xxx;;username=@ssGet(APIKEY,myapi,username)@;;password=@ssGet(APIKEY,myapi,password)@;;apitoken=xxx;;reportid=xxx", "https://smart.smartsimple.com.com/API/1/report/")