Changes

Creating SmartConnect Functions

21,250 bytes added, 15:01, 23 June 2023
Delete Multiple Upload Files
{{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.
* '''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==
[[File:APIFunctionSample5l.PNG|800px]]
 
'''Object Type'''  -  Company<br />
'''Action Type '''  -  Get Meta<br />
'''Field List'''  - companies.*<br />
No parameters are needed to retrieve metadata.
 
[[File:APIFunctionGetOrgMeta.PNG|800px]]
 
====Get Metadata from Contacts====
<!--63342 - SmartConnect API - metadata option to include Orgs/Contacts-->
'''Field List'''  - contacts.*<br />
No parameters are needed to retrieve metadata.
 
[[File:APIFunctionGetUserMeta.PNG|800px]]
 
===Report===
This function will retrieve the results of the query from an existing report by using the [[Determining_the_reportid|'''reportid''']].
====Retrieve a Single Organization Record====
'''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 under '''Field List'''.<br /> 
'''Object Type'''  -  Company<br />
'''Action Type '''  -  Get<br />
====Get System Variables====
=====Retrieve a System Variable Record=====
'''Function Name'''  -  3.03.5.1 System Variables Sample 1: Get<br />
'''Description'''  - Get information on the [[System_Variables|system variables]] by searching the System Variable ID<br />
'''Object Type'''  -  System Variables<br />
recordid: 3601<br />
--End custom parameter--
 
[[File:APIFunctionSystemVariables2.PNG|800px]]
: '''''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"}
Parameters used are:<br />
''recordidobjectid'' = [[Determining_the_opportunityid|Opportunity ID]]<br />
''type'' = either '"contacts"' or '"organizations"'
<br />
--Begin custom parameter --<br />
recordidobjectid: 827616510697883<br />
type: contacts<br />
--End custom parameter--
 
''Note:'' Please always use ''objectid'' (as per May 2019 update). ''recordid'' still works.
[[File:APIFunctionSample5j.PNG|800px]]
Parameters used are:<br />
''recordidobjectid'' = [[Determining_the_opportunityid|Opportunity ID]]<br />
''type'' = either '"contacts"' or '"organizations"'<br />
--Begin custom parameter --<br />
recordidobjectid: 827616510697883<br />
type: organizations<br />
--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.
[[File:APIFunctionSample5k.PNG|800px]]
sf_Status ID - assigned [[Determining_the_statusid|Status ID]] of the new UTA L1 record.<br />
--Begin custom parameter --<br />
jsonrset : [{"recordid":"0","sf_Type ID":"20654","sf_Status ID":"25178","sf_Name":"Test 1 Application","sf_Company IDsf_Customer":"1767970","sf_Person ID":"88159402","sf_Owner ID":"3108429","sf_Start Date":"2018-01-01","sf_End Date":"2018-12-31"}]<br />
--End custom parameter--
====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=====
'''Function Name'''  -  3.05.3.1 Update Associations Method Sample 1: update contact associations of an existing Level 1<br />
<br/>
'''Mandatory fields''' to add new records:<br/>
recordid objectid -  is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>contactid - [[Determining_the_userid|User ID]]<br/>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 />jsonrset : [{"recordid":"10697883","contacts":[{"contactid":"3108577","rolename ":"Meeting Participant","isupdate":"0"}]}] <br />--End custom parameter--  association role of the user
Parameter Sample#2 - Starting May 2019 Upgrade<br />
--Begin custom parameter --<br />
jsonrset : [{"recordid":"827616510697883","contacts":[{"contactid":"3108577","rolename":"Meeting ParticipantSignee 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","isupdaterolename":"0Meeting Participant"}]}] <br />
--End custom parameter--
[[File:APIFunctionSample6g.PNG|800px]]
 
<u>'''Sample 3B'''</u><br/>
<br />
'''Mandatory fields''' to update records:<br/>
recordid objectid - is the [[Determining_the_opportunityid|Opportunity ID]] where the user will be associated to.<br/>
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 />
jsonrset : [{"recordid":"827616510697883","contacts":[{"isupdate":"1","contactid":"310842988435720","associationid":"2829620","rolename":"Signee Internal","isupdatecf_My customfield":"1updated value"}]}]<br />
--End custom parameter--
===Upload/Download File===
This function will download the file.
fieldid: 1523157<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 />[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]
[[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===
This function will retrieve a list of files by searching for a keyword.
jsonrset : [{"recordid":"1924628"}]<br />
--End custom parameter--
 
[[File:Delete_org.PNG|800px]]
 
====Delete a Single Contact Record====
'''Function Name'''  -  3.09.2 Delete Contact Record<br />
[[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====
'''Description'''  - To delete existing user associated with an existing Submission Manager Level 1<br/>
'''Mandatory fields'''<br/>
recordid objectid -  is the [[Universal Tracking Application]] Level 1 where the user will be associated with.<br/>
isdelete -  "1" for yes to delete<br/>
rolename / roleid -  association role of the usercontactid - [[Determining_the_userid|User ID]]associationid - is the system's unique numerical value associated with each Association record
--Begin custom parameter --<br />
jsonrset : {"recordidobjectid": "827616510697883", "contacts" : [{"isdelete": "1", "contactid": "31090033108991", "rolename": "Meeting Participant","associationid":"2829623"}]}<br />
--End custom parameter--
[[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===
<!--72195 - SmartConnect Function on Transaction Applied to prod for May 2019 Upgrade-->* <span style="color: #ff0000;">Available after May 2019 upgrade.</span> * Transaction should be [[Category:Transactions 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 a Transaction Record from an Organization====='''Function Name'''  -  3.10.1.1 Get a Transaction Recordfrom 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 fields 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 />
'''Action Type '''  - Get<br />
'''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====
'''Function Name'''  -  3.10.2 List Transaction RecordRecords<br />
'''Description'''  - Get a list of all transaction records <br />
'''Object Type'''  -  Submission Manager - Transactions<br />
'''Action Type '''  - List<br />
'''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====
=====Create or Update Transaction Record in Organization Profile====='''Function Name'''  -  3.10.3 .1 Create or Update Transaction Recordin 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 transaction 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 '''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====
'''Function Name'''  -  3.10.4 Delete Transaction Record<br />
'''Description'''  - Delete a transaction record <br />
'''Object Type'''  -  Submission Manager - Company Transactions<br />
'''Action Type '''  - Delete<br />
'''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==
Smartstaff
1,385
edits