Difference between revisions of "Creating SmartConnect Functions"

From SmartWiki
Jump to: navigation, search
Line 326: Line 326:
 
[[File:APIFunctionSample6a.PNG|800px]]
 
[[File:APIFunctionSample6a.PNG|800px]]
  
<u>'''<span class="single_linebreak" style="background-color: lightgray;">¶</u>'''</span> Sample 1B<br/>
+
<u>'''Sample 1B'''</u><br/>
 
'''Description'''  - Update existing organization record<br />
 
'''Description'''  - Update existing organization record<br />
 
'''Mandatory fields''' to update existing record:<br/>
 
'''Mandatory fields''' to update existing record:<br/>
Line 341: Line 341:
 
'''Object Type'''  -  User<br />
 
'''Object Type'''  -  User<br />
 
'''Action Type '''  -  Update<br />
 
'''Action Type '''  -  Update<br />
'''Field List'''  - sf_User ID;;sf_Last Name;;sf_First Name;;sf_Prefix;;sf_Suffix;;sf_Title;;sf_Phone;;sf_Email;;sf_Company ID;;sf_Title;;sf_Is External;;sf_Role ID List<br />
+
'''Field List'''  - sf_User ID;;sf_Last Name;;sf_First Name;;sf_Prefix;;sf_Suffix;;sf_Title;;sf_Phone;;sf_Email;;sf_Company ID;;sf_Title;;sf_Is External;;sf_Role ID List
  
<u>'''Sample 2A'''</u><br/>
+
<u>'''Sample 1C'''</u><br/>
 
'''Description'''  - To create two new user record<br/>
 
'''Description'''  - To create two new user record<br/>
 
'''Mandatory fields''' to add new records:<br/>
 
'''Mandatory fields''' to add new records:<br/>
Line 349: Line 349:
 
'''sf_Parent Company ID''' -  is the company holder or the parent company for the organization to be added.<br/>
 
'''sf_Parent Company ID''' -  is the company holder or the parent company for the organization to be added.<br/>
 
'''sf_Is External''' -  either "1" for external and "0" for internal organization<br/>
 
'''sf_Is External''' -  either "1" for external and "0" for internal organization<br/>
'''sf_Role ID List''' - [[Category:Roles|role]] of a user<br/>
+
'''sf_Role ID List''' - [[Category:Roles|role]] of a user
  
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
Line 357: Line 357:
 
[[File:APIFunctionSample6d.PNG|800px]]
 
[[File:APIFunctionSample6d.PNG|800px]]
  
<u>'''Sample 2B'''</u><br/>
+
<u>'''Sample 1D'''</u><br/>
 
'''Description'''  - To update last name of existing user records<br />
 
'''Description'''  - To update last name of existing user records<br />
 
'''Mandatory fields''' to update records:<br/>
 
'''Mandatory fields''' to update records:<br/>
'''recordid''' - is the [[Determining_the_userid|User ID]] of existing user.<br/>
+
'''recordid''' - is the [[Determining_the_userid|User ID]] of existing user.
  
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
Line 370: Line 370:
 
====Update Multiple Addresses====
 
====Update Multiple Addresses====
 
=====Update/create multiple address record of an Organization=====
 
=====Update/create multiple address record of an Organization=====
 +
'''Function Name'''  -  3.05.2.1 Update Multiple Addresses Method Sample 1: update addresses of an existing Organization<br />
 +
'''Description'''  - Create new records or update existing multiple addresses of an existing organization<br />
 +
'''Object Type'''  -  Company<br />
 +
'''Action Type '''  -  Update Multiple Addresses<br />
 +
'''Field List'''  - sf_Address;;sf_Address 2;;sf_City;;sf_State / Province;;sf_Country;;sf_Zip / Postal Code;;sf_Primary Address;;sf_Type;;sf_Type ID;;sf_Updated By;;sf_Last Modified;;sf_Object ID<br/>
 +
 +
<u>'''Sample 2A'''</u><br/>
 +
'''Description'''  - To create new multiple address for an existing company<br/>
 +
'''Mandatory fields''' to add new records:<br/>
 +
'''recordid''' -  to create new record, recordid should be '0'<br/>
 +
'''sf_Object ID''' -  is the company where the address will be attached to.<br/>
 +
'''sf_Type ID''' -  multiple address type <br/>
 +
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"0","sf_Object ID":"1688407","sf_Type ID":"74117","sf_Address":"2018 Yonge Street","sf_Country":"10","sf_Address 2":"Suite 401111","sf_City":"Toronto","sf_State / Province":"ON"}] <br />
 +
--End custom parameter--
 +
 +
[[File:APIFunctionSample6e.PNG|800px]]
 +
 +
<u>'''Sample 2B'''</u><br/>
 +
'''Description'''  - To update address of existing multiple address record<br />
 +
'''Mandatory fields''' to update records:<br/>
 +
'''recordid''' - is the unique identifier from the Association table.
 +
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"632573","sf_Address":"New Street Address","sf_City":"New City"}]<br />
 +
--End custom parameter--
 +
 +
[[File:APIFunctionSample6f.PNG|800px]]
 +
 +
 
====Update Associations====
 
====Update Associations====
 
=====Create/Update contact associations of a Level 1=====
 
=====Create/Update contact associations of a Level 1=====

Revision as of 10:05, 31 August 2018


Construction warning.png Please note that this page is currently under construction. There is more information to come.

SmartConnect functions are specific to individual copies of SmartSimple so you can only use the functions that are have been previously established in that copy. The article describes how you add functions to an instance.

Contents

Creating a New Function

You need to have Global User Administrator permissions in order to add JSON functions.

  1. Log into the copy of SmartSimple where you wish to add the function.
  2. Navigate to Global Settings.
  3. Click on the Integrations tab.
  4. Click on the SmartConnect API link. Existing functions will be listed here for you to update.
  5. Click on the + button to create a new function.

Function Settings

Each function has the following settings:

  • Function Name – you will use this name to call the function from your own code.
  • Description – used to provide documentation as to the function’s purpose.
  • Record Type – a list of all SmartSimple objects within this instance. This will include: Report (reports you have created in the instance), Organization (company records), Users (system users and contacts), and each Universal Tracking Application™ Level 1, Level 2 and Level 3 type that you have created in the instance.
  • Action Type – this defines the action to be taken by the function. The following actions are available:  GET META, UPDATE META, GET, LIST, UPDATE, UPDATE ASSOCIATIONS, LIST ASSOCIATIONS, DOWNLOAD FILE, LIST FILES, SEARCH FILES, LIST NOTES and  VARIABLE REPLACE. Details on these Action Types / Methods are available below.
  • Field List – this restricts the fields that are to be retrieved from the underlying object.

SmartConnect Function Samples

Visit the interactive demonstration page to test the sample functions.

Get

Retrieve a Single Organization Record

Function Name  -  3.01.1 Get Method Sample 1: Retrieve a Single Organization Record
Description  - This function will retrieve a single record from the organization using the Company ID. The function is set up to retrieve the fields listed under Field List.
Object Type  -  Company
Action Type   -  Get
Field List  -  sf_Company ID;;sf_Name;;sf_Address;;sf_City;;sf_Country;;sf_Zip / Postal Code;;cf_EIN Number;;sf_Mission Statement

APIFunctionSample1.PNG

Retrieve a Single Contact Record

This function will retrieve a single record from the users table using the User ID. The function is set up to retrieve the fields listed under Field List.

Function Name  -  3.01.2 Get Method Sample 2: Retrieve a Single Contact Record
Object Type  -  User
Action Type   -  Get
Field List  -  sf_User ID;;sf_Last Name;;sf_First Name;;sf_Prefix;;sf_Suffix;;sf_Title;;sf_Phone;;sf_Email

APIFunctionSample2.PNG

Retrieve a Single Grant Application Record

Function Name  -  3.01.3 Get Method Sample 3: Retrieve a Single Grant Application Record
Description  - This function will retrieve a single record from the Universal Tracking Application Level 1 using the Opportunity ID.
Object Type  -  Submission Manager - Grant
Action Type   -  Get
Field List  -  cf_Project Name;;cf_Submission Number;;sf_Application Type;;sf_Status;;sf_Customer;;sf_Owner;;cf_Focus Area;;cf_Amount Requested;;cf_Program Area;;cf_Location;;cf_Proposed Start Date;;cf_Proposed End Date

APIFunctionSample3.PNG

Sample 4: Retrieve a Single Grant Application Payment Record

Function Name  -  3.01.4 Get Method Sample 4: Retrieve a Single Grant Application Payment Record
Description  - This function will retrieve a single record from the Universal Tracking Application Level 2 using the Event ID.
Object Type  -  Submission Manager - Activity
Action Type   -  Get
Field List  -  sf_Status;;sf_Activity Type;;cf_Payment ID;;cf_Payment Amount;;cf_Payment Date;;Payment Notes

APIFunctionSample4.PNG

Report

Report Query

Function Name  -  3.02.1 Get Report Sample 1: Report Query
Description  - To retrieve data from a report. Object Type  -  Report
Action Type   -  Query
Field List  - 

A report query on the number of assessors grouped by specialty

Description  - A sample that will display the number of Assessors based on their specialty
--Begin custom parameter --
reportid : 36864
criteriavalue:
--End custom parameter--

A report query on a list of Grants grouped by Organization

Description  - A sample that shows a list of applications filtered by "Approved Proposal" status grouped by organizations
--Begin custom parameter --
reportid : 36812
criteriavalue:
--End custom parameter--

A report query on a list of Grants grouped by Focus Area

Description  - A sample that displays a list of applications grouped by focus area
--Begin custom parameter --
reportid : 36814
criteriavalue:
--End custom parameter--

A report query on a list of Payments grouped by Grant Type

Description  - A sample that  displays the payment amount for each grant grouped by organization
--Begin custom parameter --
reportid : 36806
criteriavalue:
--End custom parameter--

List

List

Retrieve a list of contacts

Function Name  -  3.03.1.1 List Method Sample 1: Retrieve a list of Contacts
Description  - This function will retrieve a list of contacts based on criteria specified.
Object Type  -  User
Action Type   -  List
Field List  -  sf_User ID;;sf_First Name;;sf_Address;;sf_Address 2;;sf_City;;sf_Country;;sf_State / Province;;sf_Zip / Postal Code;;

Sample 1A
Description  - To retrieve a list of contacts where the first name begins with "J" and sorted by first name in ascending order
--Begin custom parameter --
criteria : [{"andor":"or","field":"sf_First Name","operator":"like","value":"J%"}]
sortby : [{"field":"sf_First Name","direction":"asc"}]
getstorevalue :
--End custom parameter--

APIFunctionSample5a.PNG

Sample 1B
Description  - To retrieve a list of contacts where the first name begins with "S" and the address contains "Peter" and sorted by first name in ascending order
--Begin custom parameter --
criteria : [{"andor":"or","field":"sf_First Name","operator":"like","value":"S%"},
{"andor":"and","field":"sf_Address","operator":"like","value":"%Peter%"}]
sortby : [{"field":"sf_First Name","direction":"asc"}]
getstorevalue :
--End custom parameter--

APIFunctionSample5b.PNG

Retrieve a list of organizations

Function Name  -  3.03.1.2 List Method Sample 2: Retrieve a list of Organizations
Description  - To retrieve a list of organizations. Object Type  -  Company
Action Type   -  List
Field List  -  sf_Company ID;;sf_Name;;sf_Address;;sf_Address 2;;sf_City;;sf_Country;;sf_State / Province;;sf_Zip / Postal Code;;cf_Mission Statement

Sample 2A
Description  - To retrieve a list of organizations with organization name that starts with "Br"
--Begin custom parameter --
criteria : [{"andor":"and","field":"sf_Name","operator":"like","value":"Br%"}]
sortby : 
getstorevalue :
--End custom parameter--

APIFunctionSample5c.PNG

Sample 2B
Description  - To retrieve a list of organizations with organization name that starts with "Br" and address that contains "Ave" with an ascending order based on the organization name.
--Begin custom parameter --
criteria : [{"andor":"and","field":"sf_Name","operator":"like","value":"Br%"},{"andor":"and","field":"sf_Address","operator":"like","value":"%Ave%"}]
sortby : [{"field":"sf_Name","direction":"asc"}]
getstorevalue :
--End custom parameter--

APIFunctionSample5d.PNG

Retrieve a list of claims

Function Name  -  3.03.1.3 List Method Sample 3: CMS360° - Retrieve a list of claims
Description  - To retrieve a list of claims from professors in profession sorted by organization name in descending order.
Object Type  -  Cast Management 360° - Case
Action Type   -  List
Field List  -  sf_Application Template Type;;sf_Customer;;cf_Claim;;cf_Nature of Injury / Comments on Claim;;sf_Activity List

--Begin custom parameter --
criteria : [{"andor":"and","field":"cf_Nature of Injury / Comments on Claim","operator":"like","value":"%professor%"}]
sortby : [{"field":"sf_Customer","direction":"desc"}]
getstorevalue :
--End custom parameter--

APIFunctionSample5e.PNG

List File

List files of an existing organization

Function Name  -  3.03.2.1 List Files Method Sample 1: from an existing organization
Description  - To retrieve the list of file(s) from the organization using the Company ID
Object Type  -  Company
Action Type   -  List Files
Field List  -  

Parameters used are:
objectid = Company ID
fieldid = Custom Field ID of an organization that is either single file type or multiple file type.

--Begin custom parameter --
objectid : 1688407
fieldid : 1523157
getstorevalue :
--End custom parameter--

APIFunctionSample5f.PNG

List files from an existing application

Function Name  -  3.03.2.2 List Files Method Sample 2: from an existing application
Description  - To retrieve the list of file(s) of an existing application using the Opportunity ID
Object Type  -  Submission Manager - Grant
Action Type   -  List Files
Field List  -  

Parameters used are:
objectid = Opportunity ID
fieldid = Custom Field ID of UTA L1 that is either single file type or multiple file type.

--Begin custom parameter --
objectid : 1688407
fieldid : 1523157
getstorevalue :
--End custom parameter--

APIFunctionSample5g.PNG

List Notes

List notes from an existing application

Function Name  -  3.03.3.1 List Notes Method Sample 1: from an existing application
Description  - To retrieve all note(s) associated with an existing application using the Opportunity ID
Object Type  -  Submission Manager - Grant
Action Type   -  List notes
Field List  - sf_Type Name;;sf_Content;;sf_Created By;;sf_Created By ID;;sf_Created Date;;sf_Note ID;;sf_Object ID;;sf_Type ID;;sf_Note Content

Parameters used are:
objectid = Opportunity ID
--Begin custom parameter --
objectid : 8276124
--End custom parameter--

APIFunctionSample5h.PNG

List Multiple Addresses

List all Multiple Addresses of an existing Organization

Function Name  -  3.03.4.1 List Multiple Addresses Method Sample 1: Multiple Addresses of an existing Organization
Description  - To retrieve all of the multiple addresses of an existing organization using the Company ID
Object Type  -  Company
Action Type   -  List Multiple Addresses
Field List  - sf_Address;;sf_Address 2;;sf_City;;sf_State / Province;;sf_Country;;sf_Zip / Postal Code;;sf_Primary Address;;sf_Type;;sf_Type ID;;sf_Updated By;;sf_Last Modified;;sf_Object ID;;sf_Address ID
 

Parameters used are:
objectid = Company ID
--Begin custom parameter --
objectid : 1688407
--End custom parameter--

APIFunctionSample5i.PNG

List Associations

List Contact associations from an existing application

Function Name  -  3.03.5.1 List Associations Method Sample 1: Contact associations from an existing application
Description  - To retrieve the list of contacts associated with an existing application using the Opportunity ID
Object Type  -  Submission Manager - Grant
Action Type   -  List Associations
Field List  - contacts.*
 

Parameters used are:
recordid = Opportunity ID
type = either '"contacts"' or '"organizations"'
--Begin custom parameter --
recordid: 8276165
type: contacts
--End custom parameter--

APIFunctionSample5j.PNG

List Organization associations from an application

Function Name  -  3.03.5.2 List Associations Method Sample 2: Organization associations from an existing application
Description  - To retrieve the list of organizations associated with an existing application using the Opportunity ID
Object Type  -  Submission Manager - Grant
Action Type   -  List Associations
Field List  - organizations.*
 

Parameters used are:
recordid = Opportunity ID
type = either '"contacts"' or '"organizations"'
--Begin custom parameter --
recordid: 8276165
type: organizations
--End custom parameter--

APIFunctionSample5k.PNG

'Metadata'

Get Metadata of a Universal Tracking Application

Function Name  -  3.04.1 Get Metadata Sample 1: CMS360°: Application Metadata
Description  - To retrieve metadata of a.
Object Type  -  Case Management 360° - Case
Action Type   -  Get Meta
Field List  - levelone.*;;leveltwo.*;;levelthree.*
 

No parameters are needed to retrieve metadata.
 

APIFunctionSample5l.PNG

Get Metadata of Organizations

Function Name  -  3.04.2 Get Metadata Sample 2: Organizations Metadata
Description  - To retrieve metadata from Organizations.
Object Type  -  Company
Action Type   -  Get Meta
Field List  - companies.* No parameters are needed to retrieve metadata.
 

Get Metadata from Contacts

Function Name  -  3.04.3 Get Metadata Sample 3: Users Metadata
Description  - To retrieve metadata from Users.
Object Type  -  User
Action Type   -  Get Meta
Field List  - contacts.* No parameters are needed to retrieve metadata.

Update

Update

Create/Update organization record

Function Name  -  3.05.1.1 Create/update organization record
Description  - Create new records or update existing organization records
Object Type  -  Company
Action Type   -  Update
Field List  - sf_Name;;sf_Is External;;sf_Parent Company ID;;sf_Address;;sf_Address 2;;sf_City;;sf_State / Province;;sf_Zip / Postal Code;;sf_Country;;cf_EIN Number;;cf_1523156;;sf_Category ID List
Sample 1A
Description  - Create new organization record
Mandatory fields to add a new record:
recordid -  to create new record, recordid should be '0'
sf_Parent Company ID -  is the company holder or the parent company for the organization to be added.
sf_Is External -  either "1" for external and "0" for internal organization


sf_Category ID List - Category of the company to be added.

--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Parent Company ID":"826082","sf_Is External":"1","sf_Name":"Test 1 Company","sf_Country":"10","sf_Address":"111 Peter Street","sf_City":"Toronto","sf_State / Province":"ON","cf_EIN Number":"101010101","sf_Category ID List":",3884,"}]
--End custom parameter--

APIFunctionSample6a.PNG

Sample 1B
Description  - Update existing organization record
Mandatory fields to update existing record:
recordid - is the Company ID an of existing organization to update.
--Begin custom parameter --
jsonrset : [{"recordid":"1688403","sf_Name":"Change Company thru API"}]
--End custom parameter--

APIFunctionSample6b.PNG

Create/Update User record

Function Name  -  3.05.1.2 Create/update user record
Description  - Create new records or update existing user
Object Type  -  User
Action Type   -  Update
Field List  - sf_User ID;;sf_Last Name;;sf_First Name;;sf_Prefix;;sf_Suffix;;sf_Title;;sf_Phone;;sf_Email;;sf_Company ID;;sf_Title;;sf_Is External;;sf_Role ID List

Sample 1C
Description  - To create two new user record
Mandatory fields to add new records:
recordid -  to create new record, recordid should be '0'
sf_Parent Company ID -  is the company holder or the parent company for the organization to be added.
sf_Is External -  either "1" for external and "0" for internal organization
sf_Role ID List - of a user

--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Company ID":"1688403","sf_Is External":"1","sf_First Name":"John","sf_Last Name":"Doe","sf_Role ID List":",14078,"},{"recordid":"0","sf_Company ID":"1688403","sf_Is External":"1","sf_First Name":"Mary","sf_Last Name":"Doe","sf_Role ID List":",14078,"}]
--End custom parameter--

APIFunctionSample6d.PNG

Sample 1D
Description  - To update last name of existing user records
Mandatory fields to update records:
recordid - is the User ID of existing user.

--Begin custom parameter --
jsonrset : [{"recordid":"87983424","sf_Last Name":"Change Last Name thru API"},{"recordid":"88159403","sf_Last Name":"Smith"}]
--End custom parameter--

APIFunctionSample6c.PNG

Update Multiple Addresses

Update/create multiple address record of an Organization

Function Name  -  3.05.2.1 Update Multiple Addresses Method Sample 1: update addresses of an existing Organization
Description  - Create new records or update existing multiple addresses of an existing organization
Object Type  -  Company
Action Type   -  Update Multiple Addresses
Field List  - sf_Address;;sf_Address 2;;sf_City;;sf_State / Province;;sf_Country;;sf_Zip / Postal Code;;sf_Primary Address;;sf_Type;;sf_Type ID;;sf_Updated By;;sf_Last Modified;;sf_Object ID

Sample 2A
Description  - To create new multiple address for an existing company
Mandatory fields to add new records:
recordid -  to create new record, recordid should be '0'
sf_Object ID -  is the company where the address will be attached to.
sf_Type ID -  multiple address type

--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Object ID":"1688407","sf_Type ID":"74117","sf_Address":"2018 Yonge Street","sf_Country":"10","sf_Address 2":"Suite 401111","sf_City":"Toronto","sf_State / Province":"ON"}]
--End custom parameter--

APIFunctionSample6e.PNG

Sample 2B
Description  - To update address of existing multiple address record
Mandatory fields to update records:
recordid - is the unique identifier from the Association table.

--Begin custom parameter --
jsonrset : [{"recordid":"632573","sf_Address":"New Street Address","sf_City":"New City"}]
--End custom parameter--

APIFunctionSample6f.PNG


Update Associations

Create/Update contact associations of a Level 1

'Download File'

Download File(s) from a company profile

'Search File'

06.1 Search Files Method Sample 1: Search Case Documents





See Also

SmartConnect - RESTful API
JSON API (SmartConnect) Standard Field Names


API Sample Code