Difference between revisions of "Creating SmartConnect Functions"

From SmartWiki
Jump to: navigation, search
(Delete Multiple Upload Files)
 
(69 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Banner-UnderConstruction}}
+
 
 
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.
 
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.
  
Line 18: Line 18:
 
* '''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.
 
* '''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.
 
* '''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''' – is used to define which fields are retrievable through the function call.
+
* '''Field List''' – is used to define which fields are retrievable through the function call. Please limit field list to ~50 standard fields/custom fields.
  
 
==Configurations and Responses==
 
==Configurations and Responses==
Line 57: Line 57:
 
'''Object Type'''  -  Company<br />
 
'''Object Type'''  -  Company<br />
 
'''Action Type '''  -  Get Meta<br />
 
'''Action Type '''  -  Get Meta<br />
'''Field List'''  - companies.*<br />
+
'''Field List'''  - companies.*
 
No parameters are needed to retrieve metadata.
 
No parameters are needed to retrieve metadata.
 +
 
[[File:APIFunctionGetOrgMeta.PNG|800px]]
 
[[File:APIFunctionGetOrgMeta.PNG|800px]]
 +
 
====Get Metadata from Contacts====
 
====Get Metadata from Contacts====
 
<!--63342 - SmartConnect API - metadata option to include Orgs/Contacts-->
 
<!--63342 - SmartConnect API - metadata option to include Orgs/Contacts-->
Line 68: Line 70:
 
'''Field List'''  - contacts.*<br />
 
'''Field List'''  - contacts.*<br />
 
No parameters are needed to retrieve metadata.
 
No parameters are needed to retrieve metadata.
 +
 
[[File:APIFunctionGetUserMeta.PNG|800px]]
 
[[File:APIFunctionGetUserMeta.PNG|800px]]
 +
 
===Report===
 
===Report===
 
This function will retrieve the results of the query from an existing report by using the [[Determining_the_reportid|'''reportid''']].
 
This function will retrieve the results of the query from an existing report by using the [[Determining_the_reportid|'''reportid''']].
Line 133: Line 137:
 
====Retrieve a Single Organization Record====
 
====Retrieve a Single Organization Record====
 
'''Function Name'''  -  3.03.1 Get Method Sample 1: Retrieve a Single Organization Record<br />
 
'''Function Name'''  -  3.03.1 Get Method Sample 1: Retrieve a Single Organization Record<br />
'''Description'''  - This function will retrieve a single record from the organization using the recordid: [[Determining_the_companyid|Company ID]]. The function is set up to retrieve the fields listed under '''Field List'''.<br />
+
'''Description'''  - This function will retrieve a single record from the organization using the recordid: [[Determining_the_companyid|Company ID]]. The function is set up to retrieve the fields listed under '''Field List'''.
 +
 
 
'''Object Type'''  -  Company<br />
 
'''Object Type'''  -  Company<br />
 
'''Action Type '''  -  Get<br />
 
'''Action Type '''  -  Get<br />
Line 169: Line 174:
 
====Get System Variables====
 
====Get System Variables====
 
=====Retrieve a System Variable Record=====
 
=====Retrieve a System Variable Record=====
'''Function Name'''  -  3.03.5.1 System Variables Sample 1: Get<br />
+
'''Function Name'''  -  3.03.5 System Variables Sample 1: Get<br />
 
'''Description'''  - Get information on the [[System_Variables|system variables]] by searching the System Variable ID<br />
 
'''Description'''  - Get information on the [[System_Variables|system variables]] by searching the System Variable ID<br />
 
'''Object Type'''  -  System Variables<br />
 
'''Object Type'''  -  System Variables<br />
Line 178: Line 183:
 
recordid: 3601<br />
 
recordid: 3601<br />
 
--End custom parameter--
 
--End custom parameter--
 
[[File:APIFunctionSystemVariables2.PNG|800px]]
 
  
  
Line 205: Line 208:
 
: '''''sample3:'''''
 
: '''''sample3:'''''
 
: An example query with brackets: ( (cf_somefield1 like '%whatever%' or cf_somefield2 like  '%whatever%'  or cf_somefield3 like  '%whatever%'  or cf_somefield4like  '%whatever%' ) and (cf_someotherfield1='whatever' or cf_someotherfield2='whatever else'))
 
: An example query with brackets: ( (cf_somefield1 like '%whatever%' or cf_somefield2 like  '%whatever%'  or cf_somefield3 like  '%whatever%'  or cf_somefield4like  '%whatever%' ) and (cf_someotherfield1='whatever' or cf_someotherfield2='whatever else'))
: criteria: [{ "andor": "(", "field": "cf_somefield1", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield2", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield3", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield4", "operator": "like", "value": "whatever" },{ "andor": ") and (", "field": "cf_someotherfield1", "operator": "=", "value": "whatever" },{ "andor": "or", "field": "cf_someotherfield2", "operator": "=", "value": ""whatever else" }]
+
: criteria: [{ "andor": "(", "field": "cf_somefield1", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield2", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield3", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield4", "operator": "like", "value": "whatever" },{ "andor": ") and (", "field": "cf_someotherfield1", "operator": "=", "value": "whatever" },{ "andor": "or", "field": "cf_someotherfield2", "operator": "=", "value": "whatever else" }]
 
: sortby: 
 
: sortby: 
 
: othersettings : {"getstorevalue":"0","keyformat":"0"}
 
: othersettings : {"getstorevalue":"0","keyformat":"0"}
Line 374: Line 377:
 
--End custom parameter--
 
--End custom parameter--
  
''Note:'' Please always use ''objectid'' (as per May 2019 update). ''recordid'' still works.
+
''Note:'' Please always use ''objectid'' (as per May 2019 update). ''recordid'' still works.
  
 
[[File:APIFunctionSample5j.PNG|800px]]
 
[[File:APIFunctionSample5j.PNG|800px]]
Line 393: Line 396:
 
--End custom parameter--
 
--End custom parameter--
  
''Note:'' Please always use ''objectid'' (as per May 2019 update).  ''recordid'' still works.
+
''Note:''
 +
1. As per May 2019 upgrade, use ''objectid'' but ''recordid'' still works.
 +
2. In '''Field List''', either use organizations or companies. If organizations is used in the '''Field List''', '''type''' in the parameter should be organizations.
  
 
[[File:APIFunctionSample5k.PNG|800px]]
 
[[File:APIFunctionSample5k.PNG|800px]]
Line 496: Line 501:
 
sf_Status ID - assigned [[Determining_the_statusid|Status ID]] of the new UTA L1 record.<br />
 
sf_Status ID - assigned [[Determining_the_statusid|Status ID]] of the new UTA L1 record.<br />
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
jsonrset : [{"recordid":"0","sf_Type ID":"20654","sf_Status ID":"25178","sf_Name":"Test 1 Application","sf_Company ID":"1767970","sf_Person ID":"88159402","sf_Owner ID":"3108429","sf_Start Date":"2018-01-01","sf_End Date":"2018-12-31"}]<br />
+
jsonrset : [{"recordid":"0","sf_Type ID":"20654","sf_Status ID":"25178","sf_Name":"Test 1 Application","sf_Customer":"1767970","sf_Person":"88159402","sf_Owner":"3108429","sf_Start Date":"2018-01-01","sf_End Date":"2018-12-31"}]<br />
 
--End custom parameter--
 
--End custom parameter--
  
Line 584: Line 589:
  
 
====Update Associations====
 
====Update Associations====
 +
Update function for association can add new association records or update the role of an existing association record.<br />
 +
A. When this function is used to add new record, the following parameters are mandatory: objectid, companyid or contactid, rolename or roleid.<br />
 +
B. When this function is used to update existing association records, it can only update the role of existing association records. Mandatory parameters are objectid, companyid or contactid, rolename or roleid and associationid. When the existing record is updated to a new role, all custom fields of the association from the previous role will be deleted.<br />
 +
If you need to change company/contact, the record will need to be deleted and then add a new record for a new association.
 +
 
=====Create/Update contact associations of a Level 1=====
 
=====Create/Update contact associations of a Level 1=====
 
'''Function Name'''  -  3.05.3.1 Update Associations Method Sample 1: update contact associations of an existing Level 1<br />
 
'''Function Name'''  -  3.05.3.1 Update Associations Method Sample 1: update contact associations of an existing Level 1<br />
Line 596: Line 606:
 
<br/>
 
<br/>
 
'''Mandatory fields''' to add new records:<br/>
 
'''Mandatory fields''' to add new records:<br/>
recordid -  is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>
+
objectid -  is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>
isupdate -  "1" for yes to update and "0" for to add new record <br/>
+
contactid - [[Determining_the_userid|User ID]]<br/>
rolename -  association role of the user
+
rolename / roleid -  association role of the user<br/>
 +
isupdate -  "1" for yes to update and "0" for to add new record
  
 +
 +
Parameter Sample#1<br />
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
jsonrset : [{"recordid":"8276165","contacts":[{"contactid":"3108577","rolename":"Meeting Participant","isupdate":"0"}]}] <br />
+
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108577","rolename":"Meeting Participant","isupdate":"0"}]}] <br />
 +
--End custom parameter--
 +
 
 +
Parameter Sample#2 - Starting May 2019 Upgrade<br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108577","rolename":"Signee Internal"}]}] <br />
 +
--End custom parameter--
 +
 
 +
Parameter Sample#3 - adding multiple contacts sample<br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108226","rolename":"Signee Internal"},{"contactid":"3108119","rolename":"Meeting Participant"}]}] <br />
 
--End custom parameter--
 
--End custom parameter--
  
 
[[File:APIFunctionSample6g.PNG|800px]]
 
[[File:APIFunctionSample6g.PNG|800px]]
 +
  
 
<u>'''Sample 3B'''</u><br/>
 
<u>'''Sample 3B'''</u><br/>
Line 611: Line 635:
 
<br />
 
<br />
 
'''Mandatory fields''' to update records:<br/>
 
'''Mandatory fields''' to update records:<br/>
recordid - is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>
+
objectid - is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>
 
isupdate -  "1" for yes and "0" for no
 
isupdate -  "1" for yes and "0" for no
 +
contactid - [[Determining_the_userid|User ID]]
 +
associationid - is the system's unique numerical value associated with each Association record
 +
rolename / roleid -[[Determining the roleid|'''Role ID''']]
  
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
jsonrset : [{"recordid":"8276165","contacts":[{"contactid":"3108429","rolename":"Signee Internal","isupdate":"1"}]}]<br />
+
jsonrset : [{"recordid":"10697883","contacts":[{"isupdate":"1","contactid":"88435720","associationid":"2829620","rolename":"Signee Internal", "cf_My customfield": "updated value"}]}]<br />
 
--End custom parameter--
 
--End custom parameter--
  
Line 636: Line 663:
  
  
===Download File===
+
===Upload/Download File===
 
This function will download the file.
 
This function will download the file.
  
Line 655: Line 682:
 
fieldid: 1523157<br />
 
fieldid: 1523157<br />
 
--End custom parameter--<br />
 
--End custom parameter--<br />
Note: In the API website, the content of the file will be shown in the Response section as seen below.<br />
+
Note: In the API website, the content of the file will be shown in the Response section as seen below.
[https://api.smartsimple.com/API/1/report/?url=https://api.smartsimple.com/API/1/report/&companyid=825646&alias=api&username=dataimport@smartsimple.com&password=smartsimple1&apitoken=W0t2dV58fmZGR1lzUmVDc2xibnd8BEdfAgMBAg~~&filename=Test.txt&objectid=1688407&fieldid=1523157| Click here to download the file]
+
<br />
 
[[File:APIFunctionDownloadFile1.PNG|800px]]
 
[[File:APIFunctionDownloadFile1.PNG|800px]]
 +
====Upload File(s) to a field in the company profile====
 +
<!--122516 - API file upload-->
 +
'''Function Name'''  -  3.06.2 Upload File Method Sample 1: Upload file(s) to an existing company record<br />
 +
'''Description'''  - Upload the file based on the criteria indicated.<br />
 +
'''Object Type'''  -  Company<br />
 +
'''Action Type '''  -  Upload Files<br />
 +
'''Field List'''  -  cf_123456
 +
'''
 +
 Mandatory fields''' to upload a file:
 +
objectid - is the [wiki/Determining_the_companyid Company ID] where the file is attached to.<br />
 +
fieldid - [wiki/Custom_Field_ID Custom Field ID] of the Organization record that is either a [wiki/Custom_Field_Type:_Upload_-_Single_File_Storage single file type] or [wiki/Custom_Field_Type:_Upload_-_Multiple_Files_Storage multiple file type].
 +
--Begin custom parameter --<br />
 +
objectid: 1688407<br />
 +
fieldid: 1523157<br />
 +
--End custom parameter--
 +
<br />Note: To test use Postman.
 +
The API URL for upload file will be:
 +
https://alias.smartsimple.com/API/1/company/?alias=xxxxx&companyid=xxxxxx&username=xxxxx&password=xxxxx&apitoken=xxxxx&objectid=xxxxx&fieldid=xxxxx<br />with the file included in the form data, use POST method.
 
===Search File===
 
===Search File===
 
This function will retrieve a list of files by searching for a keyword.
 
This function will retrieve a list of files by searching for a keyword.
Line 759: Line 804:
 
jsonrset : [{"recordid":"1924628"}]<br />
 
jsonrset : [{"recordid":"1924628"}]<br />
 
--End custom parameter--
 
--End custom parameter--
 +
 
[[File:Delete_org.PNG|800px]]
 
[[File:Delete_org.PNG|800px]]
 +
 
====Delete a Single Contact Record====
 
====Delete a Single Contact Record====
 
'''Function Name'''  -  3.09.2 Delete Contact Record<br />
 
'''Function Name'''  -  3.09.2 Delete Contact Record<br />
Line 772: Line 819:
  
 
[[File:Delete_user.PNG|800px]]
 
[[File:Delete_user.PNG|800px]]
 +
 +
====Delete Organization Records (Batch delete)====
 +
<!--89075 - SmartConnect batch delete-->
 +
'''Function Name'''  -  3.09.1 Delete Organization Records<br />
 +
'''Description'''  - Delete existing organization records <br />
 +
'''Object Type'''  -  Company<br />
 +
'''Action Type '''  - Delete<br />
 +
'''Field List'''  -  
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"1924629"},{"recordid":"1924630"},{"recordid":"1924631"}]<br />
 +
--End custom parameter--<br />
 +
Result:<br />
 +
{"records":[{"recordid":"1924629","status":"Object Deleted"},<br />
 +
{"recordid":"1924630","status":"Object Deleted"},<br />
 +
{"recordid":"1924631","status":"Object Deleted"}],"message":{}}
 +
====Delete a Single Contact Record====
 +
'''Function Name'''  -  3.09.2 Delete Contact Record<br />
 +
'''Description'''  - Delete existing user record <br />
 +
'''Object Type'''  -  User<br />
 +
'''Action Type '''  - Delete<br />
 +
'''Field List'''  -  
 +
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"88173129"}]<br />
 +
--End custom parameter--
  
 
====Delete a Single Grant Application Record====
 
====Delete a Single Grant Application Record====
Line 809: Line 881:
 
'''Description'''  - To delete existing user associated with an existing Submission Manager Level 1<br/>
 
'''Description'''  - To delete existing user associated with an existing Submission Manager Level 1<br/>
 
'''Mandatory fields'''<br/>
 
'''Mandatory fields'''<br/>
recordid -  is the [[Universal Tracking Application]] Level 1 where the user will be associated with.<br/>
+
objectid -  is the [[Universal Tracking Application]] Level 1 where the user will be associated with.<br/>
 
isdelete -  "1" for yes to delete<br/>
 
isdelete -  "1" for yes to delete<br/>
rolename -  association role of the user
+
rolename / roleid -  association role of the user
 +
contactid - [[Determining_the_userid|User ID]]
 +
associationid - is the system's unique numerical value associated with each Association record
  
 
--Begin custom parameter --<br />
 
--Begin custom parameter --<br />
jsonrset : {"recordid": "8276165", "contacts" : [{"isdelete": "1", "contactid": "3109003", "rolename": "Meeting Participant"}]}<br />
+
jsonrset : {"objectid": "10697883", "contacts" : [{"isdelete": "1", "contactid": "3108991", "rolename": "Meeting Participant","associationid":"2829623"}]}<br />
 
--End custom parameter--
 
--End custom parameter--
  
 
[[File:APIFunctionDeleteL1User.PNG|800px]]
 
[[File:APIFunctionDeleteL1User.PNG|800px]]
 +
 +
====Delete Multiple Upload Files====
 +
<!-- 138847 - API function to delete files -->
 +
After the July 2023 upgrade, new function to delete files from Upload - Multiple Files Storage fields was added.
 +
'''Function Name'''  -  3.09.6 Delete Files in Level One<br />
 +
'''Description'''  - Delete existing files from a multiple file field in [[Category:Universal_Tracking_Application|Universal Tracking Application]] Level 1 record<br />
 +
'''Object Type'''  -  Submission Manager - Grant<br />
 +
'''Action Type '''  -  Files - Delete<br />
 +
'''Field List'''  - cf_multiplefilefield
 +
 +
 +
<u>'''Sample'''</u><br/>
 +
'''Description'''  - To delete existing files from a multiple file field in Submission Manager Level 1<br/>
 +
'''Mandatory fields'''<br/>
 +
objectid -  is the [[Universal Tracking Application]] Level 1 id (opportunityid) where the file to be deleted is located.<br/>
 +
fieldid -  the field id of the multiple file field<br/>
 +
filename -  the filename of the file to be deleted
 +
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"objectid":"1223454","fieldid":"3163245","filename":"147807_dup.png"},{"objectid":"1223454","fieldid":"2697568","filename":"128895.png"}]<br />
 +
--End custom parameter--
  
 
===Transaction===
 
===Transaction===
<!--72195 - SmartConnect Function on Transaction-->
+
<!--72195 - SmartConnect Function on Transaction Applied to prod for May 2019 Upgrade-->
Transaction should be [[Category:Transactions | configured]] before using this API function.
+
* <span style="color: #ff0000;">Available after May 2019 upgrade.</span>
 +
 
 +
* Transaction should be [[Transaction_Attribution|configured]] before using this API function. Transactions can be attached to an object (Organization or User or UTA L1/L2).
 +
 
 
====Get Transaction Record====
 
====Get Transaction Record====
'''Function Name'''  -  3.10.1 Get Transaction Record<br />
+
=====Get a Transaction Record from an Organization=====
'''Description'''  - Get custom fields from a transaction record <br />
+
'''Function Name'''  -  3.10.1.1 Get a Transaction Record from an Organization<br />
 +
'''Description'''  - Retrieve an organization transaction record <br />
 +
'''Object Type'''  -  Company Transactions<br />
 +
'''Action Type '''  - Get<br />
 +
'''Field List''' - sf_Transaction ID;;sf_Object ID;;sf_Description;;sf_Subject;;sf_Type;;sf_Status;;sf_Created Date;;sf_Modified Date;;sf_Created By;;sf_Updated By
 +
 
 +
'''Mandatory fields''' to get a transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table.
 +
 
 +
--Begin custom parameter --<br />
 +
recordid:2738520<br />
 +
othersettings :<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionGet1.PNG|800px]]
 +
 
 +
=====Retrieve a Transaction Record from a Submission Manager L1=====
 +
'''Function Name'''  -  3.10.1.2 Get Method Sample 4: Retrieve a Transaction Record from a Submission Manager L1<br />
 +
'''Description'''  - Retrieve a transaction record <br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Action Type '''  - Get<br />
 
'''Action Type '''  - Get<br />
'''Field List'''  -  
+
'''Field List''' - sf_End Date;;sf_Description;;sf_Subject;;sf_Start Date;;sf_Status;;sf_Modified Date;;sf_Updated By;;sf_Created Date;;sf_Created By;;sf_Type;;sf_Transaction ID;;sf_Object ID
 +
 
 +
'''Mandatory fields''' to get a transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table.
 +
 
 +
--Begin custom parameter --<br />
 +
recordid:2738527<br />
 +
othersettings :<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionGet2.PNG|800px]]
  
 
====List Transaction Record====
 
====List Transaction Record====
'''Function Name'''  -  3.10.2 List Transaction Record<br />
+
'''Function Name'''  -  3.10.2 List Transaction Records<br />
 
'''Description'''  - Get a list of all transaction records <br />
 
'''Description'''  - Get a list of all transaction records <br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Action Type '''  - List<br />
 
'''Action Type '''  - List<br />
'''Field List'''  -  
+
'''Field List'''  -  sf_End Date;;sf_Description;;sf_Subject;;sf_Start Date;;sf_Status;;sf_Modified Date;;sf_Updated By;;sf_Created Date;;sf_Created By;;sf_Type;;sf_Transaction ID;;sf_Object ID
 +
 
 +
<u>'''Sample 2A'''</u><br/>
 +
'''Description'''  - Retrieve list of all transaction records <br />
 +
--Begin custom parameter --<br />
 +
criteria:<br />
 +
sortby:<br />
 +
othersettings :<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionList.PNG|800px]]
  
 +
<u>'''Sample 2B'''</u><br/>
 +
'''Description'''  - Retrieve a list of transaction records filtered with Transaction Type <br />
 +
--Begin custom parameter --<br />
 +
criteria : [{"andor":"and","field":"sf_Type","operator":"=","value":"Transaction_in_Org"}]<br />
 +
sortby:<br />
 +
othersettings :<br />
 +
--End custom parameter--
  
 +
[[File:TransactionList2.PNG|800px]]
  
 
====Update Transaction Record====
 
====Update Transaction Record====
'''Function Name'''  -  3.10.3 Update Transaction Record<br />
+
=====Create or Update Transaction Record in Organization Profile=====
'''Description'''  - Update fields of a transaction record <br />
+
'''Function Name'''  -  3.10.3.1 Create or Update Transaction Record in Organization Profile<br />
 +
'''Description'''  - Create new transaction record attached to a Organization record <br />
 +
'''Object Type'''  -  Company Transactions<br />
 +
'''Action Type '''  - Update<br />
 +
'''Field List'''  -  sf_Transaction ID;;sf_Object ID;;sf_Description;;sf_Subject;;sf_Type;;sf_Status;;sf_Created Date;;sf_Modified Date;;sf_Created By;;sf_Updated By
 +
 
 +
'''Mandatory fields''' to add a new transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'<br/>
 +
sf_Object ID -  is the object(Organization, User, UTA L1/L2) the transaction would be attached to.<br/>
 +
sf_Type -  [[Transaction_Custom_and_Standard_Field_Types|Transaction Type]] of the transaction record.<br/>
 +
sf_Status - [[Transaction_Status|Transaction Status]] of the transaction record.
 +
 
 +
<u>'''Sample 3A'''</u><br/>
 +
'''Description'''  - Create new transaction record <br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record"}]<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionUpdate2.PNG|800px]]
 +
 
 +
<u>'''Sample 3B'''</u><br/>
 +
'''Description'''  - Update existing transaction record <br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"2738520","sf_Subject":"Changed subject thru api"}]<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionUpdate1.PNG|800px]]
 +
 
 +
=====Create or Update Transaction Record in Submission Manager L1=====
 +
<u>'''Sample A''' - creating new transaction record from API v1</u><br/>
 +
'''Function Name'''  -  3.10.3.2 Create or Update Transaction Record in Submission Manager L1<br />
 +
'''Description'''  - Create new transaction record attached to a Submission Manager L1 record <br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Object Type'''  -  Submission Manager - Transactions<br />
 
'''Action Type '''  - Update<br />
 
'''Action Type '''  - Update<br />
'''Field List'''  -  
+
'''Field List'''  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type
 +
 
 +
'''Mandatory fields''' to add a new transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'<br/>
 +
sf_Object ID -  is the object(Organization, User, UTA L1/L2) the transaction would be attached to.<br/>
 +
sf_Type -  [[Transaction_Custom_and_Standard_Field_Types|Transaction Type]] of the transaction record.<br/>
 +
sf_Status - [[Transaction_Status|Transaction Status]] of the transaction record.
 +
 
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record"}]<br />
 +
--End custom parameter--
 +
 
 +
[[File:TransactionUpdate.PNG|800px]]
 +
 
 +
<u>'''Sample B''' - creating new transaction record in Submission Mgr L1 from API v2</u><br/>
 +
<!--134010 - SmartConnect API link and unlink transactions from Objects-->
 +
 
 +
'''Function Name'''  -  3.10.3.2  Create or Update Transaction Record in Submission Manager L1 (API v2)<br />
 +
'''Description'''  - Create new transaction record attached to a Submission Manager L1 record <br />
 +
'''Object Type'''  -  Submission Manager - Transactions<br />
 +
'''Action Type '''  - Update<br />
 +
'''Field List'''  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type;;cf_Remarks;;
 +
 
 +
Note that translevel is new in version 2 where translevel=1 for UTA L1 and translevel=2 for UTA L2.
 +
 
 +
'''Mandatory fields''' to add a new transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'<br/>
 +
sf_Object ID -  is the object(UTA L1) the transaction would be attached to.<br/>
 +
sf_Type -  [[Transaction_Custom_and_Standard_Field_Types|Transaction Type]] of the transaction record.<br/>
 +
sf_Status - [[Transaction_Status|Transaction Status]] of the transaction record.<br/>
 +
translevel -  is the UTA Level (UTA L1/L2) the transaction would be attached to. <span style="color: #ff0000;">(NEW that is implemented in API v2)</span>
 +
 
 +
 
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2119","sf_Status":"82626","translevel":"1","sf_Subject":"Test Transaction Record"}]<br />
 +
--End custom parameter--
 +
 
 +
'''<span style="color: #ff0000;">New Endpoint</span>: '''/API/2/transactions/
 +
 
 +
[[File:Transactions_01.png|800px]]
 +
 
 +
 
 +
<u>'''Sample C''' - creating new transaction record in Submission Mgr L2 from API v2</u><br/>
 +
<!--134010 - SmartConnect API link and unlink transactions from Objects--><br/>
 +
 '''Function Name'''  -  3.10.3.2 Create or Update Transaction Record in Submission Manager L2 (API v2)<br/>
 +
 '''Description'''  - Create new transaction record attached to a Submission Manager L2 record<br/>
 +
 '''Object Type'''  -  Submission Manager - Transactions<br/>
 +
 '''Action Type '''  - Update<br/>
 +
 '''Field List'''  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type;;cf_Remarks;;<br/>
 +
 
 +
Note that translevel is new in version 2 where translevel=1 for UTA L1 and translevel=2 for UTA L2.<br/>
 +
 
 +
'''Mandatory fields''' to add a new transaction record:<br/>
 +
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'<br/>
 +
sf_Object ID -  is the object(UTA L2) the transaction would be attached to.<br/>
 +
sf_Type -  [[Transaction_Custom_and_Standard_Field_Types|Transaction Type]] of the transaction record.<br/>
 +
sf_Status - [[Transaction_Status|Transaction Status]] of the transaction record.<br/>
 +
translevel -  is the UTA Level (UTA L1/L2) the transaction would be attached to. <span style="color: #ff0000;">(NEW that is implemented in API v2)</span><br/>
 +
 
 +
--Begin custom parameter --<br/>
 +
 jsonrset : [{"recordid":"0","sf_Object ID":"10697974","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record","translevel":"2"}]<br/>
 +
 --End custom parameter--<br/>
  
 +
'''<span style="color: #ff0000;">New Endpoint</span>: '''/API/2/transactions/<br/>
  
 +
[[File:Transactions_02.png|800px]]
  
 
====Delete Transaction Record====
 
====Delete Transaction Record====
 
'''Function Name'''  -  3.10.4 Delete Transaction Record<br />
 
'''Function Name'''  -  3.10.4 Delete Transaction Record<br />
 
'''Description'''  - Delete a transaction record <br />
 
'''Description'''  - Delete a transaction record <br />
'''Object Type'''  -  Submission Manager - Transactions<br />
+
'''Object Type'''  -  Company Transactions<br />
 
'''Action Type '''  - Delete<br />
 
'''Action Type '''  - Delete<br />
 
'''Field List'''  -  
 
'''Field List'''  -  
  
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"recordid":"2738523"}]<br />
 +
--End custom parameter--
 +
 +
[[File:TransactionDelete1.PNG|800px]]
 +
 +
 +
 +
====Link/Unlink Transaction Record from other objects====
 +
<!--134010 - SmartConnect API link and unlink transactions from Objects-->
 +
This new feature to link/unlink transactions is only available in APIv2 and only for L1 & L2 transactions.
 +
 +
 +
<u>'''Sample A - Link existing transactions to an existing L1'''</u><br/>
 +
'''Function Name'''  -   Link transaction record to an existing Submission Manager L1<br data-attributes="%20/">
 +
 '''Description'''  - Link existing company transaction record to an existing Submission Manager L1 record<br data-attributes="%20/">
 +
 '''Object Type'''  -  Submission Manager - Transactions<br data-attributes="%20/">
 +
 '''Action Type '''  - Link / Unlink<br data-attributes="%20/">
 +
 '''Field List'''  -  cf_5469887
 +
 +
'''Mandatory fields''' 
 +
sf_Object ID -  is the object(UTA L1 id) the transaction would be attached to. <br/>
 +
translevel -  level in the UTA to link the transaction to.<br/>
 +
sf_ transaction id -  is the existing transaction record id.<br/>
 +
islink -  indicates to link the transaction to a record.<br/>
 +
cf_5469887 -  transaction custom field.<br/>
 +
 +
--Begin custom parameter --<br/>
 +
 jsonrset : [{"recordid":"0","sf_Object ID":"1123456","translevel":"1","cf_5469887":"Test linking Transaction to SML1","sf_transaction id":"6165326","islink":"1"}]<br/>
 +
 --End custom parameter--<br/>
 +
 +
<u>'''Sample B - Unlink existing transactions to an existing L1'''</u><br data-attributes="/">
 +
 '''Function Name'''  -   Unlink transaction record to an existing Submission Manager L1<br/>
 +
  '''Description'''  - Unlink existing company transaction record from the Submission Manager L1 record<br/>
 +
  '''Object Type'''  -  Submission Manager - Transactions<br/>
 +
  '''Action Type '''  - Link / Unlink<br/>
 +
  '''Field List'''  -  
 +
 +
'''Mandatory fields'''<br/>
 +
sf_Object ID -  is the object(UTA L1 id) the transaction would be attached to.<br/>
 +
translevel -  level in the UTA to link the transaction to.<br/>
 +
sf_ transaction id -  is the existing transaction record id.<br/>
 +
unlink -  indicates to link the transaction to a record.<br/>
 +
 +
--Begin custom parameter --<br/>
 +
  jsonrset : [{"sf_Object ID":"1123456","translevel":"1","sf_transaction id":"6165326","unlink":"1"}]<br/>
 +
--End custom parameter--<br/>
 +
 +
<u>'''Sample C - Link existing transactions to an existing L2'''</u><br data-attributes="/">
 +
 '''Function Name'''  -   Link transaction record to an existing Submission Manager L2<br/>
 +
  '''Description'''  - Link existing company transaction record to an existing Submission Manager L2 record<br/>
 +
  '''Object Type'''  -  Submission Manager - Transactions<br/>
 +
  '''Action Type '''  - Link / Unlink<br/>
 +
  '''Field List'''  -  cf_5469887
 +
 +
'''Mandatory fields''' <br/>
 +
sf_Object ID -  is the object(UTA L2 id) the transaction would be attached to.<br/>
 +
translevel -  level in the UTA to link the transaction to.<br/>
 +
sf_ transaction id -  is the existing transaction record id.<br/>
 +
islink -  indicates to link the transaction to a record.<br/>
 +
cf_5469887 -  transaction custom field.<br/>
 +
 +
--Begin custom parameter --<br/>
 +
  jsonrset : [{"recordid":"0","sf_Object ID":"50268865","translevel":"2","cf_5469887":"Test linking Transaction to SML2","sf_transaction id":"6165326","islink":"1"}]<br/>
 +
--End custom parameter--<br/>
 +
 +
<u>'''Sample D - Unlink existing transactions to an existing L2'''</u><br/>
 +
 '''Function Name'''  -   Unlink transaction record to an existing Submission Manager L2<br/>
 +
  '''Description'''  - Unlink existing company transaction record from the Submission Manager L2 record<br/>
 +
  '''Object Type'''  -  Submission Manager - Transactions<br/>
 +
  '''Action Type '''  - Link / Unlink<br/>
 +
  '''Field List'''  -  
 +
 +
'''Mandatory fields''' <br/>
 +
sf_Object ID -  is the object(UTA L2 id) the transaction would be attached to.<br/>
 +
translevel -  level in the UTA to link the transaction to.<br/>
 +
sf_ transaction id -  is the existing transaction record id.<br/>
 +
unlink -  indicates to link the transaction to a record.<br/>
 +
 +
--Begin custom parameter --<br/>
 +
  jsonrset : [{"sf_Object ID":"50268865","translevel":"2","sf_transaction id":"6165326","unlink":"1"}]<br/>
 +
--End custom parameter--<br/>
 +
 +
===UTA Consumer/Provider===
 +
<!--85831 - SmartConnect to support Consumer/Provider link  Applied to prod for May 2019 Upgrade-->
 +
* <span style="color: #ff0000;">Available after May 2019 upgrade.</span>
 +
Consumer/Provider Relationship should be [[Configuring_UTA_Provider/Receiver_(Consumer)_Relationships | configured]] before using this API function. UTA Provider/Consumer Relationships allows for the sharing of data between different [[UTA|UTAs]].
 +
 +
'''Notes'''<br />
 +
1. For May 2019 upgrade, add/update function will not support custom fields of the relationship.<br />
 +
2. Update function is only used to update role between consumer/provider. When roleid/rolename is updated, all custom fields of the relationship from the previous role will be deleted.<br />
 +
3. To update either the consumerid or the providerid of the consumer/provider record, these ids can't be updated. The record should be delete first and then add new consumer/provider record.
 +
3. List function supports standard fields and custom fields of the relationship.
 +
 +
 +
 +
====List Consumer/Provider Records====
 +
'''Function Name'''  -  3.11.1 List Consumer/Provider Records<br />
 +
'''Description'''  - Get a list of all Consumer/Provider records<br />
 +
'''Object Type'''  -  Submission Manager - Grant<br />
 +
'''Action Type '''  - List Provider / Consumer Link<br />
 +
'''Provider/Consumer Link '''  - Meeting Manager - L1 to Submission Manager - L1<br />
 +
'''Field List''' -
 +
 +
<u>'''Sample 1A'''</u><br/>
 +
'''Description'''  - Retrieve list of all consumer/provider records <br />
 +
--Begin custom parameter --<br />
 +
criteria:<br />
 +
sortby:<br />
 +
othersettings :<br />
 +
--End custom parameter--
 +
 +
[[File:ConsumerProviderList1.PNG|800px]]
 +
 +
====Create or Update or Delete Consumer/Provider Record====
 +
'''Function Name'''  -  3.11.2 Create or Update or Delete Consumer/Provide Records<br />
 +
'''Description'''  - Create, update or delete consumer/provider records<br />
 +
'''Object Type'''  -  Submission Manager - Grant<br />
 +
'''Action Type '''  - Update Provider/ Consumer Link<br />
 +
'''Provider/Consumer Link '''  - Meeting Manager - L1 to Submission Manager - L1<br />
 +
'''Field List''' -
 +
 +
'''Mandatory fields''' to add a new transaction record:<br/>
 +
providerid - [[Determining_the_applicationid|Application ID]] of the provider UTA<br/>
 +
consumerid - [[Determining_the_applicationid|Application ID]] of the consumer UTA <br/>
 +
roleid/rolename - Connection roleid/rolename between consumer/provider <br/>
 +
associationid - Unique identifier for the consumer/provider relationship table
 +
 +
 +
<u>'''Sample 2A'''</u><br/>
 +
'''Description'''  - Create a new consumer/provider record <br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"associationid": "0","roleid": "82840","consumerid":"10697883","providerid":"11191051"}]<br />
 +
--End custom parameter--
 +
 +
[[File:ConsumerProviderCreate1.PNG|800px]]
 +
 +
<u>'''Sample 2B'''</u><br/>
 +
'''Description'''  - Update an existing consumer/provider record <br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"associationid":"265692","isupdate":"1","rolename":"Cycle","consumerid":"8276105","providerid":"11190976"}]<br />
 +
--End custom parameter--
 +
 +
[[File:ConsumerProviderUpdate1.PNG|800px]]
 +
 +
<u>'''Sample 2C'''</u><br/>
 +
'''Description'''  - Delete an existing consumer/provider record <br />
 +
--Begin custom parameter --<br />
 +
jsonrset : [{"associationid":"265694","isdelete":"1","rolename": "Meeting","consumerid":"8276202","providerid":"11190976"}]<br />
 +
--End custom parameter--
  
 +
[[File:ConsumerProviderDelete1.PNG|800px]]
  
 
==See Also==
 
==See Also==

Latest revision as of 10:01, 23 June 2023

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 – is used to define which fields are retrievable through the function call. Please limit field list to ~50 standard fields/custom fields.

Configurations and Responses

Visit the interactive demonstration page to test the sample functions.

Metadata

This function will retrieve the metadata of the selected Object Type.

Get Metadata of a Universal Tracking Application

Function Name  -  3.01.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


Sending API request using cURL

cURL command below is an example on how to send API request to Get Metadata of a Universal Tracking Application using cURL.

curl -X GET -k -i 'https://api.smartsimple.com/API/1/levelone/
?url=https://api.smartsimple.com/API/1/levelone/
&companyid=825646
&alias=api
&username=smartconnectdemo@smartsimple.com
&password=********************
&apitoken=U2N4RwUBTn5XZldZXFdfWX1@C2JAWXVuAjIF'


Get Metadata of Organizations

Function Name  -  3.01.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.

APIFunctionGetOrgMeta.PNG

Get Metadata from Contacts

Function Name  -  3.01.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.

APIFunctionGetUserMeta.PNG

Report

This function will retrieve the results of the query from an existing report by using the reportid.

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  -  Mandatory field:
reportid - is the Report ID of the report in the instance.
Optional field
criteriavalue - when the report has text criteria, values for the criteria(s) should be indicated in this field. If report contains multiple criteria, values should be delimited by double semi-colon eg. "VALUE_1;;VALUE_2".

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--

APIFunctionReport1.PNG

A report query on a list of Specialty with more than 5 Assessors per specialty

Description  - Shows a list of Specialty with more than 5 Assessors per specialty
--Begin custom parameter --
reportid : 48281
criteriavalue: 5
--End custom parameter--

APIFunctionReport2.PNG

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--

APIFunctionReport3.PNG

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--

APIFunctionReport4.PNG

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--

APIFunctionReport5.PNG

Get

This function will retrieve all fields from the Field List of a single record based on the recordid of an Object Type.

Retrieve a Single Organization Record

Function Name  -  3.03.1 Get Method Sample 1: Retrieve a Single Organization Record
Description  - This function will retrieve a single record from the organization using the recordid: 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

Function Name  -  3.03.2 Get Method Sample 2: Retrieve a Single Contact Record
Description  - This function will retrieve a single record from the user table using the User ID. The function is set up to retrieve the fields listed under Field List.
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.03.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

Retrieve a Single Grant Application Payment Record

Function Name  -  3.03.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

Get System Variables

Retrieve a System Variable Record

Function Name  -  3.03.5 System Variables Sample 1: Get
Description  - Get information on the system variables by searching the System Variable ID
Object Type  -  System Variables
Action Type   -  Get
Field List  - sf_ID;;sf_Name;;sf_Value;; 

--Begin custom parameter --
recordid: 3601
--End custom parameter--


List

This function will retrieve a list of records from the selected Object Type. Custom parameters for List Functions are:

  • criteria - this is an optional json array. This contains the following nodes: "andor", "field", "operator" and "value"
Values of each nodes:
"andor" - either "and" or "or"
"field" - name of the standard/custom field to set the condition to
"operator" - can use the following: =,>,>=,<=,<,<>,!=,like,not like
"value" - value for the filter
sample1:
criteria: [{"andor":"and","field":"FIELDNAME","operator":"like","value":"PATTERN"}]
sortby: [{"field":"FIELDNAME","direction":"asc"}]
othersettings : {"getstorevalue":"1","keyformat":"0"}
sample2:
criteria: [{"andor":"and","field":"FIELDNAME1","operator":"=","value":"100"},{"andor":"or","field":"FIELDNAME2","operator":"like","value":"PATTERN"}]
sortby: [{"field":"FIELDNAME","direction":"desc"}]
othersettings : {"getstorevalue":"0","keyformat":"0"}
sample3:
An example query with brackets: ( (cf_somefield1 like '%whatever%' or cf_somefield2 like  '%whatever%'  or cf_somefield3 like  '%whatever%'  or cf_somefield4like  '%whatever%' ) and (cf_someotherfield1='whatever' or cf_someotherfield2='whatever else'))
criteria: [{ "andor": "(", "field": "cf_somefield1", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield2", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield3", "operator": "like", "value": "whatever" },{ "andor": "or", "field": "cf_somefield4", "operator": "like", "value": "whatever" },{ "andor": ") and (", "field": "cf_someotherfield1", "operator": "=", "value": "whatever" },{ "andor": "or", "field": "cf_someotherfield2", "operator": "=", "value": "whatever else" }]
sortby: 
othersettings : {"getstorevalue":"0","keyformat":"0"}
  • sortby - this is an optional json array. This contains the following nodes: "field" and "direction"
"field" - name of the standard/custom field to sort records by
"direction" - either "asc" (for ascending) or "desc" (for descending)
  • othersettings
    • getstorevalue - this is an optional settings for the json array. Options are: int type: 0 - to get display value, 1 to get stored value (value from the database eg. $25,000 vs 25000)
    • keyformat - this is an optional settings for the json array. Options are: 0 - to use what is configured in the Field List form the SmartConnect Function, 1 - to use the custom field names / standard field names and 2 - to use the custom field ID
Retrieve a list of contacts

Function Name  -  3.04.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"}]
othersettings :
--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"}]
othersettings :
--End custom parameter--

APIFunctionSample5b.PNG

Retrieve a list of organizations

Function Name  -  3.04.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 : 
keyformat:
--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 the list in 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"}]
othersettings :
--End custom parameter--

APIFunctionSample5d.PNG

Retrieve a list of claims

Function Name  -  3.04.3 List Method Sample 3: CMS360° - Retrieve a list of claims
Description  - To retrieve a list of claims by professors 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"}]
othersettings :
--End custom parameter--

APIFunctionSample5e.PNG

List File

List files of an existing organization

Function Name  -  3.04.4.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
othersettings :
--End custom parameter--

APIFunctionSample5f.PNG

List files from an existing application

Function Name  -  3.04.4.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.04.5.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.04.6.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.04.7.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:
objectid = Opportunity ID
type = either '"contacts"' or '"organizations"'


--Begin custom parameter --
objectid: 10697883
type: contacts
--End custom parameter--

Note: Please always use objectid (as per May 2019 update). recordid still works.

APIFunctionSample5j.PNG

List Organization associations from an application

Function Name  -  3.04.7.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:
objectid = Opportunity ID
type = either '"contacts"' or '"organizations"'
--Begin custom parameter --
objectid: 10697883
type: organizations
--End custom parameter--

Note: 1. As per May 2019 upgrade, use objectid but recordid still works. 2. In Field List, either use organizations or companies. If organizations is used in the Field List, type in the parameter should be organizations.

APIFunctionSample5k.PNG

List System Variables

List All System Variables

Function Name  -  3.04.8.1 System Variables Sample 1: List
Description  - Retrieves all the system variables
Object Type  -  System Variables
Action Type   -  List
Field List  - sf_ID;;sf_Name;;sf_Value;; 

No parameters are needed to retrieve all the global system variables.
 

APIFunctionSystemVariables1.PNG

Update

This function will create new records or update existing records based on the selected Object Type.

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

Create/Update UTA L1 record

Function Name  -  3.05.1.3 Create/update UTA L1 record
Description  - Create new records or update UTA L1 records
Object Type  -  Submission Manager - Grant
Action Type   -  Update
Field List  - sf_Name;;sf_Type ID;;sf_Status ID;;sf_Company ID;;sf_Person ID;;sf_Owner ID;;sf_Start Date;;sf_End Date;;cf_1523228

Sample 1E
Description - to add a new UTA L1 record


Mandatory fields to add new records:
recordid - to create new record, recordid should be '0'
sf_Type ID - assigned Type ID of the new UTA L1 record.
sf_Status ID - assigned Status ID of the new UTA L1 record.
--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Type ID":"20654","sf_Status ID":"25178","sf_Name":"Test 1 Application","sf_Customer":"1767970","sf_Person":"88159402","sf_Owner":"3108429","sf_Start Date":"2018-01-01","sf_End Date":"2018-12-31"}]
--End custom parameter--

APIFunctionUpdateUtaL1b.PNG

Sample 1F
Description - To update value of a custom field of an existing UTA L1 record.


Mandatory fields to update existing records:
recordid - is the Opportunity ID of existing record.
--Begin custom parameter --
jsonrset : [{"recordid":"8276165","cf_1523228":"Change value of this custom field thru API function"}]
--End custom parameter--

APIFunctionUpdateUtaL1a.PNG

Create/Update UTA L2 record

Function Name  -  3.05.1.4 Create/update UTA L2 record
Description  - Create new records or update UTA L2 records
Object Type  -  Submission Manager - Activity
Action Type   -  Update
Field List  - sf_Subject;;sf_Type ID;;sf_Status ID;;sf_Owner ID;;sf_Start Date;;sf_End Date;;sf_Parent ID;;cf_Payment Notes

Sample 1G
Description - to add a new UTA L2 record


Mandatory fields to add new records:
recordid - to create new record, recordid should be '0'
sf_Parent ID - parent of the UTA L2 record. use "objectid" in place of sf_Parent ID to update
sf_Type ID - assigned Type ID of the new UTA L2 record.
sf_Status ID - assigned Status ID of the new UTA L2 record.
--Begin custom parameter --
jsonrset : [{"recordid":"0","objectid":"10697883","sf_Type ID":"49096","sf_Status ID":"49093","sf_Start Date":"2018-10-01","sf_End Date":"2018-11-01","cf_Payment Notes":"new record added as an example"}]
--End custom parameter--

APIFunctionUpdateUtaL2a.PNG

Sample 1H
Description - to update existing UTA L2 record


Mandatory fields to update a custom field "Payment Notes" of an existing records:
recordid - is the Event ID of existing record.
--Begin custom parameter --
jsonrset : [{"recordid":"10020959 ","cf_Payment Notes":"Change value of this custom field thru API function"}]
--End custom parameter--

APIFunctionUpdateUtaL2b.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 ID 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

Update function for association can add new association records or update the role of an existing association record.
A. When this function is used to add new record, the following parameters are mandatory: objectid, companyid or contactid, rolename or roleid.
B. When this function is used to update existing association records, it can only update the role of existing association records. Mandatory parameters are objectid, companyid or contactid, rolename or roleid and associationid. When the existing record is updated to a new role, all custom fields of the association from the previous role will be deleted.
If you need to change company/contact, the record will need to be deleted and then add a new record for a new association.

Create/Update contact associations of a Level 1

Function Name  -  3.05.3.1 Update Associations Method Sample 1: update contact associations of an existing Level 1
Description  - Create new records or update existing contact associated with an existing Level 1 record
Object Type  -  Submission Manager - Grant
Action Type   -  Update Associations
Field List  - contacts.*

Sample 3A
Description  - To create new user associated with an existing Submission Manager Level 1


Mandatory fields to add new records:
objectid -  is the Opportunity ID where the user will be associated to.
contactid - User ID
rolename / roleid -  association role of the user
isupdate -  "1" for yes to update and "0" for to add new record


Parameter Sample#1
--Begin custom parameter --
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108577","rolename":"Meeting Participant","isupdate":"0"}]}]
--End custom parameter--

Parameter Sample#2 - Starting May 2019 Upgrade
--Begin custom parameter --
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108577","rolename":"Signee Internal"}]}]
--End custom parameter--

Parameter Sample#3 - adding multiple contacts sample
--Begin custom parameter --
jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108226","rolename":"Signee Internal"},{"contactid":"3108119","rolename":"Meeting Participant"}]}]
--End custom parameter--

APIFunctionSample6g.PNG


Sample 3B
Description  - To update association information of an existing Submission Manager Level 1 record


Mandatory fields to update records:
objectid - is the Opportunity ID where the user will be associated to.
isupdate -  "1" for yes and "0" for no contactid - User ID associationid - is the system's unique numerical value associated with each Association record rolename / roleid -Role ID

--Begin custom parameter --
jsonrset : [{"recordid":"10697883","contacts":[{"isupdate":"1","contactid":"88435720","associationid":"2829620","rolename":"Signee Internal", "cf_My customfield": "updated value"}]}]
--End custom parameter--

APIFunctionSample6h.PNG

Update System Variables

Update a System Variable

Function Name  -  3.05.4.1 System Variables Sample 1: Update
Description  - Updates the value or the name of an existing system variables
Object Type  -  System Variables
Action Type   - Update
Field List  - sf_ID;;sf_Name;;sf_Value;; 

--Begin custom parameter --
jsonrset : [{"recordid":"9313","sf_Value":"2"}]
--End custom parameter--

APIFunctionSystemVariables3.PNG


Upload/Download File

This function will download the file.

Download File(s) from a company profile

Function Name  -  3.06.1 Download File Method Sample 1: Download file(s) from an existing company record
Description  - Download the file based on the criteria indicated.
Object Type  -  Company
Action Type   -  Download File
Field List  - Mandatory fields to download a file:
filename - name of the file to be downloaded.
objectid - is the Company ID where the file is attached to.
fieldid - Custom Field ID of the Organization record that is either a single file type or multiple file type. --Begin custom parameter --
filename: Test.txt
objectid: 1688407
fieldid: 1523157
--End custom parameter--
Note: In the API website, the content of the file will be shown in the Response section as seen below.
APIFunctionDownloadFile1.PNG

Upload File(s) to a field in the company profile

Function Name  -  3.06.2 Upload File Method Sample 1: Upload file(s) to an existing company record
Description  - Upload the file based on the criteria indicated.
Object Type  -  Company
Action Type   -  Upload Files
Field List  -  cf_123456  Mandatory fields to upload a file: objectid - is the [wiki/Determining_the_companyid Company ID] where the file is attached to.
fieldid - [wiki/Custom_Field_ID Custom Field ID] of the Organization record that is either a [wiki/Custom_Field_Type:_Upload_-_Single_File_Storage single file type] or [wiki/Custom_Field_Type:_Upload_-_Multiple_Files_Storage multiple file type]. --Begin custom parameter --
objectid: 1688407
fieldid: 1523157
--End custom parameter--
Note: To test use Postman. The API URL for upload file will be: https://alias.smartsimple.com/API/1/company/?alias=xxxxx&companyid=xxxxxx&username=xxxxx&password=xxxxx&apitoken=xxxxx&objectid=xxxxx&fieldid=xxxxx
with the file included in the form data, use POST method.

Search File

This function will retrieve a list of files by searching for a keyword.

Search Files Method Sample 1: Search Case Documents

Function Name  -  3.07.1 Search Files Method Sample 1: Search Case Documents
Description  - Search the multiple file field for keyword
Object Type  -  Case Management 360° - Case
Action Type   -  Search Files
Field List  - cf_Case Documents;;sf_Application Template Type;;sf_Customer

--Begin custom parameter --
keywords: HIPAA
--End custom parameter--

APIFunctionSample8.PNG

Variables Replace

This function will pass the parameters: 1. objectid and 2. content (block of text) which will be run thru the variable processor and return the results as JSON.

Variables Replace - Company

Function Name  -  3.09.1 System Variables Replace - Company
Description  - This function will send the objectid=Company ID and the desired content with system variables. It returns a json format of the content with all the system variables replaced by the variable processor.
Object Type  -  Company
Action Type   - Variables Replace
Field List  -

--Begin custom parameter --
objectid: 825646
content: Company name is @name@, located at @address@, @city@, @country@. Primary Contact is @primarycontact@.
--End custom parameter--


APIFunctionVariablesReplace1.PNG

Variables Replace - User

Function Name  -  3.09.2 System Variables Replace - User
Description  - This function will send the objectid=User ID and the desired content with system variables. It returns a json format of the content with all the system variables replaced by the variable processor.
Object Type  -  User
Action Type   - Variables Replace
Field List  -  

--Begin custom parameter --
objectid: 88159402
content: Hello @firstname@ (@userid@), from company @company@, located in @company.address@.
--End custom parameter--

APIFunctionVariablesReplace2.PNG

Variables Replace - UTA L1

Function Name  -  3.09.3 System Variables Replace - UTA L1
Description  - This function will send the objectid=Opportunity ID and the desired content with system variables. It returns a json format of the content with all the system variables replaced by the variable processor.
Object Type  -  Submission Manager - Grant
Action Type   - Variables Replace
Field List  -  

--Begin custom parameter --
objectid: 8276165
content: This application is called "@name@", under the status of "@status@". The owner on this record is "@owner.fullname@", belonging to "@owner.company.name@". The company is "@client.name@". Parent Company is "@company.parent.name@.
--End custom parameter--

APIFunctionVariablesReplace3.PNG

Variables Replace - UTA L2

Function Name  -  3.09.4 System Variables Replace - UTA L2
Description  - This function will send the objectid=Event ID and the desired content with system variables. It returns a json format of the content with all the system variables replaced by the variable processor.
Object Type  -  Submission Manager - Grant
Action Type   - Variables Replace
Field List  -  

--Begin custom parameter --
objectid: 18431901
content: This is a level two id record with eventid of"@eventid@" with L2 Type of "@type@" and status of "@status@". The parent record id is "@parent.opportunityid@". The parent Company's address is "@parent.company.address@".
--End custom parameter--

APIFunctionVariablesReplace4.PNG

Variables Replace - UTA L3

Function Name  -  3.09.5 System Variables Replace - UTA L3
Description  - This function will send the objectid=Event ID and the desired content with system variables. It returns a json format of the content with all the system variables replaced by the variable processor.
Object Type  -  Submission Manager - Disbursement
Action Type   - Variables Replace
Field List  -  

--Begin custom parameter --
objectid: 18432872
content: This is L3 record id "@eventid@", of status "@status@". The parent L2 Type is "@parent.type@". The L1 company is "@parent.parent.company.name@".
--End custom parameter--

APIFunctionVariablesReplace5.PNG

Delete

Delete a Single Organization Record

Function Name  -  3.09.1 Delete Organization Record
Description  - Delete existing organization record
Object Type  -  Company
Action Type   - Delete
Field List  -   --Begin custom parameter --
jsonrset : [{"recordid":"1924628"}]
--End custom parameter--

Delete org.PNG

Delete a Single Contact Record

Function Name  -  3.09.2 Delete Contact Record
Description  - Delete existing user record
Object Type  -  User
Action Type   - Delete
Field List  -  

--Begin custom parameter --
jsonrset : [{"recordid":"88173129"}]
--End custom parameter--

Delete user.PNG

Delete Organization Records (Batch delete)

Function Name  -  3.09.1 Delete Organization Records
Description  - Delete existing organization records
Object Type  -  Company
Action Type   - Delete
Field List  -   --Begin custom parameter --
jsonrset : [{"recordid":"1924629"},{"recordid":"1924630"},{"recordid":"1924631"}]
--End custom parameter--
Result:
{"records":[{"recordid":"1924629","status":"Object Deleted"},
{"recordid":"1924630","status":"Object Deleted"},
{"recordid":"1924631","status":"Object Deleted"}],"message":{}}

Delete a Single Contact Record

Function Name  -  3.09.2 Delete Contact Record
Description  - Delete existing user record
Object Type  -  User
Action Type   - Delete
Field List  -  

--Begin custom parameter --
jsonrset : [{"recordid":"88173129"}]
--End custom parameter--

Delete a Single Grant Application Record

Function Name  -  3.09.3 Delete UTA Level 1 Record
Description  - Delete existing UTA Level 1 record
Object Type  -  Submission Manager - Grant
Action Type   - Delete
Field List  -  

--Begin custom parameter --
jsonrset : [{"recordid":"8276165"}]
--End custom parameter--

Delete uta1.PNG

Delete a Single Grant Application Payment Record

Function Name  -  3.09.4 Delete UTA Level 2 Record
Description  - Delete existing UTA Level 2 record
Object Type  -  Submission Manager - Activity
Action Type   - Delete
Field List  -  

--Begin custom parameter --
jsonrset : [{"recordid":"10021111"}]
--End custom parameter--

Delete uta2.PNG

Delete Association Record

Function Name  -  3.09.5 Delete Association Records
Description  - Delete existing contact associated with an existing Level 1 record
Object Type  -  Submission Manager - Grant
Action Type   -  Update Associations
Field List  - contacts.*

Sample
Description  - To delete existing user associated with an existing Submission Manager Level 1
Mandatory fields
objectid -  is the Universal Tracking Application Level 1 where the user will be associated with.
isdelete -  "1" for yes to delete
rolename / roleid -  association role of the user contactid - User ID associationid - is the system's unique numerical value associated with each Association record

--Begin custom parameter --
jsonrset : {"objectid": "10697883", "contacts" : [{"isdelete": "1", "contactid": "3108991", "rolename": "Meeting Participant","associationid":"2829623"}]}
--End custom parameter--

APIFunctionDeleteL1User.PNG

Delete Multiple Upload Files

After the July 2023 upgrade, new function to delete files from Upload - Multiple Files Storage fields was added. Function Name  -  3.09.6 Delete Files in Level One
Description  - Delete existing files from a multiple file field in Level 1 record
Object Type  -  Submission Manager - Grant
Action Type   -  Files - Delete
Field List  - cf_multiplefilefield


Sample
Description  - To delete existing files from a multiple file field in Submission Manager Level 1
Mandatory fields
objectid -  is the Universal Tracking Application Level 1 id (opportunityid) where the file to be deleted is located.
fieldid -  the field id of the multiple file field
filename -  the filename of the file to be deleted

--Begin custom parameter --
jsonrset : [{"objectid":"1223454","fieldid":"3163245","filename":"147807_dup.png"},{"objectid":"1223454","fieldid":"2697568","filename":"128895.png"}]
--End custom parameter--

Transaction

  • Available after May 2019 upgrade.
  • Transaction should be configured before using this API function. Transactions can be attached to an object (Organization or User or UTA L1/L2).

Get Transaction Record

Get a Transaction Record from an Organization

Function Name  -  3.10.1.1 Get a Transaction Record from an Organization
Description  - Retrieve an organization transaction record
Object Type  -  Company Transactions
Action Type   - Get
Field List - sf_Transaction ID;;sf_Object ID;;sf_Description;;sf_Subject;;sf_Type;;sf_Status;;sf_Created Date;;sf_Modified Date;;sf_Created By;;sf_Updated By

Mandatory fields to get a transaction record:
recordid -  the unique identifier from the transaction table.

--Begin custom parameter --
recordid:2738520
othersettings :
--End custom parameter--

TransactionGet1.PNG

Retrieve a Transaction Record from a Submission Manager L1

Function Name  -  3.10.1.2 Get Method Sample 4: Retrieve a Transaction Record from a Submission Manager L1
Description  - Retrieve a transaction record
Object Type  -  Submission Manager - Transactions
Action Type   - Get
Field List - sf_End Date;;sf_Description;;sf_Subject;;sf_Start Date;;sf_Status;;sf_Modified Date;;sf_Updated By;;sf_Created Date;;sf_Created By;;sf_Type;;sf_Transaction ID;;sf_Object ID

Mandatory fields to get a transaction record:
recordid -  the unique identifier from the transaction table.

--Begin custom parameter --
recordid:2738527
othersettings :
--End custom parameter--

TransactionGet2.PNG

List Transaction Record

Function Name  -  3.10.2 List Transaction Records
Description  - Get a list of all transaction records
Object Type  -  Submission Manager - Transactions
Action Type   - List
Field List  -  sf_End Date;;sf_Description;;sf_Subject;;sf_Start Date;;sf_Status;;sf_Modified Date;;sf_Updated By;;sf_Created Date;;sf_Created By;;sf_Type;;sf_Transaction ID;;sf_Object ID

Sample 2A
Description  - Retrieve list of all transaction records
--Begin custom parameter --
criteria:
sortby:
othersettings :
--End custom parameter--

TransactionList.PNG

Sample 2B
Description  - Retrieve a list of transaction records filtered with Transaction Type
--Begin custom parameter --
criteria : [{"andor":"and","field":"sf_Type","operator":"=","value":"Transaction_in_Org"}]
sortby:
othersettings :
--End custom parameter--

TransactionList2.PNG

Update Transaction Record

Create or Update Transaction Record in Organization Profile

Function Name  -  3.10.3.1 Create or Update Transaction Record in Organization Profile
Description  - Create new transaction record attached to a Organization record
Object Type  -  Company Transactions
Action Type   - Update
Field List  -  sf_Transaction ID;;sf_Object ID;;sf_Description;;sf_Subject;;sf_Type;;sf_Status;;sf_Created Date;;sf_Modified Date;;sf_Created By;;sf_Updated By

Mandatory fields to add a new transaction record:
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'
sf_Object ID -  is the object(Organization, User, UTA L1/L2) the transaction would be attached to.
sf_Type -  Transaction Type of the transaction record.
sf_Status - Transaction Status of the transaction record.

Sample 3A
Description  - Create new transaction record
--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record"}]
--End custom parameter--

TransactionUpdate2.PNG

Sample 3B
Description  - Update existing transaction record
--Begin custom parameter --
jsonrset : [{"recordid":"2738520","sf_Subject":"Changed subject thru api"}]
--End custom parameter--

TransactionUpdate1.PNG

Create or Update Transaction Record in Submission Manager L1

Sample A - creating new transaction record from API v1
Function Name  -  3.10.3.2 Create or Update Transaction Record in Submission Manager L1
Description  - Create new transaction record attached to a Submission Manager L1 record
Object Type  -  Submission Manager - Transactions
Action Type   - Update
Field List  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type

Mandatory fields to add a new transaction record:
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'
sf_Object ID -  is the object(Organization, User, UTA L1/L2) the transaction would be attached to.
sf_Type -  Transaction Type of the transaction record.
sf_Status - Transaction Status of the transaction record.

--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record"}]
--End custom parameter--

TransactionUpdate.PNG

Sample B - creating new transaction record in Submission Mgr L1 from API v2

Function Name  -  3.10.3.2  Create or Update Transaction Record in Submission Manager L1 (API v2)
Description  - Create new transaction record attached to a Submission Manager L1 record
Object Type  -  Submission Manager - Transactions
Action Type   - Update
Field List  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type;;cf_Remarks;;

Note that translevel is new in version 2 where translevel=1 for UTA L1 and translevel=2 for UTA L2.

Mandatory fields to add a new transaction record:
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'
sf_Object ID -  is the object(UTA L1) the transaction would be attached to.
sf_Type -  Transaction Type of the transaction record.
sf_Status - Transaction Status of the transaction record.
translevel -  is the UTA Level (UTA L1/L2) the transaction would be attached to. (NEW that is implemented in API v2)


--Begin custom parameter --
jsonrset : [{"recordid":"0","sf_Object ID":"10697883","sf_Type":"2119","sf_Status":"82626","translevel":"1","sf_Subject":"Test Transaction Record"}]
--End custom parameter--

New Endpoint/API/2/transactions/

Transactions 01.png


Sample C - creating new transaction record in Submission Mgr L2 from API v2

 Function Name  -  3.10.3.2 Create or Update Transaction Record in Submission Manager L2 (API v2)
 Description  - Create new transaction record attached to a Submission Manager L2 record
 Object Type  -  Submission Manager - Transactions
 Action Type   - Update
 Field List  -  sf_Object ID;;sf_Subject;;sf_Status;;sf_Type;;cf_Remarks;;

Note that translevel is new in version 2 where translevel=1 for UTA L1 and translevel=2 for UTA L2.

Mandatory fields to add a new transaction record:
recordid -  the unique identifier from the transaction table. To create new record, recordid should be '0'
sf_Object ID -  is the object(UTA L2) the transaction would be attached to.
sf_Type -  Transaction Type of the transaction record.
sf_Status - Transaction Status of the transaction record.
translevel -  is the UTA Level (UTA L1/L2) the transaction would be attached to. (NEW that is implemented in API v2)

--Begin custom parameter --
 jsonrset : [{"recordid":"0","sf_Object ID":"10697974","sf_Type":"2184","sf_Status":"82626","sf_Subject":"Test Transaction Record","translevel":"2"}]
 --End custom parameter--

New Endpoint/API/2/transactions/

Transactions 02.png

Delete Transaction Record

Function Name  -  3.10.4 Delete Transaction Record
Description  - Delete a transaction record
Object Type  -  Company Transactions
Action Type   - Delete
Field List  -  

--Begin custom parameter --
jsonrset : [{"recordid":"2738523"}]
--End custom parameter--

TransactionDelete1.PNG


Link/Unlink Transaction Record from other objects

This new feature to link/unlink transactions is only available in APIv2 and only for L1 & L2 transactions.


Sample A - Link existing transactions to an existing L1
Function Name  -   Link transaction record to an existing Submission Manager L1
 Description  - Link existing company transaction record to an existing Submission Manager L1 record
 Object Type  -  Submission Manager - Transactions
 Action Type   - Link / Unlink
 Field List  -  cf_5469887

Mandatory fields  sf_Object ID -  is the object(UTA L1 id) the transaction would be attached to.
translevel -  level in the UTA to link the transaction to.
sf_ transaction id -  is the existing transaction record id.
islink -  indicates to link the transaction to a record.
cf_5469887 -  transaction custom field.

--Begin custom parameter --
 jsonrset : [{"recordid":"0","sf_Object ID":"1123456","translevel":"1","cf_5469887":"Test linking Transaction to SML1","sf_transaction id":"6165326","islink":"1"}]
 --End custom parameter--

Sample B - Unlink existing transactions to an existing L1
 Function Name  -   Unlink transaction record to an existing Submission Manager L1
  Description  - Unlink existing company transaction record from the Submission Manager L1 record
  Object Type  -  Submission Manager - Transactions
  Action Type   - Link / Unlink
  Field List  -  

Mandatory fields
sf_Object ID -  is the object(UTA L1 id) the transaction would be attached to.
translevel -  level in the UTA to link the transaction to.
sf_ transaction id -  is the existing transaction record id.
unlink -  indicates to link the transaction to a record.

--Begin custom parameter --
  jsonrset : [{"sf_Object ID":"1123456","translevel":"1","sf_transaction id":"6165326","unlink":"1"}]
--End custom parameter--

Sample C - Link existing transactions to an existing L2
 Function Name  -   Link transaction record to an existing Submission Manager L2
  Description  - Link existing company transaction record to an existing Submission Manager L2 record
  Object Type  -  Submission Manager - Transactions
  Action Type   - Link / Unlink
  Field List  -  cf_5469887

Mandatory fields 
sf_Object ID -  is the object(UTA L2 id) the transaction would be attached to.
translevel -  level in the UTA to link the transaction to.
sf_ transaction id -  is the existing transaction record id.
islink -  indicates to link the transaction to a record.
cf_5469887 -  transaction custom field.

--Begin custom parameter --
  jsonrset : [{"recordid":"0","sf_Object ID":"50268865","translevel":"2","cf_5469887":"Test linking Transaction to SML2","sf_transaction id":"6165326","islink":"1"}]
--End custom parameter--

Sample D - Unlink existing transactions to an existing L2
 Function Name  -   Unlink transaction record to an existing Submission Manager L2
  Description  - Unlink existing company transaction record from the Submission Manager L2 record
  Object Type  -  Submission Manager - Transactions
  Action Type   - Link / Unlink
  Field List  -  

Mandatory fields 
sf_Object ID -  is the object(UTA L2 id) the transaction would be attached to.
translevel -  level in the UTA to link the transaction to.
sf_ transaction id -  is the existing transaction record id.
unlink -  indicates to link the transaction to a record.

--Begin custom parameter --
  jsonrset : [{"sf_Object ID":"50268865","translevel":"2","sf_transaction id":"6165326","unlink":"1"}]
--End custom parameter--

UTA Consumer/Provider

  • Available after May 2019 upgrade.

Consumer/Provider Relationship should be configured before using this API function. UTA Provider/Consumer Relationships allows for the sharing of data between different UTAs.

Notes
1. For May 2019 upgrade, add/update function will not support custom fields of the relationship.
2. Update function is only used to update role between consumer/provider. When roleid/rolename is updated, all custom fields of the relationship from the previous role will be deleted.
3. To update either the consumerid or the providerid of the consumer/provider record, these ids can't be updated. The record should be delete first and then add new consumer/provider record. 3. List function supports standard fields and custom fields of the relationship.


List Consumer/Provider Records

Function Name  -  3.11.1 List Consumer/Provider Records
Description  - Get a list of all Consumer/Provider records
Object Type  -  Submission Manager - Grant
Action Type   - List Provider / Consumer Link
Provider/Consumer Link   - Meeting Manager - L1 to Submission Manager - L1
Field List -

Sample 1A
Description  - Retrieve list of all consumer/provider records
--Begin custom parameter --
criteria:
sortby:
othersettings :
--End custom parameter--

ConsumerProviderList1.PNG

Create or Update or Delete Consumer/Provider Record

Function Name  -  3.11.2 Create or Update or Delete Consumer/Provide Records
Description  - Create, update or delete consumer/provider records
Object Type  -  Submission Manager - Grant
Action Type   - Update Provider/ Consumer Link
Provider/Consumer Link   - Meeting Manager - L1 to Submission Manager - L1
Field List -

Mandatory fields to add a new transaction record:
providerid - Application ID of the provider UTA
consumerid - Application ID of the consumer UTA 
roleid/rolename - Connection roleid/rolename between consumer/provider 
associationid - Unique identifier for the consumer/provider relationship table


Sample 2A
Description  - Create a new consumer/provider record
--Begin custom parameter --
jsonrset : [{"associationid": "0","roleid": "82840","consumerid":"10697883","providerid":"11191051"}]
--End custom parameter--

ConsumerProviderCreate1.PNG

Sample 2B
Description  - Update an existing consumer/provider record
--Begin custom parameter --
jsonrset : [{"associationid":"265692","isupdate":"1","rolename":"Cycle","consumerid":"8276105","providerid":"11190976"}]
--End custom parameter--

ConsumerProviderUpdate1.PNG

Sample 2C
Description  - Delete an existing consumer/provider record
--Begin custom parameter --
jsonrset : [{"associationid":"265694","isdelete":"1","rolename": "Meeting","consumerid":"8276202","providerid":"11190976"}]
--End custom parameter--

ConsumerProviderDelete1.PNG

See Also

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


API Sample Code