JavaScript: Difference between revisions

From SMTX Wiki
Jump to navigation Jump to search
 
(312 intermediate revisions by the same user not shown)
Line 5: Line 5:


=== Common Functions ===
=== Common Functions ===
==== logToConsole (7.23.01) ====
logs entry to the JavaScript console
#First parameter is the message or object to be added
CommonInterface.logToConsole('message');
''returns'': nothing
The logged information can be found on this url: https://yourserver/Common/Admin/JavaScriptConsole.aspx
==== logDebug ====
==== logDebug ====
logs entry as 'debug' into the physical logfile of the Common application
logs entry as 'debug' into the physical logfile of the Common application
Line 42: Line 49:
   
   
==== encrypts string ====
==== encrypts string ====
#first parameter is the password (if empty the default one is used)
#first parameter is the string to be encrypted
#second parameter is the string to be encrypted
#second parameter is the password (if empty (empty string) the default one is used)
  CommonInterface.encrypt('test', 'mypassword');
  CommonInterface.encrypt('test', 'mypassword');
  ''returns'': oOe3y182qDKOGzmFpfTiLzNpML+fyvwhfjA9HqF9OwYqcM/PZovosALARZzApNnvToKpBV1dsWnaDP7+iTBo/ic33ZwcxuNRlbGHiKDwdEY=
  ''returns'': oOe3y182qDKOGzmFpfTiLzNpML+fyvwhfjA9HqF9OwYqcM/PZovosALARZzApNnvToKpBV1dsWnaDP7+iTBo/ic33ZwcxuNRlbGHiKDwdEY=
 
==== decrypts string ====
==== decrypts string ====
#first parameter is the password (if empty the default one is used)
#first parameter is the password (if empty the default one is used)
Line 62: Line 69:


==== toDate (7.22.02) ====
==== toDate (7.22.02) ====
#first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss
#first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss or yyyyMMddHHmm (7.24.10) - input is sanitize, these characters will be removed: "-", "/", "T", ":", " " and ".0000000" (7.25.02)
  CommonInterface.toDate("20220101");
  CommonInterface.toDate("20220101");
  ''returns'': a date object in the local time zone
  ''returns'': a date object in the local time zone


==== toUtcDate (7.22.02) ====
==== toUtcDate (7.22.02) ====
#first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss
#first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss or yyyyMMddHHmm (7.24.10) - input is sanitize, these characters will be removed: "-", "/", "T", ":", " " and ".0000000" (7.25.02)
  CommonInterface.toUtcDate("20220101");
  CommonInterface.toUtcDate("20220101");
  ''returns'': a date object in the UTC time zone
  ''returns'': a date object in the UTC time zone
Line 74: Line 81:
#first parameter is date object in the local time zone (warning, dates created in Javascript are always UTC)
#first parameter is date object in the local time zone (warning, dates created in Javascript are always UTC)
#second parameter is the format you want the date to be in
#second parameter is the format you want the date to be in
#optional third parameter is the culture (eg nl) since 7.24.10
  CommonInterface.dateToString(new Date(2022, 0, 1), "yyyyMMdd");
  CommonInterface.dateToString(new Date(2022, 0, 1), "yyyyMMdd");
  ''returns'': the date in string in the format specified -> 20211231
  ''returns'': the date in string in the format specified -> 20211231
Line 79: Line 87:
  CommonInterface.dateToString(CommonInterface.toDate("20220101"), "yyyyMMdd");
  CommonInterface.dateToString(CommonInterface.toDate("20220101"), "yyyyMMdd");
  ''returns'': the date in string in the format specified -> 20220101
  ''returns'': the date in string in the format specified -> 20220101
==== dateToUtcDate (7.23.04) ====
#first parameter is date object
CommonInterface.dateToUtcDate(CommonInterface.toDate("20220101"));
''returns'': the date object in UTC
==== utcDateToDate (7.23.04) ====
#first parameter is date object in UTC
CommonInterface.dateToUtcDate(new Date(2022, 0, 1));
''returns'': the date object


==== utcDateToString (7.22.02) ====
==== utcDateToString (7.22.02) ====
#first parameter is date object in the UTC time zone (dates created in Javascript are always UTC)
#first parameter is date object in the UTC time zone (dates created in Javascript are always UTC)
#second parameter is the format you want the date to be in
#second parameter is the format you want the date to be in
#optional third parameter is the culture (eg nl) since 7.24.10
  CommonInterface.utcDateToString(new Date(2022, 0, 1), "yyyyMMdd");
  CommonInterface.utcDateToString(new Date(2022, 0, 1), "yyyyMMdd");
  ''returns'': the date in string in the format specified -> 20220101
  ''returns'': the date in string in the format specified -> 20220101
Line 102: Line 121:
#first parameter: date
#first parameter: date
#second parameter: amount
#second parameter: amount
#third parameter: unit (bh, bd, y, year, M, month, d, day, h, hour, m, minute, s, second) bh = business hour, bd = business day
#third parameter: unit (bh, bd, y, year, M, month, d, day, h, hour, m, minute, s, second) bh = business hour, bd = business day, since 7.24.10: bm = business minute, bs = business second
  CommonInterface.dateAdd(new Date(), -5, "h");
  CommonInterface.dateAdd(new Date(), -5, "h");
  ''returns'': the modified date (eg now minus 5 hours)
  ''returns'': the modified date (eg now minus 5 hours)
==== dateDiff (7.24.10) ====
Calculate the difference between tow dates
#first parameter: date1
#second parameter: date2
#third parameter: unit (bh, bd, bm, bs, y, year, M, month, d, day, h, hour, m, minute, s, second) bh = business hour, bd = business day, bm = business minute, bs = business second
CommonInterface.dateDiff(date1, date2, "h");
''returns'': the difference (eg 5 hours)


==== getSspEnvironmentName (7.22.06) ====
==== getSspEnvironmentName (7.22.06) ====
Line 127: Line 154:
  CommonInterface.getTranslationsLastReloadTicks();
  CommonInterface.getTranslationsLastReloadTicks();
  ''returns'': the date in ticks
  ''returns'': the date in ticks
==== getDefaultLanguageCulture (7.23.08) ====
Gets the culture of the default language
CommonInterface.getDefaultLanguageCulture();
''returns'': the culture
==== getDefaultLanguageName (7.23.08) ====
Gets the name of the default language
CommonInterface.getDefaultLanguageName();
''returns'': the name
==== getDefaultLanguageId (7.23.08) ====
Gets the id of the default language
CommonInterface.getDefaultLanguageId();
''returns'': the id


==== getNewEventEntriesById (7.22.08) ====
==== getNewEventEntriesById (7.22.08) ====
Line 141: Line 183:
  CommonInterface.getNewEventEntriesByDate("2022-08-01T14:00:00");
  CommonInterface.getNewEventEntriesByDate("2022-08-01T14:00:00");
  ''returns'': array of objects with properties id, dateadded, typename and payload JSON
  ''returns'': array of objects with properties id, dateadded, typename and payload JSON
==== getCompanyName (7.24.02) ====
Returns the name of the company as specified in the license key
CommonInterface.getCompanyName();
''returns'': the company name
==== getClientVersion (7.25.01) ====
Returns the client version of the SSP installation
CommonInterface.getClientVersion();
''returns'': the client version
==== getTextPageDetail (7.24.07) ====
Gets a text page by name
#first parameter: name
CommonInterface.getTextPageDetail('Help');
''returns'': object with properties id, name, title, content and documents (=array of objects with properties url and name) in JSON


=== Conversion ===
=== Conversion ===
==== Convert text to byte[] (since 7.25.04) ====
Converts a string into a byte array
#First parameter is the string to be converted
CommonInterface.convertToBytes('test');
''returns'': [116,101,115,116]
==== Get the number of bytes for a text (since 7.25.04)  ====
Get the number of bytes for a text
#First parameter is the text
CommonInterface.getByteCount('test');
''returns'': 4
==== Convert text to base64 ====
==== Convert text to base64 ====
Converts a string into a base64 encoded string
Converts a string into a base64 encoded string
Line 148: Line 218:
  CommonInterface.convertToBase64('test');
  CommonInterface.convertToBase64('test');
  ''returns'': dGVzdA==
  ''returns'': dGVzdA==
   
 
==== Convert byte[] to base64 (since 7.25.04) ====
#first parameter is the byte[]
  CommonInterface.convertBytesToBase64([116,101,115,116]);
''returns'': dGVzdA==
 
==== Convert base64 to string ====
==== Convert base64 to string ====
Converts a string that is base64 encoded into a readable string
Converts a string that is base64 encoded into a readable string
Line 170: Line 245:
Encodes text that contains html code into encoded html so that the html code is displayed in a browser. This function can be used to avoid the execution of input strings.
Encodes text that contains html code into encoded html so that the html code is displayed in a browser. This function can be used to avoid the execution of input strings.
#first parameter is the string to be encoded
#first parameter is the string to be encoded
#optional second parameter whether line breaks show be replaces by br tags (defaults to true) (since 7.23.02)
  CommonInterface.htmlEncode('<strong>test</strong>');
  CommonInterface.htmlEncode('<strong>test</strong>');
  ''returns'': &lt;strong&gt;test&lt;/strong&gt;
  ''returns'': &lt;strong&gt;test&lt;/strong&gt;
   
 
==== line breaks to br tag (7.23.02) ====
Replaces the line breaks to br tags.
#first parameter is the string to be used
  CommonInterface.lineBreaksToBr('test1\ntest2');
''returns'': test1&lt;br /&gt;test2
 
==== htmldecode text ====
==== htmldecode text ====
Converts encoded html into default html
Converts encoded html into default html
Line 206: Line 288:
Convert bb-code in html formatted text, to include bb-code formatted text on web pages.
Convert bb-code in html formatted text, to include bb-code formatted text on web pages.
#first parameter is the bbcode that should be converted into HTML
#first parameter is the bbcode that should be converted into HTML
#second optional parameter (since 7.24.11): object with possible key: Convert or Skip: array of types to convert or to skip (Bold, Italic, ...)
  CommonInterface.bbCodeToHtml('[b]test[/b]');
  CommonInterface.bbCodeToHtml('[b]test[/b]');
  ''returns'': <strong>test</strong>
  ''returns'': <strong>test</strong>
 
==== Convert bbcode to text ====
==== Convert bbcode to text ====
Convert bb-code into standard text by removing all codes
Convert bb-code into standard text by removing all codes
#first parameter is the bbcode to be converted into text
#first parameter is the bbcode to be converted into text
#second optional parameter (since 7.23.09): object with possible key: UseTextForLinks (value: true or false), when there's an url in the bb code, the label is used when UseTextForLinks is true - since 7.24.11: Convert or Skip: array of types to convert or to skip (Bold, Italic, ...)
  CommonInterface.bbCodeToText('[b]test[/b]');
  CommonInterface.bbCodeToText('[b]test[/b]');
''returns'': test
==== Convert html to text (7.23.01) ====
Convert html into standard text by removing all codes
#first parameter is the html to be converted into text
CommonInterface.convertHtmlToText('&lt;strong&gt;test&lt;/strong&gt;');
''returns'': test
==== Strip html from text (7.23.01) ====
Remove html tags using a regular expression
#first parameter is the html to be used
CommonInterface.stripHtml('&lt;strong&gt;test&lt;/strong&gt;');
  ''returns'': test
  ''returns'': test


Line 222: Line 318:
  CommonInterface.replace('test', 't', 'b');
  CommonInterface.replace('test', 't', 'b');
  ''returns'': besb
  ''returns'': besb
==== getValueFromXml (7.23.01) ====
Get a single value by an XPath expression from an XML string
#first parameter: the XML as a string
#second parameter: the XPath expression
CommonInterface.getValueFromXml('<?xml version="1.0" encoding="UTF-8"?><bookstore><book><title lang="en">Harry Potter</title><price>29.99</price></book><book><title lang="en">Learning XML</title><price>39.95</price></book></bookstore>', '/bookstore/book[1]/title/text()');
''returns'': Harry Potter
==== getValuesFromXml (7.23.01) ====
Get multiple values by an XPath expression from an XML string
#first parameter: the XML as a string
#second parameter: the XPath expression
CommonInterface.getValuesFromXml('<?xml version="1.0" encoding="UTF-8"?><bookstore><book><title lang="en">Harry Potter</title><price>29.99</price></book><book><title lang="en">Learning XML</title><price>39.95</price></book></bookstore>', '/bookstore/book/title/text()');
''returns'': ["Harry Potter","Learning XML"]


=== File System ===
=== File System ===
==== Get the URL to SSP (7.23.01) ====
Get the pubic URL to ssp
CommonInterface.getSspUrl();
''returns'': 'https://demo.smt-x.com'
==== Get the local URL to SSP (7.23.01) ====
Get the pubic URL to ssp
CommonInterface.getSspLocalUrl();
''returns'': 'https//localhost'
==== Check if the input is a valid path (url or local path) ====
==== Check if the input is a valid path (url or local path) ====
Checks if the provided path is valid. Returns 1 or 0
Checks if the provided path is valid. Returns 1 or 0
Line 229: Line 349:
  CommonInterface.isValidPath('http://dev.ssp7.company.com/test.txt');
  CommonInterface.isValidPath('http://dev.ssp7.company.com/test.txt');
  ''returns'': boolean
  ''returns'': boolean
 
==== Check if the url starts with the url (public or local) to ssp ====
==== Check if the url starts with the url (public or local) to ssp ====
  CommonInterface.isSspFile('http://dev.ssp7.company.com/test.txt');
  CommonInterface.isSspFile('http://dev.ssp7.company.com/test.txt');
Line 238: Line 358:
  CommonInterface.getLocalPathForSspFile('http://dev.ssp7.company.com/test.txt');
  CommonInterface.getLocalPathForSspFile('http://dev.ssp7.company.com/test.txt');
  ''returns'': C:\Websites\dev.ssp7.company.com\Sql.Dev.Ssp7\test.txt
  ''returns'': C:\Websites\dev.ssp7.company.com\Sql.Dev.Ssp7\test.txt
   
 
==== Get the local root folder of the web application (7.24.12) ====
returns the local root folder of the web application
  CommonInterface.getLocalPathToWebRoot();
''returns'': C:\Websites\dev.ssp7.company.com\Sql.Dev.Ssp7\
 
==== Get the filename of the url / local path ====
==== Get the filename of the url / local path ====
retrieves the file name that is part of a url
retrieves the file name that is part of a url
Line 262: Line 387:
  CommonInterface.getFileContentInBase64('http://dev.ssp7.company.com/test.txt');
  CommonInterface.getFileContentInBase64('http://dev.ssp7.company.com/test.txt');
  ''returns'': dGVzdCBjb250ZW50
  ''returns'': dGVzdCBjb250ZW50
   
 
==== Get the file content as byte array of the url / local path (since 7.23.04) ====
  CommonInterface.getFileContentInBytes('http://dev.ssp7.company.com/test.txt');
''returns'': the array of bytes
 
==== Get the file size in bytes of the url / local path ====
==== Get the file size in bytes of the url / local path ====
  CommonInterface.getFileSizeInBytes('http://dev.ssp7.company.com/test.txt');
  CommonInterface.getFileSizeInBytes('http://dev.ssp7.company.com/test.txt');
  ''returns'': 12
  ''returns'': 12
   
 
==== Get mime type or content type for file (since 7.25.04) ====
  CommonInterface.getMimeTypeForFile('http://dev.ssp7.company.com/test.txt');
''returns'': text/plain
 
==== Format file size in readable format (with B, KB, MB, GB or TB) ====
==== Format file size in readable format (with B, KB, MB, GB or TB) ====
Converts the provided number of bytes into a readable file size
Converts the provided number of bytes into a readable file size
Line 279: Line 412:
  ''returns'': nothing when success, otherwise the error message
  ''returns'': nothing when success, otherwise the error message


==== Execute an application (since 7.22.09) ====
==== Save an object / array of objects to an Excel file and return as base64 (since 7.24.03) ====
#parameter 1: the path of the application to execute
#parameter 1: the object / array of objects you want to save
#optional parameter 2: the parameters to pass to the application
#parameter 2: name of the sheet in Excel
  CommonInterface.executeApplication("cmd.exe", "/c \"dir /B C:\\Temp\"");
  CommonInterface.generateExcelInBase64([{"name": "first value", "summary": "first summary"},{"name": "second value", "summary": "second summary"}], "Sheet1");
  ''returns'': as JSON encoded string of an object with properties output, error and exitcode
''returns'': the Excel file in base64
 
==== Convert Excel in base64 to JSON array (since 7.25.02) ====
#parameter 1: the Excel file in base64
#optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelInBase64ToJson("excelinbase64");
  ''returns'': the JSON respresentation of the Excel file
 
==== Convert Excel as byte array to JSON array (since 7.25.02) ====
#parameter 1: the Excel file as a byte array
#optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelAsByteArrayToJson([0,1,2]);
''returns'': the JSON respresentation of the Excel file
 
==== Convert Excel to JSON array (since 7.25.02) ====
#parameter 1: the location to the Excel file
#optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelFileToJson("C:\\temp\\example.xlsx");
''returns'': the JSON respresentation of the Excel file


=== Calling Web Services ===
==== Convert HTML to PDF and return as byte[] (since 7.25.10) ====
==== Get or send data to or from a webservice defined under adapters ====
#parameter 1: HTML to convert
#first parameter: name of webservice
#optional parameter 2: object with possible properties: BaseUrl, Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
#second parameter: object with key / value that is used as input fields)
CommonInterface.htmlToPdf("&lt;strong&gt;test&lt;/strong&gt;");
changes since 7.22.10: in case the web service is not found, an error is thrown instead of returning an empty string
''returns'': the byte array representation of the PDF
  CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' });
 
  ''returns'' in case of the webservice having a return type of single value: the single value (string)
==== Convert URL to PDF and return as byte[] (since 7.25.10) ====
  ''returns'' in case of the webservice having a return type of datatable or valuelist: the object encoded as a JSON string. If you want to consume it as an object in your javascript, you must use
#parameter 1: URL to convert
  JSON.parse(), eg in one line: JSON.parse(CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' }));
#optional parameter 2: object with possible properties: Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.urlToPdf("https://example.com/test.html");
''returns'': the byte array representation of the PDF
 
==== Convert HTML to PDF and return as base64 (since 7.25.10) ====
#parameter 1: HTML to convert
#optional parameter 2: object with possible properties: BaseUrl, Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
  CommonInterface.htmlToPdfInBase64("&lt;strong&gt;test&lt;/strong&gt;");
''returns'': the base64 representation of the PDF
 
==== Convert URL to PDF and return as base64 (since 7.25.10) ====
#parameter 1: URL to convert
#optional parameter 2: object with possible properties: Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.urlToPdfInBase64("https://example.com/test.html");
  ''returns'': the base64 representation of the PDF
 
==== Creates a ZIP file and return as byte[] (since 7.25.10) ====
#parameter 1: object with filename (use forward slash for foldernames) as key and the value can be string (text file content), or a byte array (binary file content)
#optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFile({ "test/test.pdf": CommonInterface.htmlToPdf("&lt;strong&gt;test&lt;/strong&gt;"), "test.txt": "test" });
  ''returns'': the byte array representation of the ZIP file
 
==== Creates a ZIP file and return as byte[] (since 7.25.10) ====
#parameter 1: array of objects with properties filename (use forward slash for foldernames), type (empty, base64, file or location) and content (empty (= folder), base64 (= use type base64), filename(= use type file), url (= use type location), string (for text file, leave type empty) or bytearray (for binary file, leave type empty))
#optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
  CommonInterface.createZipFileAdvanced([{ name: "test/test.pdf", content: CommonInterface.htmlToPdf("&lt;strong&gt;test&lt;/strong&gt;") }, { name: "test/test.xlsx", content: CommonInterface.generateExcelInBase64([{name: "one", value: 1}, {name: "two", value: 2}, {name: "three", value: 3}], "Export"), type: "base64" }, { name: "test.txt", content: "test" }, { name: "test2" }]);
''returns'': the byte array representation of the ZIP file
 
==== Creates a ZIP file and return as base64 (since 7.25.10) ====
#parameter 1: object with filepath (use forward slash for foldernames) as key and the value can be string (text file content), or a byte array (binary file content)
#optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFileInBase64({ "test/test.pdf": CommonInterface.htmlToPdf("&lt;strong&gt;test&lt;/strong&gt;"), "test.txt": "test" });
''returns'': the base64 representation of the ZIP file


=== Datastore parameters ===
==== Creates a ZIP file and return as base64 (since 7.25.10) ====
#parameter 1: array of objects with properties filename (use forward slash for foldernames), type (empty, base64, file or location) and content (empty (= folder), base64 (= use type base64), filename(= use type file), url (= use type location), string (for text file, leave type empty) or bytearray (for binary file, leave type empty))
#optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFileAdvancedInBase64([{ name: "test/test.pdf", content: CommonInterface.htmlToPdf("&lt;strong&gt;test&lt;/strong&gt;") }, { name: "test/test.xlsx", content: CommonInterface.generateExcelInBase64([{name: "one", value: 1}, {name: "two", value: 2}, {name: "three", value: 3}], "Export"), type: "base64" }, { name: "test.txt", content: "test" }, { name: "test2" }]);
''returns'': the base64 representation of the ZIP file


==== check if user has access to datastore parameter ====
==== Get allowed upload extensions (since 7.24.10) ====
#First parameter: name of the parameter
Get the list of allowed file extensions to upload
  CommonInterface.loggedInPersonCanManageParameterEntries('Address Book');
  CommonInterface.getAllowedUploadFileExtensions();
  ''returns:'' boolean TRUE or FALSE if the currently logged in person has access to the parameter name provided
  ''returns'': an array with the extensions


==== get all entries of a parameter ====
==== Execute an application (since 7.22.09) ====
#First parameter: name of the parameter
#parameter 1: the path of the application to execute
CommonInterface.getAllParameterEntries('Address Book');
#optional parameter 2: the parameters to pass to the application
''returns:'' all the entries (array) with all the fields (properties) as JSON encoded string. If you want to consume it, use JSON.parse, eg: JSON.parse(CommonInterface.getAllParameterEntries('Address Book'));
  CommonInterface.executeApplication("cmd.exe", "/c \"dir /B C:\\Temp\"");
  ''returns'': as JSON encoded string of an object with properties output, error and exitcode
==== get all entries of a parameter sorted on a field ====
#First parameter: name of the parameter
#second parameter: field to sort on
CommonInterface.getAllParameterEntriesAndSort('Address Book', 'Name');
''returns'': same as above but sorted via the query
==== Get the count of all entries of a parameter ====
#first parameter: name of the parameter
CommonInterface.getAllParameterEntryCount('Address Book');
''returns'': 9
==== Get specific value of a field for a specific entry ====
#first parameter: name of the parameter
#second parameter: key field
#third parameter: key value
#fourth parameter: fields to return, joined by double pipes
  CommonInterface.getParameterEntryValue('Address Book', 'Email', 'john@company.com', 'Name||Location');
''returns'': the values if the requested fields for the first entry found, joined by double pipe, eg: john Doe||Maastricht
==== Get all values of a field in a parameter ====
#first parameter: name of the parameter
#second parameter: field name
CommonInterface.getParameterEntryValues('Address Book', 'Email');
  ''returns'': JSON encoded string of all the values (sorted), again to consume use JSON.parse, result: ["dasy@company.com","donald@company.com","john@company.com","example@gmail.com"]
==== Advanced search on parameter entries ====
#first parameter: name of the parameter
#second parameter: object with key / value containing the predicates
CommonInterface.searchParameterEntries('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
''returns'': see CommonInterface.getAllParameterEntries


  for all filter operators see [[datastore filter operators|here]]
==== Save text as file (since 7.23.04) ====
#parameter 1: the path (local or UNC, folder and file name) to save to
#parameter 2: the contents of the file
#optional parameter 3: the encoding to use
  CommonInterface.saveTextAsFile("C:\\temp\\test.txt", "test");
''returns'': nothing


==== Advanced search and sort on parameter entries ====
==== Save base64 as file (since 7.23.04) ====
#first parameter: name of the parameter
#parameter 1: the path (local or UNC, folder and file name) to save to
#second parameter: object with key / value containing the predicates
#parameter 2: the base64 contents of the file
#third parameter: field to sort on
  CommonInterface.saveBase64AsFile("C:\\temp\\test.txt", "dGVzdA==");
  CommonInterface.searchParameterEntriesAndSort('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}], 'Location');
''returns'': nothing
  ''returns'': same as CommonInterface.searchParameterEntries but sorted via the query
 
==== Save byte array as file (since 7.23.04) ====
==== Get the result count of an advanced search ====
#parameter 1: the path (local or UNC, folder and file name) to save to
#first parameter: name of the parameter
#parameter 2: the byte array
#second parameter: object with key / value containing the predicates
CommonInterface.saveBytesAsFile("C:\\temp\\test.txt", [104,105]);
  CommonInterface.searchParameterEntryCount('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
  ''returns'': nothing
  ''returns'': the number of records found
 
==== Appends a string to a file (since 7.25.09) ====
==== Add an entry to a parameter ====
#parameter 1: the path (local or UNC, folder and file name) to save to
#first parameter: name of the parameter
#parameter 2: the contents to append to the file
#second parameter: object with key / value that contains the fields (keys) with the values (values)
#optional parameter 3: the encoding to use
  CommonInterface.addParameterEntry('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
  CommonInterface.appendTextToFile("C:\\temp\\test.txt", "to append");
  ''returns'': the new internal id of the entry
  ''returns'': nothing
 
==== Copy a file (since 7.23.04) ====
#parameter 1: the path (local or UNC, folder and file name) to the source file
#parameter 2: the path (local or UNC, folder and file name) to save to
#optional parameter 3: whether to overwrite the file if it exists
  CommonInterface.copyFile("C:\\temp\\test.txt", "C:\\temp\\test2.txt");
  ''returns'': nothing


==== Add an entry to a parameter SECURE ====
==== Move a file (since 7.23.04) ====
#first parameter: name of the parameter
#parameter 1: the path (local or UNC, folder and file name) to the source file
#second parameter: object with key / value that contains the fields (keys) with the values (values)
#parameter 2: the path (local or UNC, folder and file name) to move to
#security: This function checks if the currently logged in person is authorized to edit the parameter
  CommonInterface.moveFile("C:\\temp\\test.txt", "C:\\temp\\test2.txt");
CommonInterface.addParameterEntrySecure('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
  ''returns'': nothing
''returns'':  the new internal id of the entry
==== updates zero or more parameter entries ====
#first parameter: name of the parameter
#second parameter: object with key / value that represents the predicate (filter)
#third parameter: object with key / value that contains the new values (not all values are required)
  CommonInterface.updateParameterEntries('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
  ''returns'': the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)


==== updates zero or more parameter entries SECURE ====
==== Delete a file (since 7.23.04) ====
#first parameter: name of the parameter
#parameter 1: the path (local or UNC, folder and file name) to the file
#second parameter: object with key / value that represents the predicate (filter)
  CommonInterface.deleteFile("C:\\temp\\test.txt");
#third parameter: object with key / value that contains the new values (not all values are required)
  ''returns'': nothing
#Security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.updateParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
''returns'':  the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)
==== Delete zero or more parameter entries ====
#first parameter: name of the parameter
#second parameter: object with key / value that represents the predicate (filter)
  CommonInterface.deleteParameterEntries('Address Book', { 'Email': 'test@company.com' });
  ''returns'': the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)


==== Delete zero or more parameter entries SECURE ====
==== Check if a file exists (since 7.23.04) ====
#first parameter: name of the parameter
#parameter 1: the path (local or UNC, folder and file name) to the file
#second parameter: object with key / value that represents the predicate (filter)
  CommonInterface.fileExists("C:\\temp\\test.txt");
#Security: This function checks if the currently logged in person is authorized to edit the parameter
  ''returns'': true or false
  CommonInterface.deleteParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' });
  ''returns'': the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)


=== Person and person group (7.21.07) ===
==== Get file info (since 7.25.07) ====
==== getPerson ====
#parameter 1: the path (local or UNC, folder and file name) to the file
Get person with internal id
CommonInterface.getFileInfo("C:\\temp\\test.txt");
#First parameter is internal id of the person
''returns'': object in JSON with properties directory, extension, name, exists, isreadonly, size, creationdate, lastaccessdate, lastwritedate
  CommonInterface.getPerson(1);
 
  ''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== Create a directory (since 7.23.04) ====
#parameter 1: the path (local or UNC) to the folder
  CommonInterface.createDirectory("C:\\temp");
  ''returns'': nothing


==== getPersonsByEmail (acted as searchPersonsByEmail before 7.22.02) ====
==== Delete a directory (since 7.24.11) ====
Get list of people via email
#parameter 1: the path (local or UNC) to the directory
#First parameter is the email address
#optional parameter 2: whether to delete recursive or not (WARNING: deletes folder and all contents when true) - defaults to false
CommonInterface.getPersonsByEmail("john@doe.com");
  CommonInterface.deleteDirectory("C:\\temp");
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
  ''returns'': nothing
==== getActivePersonByEmail (7.22.02) ====
Get active peron via email
#First parameter is the email address
CommonInterface.getActivePersonByEmail("john@doe.com");
''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== searchPersonsByEmail (7.22.02) ====
Get list of people by searching via email
#First parameter is the email address
  CommonInterface.searchPersonsByEmail("@doe.com");
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== getPersonsByUniqueId (acted as searchPersonsByUniqueId before 7.22.02) ====
==== Check if a directory exists (since 7.23.04) ====
Get list of people via uniqueid
#parameter 1: the path (local or UNC, folder and file name) to the folder
#First parameter is the uniqueid
  CommonInterface.directoryExists("C:\\temp");
CommonInterface.getPersonsByUniqueId("john.doe");
  ''returns'': true or false
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== getActivePersonByUniqueId (7.22.02) ====
Get person via uniqueid
#First parameter is the uniqueid
  CommonInterface.getActivePersonByUniqueId("john.doe");
''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== searchPersonsByUniqueId (7.22.02) ====
Get list of people by searching via uniqueid
#First parameter is the uniqueid
CommonInterface.searchPersonsByUniqueId("jo");
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== getPersonField ====
==== Get the files in a directory (since 7.23.04) ====
Get the value of a person field for a specific person
#parameter 1: the path (local or UNC, folder and file name) to the folder
#First parameter is the internal id of the person
  CommonInterface.getFilesInDirectory("C:\\temp");
#Second parameter is the name of the field (can be UniqueId, FirstName, LastName, Email or any other custom defined person field)
  ''returns'': array of file names (including the folder name)
  CommonInterface.getPersonField(1, "Country");
  ''returns'': the value of the field


==== getPersonFirstAndLastName ====
==== Get the sub directories in a directory (since 7.23.04) ====
Get the first and last name of a person
#parameter 1: the path (local or UNC, folder and file name) to the folder
#First parameter is the internal id of the person
  CommonInterface.getDirectoriesInDirectory("C:\\temp");
  CommonInterface.getPersonFirstAndLastName(1);
  ''returns'': array of sub directory names (including the folder name)
  ''returns'': the first and last name


==== getPersonDescription ====
=== Calling Web Services ===
Get the description of a person
==== Get or send data to or from a webservice defined under adapters ====
#First parameter is the internal id of the person
#first parameter: name of webservice
  CommonInterface.getPersonDescription(1);
#second parameter: object with key / value that is used as input fields)
  ''returns'': the description in the format as defined in the settings
#optional third parameter (7.23.01): object with key / value that is used as context (possible fields: name, processinstanceid, supportsretry, maxretrycount, currentretrycount, nocache, payload, istest)
changes since 7.22.10: in case the web service is not found, an error is thrown instead of returning an empty string
  CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' });
  ''returns'' in case of the webservice having a return type of single value: the single value (string)
''returns'' in case of the webservice having a return type of datatable or valuelist: the object encoded as a JSON string. If you want to consume it as an object in your javascript, you must use
JSON.parse(), eg in one line: JSON.parse(CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' }));


==== getPersonGroupsForPerson ====
==== Get or send data to or from a webservice defined under adapters wrapped in result object (7.23.01) ====
Get the person groups where the person is member of
Returns the result wrapped in an object with properties result, fromcache, success, doretry, doretrynow, message, exception, data and currentretrycount
#First parameter is the internal id of the person
#first parameter: name of webservice
  CommonInterface.getPersonGroupsForPerson(1);
#second parameter: object with key / value that is used as input fields)
''returns'': array of objects with properties id, name and description in JSON
#optional third parameter: object with key / value that is used as context (possible fields: name, processinstanceid, supportsretry, maxretrycount, currentretrycount, nocache, payload, istest)
  CommonInterface.callWebserviceWrapped('Name of webservice', { 'field1': 'value1', 'field2': 'value2' });


==== getPersonGroup ====
==== Schedule an SSP task to run on the next SSP Scheduler run  (7.23.07) ====
Get the person group with internal id
#first parameter: name of task
#First parameter is the internal id of the person group
  CommonInterface.scheduleTaskToRunOnNextSchedulerRun('Import Persons');
  CommonInterface.getPersonGroup(1);
''returns'': object with properties id, name and description in JSON


==== getPersonGroupsByName ====
=== Datastore parameters ===
Get a list of person groups via name
#First parameter is the name
CommonInterface.getPersonGroupsByName("Groupname");
''returns'': array of objects with properties id, name and description in JSON


==== getPersonsForPersonGroup ====
==== check if user has access to datastore parameter ====
Get the members of the person group
#First parameter: name of the parameter
#First parameter is the internal id of the person group
  CommonInterface.loggedInPersonCanManageParameterEntries('Address Book');
  CommonInterface.getPersonsForPersonGroup(1);
  ''returns:'' boolean TRUE or FALSE if the currently logged in person has access to the parameter name provided
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== searchPersons (7.22.06) ====
==== reload a datastore parameter from the source (since 7.23.07) ====
Search for people
#First parameter: name of the parameter
#first parameter is text you wish to search for
  CommonInterface.reloadParameter('My external parameter');
#optional second parameter is the number of records you'd like to receive (default is 50)
  ''returns:'' nothing
  CommonInterface.searchPersons("john");
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


=== Global messages (7.22.06) ===
==== get all entries of a parameter ====
==== getGlobalMessages ====
#First parameter: name of the parameter
Get the active global messages
CommonInterface.getAllParameterEntries('Address Book');
  CommonInterface.getGlobalMessages();
''returns:'' all the entries (array) with all the fields (properties) as JSON encoded string. If you want to consume it, use JSON.parse, eg: JSON.parse(CommonInterface.getAllParameterEntries('Address Book'));
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories in JSON
 
==== get all entries of a parameter sorted on a field ====
==== getGlobalMessages SECURE (7.22.12) ====
#First parameter: name of the parameter
Get the active global messages for the logged in user
#second parameter: field to sort on
  CommonInterface.getGlobalMessagesSecure();
CommonInterface.getAllParameterEntriesAndSort('Address Book', 'Name');
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories in JSON
''returns'': same as above but sorted via the query
 
==== getGlobalMessages expired (7.22.12) ====
==== Get the count of all entries of a parameter ====
Get the expired global messages
#first parameter: name of the parameter
  CommonInterface.getExpiredGlobalMessages();
  CommonInterface.getAllParameterEntryCount('Address Book');
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories in JSON
  ''returns'': 9
==== Get specific value of a field for a specific entry ====
#first parameter: name of the parameter
#second parameter: key field
#third parameter: key value
#fourth parameter: fields to return, joined by double pipes
CommonInterface.getParameterEntryValue('Address Book', 'Email', 'john@company.com', 'Name||Location');
''returns'': the values if the requested fields for the first entry found, joined by double pipe, eg: john Doe||Maastricht
==== Get all values of a field in a parameter ====
#first parameter: name of the parameter
#second parameter: field name
  CommonInterface.getParameterEntryValues('Address Book', 'Email');
  ''returns'': JSON encoded string of all the values (sorted), again to consume use JSON.parse, result: ["dasy@company.com","donald@company.com","john@company.com","example@gmail.com"]
==== Get parameter entries ====
#first parameter: name of the parameter
#second parameter: object with key / value containing the filter
  CommonInterface.getParameterEntries('Address Book', { Email: 'john@smt-x.com' });
  ''returns'': see CommonInterface.getAllParameterEntries


==== getGlobalMessages expired SECURE (7.22.12) ====
==== Get parameter entries and sort ====
Get the expired global messages for the logged in user
#first parameter: name of the parameter
  CommonInterface.getExpiredGlobalMessagesSecure();
#second parameter: object with key / value containing the filter
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories in JSON
#third parameter: name of the field to sort on
  CommonInterface.getParameterEntriesAndSort('Address Book', { Email: 'john@smt-x.com' }, 'Name');
  ''returns'': see CommonInterface.getAllParameterEntries


==== markGlobalMessageAsSeen ====
==== Get parameter entry (7.25.09) ====
Marks a global message as seen for the logged in account
#first parameter: name of the parameter
#first parameter is the id of the message
#second parameter: object with key / value containing the filter
  CommonInterface.markGlobalMessageAsSeen(1);
  CommonInterface.getParameterEntry('Address Book', { Email: 'john@smt-x.com' });
  ''returns'': nothing
  ''returns'': returns the first entry where the filter is valid for


=== Navigation items (7.22.10) ===
==== Get parameter entry by id (7.25.09) ====
==== Get navigation items ====
#first parameter: name of the parameter
Get all the navigation items
#second parameter: the id
  CommonInterface.getNavigationItems();
  CommonInterface.getParameterEntry('Address Book', 'abcdefgh');
  ''returns'': array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON
  ''returns'': returns the entry for the id


==== Get navigation items SECURE ====
==== Advanced search on parameter entries ====
Get all the navigation items based on the logged in user
#first parameter: name of the parameter
  CommonInterface.getNavigationItemsSecure();
#second parameter: array of objects containing the predicates
''returns'': array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON
  CommonInterface.searchParameterEntries('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
''returns'': see CommonInterface.getAllParameterEntries


== WorkflowInterface ==
for all filter operators see [[datastore filter operators|here]]
The WorkflowInterface contains function that interact with tickets


=== General ===
==== Advanced search and sort on parameter entries ====
==== Check if a ticket id exists (7.21.07) ====
#first parameter: name of the parameter
#first parameter: ticket id
#second parameter: object with key / value containing the predicates
  WorkflowInterface.processInstanceIdExists(1500);
#third parameter: field to sort on
  ''returns'': true or false
CommonInterface.searchParameterEntriesAndSort('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}], 'Location');
''returns'': same as CommonInterface.searchParameterEntries but sorted via the query
==== Get the result count of an advanced search ====
#first parameter: name of the parameter
#second parameter: object with key / value containing the predicates
CommonInterface.searchParameterEntryCount('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
''returns'':  the number of records found
==== Add an entry to a parameter ====
#first parameter: name of the parameter
#second parameter: object with key / value that contains the fields (keys) with the values (values)
#optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  CommonInterface.addParameterEntry('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
  ''returns'': the new internal id of the entry
Example:
var field1 = #REPLACE-FORMFIELD-ABC#;
var field2 = #REPLACE-FORMFIELD-DEF#;
CommonInterface.addParameterEntry('Address Book', {
    columnname1 : field1,
    columnname2 : field2
});


==== Remove process instance object from thread cache (7.21.07) ====
==== Add an entry to a parameter SECURE ====
For performance reasons, the process instance object will be cached per request, if you edit the object and request data after the action you may need to clear the cache first. Use this only when you are sure you need this.
#first parameter: name of the parameter
#first parameter: ticket id
#second parameter: object with key / value that contains the fields (keys) with the values (values)
  WorkflowInterface.removeProcessInstanceFromThreadCache(1500);
#optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  ''returns'': nothing
#security: This function checks if the currently logged in person is authorized to edit the parameter
  CommonInterface.addParameterEntrySecure('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
  ''returns'': the new internal id of the entry


==== Check if process instance is still submitting (7.22.07) ====
==== Add multiple entries to a parameter (since 7.23.07) ====
#first parameter: ticket id
#first parameter: name of the parameter
  WorkflowInterface.processInstanceIsStillSubmitting(1500);
#second parameter: array of objects with key / value that contains the fields (keys) with the values (values)
  ''returns'': true or false
#optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  CommonInterface.addParameterEntries('Address Book', [{ 'Name': 'Test1', 'Email': 'test1@company.com' }, { 'Name': 'Test2', 'Email': 'test2@company.com' }]);
  ''returns'': array of the new internal ids for the entries


==== Check if process instance is closed (7.22.09) ====
==== Add multiple entries to a parameter SECURE (since 7.23.07) ====
#first parameter: ticket id
#first parameter: name of the parameter
  WorkflowInterface.processInstanceIsClosed(1500);
#second parameter: array of objects with key / value that contains the fields (keys) with the values (values)
  ''returns'': true or false
#optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
#security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.addParameterEntriesSecure('Address Book', [{ 'Name': 'Test1', 'Email': 'test1@company.com' }, { 'Name': 'Test2', 'Email': 'test2@company.com' }]);
''returns'':  array of the new internal ids for the entries
==== updates zero or more parameter entries ====
#first parameter: name of the parameter
#second parameter: object with key / value that represents the predicate (filter)
#third parameter: object with key / value that contains the new values (not all values are required)
#optional forth parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  CommonInterface.updateParameterEntries('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
  ''returns'': the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)


==== Evaluate replace placeholders (7.22.07) ====
==== updates zero or more parameter entries SECURE ====
Evaluates the replace placeholders in the specified text
#first parameter: name of the parameter
#first parameter: ticket id
#second parameter: object with key / value that represents the predicate (filter)
#second parameter: the text containing the replace placeholders
#third parameter: object with key / value that contains the new values (not all values are required)
#optional third parameter: object with optional properties IsInHtml, UseLoggedInAccount, UseCurrentLanguage, LanguageId
#optional forth parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  WorkflowInterface.evaluateReplacePlaceholders(1500, "#REPLACE-STEP-PROCESS-Guid#");
#Security: This function checks if the currently logged in person is authorized to edit the parameter
  ''returns'': the evaluated value
  CommonInterface.updateParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
 
  ''returns'': the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)
==== Do check wait steps (7.22.09) ====
Evaluates the open wait steps in a ticket
==== Delete zero or more parameter entries ====
#first parameter: ticket id
#first parameter: name of the parameter
  WorkflowInterface.doCheckWaitSteps(1500);
#second parameter: object with key / value that represents the predicate (filter)
  ''returns'': nothing (this executes in a separate thread, so it does not wait until the wait step checks are done)
#optional third parameter (7.25.09): object with possible properties: personid, resetcache
  CommonInterface.deleteParameterEntries('Address Book', { 'Email': 'test@company.com' });
  ''returns'': the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)


==== Get workflow information for a ticket (7.21.07) ====
==== Delete zero or more parameter entries SECURE ====
#first parameter: ticket id
#first parameter: name of the parameter
  WorkflowInterface.getWorkflowInformation(1500);
#second parameter: object with key / value that represents the predicate (filter)
  ''returns'': object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON
#optional third parameter (7.25.09): object with possible properties: personid, resetcache
#Security: This function checks if the currently logged in person is authorized to edit the parameter
  CommonInterface.deleteParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' });
  ''returns'': the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)


==== Search workflow tickets count (7.22.06) ====
==== Delete a parameter entry based on the id (7.25.09) ====
Returns the number of tickets based on the search criteria without checking the current logged in user
#first parameter: name of the parameter
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo)
#second parameter: the id
  WorkflowInterface.searchCountWorkflowTickets({"Status": "Open"});
#optional third parameter: object with possible properties: personid, resetcache
  ''returns'': nr of tickets
  CommonInterface.deleteParameterEntryByDataId('Address Book', 'abcdefgh');
  ''returns'': the number of entries deleted


==== Search workflow tickets count SECURE (7.22.06) ====
==== Delete a parameter entry based on the id SECURE (7.25.09) ====
Returns the number of tickets based on the search criteria where the logged in user has rights for
#first parameter: name of the parameter
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo)
#second parameter: the id
  WorkflowInterface.searchCountWorkflowTicketsSecure({"Status": "Open"});
#optional third parameter: object with possible properties: personid, resetcache
  ''returns'': nr of tickets
#Security: This function checks if the currently logged in person is authorized to edit the parameter
  CommonInterface.deleteParameterEntryByDataIdSecure('Address Book', 'abcdefgh');
  ''returns'': the number of entries deleted


==== Search workflow tickets (7.22.06) ====
==== Delete all parameter entries (since 7.23.07) ====
Returns the tickets based on the search criteria without checking the current logged in user
#first parameter: name of the parameter
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo)
#optional second parameter (7.25.09): object with possible properties: personid, resetcache
#optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
  CommonInterface.deleteAllParameterEntries('Address Book');
  WorkflowInterface.searchWorkflowTickets({"Status": "Open"});
  ''returns'': the number of entries deleted
  ''returns'': array of objects with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON


==== Search workflow tickets SECURE (7.22.06) ====
==== Delete all parameter entries SECURE (since 7.23.07) ====
Returns the tickets based on the search criteria where the logged in user has rights for
#first parameter: name of the parameter
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo)
#optional second parameter (7.25.09): object with possible properties: personid, resetcache
#optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
#Security: This function checks if the currently logged in person is authorized to edit the parameter
  WorkflowInterface.searchWorkflowTicketsSecure({"Status": "Open"});
  CommonInterface.deleteAllParameterEntriesSecure('Address Book');
  ''returns'': array of object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON
  ''returns'': the number of entries deleted


==== Get ticketing information for a ticket (7.21.07) ====
==== Clear the parameter cache (since 7.25.12) ====
#first parameter: ticket id
#first parameter: name of the parameter
  WorkflowInterface.getTicketInformation(1500);
  CommonInterface.clearParameterCache('Address Book');
  ''returns'': object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), islocked, isrunning, tickettype, tasktype, requestedforteam, pool (object with properties id and name), medium (object with properties code and name), priority (object with properties code and name), status (object with properties code and name), service (object with properties code and name), category (object with properties code and name), classification (object with properties code and name), closurecode (object with properties code and name), description, information, solution, solutionlinkalldocuments, solutiondocumentkeys (array of keys in string), plannedeliverydate, deadlinedate, requestedforalternatename, requestedforalternateemail, requestedforalternatetelephone, assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), customfields (array of objects with properties name, typeid, typename, ishidden, parametername, parametervaluefield, parameterdisplayfield, stringvalue and datetimevalue) in JSON
  ''returns'': nothing


==== Start a new process instance (7.21.12) ====
=== Person and person group (7.21.07) ===
#first parameter: process (id or name)
==== getPerson ====
#second parameter: requestor person (id or unique id or email)
Get person with internal id
#third parameter: requested for person (id or unique id or email)
#First parameter is internal id of the person
#fourth parameter: external app name
CommonInterface.getPerson(1);
#fifth parameter: array of form field objects, each object can have the properties displayvalue, value, internallabel, label and labels (array of objects with properties label and language)
''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


  WorkflowInterface.startProcessInstance("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }]);
==== getPersons (7.23.08) ====
  ''returns'': object with properties id and guid in JSON
Get persons with internal id
#First parameter is an array with internal id of the persons
  CommonInterface.getPersons([1,2]);
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== Start a new process instance with passing thru initial ticketing data (7.21.12) ====
==== getPersonsByEmail (acted as searchPersonsByEmail before 7.22.02) ====
#first parameter: process (id or name)
Get list of people via email
#second parameter: requestor person (id or unique id or email)
#First parameter is the email address
#third parameter: requested for person (id or unique id or email)
CommonInterface.getPersonsByEmail("john@doe.com");
#fourth parameter: external app name
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
#fifth parameter: array of form field objects, each object can have the properties displayvalue, value, internallabel, label and labels (array of objects with properties label and language)
#sixth parameter: object with initial ticketing data, possible properties are assignedtoperson, assignedtopersongroup, category, classification, closurecode, deadlinedate, description, information, initialtasksfield, medium, planneddeliverydate, pool, priority, requestedfor, requestedforalternateemail, requestedforalternatename, requestedforalternatetelephone, requestedforteam, service, solution, status and customfields (array of objects with properties fieldname and stringvalue)
==== getActivePersonByEmail (7.22.02) ====
Get active peron via email
#First parameter is the email address
CommonInterface.getActivePersonByEmail("john@doe.com");
''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== searchPersonsByEmail (7.22.02) ====
Get list of people by searching via email
#First parameter is the email address
CommonInterface.searchPersonsByEmail("@doe.com");
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


  WorkflowInterface.startProcessInstanceWithTicketData("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }], { status: "New", assignedtopersongroup: "My first group", assignedtoperson: "John.Doe", "Description": "test", customfields: [{fieldname: "customfield1", stringvalue: "custom field value"}] });
==== getPersonsByUniqueId (acted as searchPersonsByUniqueId before 7.22.02) ====
  ''returns'': object with properties id and guid in JSON
Get list of people via uniqueid
 
#First parameter is the uniqueid
=== Rights (7.21.07) ===
CommonInterface.getPersonsByUniqueId("john.doe");
==== Check if the logged in person has workflow admin rights on the ticket ====
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
#first parameter: ticket id
  WorkflowInterface.loggedInPersonHasWorkflowAdminRight(1500);
==== getActivePersonByUniqueId (7.22.02) ====
  ''returns'': true or false
Get person via uniqueid
#First parameter is the uniqueid
CommonInterface.getActivePersonByUniqueId("john.doe");
  ''returns'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
==== searchPersonsByUniqueId (7.22.02) ====
Get list of people by searching via uniqueid
#First parameter is the uniqueid
CommonInterface.searchPersonsByUniqueId("jo");
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
 
==== getPersonsByFilter (7.24.11) ====
Search for persons using a filter
#first parameter: a filter object or an array of filter objects
#optional second parameter: an object with paging information
  CommonInterface.getPersonsByFilter([{IsActive: true}, { Connector: "OR", FieldName: "Email", FilterValue: "smt-x.com", Operator: "EndsWith" }]);
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== Check if the logged in person has workflow power user rights on the ticket ====
==== reloadPersonData (7.23.07) ====
#first parameter: ticket id
Reloads the persons data
  WorkflowInterface.loggedInPersonHasWorkflowPowerUserRight(1500);
#First parameter is the id of the person
  ''returns'': true or false
  CommonInterface.reloadPersonData(1);
  ''returns'': nothing


==== Check if the logged in person has workflow read rights on the ticket ====
==== getPersonDetail (7.23.07) ====
#first parameter: ticket id
Gets the detail of a person, including the person extra fields
  WorkflowInterface.loggedInPersonHasWorkflowReadRight(1500);
#First parameter is the id of the person
  ''returns'': true or false
#Optional second parameter is a boolean whether to reload the persons data first
  CommonInterface.getPersonDetail(1, true);
  ''returns'': object with properties id, firstname, lastname, email, uniqueid, description, inactive, fields (array of objects with properties name and value) in JSON


==== Check if the logged in person has workflow write rights on the ticket ====
==== getPersonField ====
#first parameter: ticket id
Get the value of a person field for a specific person
  WorkflowInterface.loggedInPersonHasWorkflowWriteRight(1500);
#First parameter is the internal id of the person
  ''returns'': true or false
#Second parameter is the name of the field (can be UniqueId, FirstName, LastName, Email or any other custom defined person field)
  CommonInterface.getPersonField(1, "Country");
  ''returns'': the value of the field


==== Check if the logged in person has ticketing limited rights on the ticket ====
==== getPersonFirstAndLastName ====
#first parameter: ticket id
Get the first and last name of a person
  WorkflowInterface.loggedInPersonHasTicketLimitedRight(1500);
#First parameter is the internal id of the person
  ''returns'': true or false
  CommonInterface.getPersonFirstAndLastName(1);
  ''returns'': the first and last name


==== Check if the logged in person has ticketing read rights on the ticket ====
==== getPersonDescription ====
#first parameter: ticket id
Get the description of a person
  WorkflowInterface.loggedInPersonHasTicketReadRight(1500);
#First parameter is the internal id of the person
  ''returns'': true or false
  CommonInterface.getPersonDescription(1);
  ''returns'': the description in the format as defined in the settings


==== Check if the logged in person has ticketing write rights on the ticket ====
==== getPersonGroupsForPerson ====
#first parameter: ticket id
Get the person groups where the person is member of (before 7.24.05: only active ones + where person is member or manager)
  WorkflowInterface.loggedInPersonHasTicketWriteRight(1500);
#First parameter is the internal id of the person
  ''returns'': true or false
  CommonInterface.getPersonGroupsForPerson(1);
  ''returns'': array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON


==== Check if the logged in person has write rights on the task (no checks on ticket are done) ====
==== getPersonGroupsAsManagerForPerson (7.24.05) ====
#first parameter: task id
Get the person groups where the person is manager of
  WorkflowInterface.loggedInPersonHasTaskWriteRight(100);
#First parameter is the internal id of the person
  ''returns'': true or false
  CommonInterface.getPersonGroupsAsManagerForPerson(1);
  ''returns'': array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON


=== Variables ===
==== getPersonGroupsAsManagerOrMemberForPerson (7.24.05) ====
==== Get the value of a variable in a ticket ====
Get the person groups where the person is manager or member of
#first parameter: ticket id
#First parameter is the internal id of the person
#second parameter: name of the variable
  CommonInterface.getPersonGroupsAsManagerOrMemberForPerson(1);
  WorkflowInterface.getVariableValue(1500, 'My variable');
  ''returns'': array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON
  ''returns'': the value as string
==== sets the value of a variable in a ticket (if it doesn't exists, it will be created) ====
#first parameter: ticket id
#second parameter: name of the variable
#third parameter: value of the variable
WorkflowInterface.setVariableValue(1500, 'My variable', 'new value');
''returns'': nothing


=== Form Values ===
==== getPersonGroup ====
==== Get all form fields for a ticket (7.21.07) ====
Get the person group with internal id
#first parameter: ticket id
#First parameter is the internal id of the person group
  WorkflowInterface.getAllFormFields(1500);
CommonInterface.getPersonGroup(1);
  ''returns'': array of objects with properties fieldorder, fieldtypeid, fieldtypename, internalname, label, helptext, subfielddefinition, parametername, value (object depending on the fieldtype), rawvalue, displayvalue, visible, htmlencode, repeatablesectionindex, repeatablesectionfieldid in JSON
''returns'': object with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON
 
==== getPersonGroupsByName ====
Get a list of person groups via name
#First parameter is the name
  CommonInterface.getPersonGroupsByName("Groupname");
  ''returns'': array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON
 
==== getPersonGroupsByFilter (7.24.11) ====
Search for person groups using a filter
#first parameter: a filter object or an array of filter objects
#optional second parameter: an object with paging information
CommonInterface.getPersonGroupsByFilter([{IsActive: true}, { Connector: "OR", FieldName: "Name", FilterValue: "test", Operator: "Contains" }]);
''returns'': array of objects with properties id, name, description and inactive, email (7.25.11) in JSON


==== Get raw value of a form field in a ticket ====
==== addPersonToPersonGroup (7.23.03) ====
#first parameter: ticket id
Adds a person to a person group
#second parameter: internal name of the form field
#first parameter is the internal id of the person group
WorkflowInterface.getFormFieldValue(1500, 'MyFormField');
#second parameter is the internal id of the person
''returns'': the value as string
#optional third parameter is whether the person wants to receive the mails via the group
  CommonInterface.addPersonToPersonGroup(1, 1);
==== Get raw displayvalue of a form field in a ticket ====
  ''returns'': true if there were changes, false otherwise
#first parameter: ticket id
#second parameter: internal name of the form field
  WorkflowInterface.getFormFieldDisplayValue(1500, 'MyFormField');
  ''returns'': the display value as string


==== Get the value definition of a form field in a ticket (for selection fields) ====
==== setPersonsInPersonGroup (7.23.03) ====
#first parameter: ticket id
Sets the list of persons in a person group
#second parameter: internal name of the form field
#first parameter is the internal id of the person group
  WorkflowInterface.getFormFieldSubFieldDefinition(1500, 'MyFormField');
#second parameter is an array with internal ids of the persons
  ''returns'': the definition (eg: Name||Email)
#optional third parameter is whether the persons want to receive the mails via the group
  CommonInterface.setPersonsInPersonGroup(1, [1, 2, 3], false);
  ''returns'': true if there were changes, false otherwise


==== Get the sub value of a form field in a ticket (for selection fields) ====
==== removePersonFromPersonGroup (7.23.03) ====
#first parameter: ticket id
Removes a person from a person group
#second parameter: internal name of the form field
#first parameter is the internal id of the person group
#third parameter: name of the sub field
#second parameter is the internal id of the person
  WorkflowInterface.getFormSubFieldValue(1500, 'MyFormField', 'Name');
  CommonInterface.removePersonFromPersonGroup(1, 1);
  ''returns'': the value as string (eg: Raymond)
  ''returns'': true if there were changes, false otherwise


==== Get the list of sub value of a form field in a ticket (for selection fields with multiple values) ====
==== getPersonsForPersonGroup ====
#first parameter: ticket id
Get the members of the person group
#second parameter: internal name of the form field
#First parameter is the internal id of the person group
#third parameter: name of the sub field
CommonInterface.getPersonsForPersonGroup(1);
  WorkflowInterface.getFormSubFieldValues(1500, 'MyFormField', 'Name');
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON; since 7.25.10: groupemailenabled
  ''returns'': the values as string array in JSON (eg: ["Dominic", "Raymond"])
 
==== searchPersons (7.22.06) ====
Search for people
#first parameter is text you wish to search for
#optional second parameter is the number of records you'd like to receive (default is 50)
CommonInterface.searchPersons("john");
''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
 
==== getAllPersons (7.25.10) ====
Get all persons (per 1.000 records, pass the last id to fetch the next page)
#optional first parameter: last id of the previous fetch
  CommonInterface.getAllPersons();
  ''returns'': array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON


==== Get an object (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with single value) ====
==== getDelegatesForPerson (7.26.01) ====
#first parameter: ticket id
Get the delegates for a person
#second parameter: internal name of the form field
#first parameter: person id
  WorkflowInterface.getFormFieldSelectionValue(1500, 'MyFormField');
  CommonInterface.getDelegatesForPerson(1);
  ''returns'': object in JSON (eg: {"Name": "Raymond", "Email": "raymond@smt-x.com"})
  ''returns'': array of objects with properties id, type (can be Workflow or MyItems) and delegateperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), in case type is Workflow: process (id, name, title), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions) in JSON


==== Get a list of objects (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with multiple values) ====
==== saveDelegateForPerson (7.26.01) ====
#first parameter: ticket id
Saves a delegate for a person
#second parameter: internal name of the form field
#first parameter: person id
  WorkflowInterface.getFormFieldSelectionValues(1500, 'MyFormField');
#second parameter: delegate properties (object with properties id, type (can be Workflow or MyItems) and delegateperson (id), in case type is Workflow: process (id, name), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions))
  ''returns'': array of objects in JSON (eg: [{"Name": "Raymond", "Email": "raymond@smt-x.com"},{"Name": "Dominic", "Email": "dominic@smt-x.com"}])
  CommonInterface.saveDelegateForPerson(1, { type: "Workflow", delegateperson: { id: 2 }, process: null });
  ''returns'': the saved object with properties id, type (can be Workflow or MyItems) and delegateperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), in case type is Workflow: process (id, name, title), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions) in JSON


=== Open actions ===
==== deleteDelegateForPerson (7.26.01) ====
==== Get the open (step) actions in a ticket ====
Remove a delegate for a person
#first parameter: ticket id
#first parameter: person id
WorkflowInterface.getOpenActions(1500);
#second parameter: record id (as returned in the object by the getDelegatesForPerson method or saveDelegateForPerson)
''returns'': array of open actions in JSON (properties: stepname, stepinformation, link, array of actors (person), messagesfunctionid, allowsubmit, typeid, pisiaid, pisianame, submithash, array of fields (properties: id, name, typeid, required, stringvalue, displaystringvalue, datetimevalue, pdbname, pdbvaluefieldname, pdbtextfieldname, pdbhashcheck, rows, regex, helptext))
  CommonInterface.deleteDelegateForPerson(1, 1);
  ''returns'': nothing
=== Logging ===
==== Get all logs for a ticket (7.21.07) ====
Get a list with all logs, including workflow logs, private notes, public messages and ticket changes
#first parameter: ticket id
  WorkflowInterface.getAllLogs(1500);
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON


==== Get workflow logs for a ticket (7.21.07) ====
==== getOutOfOfficeSettingsForPerson (7.26.01) ====
Get a list of only workflow logs
Get the out of office settings for a person
#first parameter: ticket id
#first parameter: person id
  WorkflowInterface.getWorkflowLogs(1500);
  CommonInterface.getOutOfOfficeSettingsForPerson(1);
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON
  ''returns'': object with properties fromdateformatted, fromsspdate, todateformatted, tosspdate and persons (array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive) in JSON


==== Add a log to the process instance (workflow log) ====
==== saveOutOfOfficeSettingsForPerson (7.26.01) ====
#first parameter: ticket id
Saves the out of office settings for a person
#second parameter: the log text
#first parameter: person id
  WorkflowInterface.addWorkflowLog(1500, 'My log text');
#second parameter: object with out of office settngs (fromsspdate, tosspdate, persons (array of objects with property id))
  CommonInterface.saveOutOfOfficeSettingsForPerson(1, { fromsspdate: "20260101", tosspdate: "20260201", persons: [ {id: 2}, {id: 3} ] });
  ''returns'': nothing
  ''returns'': nothing


=== Attachments ===
=== Global messages (7.22.06) ===
==== Get all documents for a ticket (7.21.07) ====
==== getGlobalMessages ====
#first parameter: ticket id
Get the active global messages
  WorkflowInterface.getDocuments(1500);
  CommonInterface.getGlobalMessages();
  ''returns'': array of objects with properties type, url, name, isticketdocument, isvisible, id, key and date in JSON
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON
Use 'key' as unique identifier, this key is also used in other objects (eg in solutiondocumentkeys)


==== Add document to a ticket ====
==== getGlobalMessages SECURE (7.22.12) ====
#first parameter: TicketId
Get the active global messages for the logged in user
#second parameter: Path to the file that should be added
CommonInterface.getGlobalMessagesSecure();
#third parameter: boolean (1 or 0) if file should be visible in workflow
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON
  WorkflowInterface.addDocument(ticketid, 'pathtofile', hideinworkflow);


==== Add document to a ticket with a specific name ====
==== getGlobalMessages expired (7.22.12) ====
#first parameter: TicketId
Get the expired global messages
#second parameter: Path to the file that should be added
CommonInterface.getExpiredGlobalMessages();
#third parameter: filename to show in workflow
  ''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON
#fourth parameter: boolean (1 or 0) if file should be visible in workflow
  WorkflowInterface.addDocumentWithFileName(ticketid, 'pathtofile', 'filenametoshow', hideinworkflow);


==== Delete all currently linked documents from a ticket ====
==== getGlobalMessages expired SECURE (7.22.12) ====
#first parameter: TicketId
Get the expired global messages for the logged in user
  WorkflowInterface.deleteAllDocuments(ticketid);
  CommonInterface.getExpiredGlobalMessagesSecure();
''returns'': array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON


=== Update Ticketing fields ===
==== markGlobalMessageAsSeen ====
==== Get action logs for a ticket (7.21.07) ====
Marks a global message as seen for the logged in account
Get a list of only action logs, that's pubic messages, private notes and ticket changes
#first parameter is the id of the message
#first parameter: ticket id
CommonInterface.markGlobalMessageAsSeen(1);
  WorkflowInterface.getActionLogs(1500);
''returns'': nothing
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON
 
=== Navigation items (7.22.10) ===
==== Get navigation items ====
Get all the navigation items
  CommonInterface.getNavigationItems();
  ''returns'': array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON
 
==== Get navigation items SECURE ====
Get all the navigation items based on the logged in user
CommonInterface.getNavigationItemsSecure();
''returns'': array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON


==== Add a public note within ticketing ====
== WorkflowInterface ==
#first parameter: TicketId
The WorkflowInterface contains function that interact with tickets
#second parameter: Person unique id or email address
#third parameter: text to add as public note
WorkflowInterface.addPrivateNote(ticketid, personidoremail, logtext);


==== Add a private message within ticketing ====
=== Processes ===
#first parameter: TicketId
==== Search count processes (7.23.08) ====
#second parameter: Person unique id or email address
Returns the number of processes that matches the criteria
#third parameter: text to add as private note
#first parameter: object with possible properties: isretired, text, name, nameoperator
  WorkflowInterface.addPublicMessage(ticketid, personidoremail, logtext);
#optional second parameter: object with possible property: languageid
  WorkflowInterface.searchCountProcesses({ name: "phone", nameoperator: "contains" });
''returns'': the number


==== Add a ticket change entry within ticketing====
==== Search count processes SECURE (7.23.08) ====
#first parameter: TicketId
Returns the number of processes that matches the criteria
#second parameter: Person unique id or email address
#first parameter: object with possible properties: isretired, text, name, nameoperator
#third parameter: text to add as ticket change
#optional second parameter: object with possible property: languageid
  WorkflowInterface.addTicketChange(ticketid, personidoremail, logtext);
  WorkflowInterface.searchCountProcessesSecure({ internallabel: "phone", internallabeloperator: "contains" });
  ''This action will not send an email message''
  ''returns'': the number


==== Update ticket fields ====
==== Search processes (7.23.08) ====
#first parameter: TicketId
Returns the processes that matches the criteria
#second parameter: object containing new field values
#first parameter: object with possible properties: isretired, text, name, nameoperator
WorkflowInterface.updateTicketFields(ticketid, fields);
#optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
  fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTicketFields(ticketid, {"Status": "Open", "Custom": {"Field01": "Value01" }});
  WorkflowInterface.searchProcesses({ internallabel: "phone", internallabeloperator: "contains" });
  Possible fields: LockTicket, TicketIsRunning, Classification, Status, Description, Information, AssignedToPerson, AssignedToPersonGroup, Category, Medium, Priority, Service, Solution, ClosureCode, Custom, Requestor, RequestedFor, Pool, PlannedDeliveryDate, DeadlineDate, RequestedForAlternateName, RequestedForAlternateEmail, RequestedForAlternateTelephone, SolutionLinkAllDocuments, RequestedForTeam, WorkflowPool, TicketType, TasksType, RemoveOnDate
  ''returns'': array of objects with properties id, title, description in JSON


==== Lock ticket ====
==== Search processes SECURE (7.23.08) ====
#first parameter: TicketId
Returns the processes that matches the criteria
  WorkflowInterface.lockTicket(ticketid);
#first parameter: object with possible properties: isretired, text, name, nameoperator
#optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
  WorkflowInterface.searchProcessesSecure({ internallabel: "phone", internallabeloperator: "contains" });
''returns'': array of objects with properties id, title, description in JSON


==== Unlock ticket ====
==== Get list of possible processes for delegation (7.26.01) ====
#first parameter: TicketId
Returns the list of processes that the user is able to add delegation for
  WorkflowInterface.unlockTicket(ticketid);
#first parameter: person id
  WorkflowInterface.getPossibleProcessesForDelegationForPerson(1);
''returns'': array of objects with properties id, name, title in JSON


==== Set ticket to IsRunning = True ====
=== General ===
#first parameter: TicketId
==== Check if a ticket id exists (7.21.07) ====
  WorkflowInterface.enableTicketIsRunning(ticketid);
#first parameter: ticket id
  WorkflowInterface.processInstanceIdExists(1500);
''returns'': true or false


==== Set ticket to IsRunning = False ====
==== Remove process instance object from thread cache (7.21.07) ====
  WorkflowInterface.disableTicketIsRunning(ticketid);
For performance reasons, the process instance object will be cached per request, if you edit the object and request data after the action you may need to clear the cache first. Use this only when you are sure you need this.
#first parameter: ticket id
  WorkflowInterface.removeProcessInstanceFromThreadCache(1500);
''returns'': nothing


====  Create a new, blank Task within a ticket ====
==== Check if process instance is still submitting (7.22.07) ====
  WorkflowInterface.addTask(ticketid, fields);  
#first parameter: ticket id
  ''returns'': the new task id
WorkflowInterface.processInstanceIsStillSubmitting(1500);
  ''returns'': true or false
 
==== Check if process instance is closed (7.22.09) ====
#first parameter: ticket id
  WorkflowInterface.processInstanceIsClosed(1500);
  ''returns'': true or false


==== Update fields of a task ====
==== Evaluate replace placeholders (7.22.07) ====
#first parameter: TicketId
Evaluates the replace placeholders in the specified text
#second parameter: TaskId
#first parameter: ticket id
#third parameter: object containing new field values
#second parameter: the text containing the replace placeholders
WorkflowInterface.updateTask(ticketid, taskid, fields);
#optional third parameter: object with optional properties IsInHtml, UseLoggedInAccount, UseCurrentLanguage, LanguageId
  fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTask(ticketid, taskid, {"Status": "Open","Description":"My descriptionb" });
  WorkflowInterface.evaluateReplacePlaceholders(1500, "#REPLACE-STEP-PROCESS-Guid#");
  Possible fields: Description, AssignedToPersonGroup, AssignedToPerson, DeliveryDate, Information, Solution, LockedTicket, IsCompleted, ExternalReference, ExternalResolved, LinkAllTicketDocuments, Status, Priority, DeadlineDate
  ''returns'': the evaluated value


==== Get information for a task (7.21.07) ====
==== Do check wait steps (7.22.09) ====
#first parameter: task id
Evaluates the open wait steps in a ticket
  WorkflowInterface.getTask(100);
#first parameter: ticket id
  ''returns'': object with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket in JSON
  WorkflowInterface.doCheckWaitSteps(1500);
  ''returns'': nothing (this executes in a separate thread, so it does not wait until the wait step checks are done)


==== Get all tasks for a ticket (7.21.07) ====
==== Do resume from here (7.23.01) ====
Restarts a process instance from a certain step
#first parameter: ticket id
#first parameter: ticket id
  WorkflowInterface.getTasks(1500);
#second parameter: processinstancestepid
  ''returns'': array of objects with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket in JSON
#third parameter: actor name
#forth parameter: whether to remove the previous instances
  WorkflowInterface.doResumeFromProcessInstanceStep(1500, 1800, "SYSTEM", false);
  ''returns'': nothing (this executes in a separate thread)


=== Emails (since 7.21.06) ===
==== Do retry from here (7.23.01) ====
==== Get an email layout ====
Retries a process instance step (in case it can be retried)
#first parameter: name of the email layout
#first parameter: ticket id
  WorkflowInterface.getEmailLayout(name);
#second parameter: instance step id
  ''returns'': the body of the email layout in the default language
#third parameter: actor name
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.
  WorkflowInterface.doRetryProcessInstanceStep(1500, 1800, "SYSTEM");
  ''returns'': nothing (this executes in a separate thread)


==== Get an email layout in a specific language ====
==== Stop process instance (7.24.10) ====
#first parameter: name of the email layout
Stops a process instance without checking the rights
#second parameter: id of the desired language
#first parameter: ticket id
  WorkflowInterface.getEmailLayoutWithLanguageId(name, languageid);
#optional second parameter: the actor name
  ''returns'': the body of the email layout in the desired language
#optional third parameter: the actor person id
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.
  WorkflowInterface.stopProcessInstance(1500);
  ''returns'': nothing


==== Get the default email layout ====
==== Stop process instance secure (7.24.10) ====
  WorkflowInterface.getDefaultEmailLayout();
Stops a process instance if the logged in person has the rights to do this
  ''returns'': the body of the default email layout in the default language
#first parameter: ticket id
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.
#optional second parameter: the actor name
#optional third parameter: the actor person id
  WorkflowInterface.stopProcessInstanceSecure(1500);
  ''returns'': nothing


==== Get the default email layout in a specific language ====
==== Get workflow information for a ticket (7.21.07) ====
#first parameter: id of the desired language
#first parameter: ticket id
  WorkflowInterface.getDefaultEmailLayoutWithLanguageId(languageid);
  WorkflowInterface.getWorkflowInformation(1500);
  ''returns'': the body of the default email layout in the desired language
  ''returns'': object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.


==== Get an email template (7.22.09) ====
==== Search workflow tickets count (7.22.06) ====
#first parameter: name of the email template
Returns the number of tickets based on the search criteria without checking the current logged in user
#optional second parameter: language id you wish to use
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
  WorkflowInterface.getEmailTemplate(name);
  WorkflowInterface.searchCountWorkflowTickets({"Status": "Open"});
  ''returns'': an object with properties subject, body and attachments (array of objects with properties url and name) in JSON
  ''returns'': nr of tickets
 
==== Search workflow tickets count SECURE (7.22.06) ====
Returns the number of tickets based on the search criteria where the logged in user has rights for
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
WorkflowInterface.searchCountWorkflowTicketsSecure({"Status": "Open"});
''returns'': nr of tickets


==== Send an email ====
==== Search workflow tickets (7.22.06) ====
#first parameter: full name of the receiver
Returns the tickets based on the search criteria without checking the current logged in user
#second parameter: email address of the receiver
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
#third parameter: subject of the email
#optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
#fourth parameter: content of the email
  WorkflowInterface.searchWorkflowTickets({"Status": "Open"});
  WorkflowInterface.sendEmail(toName, toEmail, subject, content);
  ''returns'': array of objects with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON
  sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise


==== Queue an email ====
==== Search workflow tickets SECURE (7.22.06) ====
#first parameter: full name of the receiver
Returns the tickets based on the search criteria where the logged in user has rights for
#second parameter: email address of the receiver
#first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
#third parameter: subject of the email
#optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
#fourth parameter: content of the email
  WorkflowInterface.searchWorkflowTicketsSecure({"Status": "Open"});
  WorkflowInterface.queueEmail(toName, toEmail, subject, content);
''returns'': array of object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON
adds the email to the queue


==== Send an email - advanced ====
==== Get ticketing information for a ticket (7.21.07) ====
#first parameter: object with properties
#first parameter: ticket id
  WorkflowInterface.sendEmailAdvanced(properties);
  WorkflowInterface.getTicketInformation(1500);
  Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
  ''returns'': object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), islocked, isrunning, tickettype, tasktype, requestedforteam, pool (object with properties id and name), medium (object with properties code and name), priority (object with properties code and name), status (object with properties code and name), service (object with properties code and name), category (object with properties code and name), classification (object with properties code and name), closurecode (object with properties code and name), description, information, solution, solutionlinkalldocuments, solutiondocumentkeys (array of keys in string), plannedeliverydate, deadlinedate, requestedforalternatename, requestedforalternateemail, requestedforalternatetelephone, assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), customfields (array of objects with properties name, typeid, typename, ishidden, parametername, parametervaluefield, parameterdisplayfield, stringvalue and datetimevalue) in JSON
''from'': can be a string (email address) or an object with the properties 'email' and 'name'
''to, cc and bcc'': can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
''attachments'': can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
''disableoverwriteto'': boolean to specify whether the "Send all e-mails only to" should be ignored or not
''processinstanceid'': id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.sendEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The &lt;strong&gt;content&lt;/strong&gt; of my email" });
sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise


==== Queue an email - advanced ====
==== Start a new process instance (7.21.12) ====
#first parameter: object with properties
#first parameter: process (id or name)
WorkflowInterface.queueEmailAdvanced(properties);
#second parameter: requestor person (id or unique id or email) (can be null since 7.24.03)
Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
#third parameter: requested for person (id or unique id or email) (can be null since 7.24.03)
''from'': can be a string (email address) or an object with the properties 'email' and 'name'
#fourth parameter: external app name
''to, cc and bcc'': can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
#fifth parameter: array of form field objects, each object can have the properties displayvalue, value, internallabel, label and labels (array of objects with properties label and language)
''attachments'': can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
''disableoverwriteto'': boolean to specify whether the "Send all e-mails only to" should be ignored or not
''processinstanceid'': id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.queueEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The &lt;strong&gt;content&lt;/strong&gt; of my email" });
adds the email to the queue


== StudioInterface ==
WorkflowInterface.startProcessInstance("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }]);
''returns'': object with properties id and guid in JSON


=== Get the full query string ===  
==== Start a new process instance with passing thru initial ticketing data (7.21.12) ====
StudioInterface.getQueryString();
#first parameter: process (id or name)
''return'': the full query string (without the leading question mark)
#second parameter: requestor person (id or unique id or email) (can be null since 7.24.03)
#third parameter: requested for person (id or unique id or email) (can be null since 7.24.03)
#fourth parameter: external app name
#fifth parameter: array of form field objects, each object can have the properties displayvalue, value (or rawvalue 7.23.07), internallabel (or internalname 7.23.07), label and labels (array of objects with properties label and language), since 7.25.09: fieldid, repeatablesectionfieldid, repeatablesectionindex, visible, searchable, htmlencode, itemorder, selectionparameter, subfielddefinition, fieldtype
#sixth parameter: object with initial ticketing data, possible properties are assignedtoperson, assignedtopersongroup, category, classification, closurecode, deadlinedate, description, information, initialtasksfield, medium, planneddeliverydate, pool, priority, requestedfor, requestedforalternateemail, requestedforalternatename, requestedforalternatetelephone, requestedforteam, service, solution, status and customfields (array of objects with properties fieldname and stringvalue)


=== Get all keys from the query string parameter collection (7.22.03) ===
WorkflowInterface.startProcessInstanceWithTicketData("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }], { status: "New", assignedtopersongroup: "My first group", assignedtoperson: "John.Doe", "Description": "test", customfields: [{fieldname: "customfield1", stringvalue: "custom field value"}] });
StudioInterface.getAllQueryStringKeys();
  ''returns'': object with properties id and guid in JSON
  ''return'': an array of strings with all the keys of the query string parameters for the current request


=== Get a value from the query string ===  
=== Rights (7.21.07) ===
  StudioInterface.getQueryStringValue('name');
==== Check if the logged in person has workflow admin rights on the ticket ====
  ''return'': the value of the query string parameter for the current request
#first parameter: ticket id
  WorkflowInterface.loggedInPersonHasWorkflowAdminRight(1500);
  ''returns'': true or false


=== Get all keys from the header collection (7.22.03) ===  
==== Check if the logged in person has workflow power user rights on the ticket ====
  StudioInterface.getAllHeaderKeys();
#first parameter: ticket id
  ''return'': an array of strings with all the keys of the headers for the current request
  WorkflowInterface.loggedInPersonHasWorkflowPowerUserRight(1500);
  ''returns'': true or false


=== Get a value from the header ===  
==== Check if the logged in person has workflow read rights on the ticket ====
#first parameter: name
#first parameter: ticket id
  StudioInterface.getHeaderValue('name');
  WorkflowInterface.loggedInPersonHasWorkflowReadRight(1500);
  ''return'': the value of the header parameter for the current request
  ''returns'': true or false


=== Get all keys from the cookie collection (7.22.03) ===  
==== Check if the logged in person has workflow write rights on the ticket ====
  StudioInterface.getAllCookieKeys();
#first parameter: ticket id
  ''return'': an array of strings with all the keys of the cookies for the current request
  WorkflowInterface.loggedInPersonHasWorkflowWriteRight(1500);
  ''returns'': true or false


=== Get a value from the cookie ===  
==== Check if the logged in person has ticketing limited rights on the ticket ====
#first parameter: name
#first parameter: ticket id
  StudioInterface.getCookieValue('name');
  WorkflowInterface.loggedInPersonHasTicketLimitedRight(1500);
  ''return'': the value of the cookie for the current request
  ''returns'': true or false


=== Set a cookie (7.22.03) ===  
==== Check if the logged in person has ticketing read rights on the ticket ====
Adds a cookie, if no expire days is provided, then it's a session cookie (will be removed when session ends)
#first parameter: ticket id
#first parameter: name
  WorkflowInterface.loggedInPersonHasTicketReadRight(1500);
#second parameter: value
  ''returns'': true or false
#third parameter (optional): expire in nr of days (a negative value will remove the cookie)
  StudioInterface.setCookie('cookiename', 'cookievalue');
  ''return'': nothing


=== Get all keys from the posted form collection (7.22.03) ===  
==== Check if the logged in person has ticketing write rights on the ticket ====
  StudioInterface.getAllFormKeys();
#first parameter: ticket id
  ''return'': an array of strings with all the keys of the posted form collection for the current request
  WorkflowInterface.loggedInPersonHasTicketWriteRight(1500);
  ''returns'': true or false


=== Get a value from the posted form collection ===  
==== Check if the logged in person has write rights on the task (no checks on ticket are done) ====
#first parameter: name
#first parameter: task id
  StudioInterface.getFormValue('name');
  WorkflowInterface.loggedInPersonHasTaskWriteRight(100);
  ''return'': the value from the posted form collection for the current request
  ''returns'': true or false


=== Get the http method for the current request ===  
=== Variables ===
  StudioInterface.getHttpMethod();
==== Get the value of a variable in a ticket ====
  ''return'': the current http method (GET, POST, )
#first parameter: ticket id
#second parameter: name of the variable
  WorkflowInterface.getVariableValue(1500, 'My variable');
  ''returns'': the value as string
==== sets the value of a variable in a ticket (if it doesn't exists, it will be created) ====
#first parameter: ticket id
#second parameter: name of the variable
#third parameter: value of the variable
WorkflowInterface.setVariableValue(1500, 'My variable', 'new value');
''returns'': nothing


=== Get the content type of the current request ===  
=== Form Values ===
  StudioInterface.getContentType();
==== Get all form fields for a ticket (7.21.07) ====
  ''return'': the content type (text/plain, application/json, )
#first parameter: ticket id
  WorkflowInterface.getAllFormFields(1500);
  ''returns'': array of objects with properties fieldorder, fieldtypeid, fieldtypename, internalname, label, helptext, subfielddefinition, parametername, value (object depending on the fieldtype), rawvalue, displayvalue, visible, htmlencode, repeatablesectionindex, repeatablesectionfieldid, visibleforui (since 7.23.10) in JSON


=== Get the full posted content as string ===  
==== Get raw value of a form field in a ticket ====
  StudioInterface.getPostedContent();
#first parameter: ticket id
  ''return'': posted content
#second parameter: internal name of the form field
 
  WorkflowInterface.getFormFieldValue(1500, 'MyFormField');
=== Get the current language culture ===  
  ''returns'': the value as string
  StudioInterface.getCurrentLanguageCulture();
  ''return'': the culture (nl-BE, en-GB, …)
==== Get raw displayvalue of a form field in a ticket ====
#first parameter: ticket id
#second parameter: internal name of the form field
  WorkflowInterface.getFormFieldDisplayValue(1500, 'MyFormField');
  ''returns'': the display value as string


=== Get the current language name ===  
==== Get the value definition of a form field in a ticket (for selection fields) ====
  StudioInterface.getCurrentLanguageName();
#first parameter: ticket id
  ''return'': the name (English, Nederlands, …)
#second parameter: internal name of the form field
  WorkflowInterface.getFormFieldSubFieldDefinition(1500, 'MyFormField');
  ''returns'': the definition (eg: Name||Email)


=== Get the current language id ===  
==== Get the sub value of a form field in a ticket (for selection fields) ====
  StudioInterface.getCurrentLanguageId();
#first parameter: ticket id
  ''return'': the id (1, 2, …)
#second parameter: internal name of the form field
#third parameter: name of the sub field
  WorkflowInterface.getFormSubFieldValue(1500, 'MyFormField', 'Name');
  ''returns'': the value as string (eg: Raymond)


=== Check if there is a logged in person (7.21.07) ===  
==== Get the list of sub value of a form field in a ticket (for selection fields with multiple values) ====
  StudioInterface.hasLoggedInPerson();
#first parameter: ticket id
  ''return'': true or false
#second parameter: internal name of the form field
#third parameter: name of the sub field
  WorkflowInterface.getFormSubFieldValues(1500, 'MyFormField', 'Name');
  ''returns'': the values as string array in JSON (eg: ["Dominic", "Raymond"])


=== Get the logged in person (7.21.07) ===  
==== Get an object (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with single value) ====
  StudioInterface.getLoggedInPerson();
#first parameter: ticket id
  ''return'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
#second parameter: internal name of the form field
  WorkflowInterface.getFormFieldSelectionValue(1500, 'MyFormField');
  ''returns'': object in JSON (eg: {"Name": "Raymond", "Email": "raymond@smt-x.com"})


=== Get the field value for the current logged in person ===  
==== Get a list of objects (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with multiple values) ====
#first parameter: fieldname
#first parameter: ticket id
  StudioInterface.getLoggedInPersonField('FirstName');
#second parameter: internal name of the form field
  ''return'': the value (Raymond, Dominic, …)
  WorkflowInterface.getFormFieldSelectionValues(1500, 'MyFormField');
Possible fields: UniqueId, FirstName, LastName, Email, all person extra fields defined in adapters.
  ''returns'': array of objects in JSON (eg: [{"Name": "Raymond", "Email": "raymond@smt-x.com"},{"Name": "Dominic", "Email": "dominic@smt-x.com"}])


=== Get the first and last name for the current logged in person ===  
=== Open actions ===
  StudioInterface.getLoggedInPersonFirstAndLastName();
==== Get the open (step) actions in a ticket ====
  ''return'': the first and last name (Raymond Crijnen, Dominic De Vilder, )
#first parameter: ticket id
  WorkflowInterface.getOpenActions(1500);
  ''returns'': array of open actions in JSON (properties: stepname, stepinformation, link, array of actors (person), messagesfunctionid, allowsubmit, typeid, pisiaid, pisianame, submithash, array of fields (properties: id, name, typeid, required, stringvalue, displaystringvalue, datetimevalue, pdbname, pdbvaluefieldname, pdbtextfieldname, pdbhashcheck, rows, regex, helptext), haswriterights (since 7.23.10))


=== Get the description as defined in the settings for the current logged in person ===  
==== Get the amount of open actions for the logged in user (7.24.07) ====
  StudioInterface.getLoggedInPersonDescription();
  WorkflowInterface.getMyOpenActionsCountSecure();
  ''return'': the description (Raymond Crijnen (raymond@smt-x.com - CrijnenR))
  ''returns'': the amount of open actions for the logged in user
==== Get the amount of open actions for a specific email address (7.24.07) ====
#first parameter: email
WorkflowInterface.getOpenActionsByEmailCount(email);
''returns'': the amount of open actions for the email address


=== Get the dateformat as defined for the current logged in person (7.22.06) ===  
==== Get the open actions for the logged in user (7.24.07) ====
  StudioInterface.getLoggedInPersonDateFormat();
  WorkflowInterface.getMyOpenActionsSecure();
  ''return'': the dateformat (dd/MM/yyyy)
  ''returns'': an array of objects with properties processinstanceid, processinstanceguid, processinstancestepid, processinstancestepactorid, processinstancestepinstanceactorinstanceid, datestarted, stepname, link, processinstancename, processinstancedatestarted, processinstancerequestorperson, processinstancerequestedforperson in JSON


=== Checks if the logged in person has the specified role ===  
==== Get the open actions for a specific email address (7.24.07) ====
#first parameter: Role name
#first parameter: email
  StudioInterface.loggedInPersonHasRole('Name of the role');
  WorkflowInterface.getOpenActionsByEmail(email);
  ''return'': true if the user has the role, false otherwise
  ''returns'': an array of objects with properties processinstanceid, processinstanceguid, processinstancestepid, processinstancestepactorid, processinstancestepinstanceactorinstanceid, datestarted, stepname, link, processinstancename, processinstancedatestarted, processinstancerequestorperson, processinstancerequestedforperson in JSON


=== Checks if the logged in person has any of the specified roles (7.21.08) ===  
=== Steps (since 7.24.10) ===
#first parameter: array of role names
==== Get all steps as tree in a ticket ====
StudioInterface.loggedInPersonHasAnyRole(['Name of the role1', 'Name of the role2']);
Get all steps as tree in a ticket
  ''return'': true if the user has any of the roles, false otherwise
#first parameter: ticket id
#optional second parameter: object with possible properties: IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this)
WorkflowInterface.getSteps(1500);
  ''returns'': array of objects in JSON


=== Checks if the logged in person has all of the specified roles (7.21.08) ===
==== Get all steps as tree in a ticket secure ====
#first parameter: array of role names
Get all steps as tree in a ticket visible for the logged in person
StudioInterface.loggedInPersonHasAllRoles(['Name of the role1', 'Name of the role2']);
#first parameter: ticket id
  ''return'': true if the user has all of the roles, false otherwise
#optional second parameter: object with possible properties: SkipUserHasReadRight (if you already know the user has read rights), IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this)
WorkflowInterface.getStepsSecure(1500);
  ''returns'': array of objects in JSON


=== Checks if the logged in person is an admin (7.22.06) ===  
==== Get all steps as list in a ticket (since 7.25.02) ====
  StudioInterface.loggedInPersonIsAdmin();
Get all steps as list in a ticket
  ''return'': true if the user is admin, false otherwise
#first parameter: ticket id
#optional second parameter: object with possible properties: IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this), StepTypes (array of step types to filter on), StepStatuses (array of step statuses to filter on)
  WorkflowInterface.getStepsAsList(1500);
  ''returns'': array of objects in JSON


=== Get a translation ===  
==== Get all steps as list in a ticket secure (since 7.25.02) ====
#first parameter: Category
Get all steps as list in a ticket visible for the logged in person
#second parameter: Label
#first parameter: ticket id
  StudioInterface.translate('Common', 'Profile');
#optional second parameter: object with possible properties: SkipUserHasReadRight (if you already know the user has read rights), IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this), StepTypes (array of step types to filter on), StepStatuses (array of step statuses to filter on)
  ''return'': the translation value for the SSP translations
  WorkflowInterface.getStepsAsListSecure(1500);
  ''returns'': array of objects in JSON


=== Get the root of the ssp location ===  
=== Additional information (since 7.24.11) ===
  StudioInterface.getSspRoot();
==== Submit the answer for an additional information request ====
  ''return'': the http location, including the trailing slash (https:=== ssp/)
Submits the answer without checking the logged in user
#first parameter: id
#second parameter: answer
  WorkflowInterface.submitAdditionalInformationAnswer(150, 'answer');
  ''returns'': true if succesful, false if it was already answered, null if not found or no rights


=== Get the http path to the current application ===  
==== Submit the answer for an additional information request secure ====
  StudioInterface.getApplicationPath();
Submits the answer only if the logged in user is allowed to
  ''return'': the http location, without the trailing slash (https:=== ssp/myapp)
#first parameter: id
#second parameter: answer
  WorkflowInterface.submitAdditionalInformationAnswerSecure(150, 'answer');
  ''returns'': true if succesful, false if it was already answered, null if not found or no rights


=== Get the application folder name (7.22.09) ===  
=== Logging ===
  StudioInterface.getApplicationFolder();
==== Get all logs for a ticket (7.21.07) ====
  ''return'': the name of the folder (eg myapp)
Get a list with all logs, including workflow logs, private notes, public messages and ticket changes
#first parameter: ticket id
  WorkflowInterface.getAllLogs(1500);
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON


=== Get the current folder name (full) inside the current application ===  
==== Get workflow logs for a ticket (7.21.07) ====
  StudioInterface.getCurrentFolderName();
Get a list of only workflow logs
  ''return'': the current full folder path, including the starting and trailing slash (/subfolder/content/)
#first parameter: ticket id
  WorkflowInterface.getWorkflowLogs(1500);
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON


=== Get the current file name inside the current application ===  
==== Add a log to the process instance (workflow log) ====
  StudioInterface.getCurrentName();
#first parameter: ticket id
  ''return'': the current file name (index.html)
#second parameter: the log text
  WorkflowInterface.addWorkflowLog(1500, 'My log text');
  ''returns'': nothing


=== Get the current full path of the file inside the current application ===  
=== Overview layouts (7.25.07) ===
  StudioInterface.getCurrentPath();
==== Get the default overview layout for a ticket (7.25.07) ====
  ''return'': the current file name (/subfolder/content/index.html)
#first parameter: ticket id
#optional second parameter: object with possible properties IsInHtml (default false), UseLoggedInAccount (default false), UseCurrentLanguage (default false), LanguageId
  WorkflowInterface.getDefaultOverviewLayout(1500);
  ''returns'': array of objects in JSON with properties typename, label, value or values (depending on the typename, "Default" has value, "Section" has values which again is an array of objects in JSON of the same type)


=== Get the current application id (7.22.06) ===  
==== Get the overview layout for a ticket by name (7.25.07) ====
  StudioInterface.getCurrentApplicationId();
#first parameter: ticket id
  ''return'': the id of the application
#second parameter: name of overview layout
#optional third parameter: object with possible properties IsInHtml (default false), UseLoggedInAccount (default false), UseCurrentLanguage (default false), LanguageId
  WorkflowInterface.getOverviewLayout(1500, 'MyOverviewName');
  ''returns'': array of objects in JSON with properties typename, label, value or values (depending on the typename, "Default" has value, "Section" has values which again is an array of objects in JSON of the same type)


=== renders the application file as a string ===  
=== Attachments ===
#first parameter: string to be rendered
==== Get all documents for a ticket (7.21.07) ====
  StudioInterface.renderAsString('/subfolder/content/index.html');
#first parameter: ticket id
  ''return'': the rendered content
  WorkflowInterface.getDocuments(1500);
  ''returns'': array of objects with properties type, url, name, isticketdocument, isvisible, id, key and date in JSON
Use 'key' as unique identifier, this key is also used in other objects (eg in solutiondocumentkeys)


=== renders the application file as a string, passing thru the parameters to the rendering script ===  
==== Add document to a ticket ====
#first parameter: Application file
#first parameter: TicketId
#second parameter: object with parameters
#second parameter: Path to the file that should be added
  StudioInterface.renderAsStringWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
#third parameter: boolean (1 or 0) if file should be visible in workflow
  ''return'': the rendered content (the parameters are accessible in the processing script of the file to render, use g_parameters)
  WorkflowInterface.addDocument(ticketid, 'pathtofile', hideinworkflow);
  ''returns'': since 7.24.11: the document key


=== renders the application file and returns the rendered object ===  
==== Add document to a ticket with a specific name ====
#first parameter: Application file
#first parameter: TicketId
  StudioInterface.render('/subfolder/content/index.html');
#second parameter: Path to the file that should be added
  ''return'': the rendered object with these properties: action, content, contenttype, templatezones, templateparameters
#third parameter: filename to show in workflow
#fourth parameter: boolean (1 or 0) if file should be visible in workflow
  WorkflowInterface.addDocumentWithFileName(ticketid, 'pathtofile', 'filenametoshow', hideinworkflow);
  ''returns'': since 7.24.11: the document key


=== renders the application file, passing thru the parameters to the rendering script ===  
==== Add document as base64 to a ticket (7.25.01) ====
  StudioInterface.renderWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
#first parameter: ticketid
  ''return'': the rendered object (see .render for details)
#second parameter: file in base64
#third parameter: filename
#fourth parameter: boolean (1 or 0) if file should be visible in workflow
  WorkflowInterface.addDocumentInBase64(ticketid, 'dGVzdA==', 'test.txt', hideinworkflow);
  ''returns'': the document key


=== Get the value for the application variable ===  
==== Delete all currently linked documents from a ticket ====
#first parameter: Variable name
#first parameter: TicketId
  StudioInterface.getVariableValue('my variable');
  WorkflowInterface.deleteAllDocuments(ticketid);
''return'': the value (type is depending on the variable)


=== Get the value for the application variable, passing thru the parameters to the variable script ===  
==== Delete a document from a ticket (7.25.03) ====
#first parameter: Variable name
#first parameter: the ticketid
#second parameter: object with parameters (passed through to the variable script)
#second parameter: the document key
  StudioInterface.getVariableValueWithParameters('my custom variable function', { 'Number': 8 });
  WorkflowInterface.deleteDocument(ticketid, "thekey");
''return'': the value (type is depending on the variable)


=== Views (7.22.06) ===
=== Update Ticketing fields ===
==== getViewCountByName ====
==== Get action logs for a ticket (7.21.07) ====
Get the count of a view by it's name
Get a list of only action logs, that's pubic messages, private notes and ticket changes
#first parameter is the name of the view
#first parameter: ticket id
#optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
  WorkflowInterface.getActionLogs(1500);
  CommonInterface.getViewCountByName("view1");
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON
  ''returns'': the count of the view


==== getViewCountById ====
==== Get action logs secure for a ticket (7.24.10) ====
Get the count of a view by it's id
Get a list of only action logs, that's pubic messages, private notes and ticket changes only if the logged in user is allowed to see them
#first parameter is the id of the view
#first parameter: ticket id
#optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
  WorkflowInterface.getActionLogsSecure(1500);
  CommonInterface.getViewCountById(1);
  ''returns'': array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON
  ''returns'': the count of the view


==== getViewDataByName ====
==== Add a private note within ticketing ====
Get the data of a view by it's name
#first parameter: TicketId
#first parameter is the name of the view
#second parameter: Person unique id or email address
CommonInterface.getViewDataByName("view1");
#third parameter: text to add as public note
''returns'': the data of the view in JSON
#optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
#optional fifth parameter: array of people to be notified (7.25.10)
==== searchViewDataByName (7.22.08) ====
  WorkflowInterface.addPrivateNote(ticketid, personidoremail, logtext);
Search the data of a view by it's name
  ''returns'': the id of the added note (since 7.25.04)
#first parameter is the name of the view
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  CommonInterface.searchViewDataByName("view1", [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
  ''returns'': the data of the search results in JSON


==== getViewDataByNames ====
==== Add a public message within ticketing ====
Get the data of multiple views by their names
#first parameter: TicketId
#first parameter is an array of the name of the views
#second parameter: Person unique id or email address
CommonInterface.getViewDataByNames(["view1", "view2"]);
#third parameter: text to add as private note
''returns'': the data of the views in JSON
#optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
#optional fifth parameter: array of people to be notified (7.25.10)
==== searchViewDataByNames (7.22.08) ====
#optional sixth parameter: boolean: stop the clock (7.25.10)
Search the data of a view by their names
  WorkflowInterface.addPublicMessage(ticketid, personidoremail, logtext);
#first parameter is an array of the name of the views
  ''returns'': the id of the added message (since 7.25.04)
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  CommonInterface.searchViewDataByName(["view1", "view2"], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
  ''returns'': the data of the search results in JSON


==== getViewDataForTicketsByName ====
==== Get default list of people to be notified for public message within ticketing (7.25.10) ====
Search for tickets and get the results back as defined in the view by the views name
#first parameter: TicketId
#first parameter is the name of the view
  WorkflowInterface.getPublicMessageDefaultNotifies(ticketid);
#second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
  ''returns'': the array of default people to be notified in JSON
#optional third parameter is an object with the paging settings
  CommonInterface.getViewDataForTicketsByName("view1", { "Status": "Open" });
  ''returns'': the tickets formatted as defined in the view in JSON


==== getViewDataById ====
==== Add an end user message (workflow) (7.25.10) ====
Get the data of a view by it's id
#first parameter: TicketId
#first parameter is the id of the view
#second parameter: Person unique id or email address
CommonInterface.getViewDataById(1);
#third parameter: text to add as private note
''returns'': the data of the view in JSON
#optional fourth parameter: array of objects with properties filename and filecontentinbase64
#optional fifth parameter: array of people to be notified
==== searchViewDataById (7.22.08) ====
  WorkflowInterface.addMessageAsEndUser(ticketid, personidoremail, logtext);
Get the data of a view by it's id
  ''returns'': the id of the added message
#first parameter is the id of the view
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  CommonInterface.searchViewDataById(1, [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
  ''returns'': the data of the search results in JSON


==== getViewDataByIds ====
==== Add a ticket change entry within ticketing====
Get the data of multiple views by their ids
#first parameter: TicketId
#first parameter is an array of ids of the views
#second parameter: Person unique id or email address
CommonInterface.getViewDataByIds([1, 2]);
#third parameter: text to add as ticket change
''returns'': the data of the views in JSON
#optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
  WorkflowInterface.addTicketChange(ticketid, personidoremail, logtext);
==== searchViewDataByIds (7.22.08) ====
  ''returns'': the id of the added message (since 7.25.04)
Get the data of multiple views by their ids
''This action will not send an email message''
#first parameter is an array of ids of the views
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  CommonInterface.searchViewDataByName([1, 2], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
  ''returns'': the data of the search results in JSON


==== getViewDataForTicketsById ====
==== Update ticket fields ====
Search for tickets and get the results back as defined in the view by the views id
#first parameter: TicketId
#first parameter is the id of the view
#second parameter: object containing new field values
#second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
WorkflowInterface.updateTicketFields(ticketid, fields);
#optional third parameter is an object with the paging settings
fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTicketFields(ticketid, {"Status": "Open", "Custom": {"Field01": "Value01" }});
CommonInterface.getViewDataForTicketsById(1, { "Status": "Open" });
  Possible fields: LockTicket, TicketIsRunning, Classification, Status, Description, Information, AssignedToPerson, AssignedToPersonGroup, Category, Medium, Priority, Service, Solution, ClosureCode, Custom, Requestor, RequestedFor, Pool, PlannedDeliveryDate, DeadlineDate, RequestedForAlternateName, RequestedForAlternateEmail, RequestedForAlternateTelephone, SolutionLinkAllDocuments, RequestedForTeam, WorkflowPool, TicketType, TasksType, RemoveOnDate. Since 7.23.05: CustomFields (array of objects with properties fieldname and stringvalue)
  ''returns'': the tickets formatted as defined in the view in JSON


== Service Catalog Interface ==
==== Lock ticket ====
#first parameter: TicketId
WorkflowInterface.lockTicket(ticketid);


=== Get secure count of all published records (7.21.07) ===
==== Unlock ticket ====
#no parameters
#first parameter: TicketId
#security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
  WorkflowInterface.unlockTicket(ticketid);
  ServiceCatalogInterface.getCountPublishedRecordsSecure();
''return'': number


=== Get secure list of all published records ===
==== Set ticket to IsRunning = True ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: TicketId
#security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
  WorkflowInterface.enableTicketIsRunning(ticketid);
  ServiceCatalogInterface.getAllPublishedRecordsSecure();
''return'':  An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of published records by searching (7.21.07) ===
==== Set ticket to IsRunning = False ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  WorkflowInterface.disableTicketIsRunning(ticketid);
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
  ServiceCatalogInterface.searchCountPublishedRecordsSecure({ tag: "bike" });
''return'': number


=== Get secure list of published records by searching (7.21.07) ===
====  Create a new, blank Task within a ticket ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: object containing new field values
#security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
#third optional parameter (since 7.23.10): the id of the person used as requestor person
ServiceCatalogInterface.searchListPublishedRecordsSecure({ tag: "bike" });
  WorkflowInterface.addTask(ticketid, fields);  
  ServiceCatalogInterface.searchListPublishedRecordsSecure({ anytag: ["bike","auto"], name_contains: "transport" });
  ''returns'': the new task id
  ''return'': An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get count of all published records (7.21.07) ===
==== Update fields of a task ====
#no parameters
#first parameter: TicketId
#security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
#second parameter: TaskId
ServiceCatalogInterface.getCountPublishedRecords();
#third parameter: object containing new field values
  ''return'': number
WorkflowInterface.updateTask(ticketid, taskid, fields);
fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTask(ticketid, taskid, {"Status": "Open","Description":"My descriptionb" });
  Possible fields: Description, AssignedToPersonGroup, AssignedToPerson, DeliveryDate, Information, Solution, LockedTicket, IsCompleted, ExternalReference, ExternalResolved, LinkAllTicketDocuments, Status, Priority, DeadlineDate, since 7.23.09: Category, ConfigurationItem, since 7.24.12: Subcategory, since 7.25.06: BlockSaveAndComplete, ExternalInApprovalMode


=== Get list of all published records ===
==== Add a message to a task (7.24.10) ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: TicketId
#security: this function returns all published records (services and knowledge articles), without checking the current user security profile
#second parameter: TaskId
  ServiceCatalogInterface.getAllPublishedRecords();
#third parameter: person
''return'':  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
#fourth parameter: text
  WorkflowInterface.addTaskMessage(1500, 150, "john@doe.com", "text");


=== Get count of published records by searching (7.21.07) ===
==== External system acknowledged a task (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with LanguageId (7.22.08)
#second parameter: TaskId
#security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
#third parameter: person
  ServiceCatalogInterface.searchCountPublishedRecords({ tag: "bike" });
#fourth parameter: externalLinkReference
''return'': number
#fifth parameter: extraMessage
  WorkflowInterface.taskAcknowledgementFromExternal(1500, 150, "john@doe.com", "EXT-12345", "Ticket received");


=== Get list of published records by searching (7.21.07) ===
==== External system adds an update message to a task (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: TaskId
#security: this function returns published records (services and knowledge articles) that matches the search conditions, without checking the current user security profile
#third parameter: person
ServiceCatalogInterface.searchListPublishedRecords({ tag: "bike" });
#fourth parameter: updateMessage
  ServiceCatalogInterface.searchListPublishedRecords({ anytag: ["bike","auto"], name_contains: "transport" });
  WorkflowInterface.taskUpdateMessageFromExternal(1500, 150, "john@doe.com", "Update information");
''return'':  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of all published services (7.21.07) ===
==== External system marks task as in approval mode (7.25.06) ====
#no parameters
#first parameter: TicketId
#security: this function returns the count of all published services and checks the current user security profile
#second parameter: TaskId
  ServiceCatalogInterface.getCountPublishedServicesSecure();
#third parameter: person
''return'': number
#fourth parameter: message
  WorkflowInterface.taskInApprovalModeFromExternal(1500, 150, "john@doe.com", "Please approve");


=== Get secure list of all published services ===
==== External system reassigns a task (7.25.01) ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: TicketId
#security: this function returns all published services and checks the current user security profile
#second parameter: TaskId
  ServiceCatalogInterface.getAllPublishedServicesSecure();
#third parameter: person
''return'':  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
#fourth parameter: updateMessage
  WorkflowInterface.taskReassignmentFromExternal(1500, 150, "john@doe.com", "The solution");


=== Get secure count of published services by searching (7.21.07) ===
==== Send update message to an external task (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with LanguageId (7.22.08)
#second parameter: TaskId
#security: this function returns the count of all published services and checks the current user security profile
#third parameter: person
  ServiceCatalogInterface.searchCountPublishedServicesSecure({tag: "bike"});
#fourth parameter: updateMessage
''return'': number
  WorkflowInterface.taskUpdateMessageToExternal(1500, 150, "john@doe.com", "Update information");


=== Get secure list of published services by searching (7.21.07) ===
==== Send update message to an external task, only if the logged in user has the rights for this (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: TaskId
#security: this function returns all published services and checks the current user security profile
#third parameter: updateMessage
  ServiceCatalogInterface.searchListPublishedServicesSecure({tag: "bike"});
  WorkflowInterface.taskUpdateMessageToExternalSecure(1500, 150, "Update information");
''return'':  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get count of all published services (7.21.07) ===
==== Send approval vote to an external task (7.25.06) ====
#no parameters
#first parameter: TicketId
#security: this function returns the count all published services, without checking the current user security profile
#second parameter: TaskId
  ServiceCatalogInterface.getCountPublishedServices();
#third parameter: person
''return'': number
#fourth parameter: approved (true or false)
#fifth parameter: motivation
  WorkflowInterface.taskApprovalVoteToExternal(1500, 150, "john@doe.com", true, "Go ahead");


=== Get list of all published services ===
==== Send approval vote to an external task, only if the logged in user has the rights for this (7.25.06) ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: TicketId
#security: this function returns all published services, without checking the current user security profile
#second parameter: TaskId
  ServiceCatalogInterface.getAllPublishedServices();
#third parameter: person
''return'':  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
#fourth parameter: approved (true or false)
#fifth parameter: motivation
  WorkflowInterface.taskApprovalVoteToExternalSecure(1500, 150, "john@doe.com", true, "Go ahead");


=== Get count of published services by searching (7.21.07) ===
==== Reject the solution for an external task (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with LanguageId (7.22.08)
#second parameter: TaskId
#security: this function returns the count all published services, without checking the current user security profile
#third parameter: person
  ServiceCatalogInterface.searchCountPublishedServices({tag: "bike"});
#fourth parameter: rejectMessage
''return'': number
  WorkflowInterface.taskRejectSolutionToExternal(1500, 150, "john@doe.com", "Reject info");


=== Get list of published services by searching (7.21.07) ===
==== Reject the solution for an external task, only if the logged in user has the rights for this (7.25.01) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: TicketId
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: TaskId
#security: this function returns all published services, without checking the current user security profile
#third parameter: rejectMessage
  ServiceCatalogInterface.searchListPublishedServices({tag: "bike"});
  WorkflowInterface.taskRejectSolutionToExternalSecure(1500, 150, "Reject info");
''return'':  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of all published knowledge articles (7.21.07) ===
==== Get information for a task (7.21.07) ====
#no parameters
#first parameter: task id
#security: this function returns the count of all published knowledge articles and checks the current user security profile
  WorkflowInterface.getTask(100);
  ServiceCatalogInterface.getCountPublishedKnowledgeArticlesSecure();
  ''returns'': object with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket, since 7.23.09 category (object with properties code and name), configurationitem (object with properties code and name), since 7.24.12 subcategory (object with properties code and name), since 7.25.01 updatemessageavailable, rejectsolutionavailable, since 7.25.06 approvalvoteavailable, blocksaveandmarkcompleted, externalinapprovalmode in JSON
  ''return'': number


=== Get secure list of all published knowledge articles ===
==== Get all tasks for a ticket (7.21.07) ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: ticket id
#security: this function returns all published knowledge articles and checks the current user security profile
  WorkflowInterface.getTasks(1500);
  ServiceCatalogInterface.getAllPublishedKnowledgeArticlesSecure();
  ''returns'': array of objects with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket, since 7.23.09 category (object with properties code and name), configurationitem (object with properties code and name), since 7.24.10: messages (array of objects with properties date, person, text), since 7.24.12 subcategory (object with properties code and name), since 7.25.01 updatemessageavailable, rejectsolutionavailable, since 7.25.06 approvalvoteavailable, blocksaveandmarkcompleted, externalinapprovalmode in JSON
  ''return'': An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of published knowledge articles by searching (7.21.07) ===
=== Emails (since 7.21.06) ===
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
==== Get an email layout ====
#optional second parameter: object with LanguageId (7.22.08)
#first parameter: name of the email layout
#security: this function returns the count of all published knowledge articles and checks the current user security profile
  WorkflowInterface.getEmailLayout(name);
  ServiceCatalogInterface.searchCountPublishedKnowledgeArticlesSecure({tag: "bike"});
  ''returns'': the body of the email layout in the default language
  ''return'': number
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.


=== Get secure list of published knowledge articles by searching (7.21.07) ===
==== Get an email layout in a specific language ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: name of the email layout
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: id of the desired language
#security: this function returns all published knowledge articles and checks the current user security profile
  WorkflowInterface.getEmailLayoutWithLanguageId(name, languageid);
  ServiceCatalogInterface.searchListPublishedKnowledgeArticlesSecure({tag: "bike"});
  ''returns'': the body of the email layout in the desired language
  ''return'': An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.


=== Get count of all published knowledge articles (7.21.07) ===
==== Get the default email layout ====
#no parameters
  WorkflowInterface.getDefaultEmailLayout();
#security: this function returns the count all published knowledge articles, without checking the current user security profile
  ''returns'': the body of the default email layout in the default language
  ServiceCatalogInterface.getCountPublishedKnowledgeArticles();
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.
  ''return'': number


=== Get list of all published knowledge articles ===
==== Get the default email layout in a specific language ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#first parameter: id of the desired language
#security: this function returns all published knowledge articles, without checking the current user security profile
  WorkflowInterface.getDefaultEmailLayoutWithLanguageId(languageid);
  ServiceCatalogInterface.getAllPublishedKnowledgeArticles();
  ''returns'': the body of the default email layout in the desired language
  ''return'': An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.


=== Get count of published knowledge articles by searching (7.21.07) ===
==== Get an email template (7.22.09) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: name of the email template
#optional second parameter: object with LanguageId (7.22.08)
#optional second parameter: language id you wish to use
#security: this function returns the count all published knowledge articles, without checking the current user security profile
  WorkflowInterface.getEmailTemplate(name);
  ServiceCatalogInterface.searchCountPublishedKnowledgeArticles({tag: "bike"});
  ''returns'': an object with properties subject, body and attachments (array of objects with properties url and name) in JSON
  ''return'': number


=== Get list of published knowledge articles by searching (7.21.07) ===
==== Send an email ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#first parameter: full name of the receiver
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#second parameter: email address of the receiver
#security: this function returns all published knowledge articles, without checking the current user security profile
#third parameter: subject of the email
  ServiceCatalogInterface.searchListPublishedKnowledgeArticles({tag: "bike"});
#fourth parameter: content of the email
  ''return'':  An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
  WorkflowInterface.sendEmail(toName, toEmail, subject, content);
  sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise


=== Get published service summary ===  
==== Queue an email ====
#first parameter: serviceguid
#first parameter: full name of the receiver
#optional second parameter: object with LanguageId (7.22.08)
#second parameter: email address of the receiver
#security: Returns a summary of the service, without checking the current user security profile
#third parameter: subject of the email
  ServiceCatalogInterface.getPublishedServiceSummary(guid)
#fourth parameter: content of the email
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
  WorkflowInterface.queueEmail(toName, toEmail, subject, content);
  adds the email to the queue


=== Get secure published service summary ===  
==== Send an email - advanced ====
#first parameter: serviceguid
#first parameter: object with properties
#optional second parameter: object with LanguageId (7.22.08)
WorkflowInterface.sendEmailAdvanced(properties);
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
  ServiceCatalogInterface.getPublishedServiceSummarySecure(guid)
''from'': can be a string (email address) or an object with the properties 'email' and 'name'
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
''to, cc and bcc'': can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
  ''attachments'': can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
  ''disableoverwriteto'': boolean to specify whether the "Send all e-mails only to" should be ignored or not
''processinstanceid'': id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.sendEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The &lt;strong&gt;content&lt;/strong&gt; of my email" });
sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise
Since 7.23.05: returns the id of the record


=== Get multiple published services summary ===  
==== Queue an email - advanced ====
#first parameter: array with serviceguids
#first parameter: object with properties
#optional second parameter: object with LanguageId (7.22.08)
WorkflowInterface.queueEmailAdvanced(properties);
#security: Returns a summary of the service, without checking the current user security profile
Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
  ServiceCatalogInterface.getPublishedServicesSummary([guid1, guid2])
''from'': can be a string (email address) or an object with the properties 'email' and 'name'
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
  ''to, cc and bcc'': can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
  ''attachments'': can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
''disableoverwriteto'': boolean to specify whether the "Send all e-mails only to" should be ignored or not
''processinstanceid'': id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.queueEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The &lt;strong&gt;content&lt;/strong&gt; of my email" });
adds the email to the queue
Since 7.23.05: returns the id of the record


=== Get all published services summary (7.21.07) ===
== StudioInterface ==
#optional first parameter: object with LanguageId (7.22.08)
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesSummary()
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get secure multiple published services summary ===  
=== Get the full query string ===  
#first parameter: array with serviceguids
  StudioInterface.getQueryString();
#optional second parameter: object with LanguageId (7.22.08)
  ''return'': the full query string (without the leading question mark)
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getPublishedServicesSummarySecure([guid1, guid2])
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get secure all published services summary (7.21.07) ===  
=== Get all keys from the query string parameter collection (7.22.03) ===  
#optional first parameter: object with LanguageId (7.22.08)
  StudioInterface.getAllQueryStringKeys();
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': an array of strings with all the keys of the query string parameters for the current request
  ServiceCatalogInterface.getAllPublishedServicesSummarySecure()
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get published service details ===
=== Get a value from the query string ===  
#first parameter: serviceguid
  StudioInterface.getQueryStringValue('name');
#optional second parameter: object with properties:
  ''return'': the value of the query string parameter for the current request
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
  ServiceCatalogInterface.getPublishedServiceDetail(guid)
  ''return'': all fields, including template fields for the given service guid


=== Get secure published service details ===
=== Get values in an array from the query string (7.24.03) ===
#first parameter: serviceguid
  StudioInterface.getQueryStringValues('name');
#optional second parameter: object with properties:
  ''return'': the values of the query string parameter for the current request in an array
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getPublishedServiceDetailSecure(guid)
  ''return'': all fields, including template fields for the given service guid


=== Get multiple published services details ===
=== Get all keys from the header collection (7.22.03) ===
#first parameter: array with serviceguids
  StudioInterface.getAllHeaderKeys();
#optional second parameter: object with properties:
  ''return'': an array of strings with all the keys of the headers for the current request
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
  ServiceCatalogInterface.getPublishedServicesDetail([guid1, guid2])
  ''return'': an array with services containing all fields, including template fields for the given service guids


=== Get all published services details (7.21.07) ===  
=== Get a value from the header ===  
#optional first parameter: object with properties:
#first parameter: name
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
StudioInterface.getHeaderValue('name');
- LanguageId (id of the language to use) (7.22.03)
''return'': the value of the header parameter for the current request
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
 
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
=== Get values in an array from the header (7.24.03) ===
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#first parameter: name
#security: Returns all service details, without checking the current user security profile
  StudioInterface.getHeaderValues('name');
  ServiceCatalogInterface.getAllPublishedServicesDetail()
  ''return'': the values of the header parameter for the current request in an array
  ''return'': an array with services containing all fields, including template fields


=== Get secure multiple published services details ===
=== Get all keys from the server variables collection (7.24.02) ===
#first parameter: array with serviceguids
  StudioInterface.getAllServerVariableKeys();
#optional second parameter: object with properties:
  ''return'': an array of strings with all the keys of the server variables collection for the current request
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getPublishedServicesDetailSecure([guid1, guid2])
  ''return'': an array with services containing all fields, including template fields for the given service guids


=== Get secure all published services details (7.21.07) ===  
=== Get a value from the server variables (7.24.02) ===  
#optional first parameter: object with properties:
#first parameter: name
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
  StudioInterface.getServerVariableValue('REMOTE_ADDR');
- LanguageId (id of the language to use) (7.22.03)
  ''return'': the value of the server variable for the current request
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getAllPublishedServicesDetailSecure()
  ''return'': an array with services containing all fields, including template fields


=== Get published service part values (7.21.07) ===  
=== Get values in an array from the server variables (7.24.03) ===  
#first parameter: serviceguid
#first parameter: name
#second parameter: array of internal names of the parts (pass null to get all parts)
  StudioInterface.getServerVariableValues('REMOTE_ADDR');
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the values in an array of the server variable for the current request
#security: Returns all part values, without checking the current user security profile
  ServiceCatalogInterface.getPublishedServiceParts(guid, ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get secure published service part values (7.21.07) ===  
=== Get the user host address (since 7.25.05) ===  
#first parameter: serviceguid
  StudioInterface.getUserHostAddress();
#second parameter: array of internal names of the parts (pass null to get all parts)
  ''return'': the IP address of the user
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getPublishedServicePartsSecure(guid, ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get multiple published services part values (7.21.07) ===  
=== Gets all the application session keys (7.25.01) ===  
#first parameter: array with serviceguids
  StudioInterface.getAllAppSessionKeys();
#second parameter: array of internal names of the parts (pass null to get all parts)
  ''return'': an array of strings with all the keys
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
  ServiceCatalogInterface.getPublishedServicesParts([guid1, guid2], ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get secure multiple published services details (7.21.07) ===  
=== Gets an application session value (7.25.01) ===  
#first parameter: array with serviceguids
#first parameter: name
#second parameter: array of internal names of the parts (pass null to get all parts)
  StudioInterface.getAppSessionValue('name');
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the value (object)
#security: Returns all part values, without checking the current user security profile
  ServiceCatalogInterface.getPublishedServicesPartsSecure([guid1, guid2], ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get all published services part values (7.21.07) ===  
=== Sets an application session value (7.25.01) ===  
#first parameter: array of internal names of the parts (pass null to get all parts)
#first parameter: name
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#second parameter: value
#security: Returns all part values for all services, without checking the current user security profile
  StudioInterface.setAppSessionValue('sessionkeyname', 'sessionkeyvalue');
  ServiceCatalogInterface.getAllPublishedServicesParts(["part1", "part2"])
  ''return'': nothing
  ''return'': template fields


=== Get secure all published services details (7.21.07) ===  
=== Removes an application session object (7.25.01) ===  
#first parameter: array of internal names of the parts (pass null to get all parts)
#first parameter: name
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  StudioInterface.removeAppSession('sessionkeyname');
#security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': nothing
  ServiceCatalogInterface.getAllPublishedServicesPartsSecure(["part1", "part2"])
  ''return'': template fields


=== Search published services using text search (with Lucene) (7.21.11) ===
=== Get all keys from the cookie collection (7.22.03) ===  
#first parameter: language id
  StudioInterface.getAllCookieKeys();
#second parameter: the text to search (allows for * and ?)
  ''return'': an array of strings with all the keys of the cookies for the current request
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'templatename', 'templatetype' and 'servicetype'
#security: this function returns all published services, without checking the current user security profile
  ServiceCatalogInterface.textSearch(1, "how to ride a bike", { templatetype: "Knowledge_article" });
  ''return'': An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing the following data: guid, name, summary, servicetype, templatename, templatetype) and 'lastinfo' (contains the needed info to fetch the next batch of results)


=== Search secure published services using text search (with Lucene) (7.21.11) ===
=== Get a value from the cookie ===  
#first parameter: language id
#first parameter: name
#second parameter: the text to search (allows for * and ?)
StudioInterface.getCookieValue('name');
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'templatename', 'templatetype' and 'servicetype'
  ''return'': the value (url decoded) of the cookie for the current request
#security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.textSearchSecure(1, "how to ride a bike", { templatetype: "Knowledge_article" });
  ''return'': An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing the following data: guid, name, summary, servicetype, templatename, templatetype) and 'lastinfo' (contains the needed info to fetch the next batch of results)


=== Get service version summary (7.21.12) ===  
=== Get a raw value from the cookie (7.24.06) ===  
#first parameter: serviceguid
#first parameter: name
#second parameter: versionnumber
  StudioInterface.getCookieValueRaw('name');
#optional third parameter: object with LanguageId (7.22.08)
  ''return'': the value (not url decoded) of the cookie for the current request
#security: Returns a summary of the service, without checking the current user security profile
  ServiceCatalogInterface.getServiceVersionSummary(guid, versionnumber)
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get secure service version summary (7.21.12) ===  
=== Set a cookie (7.22.03) ===  
#first parameter: serviceguid
Adds a cookie, if no expire days is provided, then it's a session cookie (will be removed when session ends)
#second parameter: versionnumber
#first parameter: name
#optional third parameter: object with LanguageId (7.22.08)
#second parameter: value (will be url encoded since 7.24.06)
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
#third parameter (optional): expire in nr of days (a negative value will remove the cookie)
  ServiceCatalogInterface.getServiceVersionSummarySecure(guid, versionnumber)
  StudioInterface.setCookie('cookiename', 'cookievalue');
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
  ''return'': nothing


=== Get service version details (7.21.12) ===  
=== Set a cookie with options (7.24.10) ===  
#first parameter: serviceguid
Adds a cookie using the options provided
#second parameter: versionnumber
#first parameter: name
#optional third parameter: object with properties:
#second parameter: value (will be url encoded)
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
#third parameter: object with supported properties: httponly, path, domain, secure and expires
- LanguageId (id of the language to use) (7.22.03)
  StudioInterface.setCookieWithOptions('cookiename', 'cookievalue', { "HttpOnly": false });
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
  ''return'': nothing
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
  ServiceCatalogInterface.getServiceVersionDetail(guid, versionnumber)
  ''return'': all fields, including template fields for the given service guid and versionnumber


=== Get secure service version details (7.21.12) ===  
=== Set a cookie value raw (7.24.06) ===  
#first parameter: serviceguid
Adds a cookie, if no expire days is provided, then it's a session cookie (will be removed when session ends)
#second parameter: versionnumber
#first parameter: name
#optional third parameter: object with properties:
#second parameter: value (will not be url encoded)
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
#third parameter (optional): expire in nr of days (a negative value will remove the cookie)
- LanguageId (id of the language to use) (7.22.03)
  StudioInterface.setCookieRaw('cookiename', 'cookievalue');
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
  ''return'': nothing
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServiceVersionDetailSecure(guid, versionnumber)
  ''return'': all fields, including template fields for the given service guid and versionnumber


=== Get secure count of all records (7.21.12) ===
=== Set a cookie value raw with options (7.24.10) ===  
#no parameters
Adds a cookie using the options provided
#security: this function returns the count of all records (services and knowledge articles) and checks the current user security profile
#first parameter: name
  ServiceCatalogInterface.getCountRecordsSecure();
#second parameter: value (will not be url encoded)
  ''return'': number
#third parameter: object with supported properties: httponly, path, domain, secure and expires
  StudioInterface.setCookieRawWithOptions('cookiename', 'cookievalue', { "HttpOnly": false });
  ''return'': nothing


=== Get secure list of all records (7.21.12) ===
=== Get all keys from the posted form collection (7.22.03) ===  
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  StudioInterface.getAllFormKeys();
#security: this function returns all records (services and knowledge articles) and checks the current user security profile for all returning authorized records
  ''return'': an array of strings with all the keys of the posted form collection for the current request
  ServiceCatalogInterface.getAllRecordsSecure();
  ''return'': An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get count of all records (7.21.12) ===
=== Get a value from the posted form collection ===
#no parameters
#first parameter: name
#security: this function returns the count of all records (services and knowledge articles), without checking the current user security profile
StudioInterface.getFormValue('name');
  ServiceCatalogInterface.getCountRecords();
''return'': the value from the posted form collection for the current request
  ''return'': number
 
=== Get values in an array from the posted form collection (7.24.03) ===  
#first parameter: name
  StudioInterface.getFormValues('name');
  ''return'': the values in an array from the posted form collection for the current request


=== Get list of all records (7.21.12) ===
=== Get the http method for the current request ===  
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  StudioInterface.getHttpMethod();
#security: this function returns all records (services and knowledge articles), without checking the current user security profile
  ''return'': the current http method (GET, POST, …)
  ServiceCatalogInterface.getAllRecords();
  ''return'': An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of all services (7.21.12) ===
=== Get the content type of the current request ===  
#no parameters
  StudioInterface.getContentType();
#security: this function returns the count of all services and checks the current user security profile
  ''return'': the content type (text/plain, application/json, …)
  ServiceCatalogInterface.getCountServicesSecure();
  ''return'': number


=== Get secure list of all services (7.21.12) ===
=== Get the full posted content as string ===
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
You can only call this once per request
#security: this function returns all services and checks the current user security profile
  StudioInterface.getPostedContent();
  ServiceCatalogInterface.getAllServicesSecure();
  ''return'': posted content
  ''return'': An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get count of all services (7.21.12) ===
=== Check if the HTTP request has a posted file (7.23.12) ===  
#no parameters
#optional first parameter: allextensionsallowed - default false (7.24.10)
#security: this function returns the count all services, without checking the current user security profile
  StudioInterface.hasPostedFile();
  ServiceCatalogInterface.getCountServices();
  ''return'': true or false
  ''return'': number


=== Get list of all services (7.21.12) ===
=== Get information about the posted file in the HTTP request (7.23.12) ===  
#optional first parameter: object with LanguageId (7.22.08)
#optional first parameter: allextensionsallowed - default false (7.24.10)
#security: this function returns all services, without checking the current user security profile
  StudioInterface.getPostedFileInfo();
  ServiceCatalogInterface.getAllServices();
  ''return'': object with properties filename, contenttype and contentlength in JSON
  ''return'': An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of all knowledge articles (7.21.12) ===
=== Get information about the multiple posted files in the HTTP request (7.24.10) ===  
#no parameters
#optional first parameter: allextensionsallowed - default false
#security: this function returns the count of all knowledge articles and checks the current user security profile
  StudioInterface.getPostedFileInfos();
  ServiceCatalogInterface.getCountKnowledgeArticlesSecure();
  ''return'': array of object with properties filename, contenttype and contentlength in JSON
  ''return'': number


=== Get secure list of all knowledge articles (7.21.12) ===
=== Save a posted file (7.23.12) ===  
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#first parameter: foldername where the file should be stored
#security: this function returns all knowledge articles and checks the current user security profile
#optional second parameter: filename to use (if empty the original one is used)
  ServiceCatalogInterface.getAllKnowledgeArticlesSecure();
#optional third parameter: allextensionsallowed - default false (7.24.10)
  ''return'': An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
  StudioInterface.savePostedFile('C:\\temp\\');
  ''return'': nothing


=== Get count of all knowledge articles (7.21.12) ===
=== Get the posted file from the HTTP request in base64 (7.24.09) ===  
#no parameters
#optional first parameter: allextensionsallowed - default false (7.24.10)
#security: this function returns the count all knowledge articles, without checking the current user security profile
  StudioInterface.getPostedFileInBase64();
  ServiceCatalogInterface.getCountKnowledgeArticles();
  ''return'': the posted file in base64
  ''return'': number


=== Get list of all knowledge articles (7.21.12) ===
=== Get the multiple posted files from the HTTP request in base64 (7.24.10) ===  
#optional first parameter: object with LanguageId (7.22.08)
#optional first parameter: allextensionsallowed - default false
#security: this function returns all knowledge articles, without checking the current user security profile
  StudioInterface.getPostedFilesInBase64();
  ServiceCatalogInterface.getAllKnowledgeArticles();
  ''return'': array of posted files in base64
  ''return'': An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get secure count of all records (7.22.04) ===
==== Convert posted Excel file to JSON array (since 7.25.02) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
#optional parameter 1: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
#security: this function returns the count of all records based on the search criteria (services and knowledge articles) and checks the current user security profile
  StudioInterface.excelAsPostedFileToJson();
  ServiceCatalogInterface.searchCountRecordsSecure(searchcriteria);
  ''returns'': the JSON respresentation of the Excel file
  ''return'': number


=== Get secure list of all records (7.22.04) ===
=== Get the current language culture ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getCurrentLanguageCulture();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': the culture (nl-BE, en-GB, …)
#security: this function returns all records based on the search criteria (services and knowledge articles) and checks the current user security profile for all returning authorized records
  ServiceCatalogInterface.searchAllRecordsSecure(searchcriteria);
  ''return'': An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get count of all records (7.22.04) ===
=== Get the current language name ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getCurrentLanguageName();
#security: this function returns the count of all records based on the search criteria (services and knowledge articles), without checking the current user security profile
  ''return'': the name (English, Nederlands, …)
  ServiceCatalogInterface.searchCountRecords(searchcriteria);
  ''return'': number


=== Get list of all records (7.22.04) ===
=== Get the current language id ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getCurrentLanguageId();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': the id (1, 2, …)
#security: this function returns all records based on the search criteria (services and knowledge articles), without checking the current user security profile
  ServiceCatalogInterface.searchAllRecords(searchcriteria);
  ''return'': An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Search secure count of all services (7.22.04) ===
=== Check if there is a logged in person (7.21.07) ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.hasLoggedInPerson();
#security: this function returns the count of all services based on the search criteria and checks the current user security profile
  ''return'': true or false
  ServiceCatalogInterface.searchCountServicesSecure(searchcriteria);
  ''return'': number


=== Search secure list of all services (7.22.04) ===
=== Get the logged in person (7.21.07) ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInPerson();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON
#security: this function returns all services based on the search criteria and checks the current user security profile
  ServiceCatalogInterface.searchAllServicesSecure(searchcriteria);
  ''return'': An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Search count of all services (7.22.04) ===
=== Get the id of the logged in person (7.23.08) ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInPersonId();
#security: this function returns the count all services based on the search criteria, without checking the current user security profile
  ''return'': the id
  ServiceCatalogInterface.searchCountServices(searchcriteria);
  ''return'': number


=== Search list of all services (7.22.04) ===
=== Get the id of the account id that did the impersonation (7.25.05) ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInViaImpersonationAccountId();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': the id
#security: this function returns all services based on the search criteria, without checking the current user security profile
  ServiceCatalogInterface.searchAllServices(searchcriteria);
  ''return'': An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
''example criteria'': { templatename: ["Template 1", "Template 2"] }
'' available criteria: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes


=== Search secure count of all knowledge articles (7.22.04) ===
=== Get the field value for the current logged in person ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
#first parameter: fieldname
#security: this function returns the count of all knowledge articles based on the search criteria and checks the current user security profile
  StudioInterface.getLoggedInPersonField('FirstName');
  ServiceCatalogInterface.searchCountKnowledgeArticlesSecure(searchcriteria);
  ''return'': the value (Raymond, Dominic, …)
  ''return'': number
Possible fields: UniqueId, FirstName, LastName, Email, all person extra fields defined in adapters.


=== Search secure list of all knowledge articles (7.22.04) ===
=== Get the first and last name for the current logged in person ===
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInPersonFirstAndLastName();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': the first and last name (Raymond Crijnen, Dominic De Vilder, …)
#security: this function returns all knowledge articles based on the search criteria and checks the current user security profile
  ServiceCatalogInterface.searchAllKnowledgeArticlesSecure(searchcriteria);
  ''return'': An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Search count of all knowledge articles (7.22.04) ===
=== Get the description as defined in the settings for the current logged in person ===
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInPersonDescription();
#security: this function returns the count all knowledge articles based on the search criteria, without checking the current user security profile
  ''return'': the description (Raymond Crijnen (raymond@smt-x.com - CrijnenR))
  ServiceCatalogInterface.searchCountKnowledgeArticles(searchcriteria);
  ''return'': number


=== Search list of all knowledge articles (7.22.04) ===
=== Get the dateformat as defined for the current logged in person (7.22.06) ===  
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes)
  StudioInterface.getLoggedInPersonDateFormat();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': the dateformat (dd/MM/yyyy)
#security: this function returns all knowledge articles based on the search criteria, without checking the current user security profile
  ServiceCatalogInterface.searchAllKnowledgeArticles(searchcriteria);
  ''return'': An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.


=== Get service summary (7.21.12) ===  
=== Checks if the logged in person has the specified role ===  
#first parameter: serviceguid
#first parameter: Role name
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
StudioInterface.loggedInPersonHasRole('Name of the role');
#security: Returns a summary of the service, without checking the current user security profile
''return'': true if the user has the role, false otherwise
  ServiceCatalogInterface.getServiceSummary(guid)
 
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
=== Checks if the logged in person has any of the specified roles (7.21.08) ===
#first parameter: array of role names
  StudioInterface.loggedInPersonHasAnyRole(['Name of the role1', 'Name of the role2']);
  ''return'': true if the user has any of the roles, false otherwise


=== Get secure service summary (7.21.12) ===  
=== Checks if the logged in person is logged in via impersonation (7.25.05) ===  
#first parameter: serviceguid
  StudioInterface.isLoggedInViaImpersonation();
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  ''return'': true if the user is logged in via impersonation, false otherwise
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServiceSummarySecure(guid)
  ''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get multiple services summary (7.21.12) ===  
=== Checks if the logged in person has all of the specified roles (7.21.08) ===  
#first parameter: array with serviceguids
#first parameter: array of role names
#security: Returns a summary of the service, without checking the current user security profile
  StudioInterface.loggedInPersonHasAllRoles(['Name of the role1', 'Name of the role2']);
  ServiceCatalogInterface.getServicesSummary([guid1, guid2])
  ''return'': true if the user has all of the roles, false otherwise
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get all services summary (7.21.12) ===  
=== Checks if the logged in person is an admin (7.22.06) ===  
#optional first parameter: object with LanguageId (7.22.08)
  StudioInterface.loggedInPersonIsAdmin();
#security: Returns a summary of the service, without checking the current user security profile
  ''return'': true if the user is admin, false otherwise
  ServiceCatalogInterface.getAllServicesSummary()
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get secure multiple services summary (7.21.12) ===  
=== Checks if the logged in person has the specified app role (7.26.01) ===  
#first parameter: array with serviceguids
#first parameter: app role name
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  StudioInterface.loggedInPersonHasAppRole('App role name');
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': true if the user has the app role, false otherwise
  ServiceCatalogInterface.getServicesSummarySecure([guid1, guid2])
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors


=== Get secure all services summary (7.21.12) ===  
=== Checks if the logged in person has the specified app role in a specific studio app (7.26.01) ===  
#optional first parameter: object with LanguageId (7.22.08)
#first parameter: application id
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
#second parameter: app role name
  ServiceCatalogInterface.getAllServicesSummarySecure()
  StudioInterface.loggedInPersonHasAppRoleFromStudioApp(15, 'App role name');
  ''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
  ''return'': true if the user has the app role, false otherwise


=== Get service details (7.21.12) ===  
=== Checks if the logged in person has any of the specified app roles (7.26.01) ===  
#first parameter: serviceguid
#first parameter: array of app role names
#optional second parameter: object with properties:
StudioInterface.loggedInPersonHasAnyAppRole(['App role 1', 'App role 2']);
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
  ''return'': true if the user has any of the app roles, false otherwise
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServiceDetail(guid)
  ''return'': all fields, including template fields for the given service guid
Please note that there is an optional parameter to retrieve the service details in a specific languange. Use this: ServiceCatalogInterface.getServiceDetail(guid, { LanguageId: 1 }) to get the service details in the language English. (1=English, 2=Dutch, 3=French, 4=German).


=== Get secure service details (7.21.12) ===  
=== Checks if the logged in person has any of the specified app roles in a specific studio app (7.26.01) ===  
#first parameter: serviceguid
#first parameter: application id
#optional second parameter: object with properties:
#second parameter: array of app role names
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
  StudioInterface.loggedInPersonHasAnyAppRoleFromStudioApp(15, ['App role 1', 'App role 2']);
- LanguageId (id of the language to use) (7.22.03)
  ''return'': true if the user has any of the app roles, false otherwise
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServiceDetailSecure(guid)
  ''return'': all fields, including template fields for the given service guid


=== Get multiple services details (7.21.12) ===  
=== Checks if the logged in person has all of the specified app roles (7.26.01) ===  
#first parameter: array with serviceguids
#first parameter: array of app role names
#optional second parameter: object with properties:
  StudioInterface.loggedInPersonHasAllAppRoles(['App role 1', 'App role 2']);
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
  ''return'': true if the user has all of the app roles, false otherwise
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
  ServiceCatalogInterface.getServicesDetail([guid1, guid2])
  ''return'': an array with services containing all fields, including template fields for the given service guids


=== Get all services details (7.21.12) ===  
=== Checks if the logged in person has all of the specified app roles in a specific studio app (7.26.01) ===  
#optional second parameter: object with properties:
#first parameter: application id
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
#second parameter: array of app role names
- LanguageId (id of the language to use) (7.22.03)
StudioInterface.loggedInPersonHasAllAppRolesFromStudioApp(15, ['App role 1', 'App role 2']);
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
  ''return'': true if the user has all of the app roles, false otherwise
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getAllServicesDetail()
  ''return'': an array with services containing all fields, including template fields


=== Get secure multiple services details (7.21.12) ===  
=== Get a translation ===  
#first parameter: array with serviceguids
#first parameter: Category
#optional second parameter: object with properties:
#second parameter: Label
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
  StudioInterface.translate('Common', 'Profile');
- LanguageId (id of the language to use) (7.22.03)
  ''return'': the translation value for the SSP translations
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServicesDetailSecure([guid1, guid2])
  ''return'': an array with services containing all fields, including template fields for the given service guids


=== Get secure all services details (7.21.12) ===  
=== Get a translation and add default value if missing (7.24.07) ===  
#optional second parameter: object with properties:
#first parameter: Category
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
#second parameter: Label
- LanguageId (id of the language to use) (7.22.03)
#third parameter: Default Value
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
  StudioInterface.translate('Common', 'Profile', 'My Profile');
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
  ''return'': the translation value for the SSP translations and if it doesn't exits yet, it will be added with the default value in the default language
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getAllServicesDetailSecure()
  ''return'': an array with services containing all fields, including template fields


=== Get service part values (7.22.02) ===
=== Get the root of the ssp location ===  
#first parameter: serviceguid
  StudioInterface.getSspRoot();
#second parameter: array of internal names of the parts (pass null to get all parts)
  ''return'': the http location, including the trailing slash (https:=== ssp/)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
  ServiceCatalogInterface.getServiceParts(guid, ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get secure service part values (7.22.02) ===  
=== Get the http path to the current application ===  
#first parameter: serviceguid
Returns the location of the studio app, in case the code is called from a http request, the http(s) location is not included, in case it's called from a studio task, the http(s) location is included
#second parameter: array of internal names of the parts (pass null to get all parts)
  StudioInterface.getApplicationPath();
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the location, without the trailing slash (https://ssp/myapp or /myapp)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServicePartsSecure(guid, ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get multiple services part values (7.22.02) ===  
=== Get the application folder name (7.22.09) ===  
#first parameter: array with serviceguids
  StudioInterface.getApplicationFolder();
#second parameter: array of internal names of the parts (pass null to get all parts)
  ''return'': the name of the folder (eg myapp)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
  ServiceCatalogInterface.getServicesParts([guid1, guid2], ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get secure multiple services part values (7.22.02) ===  
=== Get the application id by folder name (7.25.08) ===  
#first parameter: array with serviceguids
  StudioInterface.getApplicationIdByFolderName("myapp");
#second parameter: array of internal names of the parts (pass null to get all parts)
  ''return'': the id of the application (eg 15)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServicesPartsSecure([guid1, guid2], ["part1", "part2"])
  ''return'': template fields for the given service guid


=== Get all services part values (7.22.02) ===  
=== Checks if the user has the "Use" right for a studio app (7.25.09) ===  
#first parameter: array of internal names of the parts (pass null to get all parts)
  StudioInterface.loggedInPersonHasStudioAppUseRights(id);
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': true of the logged in user has the use right, false otherwise
#security: Returns all part values for all services, without checking the current user security profile
  ServiceCatalogInterface.getAllServicesParts(["part1", "part2"])
  ''return'': template fields


=== Get secure all services part values (7.22.02) ===  
=== Get the current folder name (full) inside the current application ===  
#first parameter: array of internal names of the parts (pass null to get all parts)
  StudioInterface.getCurrentFolderName();
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the current full folder path, including the starting and trailing slash (/subfolder/content/)
#security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getAllServicesPartsSecure(["part1", "part2"])
  ''return'': template fields


=== Get service review cycles (7.22.04) ===  
=== Get the current file name inside the current application ===  
#first parameter: serviceguid
  StudioInterface.getCurrentName();
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the current file name (index.html)
#security: Returns all review cycles, without checking the current user security profile
  ServiceCatalogInterface.getServiceReviewCycles(guid)
  ''return'': all review cycles for the given service guid


=== Get secure service review cycles (7.22.04) ===  
=== Get the current full path of the file inside the current application ===  
#first parameter: serviceguid
  StudioInterface.getCurrentPath();
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the current file name (/subfolder/content/index.html)
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServiceReviewCyclesSecure(guid)
  ''return'': all review cycles for the given service guid


=== Get multiple services review cycles (7.22.04) ===  
=== Get the current full raw url (since 7.23.04) ===  
#first parameter: array with serviceguids
  StudioInterface.getCurrentFullRawUrl();
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the current full raw url, eg /my-app/my-folder/my-file.txt
#security: Returns all review cycles, without checking the current user security profile
  ServiceCatalogInterface.getServicesReviewCycles([guid1, guid2])
  ''return'': all review cycles for the given service guids


=== Get secure multiple services review cycles (7.22.04) ===  
=== Get the current application raw url (since 7.23.04) ===  
#first parameter: array with serviceguids
  StudioInterface.getCurrentApplicationRawUrl();
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  ''return'': the current full raw url minues the application folder, eg /my-folder/my-file.txt
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
  ServiceCatalogInterface.getServicesReviewCyclesSecure([guid1, guid2])
  ''return'': all review cycles for the given service guids


=== Get all services review cycles (7.22.04) ===  
=== Get the current application id (7.22.06) ===  
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  StudioInterface.getCurrentApplicationId();
#security: Returns all review cycles for all services, without checking the current user security profile
  ''return'': the id of the application
  ServiceCatalogInterface.getAllServicesReviewCycles()
  ''return'': all review cycles


=== Get secure all services review cycles (7.22.04) ===  
=== Get the ticks of the last modified date of the current application (7.23.02) ===  
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  StudioInterface.getCurrentApplicationLastModifiedTicks();
#security: Returns all review cycles for all services and checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': the ticks of the last modified date of the application
  ServiceCatalogInterface.getAllServicesReviewCyclesSecure()
  ''return'': all review cycles


=== Get review cycle (7.22.04) ===  
=== renders the application file as a string ===  
#first parameter: reviewcycleguid
#first parameter: string to be rendered
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
StudioInterface.renderAsString('/subfolder/content/index.html');
#security: Returns the review cycle, without checking the current user security profile
  ''return'': the rendered content
ServiceCatalogInterface.getReviewCycle(reviewcycleguid)
  ''return'': the review cycle


=== Get secure review cycles (7.22.04) ===  
=== renders the application file as a string, passing thru the parameters to the rendering script ===  
#first parameter: reviewcycleguid
#first parameter: Application file
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#second parameter: object with parameters
#security: Returns the review cycle and checks if the current user is authorized to retrieve these details (at least read rights)
StudioInterface.renderAsStringWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
ServiceCatalogInterface.getReviewCycleSecure(reviewcycleguid)
  ''return'': the rendered content (the parameters are accessible in the processing script of the file to render, use g_parameters)
  ''return'': the review cycle


=== Get multiple review cycles (7.22.04) ===  
=== renders an application file in a studio application as a string (7.25.08) ===  
#first parameter: array with reviewcycleguids
#first parameter: Application id
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#second parameter: string to be rendered
#security: Returns all review cycles, without checking the current user security profile
  StudioInterface.renderAsStringFromStudioApp(15, '/subfolder/content/index.html');
  ServiceCatalogInterface.getReviewCycles([guid1, guid2])
  ''return'': the rendered content
  ''return'': the review cycles


=== Get secure multiple review cycles (7.22.04) ===  
=== renders an application file in a studio application as a string, passing thru the parameters to the rendering script (7.25.08) ===  
#first parameter: array with reviewcycleguids
#first parameter: Application id
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#second parameter: Application file
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
#third parameter: object with parameters
ServiceCatalogInterface.getReviewCyclesSecure([guid1, guid2])
StudioInterface.renderAsStringWithParametersFromStudioApp(15, '/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
  ''return'': the review cycles
  ''return'': the rendered content (the parameters are accessible in the processing script of the file to render, use g_parameters)


=== Get service variable value secure (7.22.07) ===  
=== renders the application file and returns the rendered object ===  
#first parameter: service guid
#first parameter: Application file
#second parameter: variable name
  StudioInterface.render('/subfolder/content/index.html');
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': the rendered object with these properties: action, content, contenttype, templatezones, templateparameters
  ServiceCatalogInterface.getServiceVariableValueSecure(guid, variablename)
  ''return'': the value (string)


=== Get service variable value (7.22.07) ===  
=== renders the application file, passing thru the parameters to the rendering script ===  
#first parameter: service guid
  StudioInterface.renderWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
#second parameter: variable name
  ''return'': the rendered object (see .render for details)
#security: No checks are done
  ServiceCatalogInterface.getServiceVariableValue(guid, variablename)
  ''return'': the value (string)


=== Set service variable value secure (7.22.07) ===  
=== renders an application file in a studio application and returns the rendered object (7.25.08) ===  
#first parameter: service guid
#first parameter: Application id
#second parameter: variable name
#second parameter: Application file
#third parameter: variable value
  StudioInterface.renderFromStudioApp(15, '/subfolder/content/index.html');
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
  ''return'': the rendered object with these properties: action, content, contenttype, templatezones, templateparameters
  ServiceCatalogInterface.setServiceVariableValueSecure(guid, variablename, variablevalue)
  ''return'': nothing


=== Set service variable value (7.22.07) ===  
=== renders an application file in a studio application, passing thru the parameters to the rendering script (7.25.08) ===  
#first parameter: service guid
#first parameter: Application id
#second parameter: variable name
#second parameter: Application file
#third parameter: variable value
#third parameter: object with parameters
#security: No checks are done
  StudioInterface.renderWithParametersFromStudioApp('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
  ServiceCatalogInterface.setServiceVariableValue(guid, variablename, variablevalue)
  ''return'': the rendered object (see .render for details)
  ''return'': nothing


=== Get service variables secure (7.22.07) ===  
=== Get the value for the application variable ===  
#first parameter: service guid
#first parameter: Variable name
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
  StudioInterface.getVariableValue('my variable');
  ServiceCatalogInterface.getServiceVariablesSecure(guid)
  ''return'': the value (type is depending on the variable)
  ''return'': array of variables in JSON (properties: serviceguid, name, value)


=== Get service variables (7.22.07) ===  
=== Get the value for the application variable, passing thru the parameters to the variable script ===  
#first parameter: service guid
#first parameter: Variable name
#security: No checks are done
#second parameter: object with parameters (passed through to the variable script)
  ServiceCatalogInterface.getServiceVariables(guid)
  StudioInterface.getVariableValueWithParameters('my custom variable function', { 'Number': 8 });
  ''return'': array of variables in JSON (properties: serviceguid, name, value)
  ''return'': the value (type is depending on the variable)


=== Get services variables secure (7.22.07) ===  
=== Get the value for an application variable in a studio application (7.25.08) ===  
#first parameter: array of service guids
#first parameter: Application id
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
#second parameter: Variable name
  ServiceCatalogInterface.getServicesVariablesSecure([guid1, guid2])
  StudioInterface.getVariableValueFromStudioApp(15, 'my variable');
  ''return'': array of variables in JSON (properties: serviceguid, name, value)
  ''return'': the value (type is depending on the variable)


=== Get services variables (7.22.07) ===  
=== Get the value for an application variable in a studio application, passing thru the parameters to the variable script (7.25.08) ===  
#first parameter: array of service guids
#first parameter: Application id
#security: No checks are done
#second parameter: Variable name
  ServiceCatalogInterface.getServicesVariables([guid1, guid2])
#third parameter: object with parameters (passed through to the variable script)
  ''return'': array of variables in JSON (properties: serviceguid, name, value)
  StudioInterface.getVariableValueWithParametersFromStudioApp(15, 'my custom variable function', { 'Number': 8 });
  ''return'': the value (type is depending on the variable)


== FormsInterface (7.22.06) ==
=== Get the value for the application setting (7.24.12) ===  
The FormsInterface contains function that interact with request forms
#first parameter: Setting name
StudioInterface.getSettingValue('my setting');
''return'': the value (type is depending on the setting)


WARNING: the non-secure versions of the interface behave like secure until 7.22.09
=== Get the value for the application setting, passing thru the parameters to the setting script (7.24.12) ===
#first parameter: Setting name
#second parameter: object with parameters (passed through to the setting script)
StudioInterface.getSettingValueWithParameters('my custom setting function', { 'Number': 8 });
''return'': the value (type is depending on the setting)


=== General ===
=== Get the value for an application setting in a studio application (7.25.08) ===  
==== List categories ====
#first parameter: Application id
Returns the categories
#second parameter: Setting name
  FormsInterface.getCategories();
  StudioInterface.getSettingValueFromStudioApp(15, 'my setting');
  ''returns'': array of objects with properties id, islive, iconurl, title, description, helptext in JSON
  ''return'': the value (type is depending on the setting)


==== List categories SECURE (7.22.09) ====
=== Get the value for an application setting in a studio application, passing thru the parameters to the setting script (7.25.08) ===  
Returns the categories based on the logged in user
#first parameter: Application id
  FormsInterface.getCategoriesSecure();
#second parameter: Setting name
  ''returns'': array of objects with properties id, islive, iconurl, title, description, helptext in JSON
#third parameter: object with parameters (passed through to the setting script)
  StudioInterface.getSettingValueWithParametersFromStudioApp(15, 'my custom setting function', { 'Number': 8 });
  ''return'': the value (type is depending on the setting)


==== Get category ====
=== Schedule a studio task to run on the next SSP Scheduler run (7.23.07) ===  
Gets a category based on the id
#first parameter: name of the task
#first parameter: category id
  StudioInterface.scheduleStudioTaskToRunOnNextSchedulerRun('my task');
  FormsInterface.getCategory(1);
  ''return'': nothing
  ''returns'': object with properties title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON


==== Get category SECURE (7.22.09) ====
=== Schedule a studio task in a studio application to run on the next SSP Scheduler run (7.25.08) ===  
Gets a category based on the id, only if the logged in user has rights for this
#first parameter: application id
#first parameter: category id
#second parameter: name of the task
  FormsInterface.getCategorySecure(1);
  StudioInterface.scheduleStudioTaskToRunOnNextSchedulerRunFromStudioApp(15, 'my task');
  ''returns'': object with properties islive, title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON
  ''return'': nothing


==== Get topic ====
=== Views (7.22.06) ===
Gets a topic based on the id
==== getViewCountByName ====
#first parameter: topic id
Get the count of a view by it's name
  FormsInterface.getTopic(1);
#first parameter is the name of the view
  ''returns'': object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description) in JSON
#optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
  StudioInterface.getViewCountByName("view1");
  ''returns'': the count of the view


==== Get topic SECURE (7.22.09) ====
==== getCachedViewCountByName (7.24.07) ====
Gets a topic based on the id, only if the logged in user has rights for this
Get the count of a view by it's name only by fetching it from the cache
#first parameter: topic id
#first parameter is the name of the view
  FormsInterface.getTopic(1);
  StudioInterface.getViewCountByName("view1");
  ''returns'': object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description) in JSON
  ''returns'': the count of the view if it's found in the cache, null otherwise


==== Get form ====
==== getViewCountById ====
Gets a form based on the id
Get the count of a view by it's id
#first parameter: form id
#first parameter is the id of the view
  FormsInterface.getForm(1);
#optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
  ''returns'': object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin and isfavorite in JSON
  StudioInterface.getViewCountById(1);
  ''returns'': the count of the view


==== Get form SECURE (7.22.09) ====
==== getCachedViewCountById (7.24.07) ====
Gets a form based on the id, only if the logged in user has rights for this
Get the count of a view by it's id only by fetching it from the cache
#first parameter: form id
#first parameter is the id of the view
  FormsInterface.getForm(1);
  StudioInterface.getViewCountById(1);
  ''returns'': object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin and isfavorite in JSON
  ''returns'': the count of the view if found in cache, null otherwise


==== Get favorite forms SECURE (7.22.09) ====
==== getViewDataByName ====
Gets the list of favorite forms
Get the data of a view by it's name
  FormsInterface.getFavoriteFormsSecure();
#first parameter is the name of the view
  ''returns'': array of objects with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin and isfavorite in JSON
  StudioInterface.getViewDataByName("view1");
  ''returns'': the data of the view in JSON
==== searchViewDataByName (7.22.08) ====
Search the data of a view by it's name
#first parameter is the name of the view
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataByName("view1", [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
''returns'': the data of the search results in JSON


==== Remove favorite form SECURE (7.22.09) ====
==== getViewDataByNames ====
Removes a form from the persons favorites
Get the data of multiple views by their names
#first parameter: id of the form
#first parameter is an array of the name of the views
  FormsInterface.removeFavoriteFormSecure(1);
  StudioInterface.getViewDataByNames(["view1", "view2"]);
  ''returns'': nothing
  ''returns'': the data of the views in JSON
   
   
==== Add favorite form SECURE (7.22.09) ====
==== searchViewDataByNames (7.22.08) ====
Adds a form to the persons favorites
Search the data of a view by their names
#first parameter: id of the form
#first parameter is an array of the name of the views
  FormsInterface.addFavoriteFormSecure(1);
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  ''returns'': nothing
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  StudioInterface.searchViewDataByName(["view1", "view2"], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
==== Get form instances SECURE (7.22.09) ====
  ''returns'': the data of the search results in JSON
Gets the list of form instances for the logged in user based on type/status (Draft or Template)
 
#first parameter: the string "Draft" or "Template"
==== getViewDataForTicketsByName ====
  FormsInterface.getFormInstancesSecure("Draft");
Search for tickets and get the results back as defined in the view by the views name
  ''returns'': array of objects with properties id, extraparameters, formid, formtitle, instancetitle, dateaddedticks, dateadded in JSON
#first parameter is the name of the view
#second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
#optional third parameter is an object with the paging settings
  StudioInterface.getViewDataForTicketsByName("view1", { "Status": "Open" });
  ''returns'': the tickets formatted as defined in the view in JSON
 
==== getViewDataById ====
Get the data of a view by it's id
#first parameter is the id of the view
StudioInterface.getViewDataById(1);
''returns'': the data of the view in JSON
   
   
==== Remove form instance SECURE (7.22.09) ====
==== searchViewDataById (7.22.08) ====
Removes a form instance only if the logged in user owns the form instance
Get the data of a view by it's id
#first parameter: the string "Draft" or "Template"
#first parameter is the id of the view
#second parameter: id of the form instance
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  FormsInterface.removeFormInstanceSecure("Draft", 1);
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
  ''returns'': nothing
  StudioInterface.searchViewDataById(1, [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
  ''returns'': the data of the search results in JSON


==== Search forms and shops SECURE (7.22.09) ====
==== getViewDataByIds ====
Returns the forms and shops based on the text
Get the data of multiple views by their ids
#first parameter: text to search for
#first parameter is an array of ids of the views
#optional second parameter: max records to return (default = 10)
StudioInterface.getViewDataByIds([1, 2]);
  FormsInterface.searchFormsAndShopsSecure("phone");
''returns'': the data of the views in JSON
  ''returns'': array of object with properties id, typename, title, topictitle, categorytitle, iconurl in JSON
==== searchViewDataByIds (7.22.08) ====
Get the data of multiple views by their ids
#first parameter is an array of ids of the views
#second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
#optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataByName([1, 2], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
''returns'': the data of the search results in JSON
 
==== getViewDataForTicketsById ====
Search for tickets and get the results back as defined in the view by the views id
#first parameter is the id of the view
#second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
#optional third parameter is an object with the paging settings
  StudioInterface.getViewDataForTicketsById(1, { "Status": "Open" });
''returns'': the tickets formatted as defined in the view in JSON
 
=== Quick Requests (7.24.07) ===
==== Get the quick requests ====
Get all the quick requests
CommonInterface.getQuickRequests();
  ''returns'': array of object with properties id, typeid, typename, iconurl, cssclass, name and url in JSON
 
==== Get the quick requests SECURE ====
Get the quick requests for the logged in user
CommonInterface.getQuickRequestsSecure();
''returns'': array of object with properties id, typeid, typename, iconurl, cssclass, name and url in JSON
 
== Service Catalog Interface ==
 
=== General ===
==== Get the details of a template (7.25.09) ====
#first parameter: the guid of the template
#optional second parameter: options with possible properties: LanguageId, PartsAsFlatList
ServiceCatalogInterface.getTemplateDetail(templateguid);
''return'': the details of the template in JSON
 
==== Get the convert message when changing the template (7.25.09) ====
#first parameter: the guid of the source template
#second parameter: the guid of the target template
ServiceCatalogInterface.getConvertToTemplateMessages(sourcetemplateguid, targettemplateguid);
''return'': the changes that will be done when converting a service from template A to template B in JSON


==== Remove form instance (7.22.09) ====
==== Rebuild the search indexes (7.23.07) ====
Removes a form instance
#no parameters
#first parameter: id of the form instance
ServiceCatalogInterface.rebuildSearchIndexes();
''return'': nothing
 
==== Get the quality note types (7.23.07) ====
#optional first parameters is an object possible key LanguageId
ServiceCatalogInterface.getQualityNoteTypes();
''return'': array of objects with properties guid, canselectreviewcycle and name
 
==== Get the hashcheck for a service publication request (7.25.03) ====
#first parameters is the serviceguid
#second parameters is the request guid
ServiceCatalogInterface.getServicePublicationRequestHashCheck("abc", "def");
''return'': the hashcheck
 
 
==== Get the hashcheck for a service review cycle request (7.25.03) ====
#first parameters is the serviceguid
#second parameters is the request guid
ServiceCatalogInterface.getServiceReviewCycleRequestHashCheck("abc", "def");
''return'': the hashcheck
 
=== Published versions ===
 
==== Get secure count of all published records (7.21.07) ====
#no parameters
#security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.getCountPublishedRecordsSecure();
''return'': number
 
==== Get secure list of all published records ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.getAllPublishedRecordsSecure();
''return'':  An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of published records by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedRecordsSecure({ tag: "bike" });
''return'': number
 
==== Get secure list of published records by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.searchListPublishedRecordsSecure({ tag: "bike" });
ServiceCatalogInterface.searchListPublishedRecordsSecure({ anytag: ["bike","auto"], name_contains: "transport" });
''return'':  An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all published records (7.21.07) ====
#no parameters
#security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getCountPublishedRecords();
''return'': number
 
==== Get list of all published records ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getAllPublishedRecords();
''return'':  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of published records by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedRecords({ tag: "bike" });
''return'': number
 
==== Get list of published records by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns published records (services and knowledge articles) that matches the search conditions, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedRecords({ tag: "bike" });
ServiceCatalogInterface.searchListPublishedRecords({ anytag: ["bike","auto"], name_contains: "transport" });
''return'':  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of all published services (7.21.07) ====
#no parameters
#security: this function returns the count of all published services and checks the current user security profile
ServiceCatalogInterface.getCountPublishedServicesSecure();
''return'': number
 
==== Get secure list of all published services ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.getAllPublishedServicesSecure();
''return'':  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of published services by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count of all published services and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedServicesSecure({tag: "bike"});
''return'': number
 
==== Get secure list of published services by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.searchListPublishedServicesSecure({tag: "bike"});
''return'':  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all published services (7.21.07) ====
#no parameters
#security: this function returns the count all published services, without checking the current user security profile
ServiceCatalogInterface.getCountPublishedServices();
''return'': number
 
==== Get list of all published services ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServices();
''return'':  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of published services by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count all published services, without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedServices({tag: "bike"});
''return'': number
 
==== Get list of published services by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedServices({tag: "bike"});
''return'':  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of all published knowledge articles (7.21.07) ====
#no parameters
#security: this function returns the count of all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.getCountPublishedKnowledgeArticlesSecure();
''return'': number
 
==== Get secure list of all published knowledge articles ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.getAllPublishedKnowledgeArticlesSecure();
''return'':  An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of published knowledge articles by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count of all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedKnowledgeArticlesSecure({tag: "bike"});
''return'': number
 
==== Get secure list of published knowledge articles by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.searchListPublishedKnowledgeArticlesSecure({tag: "bike"});
''return'':  An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all published knowledge articles (7.21.07) ====
#no parameters
#security: this function returns the count all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getCountPublishedKnowledgeArticles();
''return'': number
 
==== Get list of all published knowledge articles ====
#optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
#security: this function returns all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedKnowledgeArticles();
''return'':  An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of published knowledge articles by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with LanguageId (7.22.08)
#security: this function returns the count all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedKnowledgeArticles({tag: "bike"});
''return'': number
 
==== Get list of published knowledge articles by searching (7.21.07) ====
#first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedKnowledgeArticles({tag: "bike"});
''return'':  An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get published service overview (7.24.02) ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceOverview(guid)
''return'': the same fields as the list method returns
 
==== Get secure published service overview (7.24.02) ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceOverviewSecure(guid)
''return'': the same fields as the list method returns
 
==== Get multiple published services overview (7.24.02) ====
#first parameter: array with serviceguids
#optional second parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesOverview([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns
 
==== Get all published services overview (7.24.02) ====
#optional first parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesOverview()
''return'': an array with services containing the same fields as the list method returns
 
==== Get secure multiple published services overview (7.24.02) ====
#first parameter: array with serviceguids
#optional second parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesOverviewSecure([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure all published services overview (7.24.02) ====
#optional first parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesOverviewSecure()
''return'': an array with services containing the same fields as the list method returns
 
==== Get published service summary ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceSummary(guid)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure published service summary ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceSummarySecure(guid)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get multiple published services summary ====
#first parameter: array with serviceguids
#optional second parameter: object with LanguageId (7.22.08)
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesSummary([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get all published services summary (7.21.07) ====
#optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesSummary()
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure multiple published services summary ====
#first parameter: array with serviceguids
#optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesSummarySecure([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure all published services summary (7.21.07) ====
#optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesSummarySecure()
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get published service details ====
#first parameter: serviceguid
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceDetail(guid)
''return'': all fields, including template fields for the given service guid
 
==== Get secure published service details ====
#first parameter: serviceguid
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceDetailSecure(guid)
''return'': all fields, including template fields for the given service guid
 
==== Get multiple published services details ====
#first parameter: array with serviceguids
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesDetail([guid1, guid2])
''return'': an array with services containing all fields, including template fields for the given service guids
 
==== Get all published services details (7.21.07) ====
#optional first parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesDetail()
''return'': an array with services containing all fields, including template fields
 
==== Get secure multiple published services details ====
#first parameter: array with serviceguids
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesDetailSecure([guid1, guid2])
''return'': an array with services containing all fields, including template fields for the given service guids
 
==== Get secure all published services details (7.21.07) ====
#optional first parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesDetailSecure()
''return'': an array with services containing all fields, including template fields
 
==== Get published service part values (7.21.07) ====
#first parameter: serviceguid
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceParts(guid, ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get secure published service part values (7.21.07) ====
#first parameter: serviceguid
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicePartsSecure(guid, ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get multiple published services part values (7.21.07) ====
#first parameter: array with serviceguids
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesParts([guid1, guid2], ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get secure multiple published services details (7.21.07) ====
#first parameter: array with serviceguids
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesPartsSecure([guid1, guid2], ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get all published services part values (7.21.07) ====
#first parameter: array of internal names of the parts (pass null to get all parts)
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values for all services, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesParts(["part1", "part2"])
''return'': template fields
 
==== Get secure all published services details (7.21.07) ====
#first parameter: array of internal names of the parts (pass null to get all parts)
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesPartsSecure(["part1", "part2"])
''return'': template fields
 
==== Search published services using text search (with Lucene) (7.21.11) ====
#first parameter: language id
#second parameter: the text to search (allows for * and ?) (since 7.23.12: can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
#security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.textSearch(1, "how to ride a bike", { templatetype: "Knowledge_article" });
''return'':  An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results) and since 7.23.12: 'suggestions' (array of objects with properties: text, totalhits)
 
==== Search published services using multiple texts search (with Lucene) (7.23.12) ====
#first parameter: language id
#second parameter: the array of text to search (allows for * and ?) (can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype', serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
#security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.textsSearch(1, ["how to ride a bike", "how to drive a car"], { templatetype: "Knowledge_article" });
''return'':  An array of the same size as the second input parameter of objects with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results), 'suggestions' (array of objects with properties: text, totalhits)
 
==== Search secure published services using text search (with Lucene) (7.21.11) ====
#first parameter: language id
#second parameter: the text to search (allows for * and ?) (since 7.23.12: can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
#security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.textSearchSecure(1, "how to ride a bike", { templatetype: "Knowledge_article" });
''return'':  An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results) and since 7.23.12: 'suggestions' (array of objects with properties: text, totalhits)
 
==== Search secure published services using multiple texts search (with Lucene) (7.23.12) ====
#first parameter: language id
#second parameter: the array of texts to search (allows for * and ?) (can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
#optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
#security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.textsSearchSecure(1, ["how to ride a bike", "how to drive a car"], { templatetype: "Knowledge_article" });
''return'':  An array of the same size as the second input parameter with objects with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results), 'suggestions' (array of objects with properties: text, totalhits)
 
==== Search for word suggestions based on published services (with Lucene) (7.23.12) ====
#first parameter: language id
#second parameter: the word the search suggestions for
#optional third parameter: object with properties 'nrofresults' (default 5)
 
ServiceCatalogInterface.textSearchSuggestSimilar(1, "artilce");
''return'':  A json encoded array of suggestions (string)
 
==== Search for multiple word suggestions bsaed on published services (with Lucene) (7.23.12) ====
#first parameter: language id
#second parameter: the array of words to search suggestions for
#optional third parameter: object with properties 'nrofresults' (default 5)
ServiceCatalogInterface.textsSearchSuggestSimilar(1, ["artilce", "atricle"]);
''return'':  An array of the same size as the second input parameter of arrays with suggestions (string)
=== Service versions ===
==== Get service version overview (7.24.02) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionOverview(guid, versionnumber)
''return'': the same fields as the list method returns
 
==== Get secure service version overview (7.24.02) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionOverviewSecure(guid, versionnumber)
''return'': the same fields as the list method returns
 
==== Get service version summary (7.21.12) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionSummary(guid, versionnumber)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure service version summary (7.21.12) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionSummarySecure(guid, versionnumber)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get service version details (7.21.12) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionDetail(guid, versionnumber)
''return'': all fields, including template fields for the given service guid and versionnumber
 
==== Get secure service version details (7.21.12) ====
#first parameter: serviceguid
#second parameter: versionnumber
#optional third parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionDetailSecure(guid, versionnumber)
''return'': all fields, including template fields for the given service guid and versionnumber
 
=== Services ===
 
==== Get secure count of all records (7.21.12) ====
#no parameters
#security: this function returns the count of all records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.getCountRecordsSecure();
''return'': number
 
==== Get secure list of all records (7.21.12) ====
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.getAllRecordsSecure();
''return'':  An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all records (7.21.12) ====
#no parameters
#security: this function returns the count of all records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getCountRecords();
''return'': number
 
==== Get list of all records (7.21.12) ====
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getAllRecords();
''return'':  An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of all services (7.21.12) ====
#no parameters
#security: this function returns the count of all services and checks the current user security profile
ServiceCatalogInterface.getCountServicesSecure();
''return'': number
 
==== Get secure list of all services (7.21.12) ====
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all services and checks the current user security profile
ServiceCatalogInterface.getAllServicesSecure();
''return'':  An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all services (7.21.12) ====
#no parameters
#security: this function returns the count all services, without checking the current user security profile
ServiceCatalogInterface.getCountServices();
''return'': number
 
==== Get list of all services (7.21.12) ====
#optional first parameter: object with LanguageId (7.22.08)
#security: this function returns all services, without checking the current user security profile
ServiceCatalogInterface.getAllServices();
''return'':  An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of all knowledge articles (7.21.12) ====
#no parameters
#security: this function returns the count of all knowledge articles and checks the current user security profile
ServiceCatalogInterface.getCountKnowledgeArticlesSecure();
''return'': number
 
==== Get secure list of all knowledge articles (7.21.12) ====
#optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all knowledge articles and checks the current user security profile
ServiceCatalogInterface.getAllKnowledgeArticlesSecure();
''return'':  An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all knowledge articles (7.21.12) ====
#no parameters
#security: this function returns the count all knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getCountKnowledgeArticles();
''return'': number
 
==== Get list of all knowledge articles (7.21.12) ====
#optional first parameter: object with LanguageId (7.22.08)
#security: this function returns all knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getAllKnowledgeArticles();
''return'':  An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get secure count of all records (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count of all records based on the search criteria (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.searchCountRecordsSecure(searchcriteria);
''return'': number
 
==== Get secure list of all records (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all records based on the search criteria (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.searchAllRecordsSecure(searchcriteria);
''return'':  An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get count of all records (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count of all records based on the search criteria (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchCountRecords(searchcriteria);
''return'': number
 
==== Get list of all records (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all records based on the search criteria (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchAllRecords(searchcriteria);
''return'':  An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Search secure count of all services (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count of all services based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchCountServicesSecure(searchcriteria);
''return'': number
 
==== Search secure list of all services (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all services based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchAllServicesSecure(searchcriteria);
''return'':  An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Search count of all services (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count all services based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchCountServices(searchcriteria);
''return'': number
 
==== Search list of all services (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all services based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchAllServices(searchcriteria);
''return'':  An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
''example criteria'': { templatename: ["Template 1", "Template 2"] }
'' available criteria: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06)
 
==== Search secure count of all knowledge articles (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count of all knowledge articles based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchCountKnowledgeArticlesSecure(searchcriteria);
''return'': number
 
==== Search secure list of all knowledge articles (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all knowledge articles based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchAllKnowledgeArticlesSecure(searchcriteria);
''return'':  An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Search count of all knowledge articles (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#security: this function returns the count all knowledge articles based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchCountKnowledgeArticles(searchcriteria);
''return'': number
 
==== Search list of all knowledge articles (7.22.04) ====
#first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
#optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
#security: this function returns all knowledge articles based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchAllKnowledgeArticles(searchcriteria);
''return'':  An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
 
==== Get service overview (7.24.02) ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceOverview(guid)
''return'': the same fields as the list method returns
 
==== Get secure service overview (7.24.02) ====
#first parameter: serviceguid
#optional second parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceOverviewSecure(guid)
''return'': the same fields as the list method returns
 
==== Get multiple services overview (7.24.02) ====
#first parameter: array with serviceguids
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServicesOverview([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns
 
==== Get all services overview (7.24.02) ====
#optional first parameter: object with LanguageId
#security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getAllServicesOverview()
''return'': an array with services containing the same fields as the list method returns
 
==== Get secure multiple services overview (7.24.02) ====
#first parameter: array with serviceguids
#optional second parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesOverviewSecure([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns
 
==== Get secure all services overview (7.24.02) ====
#optional first parameter: object with LanguageId
#security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesOverviewSecure()
''return'': an array with services containing the same fields as the list method returns
 
==== Get service summary (7.21.12) ====
#first parameter: serviceguid
#optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceSummary(guid)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure service summary (7.21.12) ====
#first parameter: serviceguid
#optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceSummarySecure(guid)
''return'': the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get multiple services summary (7.21.12) ====
#first parameter: array with serviceguids
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServicesSummary([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get all services summary (7.21.12) ====
#optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getAllServicesSummary()
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure multiple services summary (7.21.12) ====
#first parameter: array with serviceguids
#optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesSummarySecure([guid1, guid2])
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get secure all services summary (7.21.12) ====
#optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesSummarySecure()
''return'': an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors
 
==== Get service details (7.21.12) ====
#first parameter: serviceguid
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServiceDetail(guid)
''return'': all fields, including template fields for the given service guid
Please note that there is an optional parameter to retrieve the service details in a specific languange. Use this: ServiceCatalogInterface.getServiceDetail(guid, { LanguageId: 1 }) to get the service details in the language English. (1=English, 2=Dutch, 3=French, 4=German).
 
==== Get secure service details (7.21.12) ====
#first parameter: serviceguid
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceDetailSecure(guid)
''return'': all fields, including template fields for the given service guid
 
==== Get multiple services details (7.21.12) ====
#first parameter: array with serviceguids
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServicesDetail([guid1, guid2])
''return'': an array with services containing all fields, including template fields for the given service guids
 
==== Get all services details (7.21.12) ====
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getAllServicesDetail()
''return'': an array with services containing all fields, including template fields
 
==== Get secure multiple services details (7.21.12) ====
#first parameter: array with serviceguids
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesDetailSecure([guid1, guid2])
''return'': an array with services containing all fields, including template fields for the given service guids
 
==== Get secure all services details (7.21.12) ====
#optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
#security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesDetailSecure()
''return'': an array with services containing all fields, including template fields
 
=== Service parts ===
 
==== Get service part values (7.22.02) ====
#first parameter: serviceguid
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getServiceParts(guid, ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get secure service part values (7.22.02) ====
#first parameter: serviceguid
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicePartsSecure(guid, ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get multiple services part values (7.22.02) ====
#first parameter: array with serviceguids
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getServicesParts([guid1, guid2], ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get secure multiple services part values (7.22.02) ====
#first parameter: array with serviceguids
#second parameter: array of internal names of the parts (pass null to get all parts)
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesPartsSecure([guid1, guid2], ["part1", "part2"])
''return'': template fields for the given service guid
 
==== Get all services part values (7.22.02) ====
#first parameter: array of internal names of the parts (pass null to get all parts)
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values for all services, without checking the current user security profile
ServiceCatalogInterface.getAllServicesParts(["part1", "part2"])
''return'': template fields
 
==== Get secure all services part values (7.22.02) ====
#first parameter: array of internal names of the parts (pass null to get all parts)
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesPartsSecure(["part1", "part2"])
''return'': template fields
 
=== Service documents (7.25.09) ===
 
==== Get service document secure (7.25.09) ====
#first parameter: serviceguid
#second parameter: documentguid
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Only returns the document when the user has the rights to view it
ServiceCatalogInterface.getServiceDocumentSecure(serviceguid, documentguid)
''return'': the document info in JSON
==== Get service document (7.25.09) ====
#first parameter: serviceguid
#second parameter: documentguid
#optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Always returns the document
ServiceCatalogInterface.getServiceDocument(serviceguid, documentguid)
''return'': the document info in JSON
 
==== Get service documents secure (7.25.09) ====
#first parameter: serviceguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of the service that the user is allowed to see
ServiceCatalogInterface.getServiceDocumentsSecure(serviceguid)
''return'': all the document info in JSON
 
==== Get service documents (7.25.09) ====
#first parameter: serviceguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of the service
ServiceCatalogInterface.getServiceDocuments(serviceguid)
''return'': all the document info in JSON
 
==== Get multiple services documents secure (7.25.09) ====
#first parameter: array of serviceguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of the services that the user is allowed to see
ServiceCatalogInterface.getServicesDocumentsSecure([guid1, guid2])
''return'': all the document info in JSON
 
==== Get multiple services documents (7.25.09) ====
#first parameter: array of serviceguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of the services
ServiceCatalogInterface.getServicesDocuments([guid1, guid2])
''return'': all the document info in JSON
 
==== Get all services documents secure (7.25.09) ====
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of all services that the user is allowed to see
ServiceCatalogInterface.getAllServicesDocumentsSecure()
''return'': all the document info in JSON
 
==== Get all services documents (7.25.09) ====
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
#security: Returns all documents of all services
ServiceCatalogInterface.getAllServicesDocuments()
''return'': all the document info in JSON
 
=== Service relations (7.24.02) ===
 
==== Get service relation ====
#first parameter: parent serviceguid
#second parameter: child serviceguid
#optional third parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns the relation, without checking the current user security profile
ServiceCatalogInterface.getServiceRelation(parentserviceguid, childserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get secure service relation ====
#first parameter: parent serviceguid
#second parameter: child serviceguid
#optional third parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns the relation and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationSecure(parentserviceguid, childserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get service relations as parent ====
#first parameter: parent serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent, without checking the current user security profile
ServiceCatalogInterface.getServiceRelationsAsParent(parentserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get secure service relations as parent ====
#first parameter: parent serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsAsParentSecure(parentserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get multiple service relations as parent ====
#first parameter: array of parent serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent, without checking the current user security profile
ServiceCatalogInterface.getServicesRelationsAsParent([parentserviceguid1, parentserviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get multiple secure service relations as parent ====
#first parameter: array of parent serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsAsParentSecure([parentserviceguid1, parentserviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get service relations as child ====
#first parameter: child serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child, without checking the current user security profile
ServiceCatalogInterface.getServiceRelationsAsChild(childserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get secure service relations as child ====
#first parameter: child serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsAsChildSecure(childserviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get multiple service relations as child ====
#first parameter: array of child serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child, without checking the current user security profile
ServiceCatalogInterface.getServicesRelationsAsChild([childserviceguid1, childserviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get multiple secure service relations as child ====
#first parameter: array of child serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsAsChildSecure([childserviceguid1, childserviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get service relations ====
#first parameter: serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent or child, without checking the current user security profile
ServiceCatalogInterface.getServiceRelations(serviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get secure service relations ====
#first parameter: serviceguid
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the parent or child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsSecure(serviceguid)
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get multiple service relations ====
#first parameter: array of serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child or the parent, without checking the current user security profile
ServiceCatalogInterface.getServicesRelations([serviceguid1, serviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get multiple secure service relations ====
#first parameter: array of serviceguids
#optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations where the service guid is the child or the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsSecure([serviceguid1, serviceguid2])
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
==== Get all service relations ====
#optional first parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations, without checking the current user security profile
ServiceCatalogInterface.getAllServicesRelations()
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
==== Get all secure service relations ====
#optional first parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all relations and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesRelationsSecure()
''return'': the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))
 
=== Review cycles ===
 
==== Get service review cycles (7.22.04) ====
#first parameter: serviceguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getServiceReviewCycles(guid)
''return'': all review cycles for the given service guid
 
==== Get secure service review cycles (7.22.04) ====
#first parameter: serviceguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceReviewCyclesSecure(guid)
''return'': all review cycles for the given service guid
 
==== Get multiple services review cycles (7.22.04) ====
#first parameter: array with serviceguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getServicesReviewCycles([guid1, guid2])
''return'': all review cycles for the given service guids
 
==== Get secure multiple services review cycles (7.22.04) ====
#first parameter: array with serviceguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesReviewCyclesSecure([guid1, guid2])
''return'': all review cycles for the given service guids
 
==== Get all services review cycles (7.22.04) ====
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles for all services, without checking the current user security profile
ServiceCatalogInterface.getAllServicesReviewCycles()
''return'': all review cycles
 
==== Get secure all services review cycles (7.22.04) ====
#optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesReviewCyclesSecure()
''return'': all review cycles
 
==== Get review cycle (7.22.04) ====
#first parameter: reviewcycleguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns the review cycle, without checking the current user security profile
ServiceCatalogInterface.getReviewCycle(reviewcycleguid)
''return'': the review cycle
 
==== Get secure review cycles (7.22.04) ====
#first parameter: reviewcycleguid
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns the review cycle and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getReviewCycleSecure(reviewcycleguid)
''return'': the review cycle
 
==== Get multiple review cycles (7.22.04) ====
#first parameter: array with reviewcycleguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getReviewCycles([guid1, guid2])
''return'': the review cycles
 
==== Get secure multiple review cycles (7.22.04) ====
#first parameter: array with reviewcycleguids
#optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
#security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getReviewCyclesSecure([guid1, guid2])
''return'': the review cycles
 
=== Service variables ===
 
==== Get service variable value secure (7.22.07) ====
#first parameter: service guid
#second parameter: variable name
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVariableValueSecure(guid, variablename)
''return'': the value (string)
 
==== Get service variable value (7.22.07) ====
#first parameter: service guid
#second parameter: variable name
#security: No checks are done
ServiceCatalogInterface.getServiceVariableValue(guid, variablename)
''return'': the value (string)
 
==== Set service variable value secure (7.22.07) ====
#first parameter: service guid
#second parameter: variable name
#third parameter: variable value
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.setServiceVariableValueSecure(guid, variablename, variablevalue)
''return'': nothing
 
==== Set service variable value (7.22.07) ====
#first parameter: service guid
#second parameter: variable name
#third parameter: variable value
#security: No checks are done
ServiceCatalogInterface.setServiceVariableValue(guid, variablename, variablevalue)
''return'': nothing
 
==== Get service variables secure (7.22.07) ====
#first parameter: service guid
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVariablesSecure(guid)
''return'': array of variables in JSON (properties: serviceguid, name, value)
 
==== Get service variables (7.22.07) ====
#first parameter: service guid
#security: No checks are done
ServiceCatalogInterface.getServiceVariables(guid)
''return'': array of variables in JSON (properties: serviceguid, name, value)
 
==== Get services variables secure (7.22.07) ====
#first parameter: array of service guids
#security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesVariablesSecure([guid1, guid2])
''return'': array of variables in JSON (properties: serviceguid, name, value)
 
==== Get services variables (7.22.07) ====
#first parameter: array of service guids
#security: No checks are done
ServiceCatalogInterface.getServicesVariables([guid1, guid2])
''return'': array of variables in JSON (properties: serviceguid, name, value)
 
==== Get services variables (7.22.07) ====
#first parameter: array of service guids
#security: No checks are done
ServiceCatalogInterface.getServicesVariables([guid1, guid2])
''return'': array of variables in JSON (properties: serviceguid, name, value)
 
=== Rights ===
 
==== Check if the logged in person has service admin rights (7.23.03) ====
#first parameter: service guid
ServiceCatalogInterface.loggedInPersonHasServiceAdminRights(guid)
''return'': true if the person has at least view rights in the admin panel for this service, false otherwise
 
==== Check if the logged in person has service admin edit rights (7.23.03) ====
Since 7.23.11: warning - will be removed in a future version
#first parameter: service guid
ServiceCatalogInterface.loggedInPersonHasServiceAdminEditRights(guid)
''return'': true if the person has edit rights in the admin panel for this service, false otherwise
''return since 7.23.11'': always false, please use custom ACLs instead
 
==== Check if the logged in person has a service custom ACL use right (7.23.11) ====
#first parameter: service guid
#second parameter: name of the custom ACL
ServiceCatalogInterface.loggedInPersonHasServiceCustomAclUseRight(guid, name)
''return'': true if the person has the use right for the ACL in this service, false otherwise
 
==== Check if the logged in person has a service version custom ACL use right (7.24.10) ====
#first parameter: service guid
#second parameter: version number
#thirdparameter: name of the custom ACL
ServiceCatalogInterface.loggedInPersonHasServiceVersionCustomAclUseRight(serviceguid, versionnr, name)
''return'': true if the person has the use right for the ACL in this service, false otherwise
 
==== Check if the service can be published (7.25.12) ====
#first parameter: service guid
#optional second parameter: object with possible properties CheckIfOtherRequestsAreActive
ServiceCatalogInterface.serviceCanBePublished(serviceguid)
''return'': object with properties result and message in JSON
 
==== Check if the service can be published as boolean (7.25.12) ====
#first parameter: service guid
#optional second parameter: object with possible properties CheckIfOtherRequestsAreActive
ServiceCatalogInterface.serviceCanBePublishedAsBoolean(serviceguid)
''return'': true if the service can be published, false otherwise
 
==== Check if the service has essential data missing (7.25.12) ====
#first parameter: service guid
ServiceCatalogInterface.serviceHasEssentialDataMissing(serviceguid)
''return'': true if the service has essential data missing, false otherwise
 
==== Check if the service has validation errors (7.25.12) ====
#first parameter: service guid
ServiceCatalogInterface.serviceHasValidationErrors(serviceguid)
''return'': true if the service has validation errors, false otherwise
 
== FormsInterface (7.22.06) ==
The FormsInterface contains function that interact with request forms
 
WARNING: the non-secure versions of the interface behave like secure until 7.22.09
 
=== General ===
==== List categories ====
Returns the categories
FormsInterface.getCategories();
''returns'': array of objects with properties id, islive, iconurl, title, description, helptext in JSON
 
==== List categories SECURE (7.22.09) ====
Returns the categories based on the logged in user
FormsInterface.getCategoriesSecure();
''returns'': array of objects with properties id, islive, iconurl, title, description, helptext in JSON
 
==== Get category ====
Gets a category based on the id
#first parameter: category id
FormsInterface.getCategory(1);
''returns'': object with properties title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON
 
==== Get category SECURE (7.22.09) ====
Gets a category based on the id, only if the logged in user has rights for this
#first parameter: category id
FormsInterface.getCategorySecure(1);
''returns'': object with properties islive, title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON
 
==== Get topic ====
Gets a topic based on the id
#first parameter: topic id
FormsInterface.getTopic(1);
''returns'': object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description), subnavcssclass (since 7.23.10) in JSON
 
==== Get topic SECURE (7.22.09) ====
Gets a topic based on the id, only if the logged in user has rights for this
#first parameter: topic id
FormsInterface.getTopicSecure(1);
''returns'': object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description), subnavcssclass (since 7.23.10) in JSON
 
==== Get all topics (7.24.07) ====
Gets all topics
FormsInterface.getAllTopics();
''returns'': array of objects with properties id, islive, title, iconurl, description, helptext, subnavcssclass, categoryid in JSON
 
==== Get all topics SECURE (7.24.07) ====
Gets all topics where the logged in user has rights for
FormsInterface.getAllTopicsSecure();
''returns'': array of objects with properties id, islive, title, iconurl, description, helptext, subnavcssclass, categoryid in JSON
 
==== Get form ====
Gets a form based on the id
#first parameter: form id
FormsInterface.getForm(1);
''returns'': object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON
 
==== Get form SECURE (7.22.09) ====
Gets a form based on the id, only if the logged in user has rights for this
#first parameter: form id
FormsInterface.getFormSecure(1);
''returns'': object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON
 
==== Get favorite forms SECURE (7.22.09) ====
Gets the list of favorite forms
FormsInterface.getFavoriteFormsSecure();
''returns'': array of objects with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON
 
==== Remove favorite form SECURE (7.22.09) ====
Removes a form from the persons favorites
#first parameter: id of the form
FormsInterface.removeFavoriteFormSecure(1);
''returns'': nothing
==== Add favorite form SECURE (7.22.09) ====
Adds a form to the persons favorites
#first parameter: id of the form
FormsInterface.addFavoriteFormSecure(1);
''returns'': nothing
==== Get form instances SECURE (7.22.09) ====
Gets the list of form instances for the logged in user based on type/status (Draft or Template)
#first parameter: the string "Draft" or "Template"
FormsInterface.getFormInstancesSecure("Draft");
''returns'': array of objects with properties id, extraparameters, formid, formtitle, instancetitle, dateaddedticks, dateadded in JSON
==== Remove form instance SECURE (7.22.09) ====
Removes a form instance only if the logged in user owns the form instance
#first parameter: the string "Draft" or "Template"
#second parameter: id of the form instance
FormsInterface.removeFormInstanceSecure("Draft", 1);
''returns'': nothing
 
==== Search forms and shops SECURE (7.22.09) ====
Returns the forms and shops based on the text
#first parameter: text to search for
#optional second parameter: max records to return (default = 10)
FormsInterface.searchFormsAndShopsSecure("phone");
''returns'': array of objects with properties id, typename, title, topictitle, categorytitle, iconurl in JSON
 
==== Search count forms (7.23.08) ====
Returns the number of forms that matches the criteria
#first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
#optional second parameter: object with possible property: languageid
FormsInterface.searchCountForms({ internallabel: "phone", internallabeloperator: "contains" });
''returns'': the number
 
==== Search count forms SECURE (7.23.08) ====
Returns the number of forms that matches the criteria
#first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
#optional second parameter: object with possible property: languageid
FormsInterface.searchCountFormsSecure({ internallabel: "phone", internallabeloperator: "contains" });
''returns'': the number
 
==== Search forms (7.23.08) ====
Returns the forms that matches the criteria
#first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
#optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
FormsInterface.searchForms({ internallabel: "phone", internallabeloperator: "contains" });
''returns'': array of objects with properties id, typename, title, topictitle, categorytitle, iconurl, internallabel in JSON
 
==== Search forms SECURE (7.23.08) ====
Returns the forms that matches the criteria
#first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
#optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
FormsInterface.searchFormsSecure({ internallabel: "phone", internallabeloperator: "contains" });
''returns'': array of objects with properties id, typename, title, topictitle, categorytitle, iconurl, internallabel in JSON
 
==== Remove form instance (7.22.09) ====
Removes a form instance
#first parameter: id of the form instance
  FormsInterface.removeFormInstance(1);
  FormsInterface.removeFormInstance(1);
  ''returns'': nothing
  ''returns'': nothing
 
 
==== Add form instance (7.22.09) ====
==== Add form instance (7.22.09) ====
Adds a form instance
Adds a form instance
#first parameter: form (can be the id of the form, or the internal label of the form)
#first parameter: form (can be the id of the form, or the internal label of the form)
#second parameter: requestor person (can be the id of the person, or the unique id or email of the person)
#second parameter: requestor person (can be the id of the person, or the unique id or email of the person)
#third parameter: requested for person (can be the id of the person, or the unique id or email of the person)
#third parameter: requested for person (can be the id of the person, or the unique id or email of the person)
#fourth parameter: title of the instance
#fourth parameter: title of the instance
#fifth parameter: array of initial form values (array of objects with possible properties displayvalue, value, internallabel, form, field, fieldid, repeatablesectionfieldid, repeatablesectionindex, label, labels (object with possible properties label, languageid, language))
#fifth parameter: array of initial form values (array of objects with possible properties displayvalue, value, internallabel, form, field, fieldid, repeatablesectionfieldid, repeatablesectionindex, label, labels (object with possible properties label, languageid, language))
#optional sixth parameter: status (Draft or Template)
#optional sixth parameter: status (Draft or Template)
  FormsInterface.addFormInstance("first form", "john@doe.com", "lisa@doe.com", "new draft", [ { internallabel: "first field",  value: "test" } ]);
  FormsInterface.addFormInstance("first form", "john@doe.com", "lisa@doe.com", "new draft", [ { internallabel: "first field",  value: "test" } ]);
  ''returns'': the id of the form instance
  ''returns'': the id of the form instance
 
 
==== List views (7.22.10) ====
==== List views (7.22.10) ====
Returns the views
Returns the views
  FormsInterface.getViews();
  FormsInterface.getViews();
  ''returns'': array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON
  ''returns'': array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON
 
==== List views SECURE (7.22.10) ====
Returns the views based on the logged in user
FormsInterface.getViewsSecure();
''returns'': array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON
 
==== Get view (7.22.10) ====
Returns the view with the id
#first parameter: the id of the view
FormsInterface.getView(1);
''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield
 
==== Get view SECURE (7.22.10) ====
Returns the view with the id only if the logged in user has rights for the view
#first parameter: the id of the view
FormsInterface.getViewSecure(1);
''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield


==== List views SECURE (7.22.10) ====
==== Get view by name (7.25.01) ====
Returns the views based on the logged in user
Returns the view with the name
  FormsInterface.getViewsSecure();
#first parameter: the name of the view
  ''returns'': array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON
  FormsInterface.getViewByName("name");
  ''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield


==== Get view (7.22.10) ====
==== Get view by name SECURE (7.25.01) ====
Returns the view with the id
Returns the view with the name only if the logged in user has rights for the view
#first parameter: the id of the view
#first parameter: the name of the view
  FormsInterface.getView(1);
  FormsInterface.getViewByNameSecure("name");
  ''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON
  ''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield
 
==== Get view SECURE (7.22.10) ====
Returns the view with the id only if the logged in user has rights for the view
#first parameter: the id of the view
FormsInterface.getViewSecure(1);
''returns'': object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON


== KnowledgeManagementInterface (7.22.11) ==
== KnowledgeManagementInterface (7.22.11) ==

Latest revision as of 16:54, 21 January 2026

Since version 7.20.10 SSP supports javascript steps in the workflow. Below is a summary of all SSP specific functions, available to be used within the step:

CommonInterface

The CommonInterface package supports a number of basic java functions that can be used in all javascript functions within SSP.

Common Functions

logToConsole (7.23.01)

logs entry to the JavaScript console

  1. First parameter is the message or object to be added
CommonInterface.logToConsole('message');
returns: nothing

The logged information can be found on this url: https://yourserver/Common/Admin/JavaScriptConsole.aspx

logDebug

logs entry as 'debug' into the physical logfile of the Common application

  1. First parameter is the message or object (since 7.22.10) to be added to the common log
CommonInterface.logDebug('message');
returns: nothing

logInfo (7.22.10)

logs entry as 'info' into the physical logfile of the Common application

  1. First parameter is the message or object to be added to the common log
CommonInterface.logInfo('message');
returns: nothing

logWarning (7.22.10)

logs entry as 'warning' into the physical logfile of the Common application

  1. First parameter is the message or object to be added to the common log
CommonInterface.logWarning('message');
returns: nothing

logError (7.22.10)

logs entry as 'error' into the physical logfile of the Common application

  1. First parameter is the message or object to be added to the common log
CommonInterface.logError('message');
returns: nothing

logFatal (7.22.10)

logs entry as 'fatal' into the physical logfile of the Common application

  1. First parameter is the message or object to be added to the common log
CommonInterface.logFatal('message');
returns: nothing

Get the hash of a string

first parameter is the type of hash, can be: sha1, sha1_base64, sha256, sha256_base64, sha512 or sha512_base64

  1. second parameter is the string to be hashed
CommonInterface.getHash('sha512', 'test');
returns: EE26B0DD4AF7E749AA1A8EE3C10AE9923F618980772E473F8819A5D4940E0DB27AC185F8A0E1D5F84F88BC887FD67B143732C304CC5FA9AD8E6F57F50028A8FF

encrypts string

  1. first parameter is the string to be encrypted
  2. second parameter is the password (if empty (empty string) the default one is used)
CommonInterface.encrypt('test', 'mypassword');
returns: oOe3y182qDKOGzmFpfTiLzNpML+fyvwhfjA9HqF9OwYqcM/PZovosALARZzApNnvToKpBV1dsWnaDP7+iTBo/ic33ZwcxuNRlbGHiKDwdEY=

decrypts string

  1. first parameter is the password (if empty the default one is used)
CommonInterface.decrypt('oOe3y182qDKOGzmFpfTiLzNpML+fyvwhfjA9HqF9OwYqcM/PZovosALARZzApNnvToKpBV1dsWnaDP7+iTBo/ic33ZwcxuNRlbGHiKDwdEY=', 'mypassword');
returns: test

generate a new guid

CommonInterface.newGuid();
returns: a new guid (eg 9ec5d882-dcb7-408b-9638-c4f05045f18c)

sleep

  1. first parameter is the amount of time (in milliseconds) the thread needs to be suspended
CommonInterface.sleep(1000);
returns: nothing

toDate (7.22.02)

  1. first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss or yyyyMMddHHmm (7.24.10) - input is sanitize, these characters will be removed: "-", "/", "T", ":", " " and ".0000000" (7.25.02)
CommonInterface.toDate("20220101");
returns: a date object in the local time zone

toUtcDate (7.22.02)

  1. first parameter is date in string in the format yyyyMMdd or yyyyMMddHHmmss or yyyyMMddHHmm (7.24.10) - input is sanitize, these characters will be removed: "-", "/", "T", ":", " " and ".0000000" (7.25.02)
CommonInterface.toUtcDate("20220101");
returns: a date object in the UTC time zone

dateToString (7.22.02)

  1. first parameter is date object in the local time zone (warning, dates created in Javascript are always UTC)
  2. second parameter is the format you want the date to be in
  3. optional third parameter is the culture (eg nl) since 7.24.10
CommonInterface.dateToString(new Date(2022, 0, 1), "yyyyMMdd");
returns: the date in string in the format specified -> 20211231
CommonInterface.dateToString(CommonInterface.toDate("20220101"), "yyyyMMdd");
returns: the date in string in the format specified -> 20220101

dateToUtcDate (7.23.04)

  1. first parameter is date object
CommonInterface.dateToUtcDate(CommonInterface.toDate("20220101"));
returns: the date object in UTC

utcDateToDate (7.23.04)

  1. first parameter is date object in UTC
CommonInterface.dateToUtcDate(new Date(2022, 0, 1));
returns: the date object

utcDateToString (7.22.02)

  1. first parameter is date object in the UTC time zone (dates created in Javascript are always UTC)
  2. second parameter is the format you want the date to be in
  3. optional third parameter is the culture (eg nl) since 7.24.10
CommonInterface.utcDateToString(new Date(2022, 0, 1), "yyyyMMdd");
returns: the date in string in the format specified -> 20220101

stringToDate (7.22.06)

  1. first parameter is the input string which represents the date
  2. second parameter is the format the input is in
CommonInterface.stringToDate("20211231", "yyyyMMdd");
returns: the date object

stringToUtcDate (7.22.06)

  1. first parameter is the input string which represents the date
  2. second parameter is the format the input is in
CommonInterface.stringToUtcDate("20211231", "yyyyMMdd");
returns: the date object in UTC

dateAdd (7.22.09)

Manipulate a date

  1. first parameter: date
  2. second parameter: amount
  3. third parameter: unit (bh, bd, y, year, M, month, d, day, h, hour, m, minute, s, second) bh = business hour, bd = business day, since 7.24.10: bm = business minute, bs = business second
CommonInterface.dateAdd(new Date(), -5, "h");
returns: the modified date (eg now minus 5 hours)

dateDiff (7.24.10)

Calculate the difference between tow dates

  1. first parameter: date1
  2. second parameter: date2
  3. third parameter: unit (bh, bd, bm, bs, y, year, M, month, d, day, h, hour, m, minute, s, second) bh = business hour, bd = business day, bm = business minute, bs = business second
CommonInterface.dateDiff(date1, date2, "h");
returns: the difference (eg 5 hours)

getSspEnvironmentName (7.22.06)

Gets the SSP environment name as configured in the settings

CommonInterface.getSspEnvironmentName();
returns: the environment name (eg: Production)

getLanguages (7.22.06)

Gets all the languages available in the installation

CommonInterface.getLanguages();
returns: array of objects with properties id, name, flagurl, isdefault, and culture in JSON

getTranslationsByCategory (7.22.08)

Gets all the translations by categoryname

  1. first parameter: category
  2. optional second parameter languageid (default is current language id)
CommonInterface.getTranslationsByCategory("CustomUI");
returns: array of objects with name of the translation as propertyname and the translation as value JSON

getTranslationsLastReloadTicks (7.22.08)

Gets the date in ticks of the last reload time (use for client side caching of the translations)

CommonInterface.getTranslationsLastReloadTicks();
returns: the date in ticks

getDefaultLanguageCulture (7.23.08)

Gets the culture of the default language

CommonInterface.getDefaultLanguageCulture();
returns: the culture

getDefaultLanguageName (7.23.08)

Gets the name of the default language

CommonInterface.getDefaultLanguageName();
returns: the name

getDefaultLanguageId (7.23.08)

Gets the id of the default language

CommonInterface.getDefaultLanguageId();
returns: the id

getNewEventEntriesById (7.22.08)

Gets all the new event entries greater than the id specified

  1. first parameter: id
  2. optional second parameter: typename
CommonInterface.getNewEventEntriesById(0);
returns: array of objects with properties id, dateadded, typename and payload JSON

getNewEventEntriesByDate (7.22.08)

Gets all the new event entries greater than or equal to the date specified

  1. first parameter: date
  2. optional second parameter: typename
CommonInterface.getNewEventEntriesByDate("2022-08-01T14:00:00");
returns: array of objects with properties id, dateadded, typename and payload JSON

getCompanyName (7.24.02)

Returns the name of the company as specified in the license key

CommonInterface.getCompanyName();
returns: the company name

getClientVersion (7.25.01)

Returns the client version of the SSP installation

CommonInterface.getClientVersion();
returns: the client version

getTextPageDetail (7.24.07)

Gets a text page by name

  1. first parameter: name
CommonInterface.getTextPageDetail('Help');
returns: object with properties id, name, title, content and documents (=array of objects with properties url and name) in JSON

Conversion

Convert text to byte[] (since 7.25.04)

Converts a string into a byte array

  1. First parameter is the string to be converted
CommonInterface.convertToBytes('test');
returns: [116,101,115,116]

Get the number of bytes for a text (since 7.25.04)

Get the number of bytes for a text

  1. First parameter is the text
CommonInterface.getByteCount('test');
returns: 4

Convert text to base64

Converts a string into a base64 encoded string

  1. First parameter is the string to be converted
CommonInterface.convertToBase64('test');
returns: dGVzdA==

Convert byte[] to base64 (since 7.25.04)

  1. first parameter is the byte[]
CommonInterface.convertBytesToBase64([116,101,115,116]);
returns: dGVzdA==

Convert base64 to string

Converts a string that is base64 encoded into a readable string

  1. first parameter is the string to be decoded
CommonInterface.convertFromBase64('dGVzdA==');
returns: test

json encode (7.21.09)

Encodes to JSON.

  1. first parameter is the object to be encoded
CommonInterface.jsonEncode({ name: 'John' });
returns: {"name":"John"}

json decode (7.21.09)

Converts JSON into object

  1. first parameter is the text to be converted
CommonInterface.jsonDecode('{"name":"John"}');
returns: the object

htmlencode text

Encodes text that contains html code into encoded html so that the html code is displayed in a browser. This function can be used to avoid the execution of input strings.

  1. first parameter is the string to be encoded
  2. optional second parameter whether line breaks show be replaces by br tags (defaults to true) (since 7.23.02)
CommonInterface.htmlEncode('test');
returns: <strong>test</strong>

line breaks to br tag (7.23.02)

Replaces the line breaks to br tags.

  1. first parameter is the string to be used
CommonInterface.lineBreaksToBr('test1\ntest2');
returns: test1<br />test2

htmldecode text

Converts encoded html into default html

  1. first parameter is the html string to be converted
CommonInterface.htmlDecode('<strong>test</strong>');
returns: test

urlencode text

Encodes a string into a url encoded string.

  1. first parameter is the text to be encoded
CommonInterface.urlEncode('?param1=test1&param2=test2');
returns: %3fparam1%3dtest1%26param2%3dtest2

urldecode text

Decodes a url encoded string into a readable format

  1. first parameter is the string to be decoded
CommonInterface.urlDecode('%3fparam1%3dtest1%26param2%3dtest2');
returns: ?param1=test1&param2=test2

xmlencode text

Encodes a text string into proper XML characters

  1. first parameter is the string to be encoded
CommonInterface.xmlEncode('test1 & test2');
returns: test1 & test2

Remove invalid characters

  1. first parameter is the string that contains non-standard characters

remove invalid (weird characters, mostly from pasting from other soures) xml characters:

CommonInterface.stripNonValidXMLCharacters ('♦≡╬▌test1'};
returns: test1

Convert bbcode to html

Convert bb-code in html formatted text, to include bb-code formatted text on web pages.

  1. first parameter is the bbcode that should be converted into HTML
  2. second optional parameter (since 7.24.11): object with possible key: Convert or Skip: array of types to convert or to skip (Bold, Italic, ...)
CommonInterface.bbCodeToHtml('[b]test[/b]');
returns: test

Convert bbcode to text

Convert bb-code into standard text by removing all codes

  1. first parameter is the bbcode to be converted into text
  2. second optional parameter (since 7.23.09): object with possible key: UseTextForLinks (value: true or false), when there's an url in the bb code, the label is used when UseTextForLinks is true - since 7.24.11: Convert or Skip: array of types to convert or to skip (Bold, Italic, ...)
CommonInterface.bbCodeToText('[b]test[/b]');
returns: test

Convert html to text (7.23.01)

Convert html into standard text by removing all codes

  1. first parameter is the html to be converted into text
CommonInterface.convertHtmlToText('<strong>test</strong>');
returns: test

Strip html from text (7.23.01)

Remove html tags using a regular expression

  1. first parameter is the html to be used
CommonInterface.stripHtml('<strong>test</strong>');
returns: test

Replace (7.22.09)

Returns a new string in which all occurrences of a specified string in the current string are replaced with another specified string

  1. first parameter: the original string
  2. second parameter: the string you wish to replace
  3. third parameter: the string you to use as replacement
CommonInterface.replace('test', 't', 'b');
returns: besb

getValueFromXml (7.23.01)

Get a single value by an XPath expression from an XML string

  1. first parameter: the XML as a string
  2. second parameter: the XPath expression
CommonInterface.getValueFromXml('<?xml version="1.0" encoding="UTF-8"?><bookstore><book><title lang="en">Harry Potter</title><price>29.99</price></book><book><title lang="en">Learning XML</title><price>39.95</price></book></bookstore>', '/bookstore/book[1]/title/text()');
returns: Harry Potter

getValuesFromXml (7.23.01)

Get multiple values by an XPath expression from an XML string

  1. first parameter: the XML as a string
  2. second parameter: the XPath expression
CommonInterface.getValuesFromXml('<?xml version="1.0" encoding="UTF-8"?><bookstore><book><title lang="en">Harry Potter</title><price>29.99</price></book><book><title lang="en">Learning XML</title><price>39.95</price></book></bookstore>', '/bookstore/book/title/text()');
returns: ["Harry Potter","Learning XML"]

File System

Get the URL to SSP (7.23.01)

Get the pubic URL to ssp

CommonInterface.getSspUrl();
returns: 'https://demo.smt-x.com'

Get the local URL to SSP (7.23.01)

Get the pubic URL to ssp

CommonInterface.getSspLocalUrl();
returns: 'https//localhost'

Check if the input is a valid path (url or local path)

Checks if the provided path is valid. Returns 1 or 0

CommonInterface.isValidPath('D:\\test.txt');
CommonInterface.isValidPath('http://dev.ssp7.company.com/test.txt');
returns: boolean

Check if the url starts with the url (public or local) to ssp

CommonInterface.isSspFile('http://dev.ssp7.company.com/test.txt');
returns: boolean

Local path of url

returns local path to the file for a provided url (only in case the URL point to an ssp file)

CommonInterface.getLocalPathForSspFile('http://dev.ssp7.company.com/test.txt');
returns: C:\Websites\dev.ssp7.company.com\Sql.Dev.Ssp7\test.txt

Get the local root folder of the web application (7.24.12)

returns the local root folder of the web application

CommonInterface.getLocalPathToWebRoot();
returns: C:\Websites\dev.ssp7.company.com\Sql.Dev.Ssp7\

Get the filename of the url / local path

retrieves the file name that is part of a url

CommonInterface.getFileName('http://dev.ssp7.company.com/test.txt');
returns: test.txt

Get the file extension of the url / local path

Retrieves the extension of the file provided as argument

CommonInterface.getFileExtension('http://dev.ssp7.company.com/test.txt');
returns: .txt

Get the file content of the url / local path

Downloads the file provided as argument and returns the file contents

CommonInterface.getFileContent('http://dev.ssp7.company.com/test.txt');
returns: test content

Get the file content of the url / local path with encoding specified (since 7.21.11)

Downloads the file provided as argument and returns the file contents using the encoding specified. See this list for possible encodings: https://docs.microsoft.com/nl-nl/windows/win32/intl/code-page-identifiers

CommonInterface.getFileContentWithEncoding('D:\\test.txt', 'windows-1250');
returns: test content

Get the file content in base 64 of the url / local path

CommonInterface.getFileContentInBase64('http://dev.ssp7.company.com/test.txt');
returns: dGVzdCBjb250ZW50

Get the file content as byte array of the url / local path (since 7.23.04)

CommonInterface.getFileContentInBytes('http://dev.ssp7.company.com/test.txt');
returns: the array of bytes

Get the file size in bytes of the url / local path

CommonInterface.getFileSizeInBytes('http://dev.ssp7.company.com/test.txt');
returns: 12

Get mime type or content type for file (since 7.25.04)

CommonInterface.getMimeTypeForFile('http://dev.ssp7.company.com/test.txt');
returns: text/plain

Format file size in readable format (with B, KB, MB, GB or TB)

Converts the provided number of bytes into a readable file size

CommonInterface.formatFileSizeInBytes(5242880);
returns: 5 MB

Save an object / array of objects to an Excel file (since 7.21.11)

  1. parameter 1: the object / array of objects you want to save
  2. parameter 2: name of the sheet in Excel
  3. parameter 3: the physical location of the Excel file, including filename and .xlsx extension
CommonInterface.saveToExcel([{"name": "first value", "summary": "first summary"},{"name": "second value", "summary": "second summary"}], "Sheet1", "C:\\Temp\\Example.xlsx");
returns: nothing when success, otherwise the error message

Save an object / array of objects to an Excel file and return as base64 (since 7.24.03)

  1. parameter 1: the object / array of objects you want to save
  2. parameter 2: name of the sheet in Excel
CommonInterface.generateExcelInBase64([{"name": "first value", "summary": "first summary"},{"name": "second value", "summary": "second summary"}], "Sheet1");
returns: the Excel file in base64

Convert Excel in base64 to JSON array (since 7.25.02)

  1. parameter 1: the Excel file in base64
  2. optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelInBase64ToJson("excelinbase64");
returns: the JSON respresentation of the Excel file

Convert Excel as byte array to JSON array (since 7.25.02)

  1. parameter 1: the Excel file as a byte array
  2. optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelAsByteArrayToJson([0,1,2]);
returns: the JSON respresentation of the Excel file

Convert Excel to JSON array (since 7.25.02)

  1. parameter 1: the location to the Excel file
  2. optional parameter 2: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
CommonInterface.excelFileToJson("C:\\temp\\example.xlsx");
returns: the JSON respresentation of the Excel file

Convert HTML to PDF and return as byte[] (since 7.25.10)

  1. parameter 1: HTML to convert
  2. optional parameter 2: object with possible properties: BaseUrl, Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.htmlToPdf("<strong>test</strong>");
returns: the byte array representation of the PDF

Convert URL to PDF and return as byte[] (since 7.25.10)

  1. parameter 1: URL to convert
  2. optional parameter 2: object with possible properties: Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.urlToPdf("https://example.com/test.html");
returns: the byte array representation of the PDF

Convert HTML to PDF and return as base64 (since 7.25.10)

  1. parameter 1: HTML to convert
  2. optional parameter 2: object with possible properties: BaseUrl, Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.htmlToPdfInBase64("<strong>test</strong>");
returns: the base64 representation of the PDF

Convert URL to PDF and return as base64 (since 7.25.10)

  1. parameter 1: URL to convert
  2. optional parameter 2: object with possible properties: Margin, TopMargin, RightMargin, BottomMargin, LeftMargin, Landscape, LiveUrlsEnabled, PageWidth, PageHeight, 7.26.02: EmbedFonts, HeaderHtml, HeaderHeight, HeaderShowOnFirstPage, FooterHtml, FooterHeight, FooterShowOnFirstPage, EmbedTextFonts, PageNumberingLocation (Header or Foooter), PageNumberingPositionX, PageNumberingPositionY, PageNumberingWidth, PageNumberingHeight, PageNumberingTextFormat (This is page &p; of &P;), PageNumberingFontName, PageNumberingFontSize, PageNumberingTextColor, PageNumberingHorizontalTextAlign (Left, Center, Right)
CommonInterface.urlToPdfInBase64("https://example.com/test.html");
returns: the base64 representation of the PDF

Creates a ZIP file and return as byte[] (since 7.25.10)

  1. parameter 1: object with filename (use forward slash for foldernames) as key and the value can be string (text file content), or a byte array (binary file content)
  2. optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFile({ "test/test.pdf": CommonInterface.htmlToPdf("<strong>test</strong>"), "test.txt": "test" });
returns: the byte array representation of the ZIP file

Creates a ZIP file and return as byte[] (since 7.25.10)

  1. parameter 1: array of objects with properties filename (use forward slash for foldernames), type (empty, base64, file or location) and content (empty (= folder), base64 (= use type base64), filename(= use type file), url (= use type location), string (for text file, leave type empty) or bytearray (for binary file, leave type empty))
  2. optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFileAdvanced([{ name: "test/test.pdf", content: CommonInterface.htmlToPdf("<strong>test</strong>") }, { name: "test/test.xlsx", content: CommonInterface.generateExcelInBase64([{name: "one", value: 1}, {name: "two", value: 2}, {name: "three", value: 3}], "Export"), type: "base64" }, { name: "test.txt", content: "test" }, { name: "test2" }]);
returns: the byte array representation of the ZIP file

Creates a ZIP file and return as base64 (since 7.25.10)

  1. parameter 1: object with filepath (use forward slash for foldernames) as key and the value can be string (text file content), or a byte array (binary file content)
  2. optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFileInBase64({ "test/test.pdf": CommonInterface.htmlToPdf("<strong>test</strong>"), "test.txt": "test" });
returns: the base64 representation of the ZIP file

Creates a ZIP file and return as base64 (since 7.25.10)

  1. parameter 1: array of objects with properties filename (use forward slash for foldernames), type (empty, base64, file or location) and content (empty (= folder), base64 (= use type base64), filename(= use type file), url (= use type location), string (for text file, leave type empty) or bytearray (for binary file, leave type empty))
  2. optional parameter 2: object with possible properties: Level (level of compression; 0-9, 9 being the highest level of compression), Password
CommonInterface.createZipFileAdvancedInBase64([{ name: "test/test.pdf", content: CommonInterface.htmlToPdf("<strong>test</strong>") }, { name: "test/test.xlsx", content: CommonInterface.generateExcelInBase64([{name: "one", value: 1}, {name: "two", value: 2}, {name: "three", value: 3}], "Export"), type: "base64" }, { name: "test.txt", content: "test" }, { name: "test2" }]);
returns: the base64 representation of the ZIP file

Get allowed upload extensions (since 7.24.10)

Get the list of allowed file extensions to upload

CommonInterface.getAllowedUploadFileExtensions();
returns: an array with the extensions

Execute an application (since 7.22.09)

  1. parameter 1: the path of the application to execute
  2. optional parameter 2: the parameters to pass to the application
CommonInterface.executeApplication("cmd.exe", "/c \"dir /B C:\\Temp\"");
returns: as JSON encoded string of an object with properties output, error and exitcode

Save text as file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to save to
  2. parameter 2: the contents of the file
  3. optional parameter 3: the encoding to use
CommonInterface.saveTextAsFile("C:\\temp\\test.txt", "test");
returns: nothing

Save base64 as file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to save to
  2. parameter 2: the base64 contents of the file
CommonInterface.saveBase64AsFile("C:\\temp\\test.txt", "dGVzdA==");
returns: nothing

Save byte array as file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to save to
  2. parameter 2: the byte array
CommonInterface.saveBytesAsFile("C:\\temp\\test.txt", [104,105]);
returns: nothing

Appends a string to a file (since 7.25.09)

  1. parameter 1: the path (local or UNC, folder and file name) to save to
  2. parameter 2: the contents to append to the file
  3. optional parameter 3: the encoding to use
CommonInterface.appendTextToFile("C:\\temp\\test.txt", "to append");
returns: nothing

Copy a file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the source file
  2. parameter 2: the path (local or UNC, folder and file name) to save to
  3. optional parameter 3: whether to overwrite the file if it exists
CommonInterface.copyFile("C:\\temp\\test.txt", "C:\\temp\\test2.txt");
returns: nothing

Move a file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the source file
  2. parameter 2: the path (local or UNC, folder and file name) to move to
CommonInterface.moveFile("C:\\temp\\test.txt", "C:\\temp\\test2.txt");
returns: nothing

Delete a file (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the file
CommonInterface.deleteFile("C:\\temp\\test.txt");
returns: nothing

Check if a file exists (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the file
CommonInterface.fileExists("C:\\temp\\test.txt");
returns: true or false

Get file info (since 7.25.07)

  1. parameter 1: the path (local or UNC, folder and file name) to the file
CommonInterface.getFileInfo("C:\\temp\\test.txt");
returns: object in JSON with properties directory, extension, name, exists, isreadonly, size, creationdate, lastaccessdate, lastwritedate

Create a directory (since 7.23.04)

  1. parameter 1: the path (local or UNC) to the folder
CommonInterface.createDirectory("C:\\temp");
returns: nothing

Delete a directory (since 7.24.11)

  1. parameter 1: the path (local or UNC) to the directory
  2. optional parameter 2: whether to delete recursive or not (WARNING: deletes folder and all contents when true) - defaults to false
CommonInterface.deleteDirectory("C:\\temp");
returns: nothing

Check if a directory exists (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the folder
CommonInterface.directoryExists("C:\\temp");
returns: true or false

Get the files in a directory (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the folder
CommonInterface.getFilesInDirectory("C:\\temp");
returns: array of file names (including the folder name)

Get the sub directories in a directory (since 7.23.04)

  1. parameter 1: the path (local or UNC, folder and file name) to the folder
CommonInterface.getDirectoriesInDirectory("C:\\temp");
returns: array of sub directory names (including the folder name)

Calling Web Services

Get or send data to or from a webservice defined under adapters

  1. first parameter: name of webservice
  2. second parameter: object with key / value that is used as input fields)
  3. optional third parameter (7.23.01): object with key / value that is used as context (possible fields: name, processinstanceid, supportsretry, maxretrycount, currentretrycount, nocache, payload, istest)

changes since 7.22.10: in case the web service is not found, an error is thrown instead of returning an empty string

CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' });
returns in case of the webservice having a return type of single value: the single value (string)
returns in case of the webservice having a return type of datatable or valuelist: the object encoded as a JSON string. If you want to consume it as an object in your javascript, you must use 
JSON.parse(), eg in one line: JSON.parse(CommonInterface.callWebservice('Name of webservice', { 'field1': 'value1', 'field2': 'value2' }));

Get or send data to or from a webservice defined under adapters wrapped in result object (7.23.01)

Returns the result wrapped in an object with properties result, fromcache, success, doretry, doretrynow, message, exception, data and currentretrycount

  1. first parameter: name of webservice
  2. second parameter: object with key / value that is used as input fields)
  3. optional third parameter: object with key / value that is used as context (possible fields: name, processinstanceid, supportsretry, maxretrycount, currentretrycount, nocache, payload, istest)
CommonInterface.callWebserviceWrapped('Name of webservice', { 'field1': 'value1', 'field2': 'value2' });

Schedule an SSP task to run on the next SSP Scheduler run (7.23.07)

  1. first parameter: name of task
CommonInterface.scheduleTaskToRunOnNextSchedulerRun('Import Persons');

Datastore parameters

check if user has access to datastore parameter

  1. First parameter: name of the parameter
CommonInterface.loggedInPersonCanManageParameterEntries('Address Book');
returns: boolean TRUE or FALSE if the currently logged in person has access to the parameter name provided

reload a datastore parameter from the source (since 7.23.07)

  1. First parameter: name of the parameter
CommonInterface.reloadParameter('My external parameter');
returns: nothing

get all entries of a parameter

  1. First parameter: name of the parameter
CommonInterface.getAllParameterEntries('Address Book');
returns: all the entries (array) with all the fields (properties) as JSON encoded string. If you want to consume it, use JSON.parse, eg: JSON.parse(CommonInterface.getAllParameterEntries('Address Book'));

get all entries of a parameter sorted on a field

  1. First parameter: name of the parameter
  2. second parameter: field to sort on
CommonInterface.getAllParameterEntriesAndSort('Address Book', 'Name');
returns: same as above but sorted via the query

Get the count of all entries of a parameter

  1. first parameter: name of the parameter
CommonInterface.getAllParameterEntryCount('Address Book');
returns: 9

Get specific value of a field for a specific entry

  1. first parameter: name of the parameter
  2. second parameter: key field
  3. third parameter: key value
  4. fourth parameter: fields to return, joined by double pipes
CommonInterface.getParameterEntryValue('Address Book', 'Email', 'john@company.com', 'Name||Location');
returns: the values if the requested fields for the first entry found, joined by double pipe, eg: john Doe||Maastricht

Get all values of a field in a parameter

  1. first parameter: name of the parameter
  2. second parameter: field name
CommonInterface.getParameterEntryValues('Address Book', 'Email');
returns: JSON encoded string of all the values (sorted), again to consume use JSON.parse, result: ["dasy@company.com","donald@company.com","john@company.com","example@gmail.com"]

Get parameter entries

  1. first parameter: name of the parameter
  2. second parameter: object with key / value containing the filter
CommonInterface.getParameterEntries('Address Book', { Email: 'john@smt-x.com' });
returns: see CommonInterface.getAllParameterEntries

Get parameter entries and sort

  1. first parameter: name of the parameter
  2. second parameter: object with key / value containing the filter
  3. third parameter: name of the field to sort on
CommonInterface.getParameterEntriesAndSort('Address Book', { Email: 'john@smt-x.com' }, 'Name');
returns: see CommonInterface.getAllParameterEntries

Get parameter entry (7.25.09)

  1. first parameter: name of the parameter
  2. second parameter: object with key / value containing the filter
CommonInterface.getParameterEntry('Address Book', { Email: 'john@smt-x.com' });
returns: returns the first entry where the filter is valid for

Get parameter entry by id (7.25.09)

  1. first parameter: name of the parameter
  2. second parameter: the id
CommonInterface.getParameterEntry('Address Book', 'abcdefgh');
returns: returns the entry for the id

Advanced search on parameter entries

  1. first parameter: name of the parameter
  2. second parameter: array of objects containing the predicates
CommonInterface.searchParameterEntries('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
returns: see CommonInterface.getAllParameterEntries
for all filter operators see here

Advanced search and sort on parameter entries

  1. first parameter: name of the parameter
  2. second parameter: object with key / value containing the predicates
  3. third parameter: field to sort on
CommonInterface.searchParameterEntriesAndSort('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}], 'Location');
returns: same as CommonInterface.searchParameterEntries but sorted via the query

  1. first parameter: name of the parameter
  2. second parameter: object with key / value containing the predicates
CommonInterface.searchParameterEntryCount('Address Book', [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'gmail.com' },{ connector: 'or', subfilter: [{ fieldname: 'Email', filteroperator: 'contains', filtervalue: 'company' }, { fieldname: 'Email', filteroperator: 'notcontains', filtervalue: 'john' } ]}]);
returns:  the number of records found

Add an entry to a parameter

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that contains the fields (keys) with the values (values)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
CommonInterface.addParameterEntry('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
returns:  the new internal id of the entry
Example: 
var field1 = #REPLACE-FORMFIELD-ABC#;
var field2 = #REPLACE-FORMFIELD-DEF#;
CommonInterface.addParameterEntry('Address Book', { 
   columnname1 : field1, 
   columnname2 : field2 
});

Add an entry to a parameter SECURE

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that contains the fields (keys) with the values (values)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  4. security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.addParameterEntrySecure('Address Book', { 'Name': 'Test', 'Email': 'test@company.com' });
returns:  the new internal id of the entry

Add multiple entries to a parameter (since 7.23.07)

  1. first parameter: name of the parameter
  2. second parameter: array of objects with key / value that contains the fields (keys) with the values (values)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
CommonInterface.addParameterEntries('Address Book', [{ 'Name': 'Test1', 'Email': 'test1@company.com' }, { 'Name': 'Test2', 'Email': 'test2@company.com' }]);
returns:  array of the new internal ids for the entries

Add multiple entries to a parameter SECURE (since 7.23.07)

  1. first parameter: name of the parameter
  2. second parameter: array of objects with key / value that contains the fields (keys) with the values (values)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  4. security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.addParameterEntriesSecure('Address Book', [{ 'Name': 'Test1', 'Email': 'test1@company.com' }, { 'Name': 'Test2', 'Email': 'test2@company.com' }]);
returns:  array of the new internal ids for the entries

updates zero or more parameter entries

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that represents the predicate (filter)
  3. third parameter: object with key / value that contains the new values (not all values are required)
  4. optional forth parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
CommonInterface.updateParameterEntries('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
returns:  the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)

updates zero or more parameter entries SECURE

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that represents the predicate (filter)
  3. third parameter: object with key / value that contains the new values (not all values are required)
  4. optional forth parameter (7.25.09): object with possible properties: personid, resetcache, ishidden
  5. Security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.updateParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' }, { 'Name': 'Test updated' });
returns:  the number of entries updated (make sure you use the correct filter, you could potentially update all the entries)

Delete zero or more parameter entries

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that represents the predicate (filter)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache
CommonInterface.deleteParameterEntries('Address Book', { 'Email': 'test@company.com' });
returns:  the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)

Delete zero or more parameter entries SECURE

  1. first parameter: name of the parameter
  2. second parameter: object with key / value that represents the predicate (filter)
  3. optional third parameter (7.25.09): object with possible properties: personid, resetcache
  4. Security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.deleteParameterEntriesSecure('Address Book', { 'Email': 'test@company.com' });
returns:  the number of entries deleted (make sure you use the correct filter, you could potentially delete all the entries)

Delete a parameter entry based on the id (7.25.09)

  1. first parameter: name of the parameter
  2. second parameter: the id
  3. optional third parameter: object with possible properties: personid, resetcache
CommonInterface.deleteParameterEntryByDataId('Address Book', 'abcdefgh');
returns:  the number of entries deleted

Delete a parameter entry based on the id SECURE (7.25.09)

  1. first parameter: name of the parameter
  2. second parameter: the id
  3. optional third parameter: object with possible properties: personid, resetcache
  4. Security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.deleteParameterEntryByDataIdSecure('Address Book', 'abcdefgh');
returns:  the number of entries deleted

Delete all parameter entries (since 7.23.07)

  1. first parameter: name of the parameter
  2. optional second parameter (7.25.09): object with possible properties: personid, resetcache
CommonInterface.deleteAllParameterEntries('Address Book');
returns:  the number of entries deleted

Delete all parameter entries SECURE (since 7.23.07)

  1. first parameter: name of the parameter
  2. optional second parameter (7.25.09): object with possible properties: personid, resetcache
  3. Security: This function checks if the currently logged in person is authorized to edit the parameter
CommonInterface.deleteAllParameterEntriesSecure('Address Book');
returns:  the number of entries deleted

Clear the parameter cache (since 7.25.12)

  1. first parameter: name of the parameter
CommonInterface.clearParameterCache('Address Book');
returns:  nothing

Person and person group (7.21.07)

getPerson

Get person with internal id

  1. First parameter is internal id of the person
CommonInterface.getPerson(1);
returns: object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getPersons (7.23.08)

Get persons with internal id

  1. First parameter is an array with internal id of the persons
CommonInterface.getPersons([1,2]);
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getPersonsByEmail (acted as searchPersonsByEmail before 7.22.02)

Get list of people via email

  1. First parameter is the email address
CommonInterface.getPersonsByEmail("john@doe.com");
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getActivePersonByEmail (7.22.02)

Get active peron via email

  1. First parameter is the email address
CommonInterface.getActivePersonByEmail("john@doe.com");
returns: object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

searchPersonsByEmail (7.22.02)

Get list of people by searching via email

  1. First parameter is the email address
CommonInterface.searchPersonsByEmail("@doe.com");
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getPersonsByUniqueId (acted as searchPersonsByUniqueId before 7.22.02)

Get list of people via uniqueid

  1. First parameter is the uniqueid
CommonInterface.getPersonsByUniqueId("john.doe");
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getActivePersonByUniqueId (7.22.02)

Get person via uniqueid

  1. First parameter is the uniqueid
CommonInterface.getActivePersonByUniqueId("john.doe");
returns: object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

searchPersonsByUniqueId (7.22.02)

Get list of people by searching via uniqueid

  1. First parameter is the uniqueid
CommonInterface.searchPersonsByUniqueId("jo");
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getPersonsByFilter (7.24.11)

Search for persons using a filter

  1. first parameter: a filter object or an array of filter objects
  2. optional second parameter: an object with paging information
CommonInterface.getPersonsByFilter([{IsActive: true}, { Connector: "OR", FieldName: "Email", FilterValue: "smt-x.com", Operator: "EndsWith" }]);
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

reloadPersonData (7.23.07)

Reloads the persons data

  1. First parameter is the id of the person
CommonInterface.reloadPersonData(1);
returns: nothing

getPersonDetail (7.23.07)

Gets the detail of a person, including the person extra fields

  1. First parameter is the id of the person
  2. Optional second parameter is a boolean whether to reload the persons data first
CommonInterface.getPersonDetail(1, true);
returns: object with properties id, firstname, lastname, email, uniqueid, description, inactive, fields (array of objects with properties name and value) in JSON

getPersonField

Get the value of a person field for a specific person

  1. First parameter is the internal id of the person
  2. Second parameter is the name of the field (can be UniqueId, FirstName, LastName, Email or any other custom defined person field)
CommonInterface.getPersonField(1, "Country");
returns: the value of the field

getPersonFirstAndLastName

Get the first and last name of a person

  1. First parameter is the internal id of the person
CommonInterface.getPersonFirstAndLastName(1);
returns: the first and last name

getPersonDescription

Get the description of a person

  1. First parameter is the internal id of the person
CommonInterface.getPersonDescription(1);
returns: the description in the format as defined in the settings

getPersonGroupsForPerson

Get the person groups where the person is member of (before 7.24.05: only active ones + where person is member or manager)

  1. First parameter is the internal id of the person
CommonInterface.getPersonGroupsForPerson(1);
returns: array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON

getPersonGroupsAsManagerForPerson (7.24.05)

Get the person groups where the person is manager of

  1. First parameter is the internal id of the person
CommonInterface.getPersonGroupsAsManagerForPerson(1);
returns: array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON

getPersonGroupsAsManagerOrMemberForPerson (7.24.05)

Get the person groups where the person is manager or member of

  1. First parameter is the internal id of the person
CommonInterface.getPersonGroupsAsManagerOrMemberForPerson(1);
returns: array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON

getPersonGroup

Get the person group with internal id

  1. First parameter is the internal id of the person group
CommonInterface.getPersonGroup(1);
returns: object with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON

getPersonGroupsByName

Get a list of person groups via name

  1. First parameter is the name
CommonInterface.getPersonGroupsByName("Groupname");
returns: array of objects with properties id, name, description, inactive (7.24.05), email (7.25.11) in JSON

getPersonGroupsByFilter (7.24.11)

Search for person groups using a filter

  1. first parameter: a filter object or an array of filter objects
  2. optional second parameter: an object with paging information
CommonInterface.getPersonGroupsByFilter([{IsActive: true}, { Connector: "OR", FieldName: "Name", FilterValue: "test", Operator: "Contains" }]);
returns: array of objects with properties id, name, description and inactive, email (7.25.11) in JSON

addPersonToPersonGroup (7.23.03)

Adds a person to a person group

  1. first parameter is the internal id of the person group
  2. second parameter is the internal id of the person
  3. optional third parameter is whether the person wants to receive the mails via the group
CommonInterface.addPersonToPersonGroup(1, 1);
returns: true if there were changes, false otherwise

setPersonsInPersonGroup (7.23.03)

Sets the list of persons in a person group

  1. first parameter is the internal id of the person group
  2. second parameter is an array with internal ids of the persons
  3. optional third parameter is whether the persons want to receive the mails via the group
CommonInterface.setPersonsInPersonGroup(1, [1, 2, 3], false);
returns: true if there were changes, false otherwise

removePersonFromPersonGroup (7.23.03)

Removes a person from a person group

  1. first parameter is the internal id of the person group
  2. second parameter is the internal id of the person
CommonInterface.removePersonFromPersonGroup(1, 1);
returns: true if there were changes, false otherwise

getPersonsForPersonGroup

Get the members of the person group

  1. First parameter is the internal id of the person group
CommonInterface.getPersonsForPersonGroup(1);
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON; since 7.25.10: groupemailenabled

searchPersons (7.22.06)

Search for people

  1. first parameter is text you wish to search for
  2. optional second parameter is the number of records you'd like to receive (default is 50)
CommonInterface.searchPersons("john");
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getAllPersons (7.25.10)

Get all persons (per 1.000 records, pass the last id to fetch the next page)

  1. optional first parameter: last id of the previous fetch
CommonInterface.getAllPersons();
returns: array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

getDelegatesForPerson (7.26.01)

Get the delegates for a person

  1. first parameter: person id
CommonInterface.getDelegatesForPerson(1);
returns: array of objects with properties id, type (can be Workflow or MyItems) and delegateperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), in case type is Workflow: process (id, name, title), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions) in JSON

saveDelegateForPerson (7.26.01)

Saves a delegate for a person

  1. first parameter: person id
  2. second parameter: delegate properties (object with properties id, type (can be Workflow or MyItems) and delegateperson (id), in case type is Workflow: process (id, name), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions))
CommonInterface.saveDelegateForPerson(1, { type: "Workflow", delegateperson: { id: 2 }, process: null });
returns: the saved object with properties id, type (can be Workflow or MyItems) and delegateperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), in case type is Workflow: process (id, name, title), permanent, emailoption (IStillWantToReceiveACopy, IWantToBeIncludedAsCC, IDontWantToReceiveAnyEmails), showinmyactions) in JSON

deleteDelegateForPerson (7.26.01)

Remove a delegate for a person

  1. first parameter: person id
  2. second parameter: record id (as returned in the object by the getDelegatesForPerson method or saveDelegateForPerson)
CommonInterface.deleteDelegateForPerson(1, 1);
returns: nothing

getOutOfOfficeSettingsForPerson (7.26.01)

Get the out of office settings for a person

  1. first parameter: person id
CommonInterface.getOutOfOfficeSettingsForPerson(1);
returns: object with properties fromdateformatted, fromsspdate, todateformatted, tosspdate and persons (array of objects with properties id, firstname, lastname, email, uniqueid, description and inactive) in JSON

saveOutOfOfficeSettingsForPerson (7.26.01)

Saves the out of office settings for a person

  1. first parameter: person id
  2. second parameter: object with out of office settngs (fromsspdate, tosspdate, persons (array of objects with property id))
CommonInterface.saveOutOfOfficeSettingsForPerson(1, { fromsspdate: "20260101", tosspdate: "20260201", persons: [ {id: 2}, {id: 3} ] });
returns: nothing

Global messages (7.22.06)

getGlobalMessages

Get the active global messages

CommonInterface.getGlobalMessages();
returns: array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON

getGlobalMessages SECURE (7.22.12)

Get the active global messages for the logged in user

CommonInterface.getGlobalMessagesSecure();
returns: array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON

getGlobalMessages expired (7.22.12)

Get the expired global messages

CommonInterface.getExpiredGlobalMessages();
returns: array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON

getGlobalMessages expired SECURE (7.22.12)

Get the expired global messages for the logged in user

CommonInterface.getExpiredGlobalMessagesSecure();
returns: array of object with properties id, ontop, unread, fromdateticks, fromdate, subject, shortdescription and body + since 7.22.12: isurgent, todateticks, todate, categories + since 7.25.07: person in JSON

markGlobalMessageAsSeen

Marks a global message as seen for the logged in account

  1. first parameter is the id of the message
CommonInterface.markGlobalMessageAsSeen(1);
returns: nothing

Get navigation items

Get all the navigation items

CommonInterface.getNavigationItems();
returns: array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON

Get navigation items SECURE

Get all the navigation items based on the logged in user

CommonInterface.getNavigationItemsSecure();
returns: array of object with properties id, name, typeid, typename, url, showinbox, showatbottom and boxcssclass in JSON

WorkflowInterface

The WorkflowInterface contains function that interact with tickets

Processes

Search count processes (7.23.08)

Returns the number of processes that matches the criteria

  1. first parameter: object with possible properties: isretired, text, name, nameoperator
  2. optional second parameter: object with possible property: languageid
WorkflowInterface.searchCountProcesses({ name: "phone", nameoperator: "contains" });
returns: the number

Search count processes SECURE (7.23.08)

Returns the number of processes that matches the criteria

  1. first parameter: object with possible properties: isretired, text, name, nameoperator
  2. optional second parameter: object with possible property: languageid
WorkflowInterface.searchCountProcessesSecure({ internallabel: "phone", internallabeloperator: "contains" });
returns: the number

Search processes (7.23.08)

Returns the processes that matches the criteria

  1. first parameter: object with possible properties: isretired, text, name, nameoperator
  2. optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
WorkflowInterface.searchProcesses({ internallabel: "phone", internallabeloperator: "contains" });
returns: array of objects with properties id, title, description in JSON

Search processes SECURE (7.23.08)

Returns the processes that matches the criteria

  1. first parameter: object with possible properties: isretired, text, name, nameoperator
  2. optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
WorkflowInterface.searchProcessesSecure({ internallabel: "phone", internallabeloperator: "contains" });
returns: array of objects with properties id, title, description in JSON

Get list of possible processes for delegation (7.26.01)

Returns the list of processes that the user is able to add delegation for

  1. first parameter: person id
WorkflowInterface.getPossibleProcessesForDelegationForPerson(1);
returns: array of objects with properties id, name, title in JSON

General

Check if a ticket id exists (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.processInstanceIdExists(1500);
returns: true or false

Remove process instance object from thread cache (7.21.07)

For performance reasons, the process instance object will be cached per request, if you edit the object and request data after the action you may need to clear the cache first. Use this only when you are sure you need this.

  1. first parameter: ticket id
WorkflowInterface.removeProcessInstanceFromThreadCache(1500);
returns: nothing

Check if process instance is still submitting (7.22.07)

  1. first parameter: ticket id
WorkflowInterface.processInstanceIsStillSubmitting(1500);
returns: true or false

Check if process instance is closed (7.22.09)

  1. first parameter: ticket id
WorkflowInterface.processInstanceIsClosed(1500);
returns: true or false

Evaluate replace placeholders (7.22.07)

Evaluates the replace placeholders in the specified text

  1. first parameter: ticket id
  2. second parameter: the text containing the replace placeholders
  3. optional third parameter: object with optional properties IsInHtml, UseLoggedInAccount, UseCurrentLanguage, LanguageId
WorkflowInterface.evaluateReplacePlaceholders(1500, "#REPLACE-STEP-PROCESS-Guid#");
returns: the evaluated value

Do check wait steps (7.22.09)

Evaluates the open wait steps in a ticket

  1. first parameter: ticket id
WorkflowInterface.doCheckWaitSteps(1500);
returns: nothing (this executes in a separate thread, so it does not wait until the wait step checks are done)

Do resume from here (7.23.01)

Restarts a process instance from a certain step

  1. first parameter: ticket id
  2. second parameter: processinstancestepid
  3. third parameter: actor name
  4. forth parameter: whether to remove the previous instances
WorkflowInterface.doResumeFromProcessInstanceStep(1500, 1800, "SYSTEM", false);
returns: nothing (this executes in a separate thread)

Do retry from here (7.23.01)

Retries a process instance step (in case it can be retried)

  1. first parameter: ticket id
  2. second parameter: instance step id
  3. third parameter: actor name
WorkflowInterface.doRetryProcessInstanceStep(1500, 1800, "SYSTEM");
returns: nothing (this executes in a separate thread)

Stop process instance (7.24.10)

Stops a process instance without checking the rights

  1. first parameter: ticket id
  2. optional second parameter: the actor name
  3. optional third parameter: the actor person id
WorkflowInterface.stopProcessInstance(1500);
returns: nothing

Stop process instance secure (7.24.10)

Stops a process instance if the logged in person has the rights to do this

  1. first parameter: ticket id
  2. optional second parameter: the actor name
  3. optional third parameter: the actor person id
WorkflowInterface.stopProcessInstanceSecure(1500);
returns: nothing

Get workflow information for a ticket (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.getWorkflowInformation(1500);
returns: object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON

Search workflow tickets count (7.22.06)

Returns the number of tickets based on the search criteria without checking the current logged in user

  1. first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
WorkflowInterface.searchCountWorkflowTickets({"Status": "Open"});
returns: nr of tickets

Search workflow tickets count SECURE (7.22.06)

Returns the number of tickets based on the search criteria where the logged in user has rights for

  1. first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
WorkflowInterface.searchCountWorkflowTicketsSecure({"Status": "Open"});
returns: nr of tickets

Search workflow tickets (7.22.06)

Returns the tickets based on the search criteria without checking the current logged in user

  1. first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
  2. optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
WorkflowInterface.searchWorkflowTickets({"Status": "Open"});
returns: array of objects with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON

Search workflow tickets SECURE (7.22.06)

Returns the tickets based on the search criteria where the logged in user has rights for

  1. first parameter: object with search criteria (possible properties: LanguageId, CustomKey, Id, Status, Keywords, RequestorId, DateStartedFrom, DateStartedTo, DateEndedFrom, DateEndedTo, since 7.26.01: RequestedForId, TicketCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestorCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue), RequestedForCustomFields (array of objects with properties: FieldName, FilterOperator, FieldValue))
  2. optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
WorkflowInterface.searchWorkflowTicketsSecure({"Status": "Open"});
returns: array of object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), formid, forminstanceid, externalappname, name, processname, formname, isarchived and pool (object with properties id and name) and ticketnr (7.22.06 - contains customkey) in JSON

Get ticketing information for a ticket (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.getTicketInformation(1500);
returns: object with properties id, guid, processid, datestarted, dateended, workflowissubmitting, requestorperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), requestedforperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), islocked, isrunning, tickettype, tasktype, requestedforteam, pool (object with properties id and name), medium (object with properties code and name), priority (object with properties code and name), status (object with properties code and name), service (object with properties code and name), category (object with properties code and name), classification (object with properties code and name), closurecode (object with properties code and name), description, information, solution, solutionlinkalldocuments, solutiondocumentkeys (array of keys in string), plannedeliverydate, deadlinedate, requestedforalternatename, requestedforalternateemail, requestedforalternatetelephone, assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), customfields (array of objects with properties name, typeid, typename, ishidden, parametername, parametervaluefield, parameterdisplayfield, stringvalue and datetimevalue) in JSON

Start a new process instance (7.21.12)

  1. first parameter: process (id or name)
  2. second parameter: requestor person (id or unique id or email) (can be null since 7.24.03)
  3. third parameter: requested for person (id or unique id or email) (can be null since 7.24.03)
  4. fourth parameter: external app name
  5. fifth parameter: array of form field objects, each object can have the properties displayvalue, value, internallabel, label and labels (array of objects with properties label and language)
WorkflowInterface.startProcessInstance("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }]);
returns: object with properties id and guid in JSON

Start a new process instance with passing thru initial ticketing data (7.21.12)

  1. first parameter: process (id or name)
  2. second parameter: requestor person (id or unique id or email) (can be null since 7.24.03)
  3. third parameter: requested for person (id or unique id or email) (can be null since 7.24.03)
  4. fourth parameter: external app name
  5. fifth parameter: array of form field objects, each object can have the properties displayvalue, value (or rawvalue 7.23.07), internallabel (or internalname 7.23.07), label and labels (array of objects with properties label and language), since 7.25.09: fieldid, repeatablesectionfieldid, repeatablesectionindex, visible, searchable, htmlencode, itemorder, selectionparameter, subfielddefinition, fieldtype
  6. sixth parameter: object with initial ticketing data, possible properties are assignedtoperson, assignedtopersongroup, category, classification, closurecode, deadlinedate, description, information, initialtasksfield, medium, planneddeliverydate, pool, priority, requestedfor, requestedforalternateemail, requestedforalternatename, requestedforalternatetelephone, requestedforteam, service, solution, status and customfields (array of objects with properties fieldname and stringvalue)
WorkflowInterface.startProcessInstanceWithTicketData("My test process", "John.Doe", "John.Doe", "my test app", [{ internallabel: "field1", value: "value 1", labels: [{ label: "field 1", language: "English" }, { label: "veld 1", language: "Nederlands" }] }, { value: "value 2", displayvalue: "dis val 2", label: "field 2" }], { status: "New", assignedtopersongroup: "My first group", assignedtoperson: "John.Doe", "Description": "test", customfields: [{fieldname: "customfield1", stringvalue: "custom field value"}] });
returns: object with properties id and guid in JSON

Rights (7.21.07)

Check if the logged in person has workflow admin rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasWorkflowAdminRight(1500);
returns: true or false

Check if the logged in person has workflow power user rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasWorkflowPowerUserRight(1500);
returns: true or false

Check if the logged in person has workflow read rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasWorkflowReadRight(1500);
returns: true or false

Check if the logged in person has workflow write rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasWorkflowWriteRight(1500);
returns: true or false

Check if the logged in person has ticketing limited rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasTicketLimitedRight(1500);
returns: true or false

Check if the logged in person has ticketing read rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasTicketReadRight(1500);
returns: true or false

Check if the logged in person has ticketing write rights on the ticket

  1. first parameter: ticket id
WorkflowInterface.loggedInPersonHasTicketWriteRight(1500);
returns: true or false

Check if the logged in person has write rights on the task (no checks on ticket are done)

  1. first parameter: task id
WorkflowInterface.loggedInPersonHasTaskWriteRight(100);
returns: true or false

Variables

Get the value of a variable in a ticket

  1. first parameter: ticket id
  2. second parameter: name of the variable
WorkflowInterface.getVariableValue(1500, 'My variable');
returns: the value as string

sets the value of a variable in a ticket (if it doesn't exists, it will be created)

  1. first parameter: ticket id
  2. second parameter: name of the variable
  3. third parameter: value of the variable
WorkflowInterface.setVariableValue(1500, 'My variable', 'new value');
returns: nothing

Form Values

Get all form fields for a ticket (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.getAllFormFields(1500);
returns: array of objects with properties fieldorder, fieldtypeid, fieldtypename, internalname, label, helptext, subfielddefinition, parametername, value (object depending on the fieldtype), rawvalue, displayvalue, visible, htmlencode, repeatablesectionindex, repeatablesectionfieldid, visibleforui (since 7.23.10) in JSON

Get raw value of a form field in a ticket

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
WorkflowInterface.getFormFieldValue(1500, 'MyFormField');
returns: the value as string

Get raw displayvalue of a form field in a ticket

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
WorkflowInterface.getFormFieldDisplayValue(1500, 'MyFormField');
returns: the display value as string

Get the value definition of a form field in a ticket (for selection fields)

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
WorkflowInterface.getFormFieldSubFieldDefinition(1500, 'MyFormField');
returns: the definition (eg: Name||Email)

Get the sub value of a form field in a ticket (for selection fields)

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
  3. third parameter: name of the sub field
WorkflowInterface.getFormSubFieldValue(1500, 'MyFormField', 'Name');
returns: the value as string (eg: Raymond)

Get the list of sub value of a form field in a ticket (for selection fields with multiple values)

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
  3. third parameter: name of the sub field
WorkflowInterface.getFormSubFieldValues(1500, 'MyFormField', 'Name');
returns: the values as string array in JSON (eg: ["Dominic", "Raymond"])

Get an object (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with single value)

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
WorkflowInterface.getFormFieldSelectionValue(1500, 'MyFormField');
returns: object in JSON (eg: {"Name": "Raymond", "Email": "raymond@smt-x.com"})

Get a list of objects (key/value) where key is the sub field name and value the selected values of a form field in a ticket (for selection fields with multiple values)

  1. first parameter: ticket id
  2. second parameter: internal name of the form field
WorkflowInterface.getFormFieldSelectionValues(1500, 'MyFormField');
returns: array of objects in JSON (eg: [{"Name": "Raymond", "Email": "raymond@smt-x.com"},{"Name": "Dominic", "Email": "dominic@smt-x.com"}])

Open actions

Get the open (step) actions in a ticket

  1. first parameter: ticket id
WorkflowInterface.getOpenActions(1500);
returns: array of open actions in JSON (properties: stepname, stepinformation, link, array of actors (person), messagesfunctionid, allowsubmit, typeid, pisiaid, pisianame, submithash, array of fields (properties: id, name, typeid, required, stringvalue, displaystringvalue, datetimevalue, pdbname, pdbvaluefieldname, pdbtextfieldname, pdbhashcheck, rows, regex, helptext), haswriterights (since 7.23.10))

Get the amount of open actions for the logged in user (7.24.07)

WorkflowInterface.getMyOpenActionsCountSecure();
returns: the amount of open actions for the logged in user

Get the amount of open actions for a specific email address (7.24.07)

  1. first parameter: email
WorkflowInterface.getOpenActionsByEmailCount(email);
returns: the amount of open actions for the email address

Get the open actions for the logged in user (7.24.07)

WorkflowInterface.getMyOpenActionsSecure();
returns: an array of objects with properties processinstanceid, processinstanceguid, processinstancestepid, processinstancestepactorid, processinstancestepinstanceactorinstanceid, datestarted, stepname, link, processinstancename, processinstancedatestarted, processinstancerequestorperson, processinstancerequestedforperson in JSON

Get the open actions for a specific email address (7.24.07)

  1. first parameter: email
WorkflowInterface.getOpenActionsByEmail(email);
returns: an array of objects with properties processinstanceid, processinstanceguid, processinstancestepid, processinstancestepactorid, processinstancestepinstanceactorinstanceid, datestarted, stepname, link, processinstancename, processinstancedatestarted, processinstancerequestorperson, processinstancerequestedforperson in JSON

Steps (since 7.24.10)

Get all steps as tree in a ticket

Get all steps as tree in a ticket

  1. first parameter: ticket id
  2. optional second parameter: object with possible properties: IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this)
WorkflowInterface.getSteps(1500);
returns: array of objects in JSON

Get all steps as tree in a ticket secure

Get all steps as tree in a ticket visible for the logged in person

  1. first parameter: ticket id
  2. optional second parameter: object with possible properties: SkipUserHasReadRight (if you already know the user has read rights), IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this)
WorkflowInterface.getStepsSecure(1500);
returns: array of objects in JSON

Get all steps as list in a ticket (since 7.25.02)

Get all steps as list in a ticket

  1. first parameter: ticket id
  2. optional second parameter: object with possible properties: IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this), StepTypes (array of step types to filter on), StepStatuses (array of step statuses to filter on)
WorkflowInterface.getStepsAsList(1500);
returns: array of objects in JSON

Get all steps as list in a ticket secure (since 7.25.02)

Get all steps as list in a ticket visible for the logged in person

  1. first parameter: ticket id
  2. optional second parameter: object with possible properties: SkipUserHasReadRight (if you already know the user has read rights), IncludeDecisionNoneInstances (include the auto-ended instances), IncludeActorDelegates, IncludeTechnicalActors, IncludeStepInformation (default is true, but if there are a lot of replace variabeles in the information it can take a while to render - set to false if you don't need this), StepTypes (array of step types to filter on), StepStatuses (array of step statuses to filter on)
WorkflowInterface.getStepsAsListSecure(1500);
returns: array of objects in JSON

Additional information (since 7.24.11)

Submit the answer for an additional information request

Submits the answer without checking the logged in user

  1. first parameter: id
  2. second parameter: answer
WorkflowInterface.submitAdditionalInformationAnswer(150, 'answer');
returns: true if succesful, false if it was already answered, null if not found or no rights

Submit the answer for an additional information request secure

Submits the answer only if the logged in user is allowed to

  1. first parameter: id
  2. second parameter: answer
WorkflowInterface.submitAdditionalInformationAnswerSecure(150, 'answer');
returns: true if succesful, false if it was already answered, null if not found or no rights

Logging

Get all logs for a ticket (7.21.07)

Get a list with all logs, including workflow logs, private notes, public messages and ticket changes

  1. first parameter: ticket id
WorkflowInterface.getAllLogs(1500);
returns: array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON

Get workflow logs for a ticket (7.21.07)

Get a list of only workflow logs

  1. first parameter: ticket id
WorkflowInterface.getWorkflowLogs(1500);
returns: array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON

Add a log to the process instance (workflow log)

  1. first parameter: ticket id
  2. second parameter: the log text
WorkflowInterface.addWorkflowLog(1500, 'My log text');
returns: nothing

Overview layouts (7.25.07)

Get the default overview layout for a ticket (7.25.07)

  1. first parameter: ticket id
  2. optional second parameter: object with possible properties IsInHtml (default false), UseLoggedInAccount (default false), UseCurrentLanguage (default false), LanguageId
WorkflowInterface.getDefaultOverviewLayout(1500);
returns: array of objects in JSON with properties typename, label, value or values (depending on the typename, "Default" has value, "Section" has values which again is an array of objects in JSON of the same type)

Get the overview layout for a ticket by name (7.25.07)

  1. first parameter: ticket id
  2. second parameter: name of overview layout
  3. optional third parameter: object with possible properties IsInHtml (default false), UseLoggedInAccount (default false), UseCurrentLanguage (default false), LanguageId
WorkflowInterface.getOverviewLayout(1500, 'MyOverviewName');
returns: array of objects in JSON with properties typename, label, value or values (depending on the typename, "Default" has value, "Section" has values which again is an array of objects in JSON of the same type)

Attachments

Get all documents for a ticket (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.getDocuments(1500);
returns: array of objects with properties type, url, name, isticketdocument, isvisible, id, key and date in JSON

Use 'key' as unique identifier, this key is also used in other objects (eg in solutiondocumentkeys)

Add document to a ticket

  1. first parameter: TicketId
  2. second parameter: Path to the file that should be added
  3. third parameter: boolean (1 or 0) if file should be visible in workflow
WorkflowInterface.addDocument(ticketid, 'pathtofile', hideinworkflow);
returns: since 7.24.11: the document key

Add document to a ticket with a specific name

  1. first parameter: TicketId
  2. second parameter: Path to the file that should be added
  3. third parameter: filename to show in workflow
  4. fourth parameter: boolean (1 or 0) if file should be visible in workflow
WorkflowInterface.addDocumentWithFileName(ticketid, 'pathtofile', 'filenametoshow', hideinworkflow);
returns: since 7.24.11: the document key

Add document as base64 to a ticket (7.25.01)

  1. first parameter: ticketid
  2. second parameter: file in base64
  3. third parameter: filename
  4. fourth parameter: boolean (1 or 0) if file should be visible in workflow
WorkflowInterface.addDocumentInBase64(ticketid, 'dGVzdA==', 'test.txt', hideinworkflow);
returns: the document key

Delete all currently linked documents from a ticket

  1. first parameter: TicketId
WorkflowInterface.deleteAllDocuments(ticketid);

Delete a document from a ticket (7.25.03)

  1. first parameter: the ticketid
  2. second parameter: the document key
WorkflowInterface.deleteDocument(ticketid, "thekey");

Update Ticketing fields

Get action logs for a ticket (7.21.07)

Get a list of only action logs, that's pubic messages, private notes and ticket changes

  1. first parameter: ticket id
WorkflowInterface.getActionLogs(1500);
returns: array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON

Get action logs secure for a ticket (7.24.10)

Get a list of only action logs, that's pubic messages, private notes and ticket changes only if the logged in user is allowed to see them

  1. first parameter: ticket id
WorkflowInterface.getActionLogsSecure(1500);
returns: array of objects with properties date, person (object with properties id, firstname, lastname, email, uniqueid, description and inactive), text, typeid, typename, notified (array of names), documentkeys (array of keys in string) in JSON

Add a private note within ticketing

  1. first parameter: TicketId
  2. second parameter: Person unique id or email address
  3. third parameter: text to add as public note
  4. optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
  5. optional fifth parameter: array of people to be notified (7.25.10)
WorkflowInterface.addPrivateNote(ticketid, personidoremail, logtext);
returns: the id of the added note (since 7.25.04)

Add a public message within ticketing

  1. first parameter: TicketId
  2. second parameter: Person unique id or email address
  3. third parameter: text to add as private note
  4. optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
  5. optional fifth parameter: array of people to be notified (7.25.10)
  6. optional sixth parameter: boolean: stop the clock (7.25.10)
WorkflowInterface.addPublicMessage(ticketid, personidoremail, logtext);
returns: the id of the added message (since 7.25.04)

Get default list of people to be notified for public message within ticketing (7.25.10)

  1. first parameter: TicketId
WorkflowInterface.getPublicMessageDefaultNotifies(ticketid);
returns: the array of default people to be notified in JSON

Add an end user message (workflow) (7.25.10)

  1. first parameter: TicketId
  2. second parameter: Person unique id or email address
  3. third parameter: text to add as private note
  4. optional fourth parameter: array of objects with properties filename and filecontentinbase64
  5. optional fifth parameter: array of people to be notified
WorkflowInterface.addMessageAsEndUser(ticketid, personidoremail, logtext);
returns: the id of the added message

Add a ticket change entry within ticketing

  1. first parameter: TicketId
  2. second parameter: Person unique id or email address
  3. third parameter: text to add as ticket change
  4. optional fourth parameter: array of objects with properties filename and filecontentinbase64 (7.24.10)
WorkflowInterface.addTicketChange(ticketid, personidoremail, logtext);
returns: the id of the added message (since 7.25.04)
This action will not send an email message

Update ticket fields

  1. first parameter: TicketId
  2. second parameter: object containing new field values
WorkflowInterface.updateTicketFields(ticketid, fields);
fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTicketFields(ticketid, {"Status": "Open", "Custom": {"Field01": "Value01" }});
Possible fields: LockTicket, TicketIsRunning, Classification, Status, Description, Information, AssignedToPerson, AssignedToPersonGroup, Category, Medium, Priority, Service, Solution, ClosureCode, Custom, Requestor, RequestedFor, Pool, PlannedDeliveryDate, DeadlineDate, RequestedForAlternateName, RequestedForAlternateEmail, RequestedForAlternateTelephone, SolutionLinkAllDocuments, RequestedForTeam, WorkflowPool, TicketType, TasksType, RemoveOnDate. Since 7.23.05: CustomFields (array of objects with properties fieldname and stringvalue)

Lock ticket

  1. first parameter: TicketId
WorkflowInterface.lockTicket(ticketid);

Unlock ticket

  1. first parameter: TicketId
WorkflowInterface.unlockTicket(ticketid);

Set ticket to IsRunning = True

  1. first parameter: TicketId
WorkflowInterface.enableTicketIsRunning(ticketid);

Set ticket to IsRunning = False

WorkflowInterface.disableTicketIsRunning(ticketid);

Create a new, blank Task within a ticket

  1. first parameter: TicketId
  2. second parameter: object containing new field values
  3. third optional parameter (since 7.23.10): the id of the person used as requestor person
WorkflowInterface.addTask(ticketid, fields); 
returns: the new task id

Update fields of a task

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: object containing new field values
WorkflowInterface.updateTask(ticketid, taskid, fields);
fields: object with a key field to set which field should be updated, together with the new value for example: WorkflowInterface.updateTask(ticketid, taskid, {"Status": "Open","Description":"My descriptionb" });
Possible fields: Description, AssignedToPersonGroup, AssignedToPerson, DeliveryDate, Information, Solution, LockedTicket, IsCompleted, ExternalReference, ExternalResolved, LinkAllTicketDocuments, Status, Priority, DeadlineDate, since 7.23.09: Category, ConfigurationItem, since 7.24.12: Subcategory, since 7.25.06: BlockSaveAndComplete, ExternalInApprovalMode

Add a message to a task (7.24.10)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: text
WorkflowInterface.addTaskMessage(1500, 150, "john@doe.com", "text");

External system acknowledged a task (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: externalLinkReference
  5. fifth parameter: extraMessage
WorkflowInterface.taskAcknowledgementFromExternal(1500, 150, "john@doe.com", "EXT-12345", "Ticket received");

External system adds an update message to a task (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: updateMessage
WorkflowInterface.taskUpdateMessageFromExternal(1500, 150, "john@doe.com", "Update information");

External system marks task as in approval mode (7.25.06)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: message
WorkflowInterface.taskInApprovalModeFromExternal(1500, 150, "john@doe.com", "Please approve");

External system reassigns a task (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: updateMessage
WorkflowInterface.taskReassignmentFromExternal(1500, 150, "john@doe.com", "The solution");

Send update message to an external task (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: updateMessage
WorkflowInterface.taskUpdateMessageToExternal(1500, 150, "john@doe.com", "Update information");

Send update message to an external task, only if the logged in user has the rights for this (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: updateMessage
WorkflowInterface.taskUpdateMessageToExternalSecure(1500, 150, "Update information");

Send approval vote to an external task (7.25.06)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: approved (true or false)
  5. fifth parameter: motivation
WorkflowInterface.taskApprovalVoteToExternal(1500, 150, "john@doe.com", true, "Go ahead");

Send approval vote to an external task, only if the logged in user has the rights for this (7.25.06)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: approved (true or false)
  5. fifth parameter: motivation
WorkflowInterface.taskApprovalVoteToExternalSecure(1500, 150, "john@doe.com", true, "Go ahead");

Reject the solution for an external task (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: person
  4. fourth parameter: rejectMessage
WorkflowInterface.taskRejectSolutionToExternal(1500, 150, "john@doe.com", "Reject info");

Reject the solution for an external task, only if the logged in user has the rights for this (7.25.01)

  1. first parameter: TicketId
  2. second parameter: TaskId
  3. third parameter: rejectMessage
WorkflowInterface.taskRejectSolutionToExternalSecure(1500, 150, "Reject info");

Get information for a task (7.21.07)

  1. first parameter: task id
WorkflowInterface.getTask(100);
returns: object with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket, since 7.23.09 category (object with properties code and name), configurationitem (object with properties code and name), since 7.24.12 subcategory (object with properties code and name), since 7.25.01 updatemessageavailable, rejectsolutionavailable, since 7.25.06 approvalvoteavailable, blocksaveandmarkcompleted, externalinapprovalmode in JSON

Get all tasks for a ticket (7.21.07)

  1. first parameter: ticket id
WorkflowInterface.getTasks(1500);
returns: array of objects with properties id, processinstanceid, deliverydate, deadlinedate, dateadded, datecompleted, completed, requestor (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtoperson (object with properties id, firstname, lastname, email, uniqueid, description and inactive), assignedtopersongroup (object with properties id, name and description), description, information, priority (object with properties code and name), status (object with properties code and name), solution, duestatus, linkallticketdocuments, documentkeys (array of keys in string), hasexternallink, externallinkreference, lockedticket, since 7.23.09 category (object with properties code and name), configurationitem (object with properties code and name), since 7.24.10: messages (array of objects with properties date, person, text), since 7.24.12 subcategory (object with properties code and name), since 7.25.01 updatemessageavailable, rejectsolutionavailable, since 7.25.06 approvalvoteavailable, blocksaveandmarkcompleted, externalinapprovalmode in JSON

Emails (since 7.21.06)

Get an email layout

  1. first parameter: name of the email layout
WorkflowInterface.getEmailLayout(name);
returns: the body of the email layout in the default language
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.

Get an email layout in a specific language

  1. first parameter: name of the email layout
  2. second parameter: id of the desired language
WorkflowInterface.getEmailLayoutWithLanguageId(name, languageid);
returns: the body of the email layout in the desired language
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.

Get the default email layout

WorkflowInterface.getDefaultEmailLayout();
returns: the body of the default email layout in the default language
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.

Get the default email layout in a specific language

  1. first parameter: id of the desired language
WorkflowInterface.getDefaultEmailLayoutWithLanguageId(languageid);
returns: the body of the default email layout in the desired language
When using a template in JavaScript, please be aware that the string #REPLACE-EmailContent# is replaced within your JavaScript code, before it is executed. If you want to use Layouts in JavaScript, create a specific Layout for that and don't make use of the placeholder #REPLACE-EmailContent#. Instead use for example JS-REPLACE-EMAILCONTENT.

Get an email template (7.22.09)

  1. first parameter: name of the email template
  2. optional second parameter: language id you wish to use
WorkflowInterface.getEmailTemplate(name);
returns: an object with properties subject, body and attachments (array of objects with properties url and name) in JSON

Send an email

  1. first parameter: full name of the receiver
  2. second parameter: email address of the receiver
  3. third parameter: subject of the email
  4. fourth parameter: content of the email
WorkflowInterface.sendEmail(toName, toEmail, subject, content);
sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise

Queue an email

  1. first parameter: full name of the receiver
  2. second parameter: email address of the receiver
  3. third parameter: subject of the email
  4. fourth parameter: content of the email
WorkflowInterface.queueEmail(toName, toEmail, subject, content);
adds the email to the queue

Send an email - advanced

  1. first parameter: object with properties
WorkflowInterface.sendEmailAdvanced(properties);
Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
from: can be a string (email address) or an object with the properties 'email' and 'name'
to, cc and bcc: can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
attachments: can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
disableoverwriteto: boolean to specify whether the "Send all e-mails only to" should be ignored or not
processinstanceid: id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.sendEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The <strong>content</strong> of my email" });
sends the email immediately when "Send immediately" is enabled in the settings, will add the email to the queue otherwise
Since 7.23.05: returns the id of the record

Queue an email - advanced

  1. first parameter: object with properties
WorkflowInterface.queueEmailAdvanced(properties);
Possible properties: from, fromemail, fromname, to, toemail, toname, cc, ccemail, ccname, bcc, bccemail, bccname, attachments, subject, content, ishtml, disableoverwriteto, processinstanceid
from: can be a string (email address) or an object with the properties 'email' and 'name'
to, cc and bcc: can be a string (email address), an object with the properties 'email' and 'name' or an array with strings and or objects with the properties 'email' and 'name'
attachments: can be a string (location of the file), an object with the properties 'url' and 'name' or an array with strings and or objects with the properties 'url' and 'name'
disableoverwriteto: boolean to specify whether the "Send all e-mails only to" should be ignored or not
processinstanceid: id of the workflow ticket to link this email to
Required properties: subject, content and at least one 'to' addressee are required
Example: WorkflowInterface.queueEmailAdvanced({"to": "raymond@smt-x.com", "cc": [{email: "dominic@smt-x.com", name: "Dominic"}], "subject": "The subject of my email", "content": "The <strong>content</strong> of my email" });
adds the email to the queue
Since 7.23.05: returns the id of the record

StudioInterface

Get the full query string

StudioInterface.getQueryString();
return: the full query string (without the leading question mark)

Get all keys from the query string parameter collection (7.22.03)

StudioInterface.getAllQueryStringKeys();
return: an array of strings with all the keys of the query string parameters for the current request

Get a value from the query string

StudioInterface.getQueryStringValue('name');
return: the value of the query string parameter for the current request

Get values in an array from the query string (7.24.03)

StudioInterface.getQueryStringValues('name');
return: the values of the query string parameter for the current request in an array

Get all keys from the header collection (7.22.03)

StudioInterface.getAllHeaderKeys();
return: an array of strings with all the keys of the headers for the current request

Get a value from the header

  1. first parameter: name
StudioInterface.getHeaderValue('name');
return: the value of the header parameter for the current request

Get values in an array from the header (7.24.03)

  1. first parameter: name
StudioInterface.getHeaderValues('name');
return: the values of the header parameter for the current request in an array

Get all keys from the server variables collection (7.24.02)

StudioInterface.getAllServerVariableKeys();
return: an array of strings with all the keys of the server variables collection for the current request

Get a value from the server variables (7.24.02)

  1. first parameter: name
StudioInterface.getServerVariableValue('REMOTE_ADDR');
return: the value of the server variable for the current request

Get values in an array from the server variables (7.24.03)

  1. first parameter: name
StudioInterface.getServerVariableValues('REMOTE_ADDR');
return: the values in an array of the server variable for the current request

Get the user host address (since 7.25.05)

StudioInterface.getUserHostAddress();
return: the IP address of the user

Gets all the application session keys (7.25.01)

StudioInterface.getAllAppSessionKeys();
return: an array of strings with all the keys

Gets an application session value (7.25.01)

  1. first parameter: name
StudioInterface.getAppSessionValue('name');
return: the value (object)

Sets an application session value (7.25.01)

  1. first parameter: name
  2. second parameter: value
StudioInterface.setAppSessionValue('sessionkeyname', 'sessionkeyvalue');
return: nothing

Removes an application session object (7.25.01)

  1. first parameter: name
StudioInterface.removeAppSession('sessionkeyname');
return: nothing
StudioInterface.getAllCookieKeys();
return: an array of strings with all the keys of the cookies for the current request
  1. first parameter: name
StudioInterface.getCookieValue('name');
return: the value (url decoded) of the cookie for the current request
  1. first parameter: name
StudioInterface.getCookieValueRaw('name');
return: the value (not url decoded) of the cookie for the current request

Adds a cookie, if no expire days is provided, then it's a session cookie (will be removed when session ends)

  1. first parameter: name
  2. second parameter: value (will be url encoded since 7.24.06)
  3. third parameter (optional): expire in nr of days (a negative value will remove the cookie)
StudioInterface.setCookie('cookiename', 'cookievalue');
return: nothing

Adds a cookie using the options provided

  1. first parameter: name
  2. second parameter: value (will be url encoded)
  3. third parameter: object with supported properties: httponly, path, domain, secure and expires
StudioInterface.setCookieWithOptions('cookiename', 'cookievalue', { "HttpOnly": false });
return: nothing

Adds a cookie, if no expire days is provided, then it's a session cookie (will be removed when session ends)

  1. first parameter: name
  2. second parameter: value (will not be url encoded)
  3. third parameter (optional): expire in nr of days (a negative value will remove the cookie)
StudioInterface.setCookieRaw('cookiename', 'cookievalue');
return: nothing

Adds a cookie using the options provided

  1. first parameter: name
  2. second parameter: value (will not be url encoded)
  3. third parameter: object with supported properties: httponly, path, domain, secure and expires
StudioInterface.setCookieRawWithOptions('cookiename', 'cookievalue', { "HttpOnly": false });
return: nothing

Get all keys from the posted form collection (7.22.03)

StudioInterface.getAllFormKeys();
return: an array of strings with all the keys of the posted form collection for the current request

Get a value from the posted form collection

  1. first parameter: name
StudioInterface.getFormValue('name');
return: the value from the posted form collection for the current request

Get values in an array from the posted form collection (7.24.03)

  1. first parameter: name
StudioInterface.getFormValues('name');
return: the values in an array from the posted form collection for the current request

Get the http method for the current request

StudioInterface.getHttpMethod();
return: the current http method (GET, POST, …)

Get the content type of the current request

StudioInterface.getContentType();
return: the content type (text/plain, application/json, …)

Get the full posted content as string

You can only call this once per request

StudioInterface.getPostedContent();
return: posted content

Check if the HTTP request has a posted file (7.23.12)

  1. optional first parameter: allextensionsallowed - default false (7.24.10)
StudioInterface.hasPostedFile();
return: true or false

Get information about the posted file in the HTTP request (7.23.12)

  1. optional first parameter: allextensionsallowed - default false (7.24.10)
StudioInterface.getPostedFileInfo();
return: object with properties filename, contenttype and contentlength in JSON

Get information about the multiple posted files in the HTTP request (7.24.10)

  1. optional first parameter: allextensionsallowed - default false
StudioInterface.getPostedFileInfos();
return: array of object with properties filename, contenttype and contentlength in JSON

Save a posted file (7.23.12)

  1. first parameter: foldername where the file should be stored
  2. optional second parameter: filename to use (if empty the original one is used)
  3. optional third parameter: allextensionsallowed - default false (7.24.10)
StudioInterface.savePostedFile('C:\\temp\\');
return: nothing

Get the posted file from the HTTP request in base64 (7.24.09)

  1. optional first parameter: allextensionsallowed - default false (7.24.10)
StudioInterface.getPostedFileInBase64();
return: the posted file in base64

Get the multiple posted files from the HTTP request in base64 (7.24.10)

  1. optional first parameter: allextensionsallowed - default false
StudioInterface.getPostedFilesInBase64();
return: array of posted files in base64

Convert posted Excel file to JSON array (since 7.25.02)

  1. optional parameter 1: object with possible properties: WorksheetName, OnlyUseStringType (when true, all values will be in string)
StudioInterface.excelAsPostedFileToJson();
returns: the JSON respresentation of the Excel file

Get the current language culture

StudioInterface.getCurrentLanguageCulture();
return: the culture (nl-BE, en-GB, …)

Get the current language name

StudioInterface.getCurrentLanguageName();
return: the name (English, Nederlands, …)

Get the current language id

StudioInterface.getCurrentLanguageId();
return: the id (1, 2, …)

Check if there is a logged in person (7.21.07)

StudioInterface.hasLoggedInPerson();
return: true or false

Get the logged in person (7.21.07)

StudioInterface.getLoggedInPerson();
return: object with properties id, firstname, lastname, email, uniqueid, description and inactive in JSON

Get the id of the logged in person (7.23.08)

StudioInterface.getLoggedInPersonId();
return: the id

Get the id of the account id that did the impersonation (7.25.05)

StudioInterface.getLoggedInViaImpersonationAccountId();
return: the id

Get the field value for the current logged in person

  1. first parameter: fieldname
StudioInterface.getLoggedInPersonField('FirstName');
return: the value (Raymond, Dominic, …)
Possible fields: UniqueId, FirstName, LastName, Email, all person extra fields defined in adapters.

Get the first and last name for the current logged in person

StudioInterface.getLoggedInPersonFirstAndLastName();
return: the first and last name (Raymond Crijnen, Dominic De Vilder, …)

Get the description as defined in the settings for the current logged in person

StudioInterface.getLoggedInPersonDescription();
return: the description (Raymond Crijnen (raymond@smt-x.com - CrijnenR))

Get the dateformat as defined for the current logged in person (7.22.06)

StudioInterface.getLoggedInPersonDateFormat();
return: the dateformat (dd/MM/yyyy)

Checks if the logged in person has the specified role

  1. first parameter: Role name
StudioInterface.loggedInPersonHasRole('Name of the role');
return: true if the user has the role, false otherwise

Checks if the logged in person has any of the specified roles (7.21.08)

  1. first parameter: array of role names
StudioInterface.loggedInPersonHasAnyRole(['Name of the role1', 'Name of the role2']);
return: true if the user has any of the roles, false otherwise

Checks if the logged in person is logged in via impersonation (7.25.05)

StudioInterface.isLoggedInViaImpersonation();
return: true if the user is logged in via impersonation, false otherwise

Checks if the logged in person has all of the specified roles (7.21.08)

  1. first parameter: array of role names
StudioInterface.loggedInPersonHasAllRoles(['Name of the role1', 'Name of the role2']);
return: true if the user has all of the roles, false otherwise

Checks if the logged in person is an admin (7.22.06)

StudioInterface.loggedInPersonIsAdmin();
return: true if the user is admin, false otherwise

Checks if the logged in person has the specified app role (7.26.01)

  1. first parameter: app role name
StudioInterface.loggedInPersonHasAppRole('App role name');
return: true if the user has the app role, false otherwise

Checks if the logged in person has the specified app role in a specific studio app (7.26.01)

  1. first parameter: application id
  2. second parameter: app role name
StudioInterface.loggedInPersonHasAppRoleFromStudioApp(15, 'App role name');
return: true if the user has the app role, false otherwise

Checks if the logged in person has any of the specified app roles (7.26.01)

  1. first parameter: array of app role names
StudioInterface.loggedInPersonHasAnyAppRole(['App role 1', 'App role 2']);
return: true if the user has any of the app roles, false otherwise

Checks if the logged in person has any of the specified app roles in a specific studio app (7.26.01)

  1. first parameter: application id
  2. second parameter: array of app role names
StudioInterface.loggedInPersonHasAnyAppRoleFromStudioApp(15, ['App role 1', 'App role 2']);
return: true if the user has any of the app roles, false otherwise

Checks if the logged in person has all of the specified app roles (7.26.01)

  1. first parameter: array of app role names
StudioInterface.loggedInPersonHasAllAppRoles(['App role 1', 'App role 2']);
return: true if the user has all of the app roles, false otherwise

Checks if the logged in person has all of the specified app roles in a specific studio app (7.26.01)

  1. first parameter: application id
  2. second parameter: array of app role names
StudioInterface.loggedInPersonHasAllAppRolesFromStudioApp(15, ['App role 1', 'App role 2']);
return: true if the user has all of the app roles, false otherwise

Get a translation

  1. first parameter: Category
  2. second parameter: Label
StudioInterface.translate('Common', 'Profile');
return: the translation value for the SSP translations

Get a translation and add default value if missing (7.24.07)

  1. first parameter: Category
  2. second parameter: Label
  3. third parameter: Default Value
StudioInterface.translate('Common', 'Profile', 'My Profile');
return: the translation value for the SSP translations and if it doesn't exits yet, it will be added with the default value in the default language

Get the root of the ssp location

StudioInterface.getSspRoot();
return: the http location, including the trailing slash (https:=== ssp/)

Get the http path to the current application

Returns the location of the studio app, in case the code is called from a http request, the http(s) location is not included, in case it's called from a studio task, the http(s) location is included

StudioInterface.getApplicationPath();
return: the location, without the trailing slash (https://ssp/myapp or /myapp)

Get the application folder name (7.22.09)

StudioInterface.getApplicationFolder();
return: the name of the folder (eg myapp)

Get the application id by folder name (7.25.08)

StudioInterface.getApplicationIdByFolderName("myapp");
return: the id of the application (eg 15)

Checks if the user has the "Use" right for a studio app (7.25.09)

StudioInterface.loggedInPersonHasStudioAppUseRights(id);
return: true of the logged in user has the use right, false otherwise

Get the current folder name (full) inside the current application

StudioInterface.getCurrentFolderName();
return: the current full folder path, including the starting and trailing slash (/subfolder/content/)

Get the current file name inside the current application

StudioInterface.getCurrentName();
return: the current file name (index.html)

Get the current full path of the file inside the current application

StudioInterface.getCurrentPath();
return: the current file name (/subfolder/content/index.html)

Get the current full raw url (since 7.23.04)

StudioInterface.getCurrentFullRawUrl();
return: the current full raw url, eg /my-app/my-folder/my-file.txt

Get the current application raw url (since 7.23.04)

StudioInterface.getCurrentApplicationRawUrl();
return: the current full raw url minues the application folder, eg /my-folder/my-file.txt

Get the current application id (7.22.06)

StudioInterface.getCurrentApplicationId();
return: the id of the application

Get the ticks of the last modified date of the current application (7.23.02)

StudioInterface.getCurrentApplicationLastModifiedTicks();
return: the ticks of the last modified date of the application

renders the application file as a string

  1. first parameter: string to be rendered
StudioInterface.renderAsString('/subfolder/content/index.html');
return: the rendered content

renders the application file as a string, passing thru the parameters to the rendering script

  1. first parameter: Application file
  2. second parameter: object with parameters
StudioInterface.renderAsStringWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
return: the rendered content (the parameters are accessible in the processing script of the file to render, use g_parameters)

renders an application file in a studio application as a string (7.25.08)

  1. first parameter: Application id
  2. second parameter: string to be rendered
StudioInterface.renderAsStringFromStudioApp(15, '/subfolder/content/index.html');
return: the rendered content

renders an application file in a studio application as a string, passing thru the parameters to the rendering script (7.25.08)

  1. first parameter: Application id
  2. second parameter: Application file
  3. third parameter: object with parameters
StudioInterface.renderAsStringWithParametersFromStudioApp(15, '/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
return: the rendered content (the parameters are accessible in the processing script of the file to render, use g_parameters)

renders the application file and returns the rendered object

  1. first parameter: Application file
StudioInterface.render('/subfolder/content/index.html');
return: the rendered object with these properties: action, content, contenttype, templatezones, templateparameters

renders the application file, passing thru the parameters to the rendering script

StudioInterface.renderWithParameters('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
return: the rendered object (see .render for details)

renders an application file in a studio application and returns the rendered object (7.25.08)

  1. first parameter: Application id
  2. second parameter: Application file
StudioInterface.renderFromStudioApp(15, '/subfolder/content/index.html');
return: the rendered object with these properties: action, content, contenttype, templatezones, templateparameters

renders an application file in a studio application, passing thru the parameters to the rendering script (7.25.08)

  1. first parameter: Application id
  2. second parameter: Application file
  3. third parameter: object with parameters
StudioInterface.renderWithParametersFromStudioApp('/subfolder/content/index.html', { 'Title': 'My title', 'Summary': 'My summary' });
return: the rendered object (see .render for details)

Get the value for the application variable

  1. first parameter: Variable name
StudioInterface.getVariableValue('my variable');
return: the value (type is depending on the variable)

Get the value for the application variable, passing thru the parameters to the variable script

  1. first parameter: Variable name
  2. second parameter: object with parameters (passed through to the variable script)
StudioInterface.getVariableValueWithParameters('my custom variable function', { 'Number': 8 });
return: the value (type is depending on the variable)

Get the value for an application variable in a studio application (7.25.08)

  1. first parameter: Application id
  2. second parameter: Variable name
StudioInterface.getVariableValueFromStudioApp(15, 'my variable');
return: the value (type is depending on the variable)

Get the value for an application variable in a studio application, passing thru the parameters to the variable script (7.25.08)

  1. first parameter: Application id
  2. second parameter: Variable name
  3. third parameter: object with parameters (passed through to the variable script)
StudioInterface.getVariableValueWithParametersFromStudioApp(15, 'my custom variable function', { 'Number': 8 });
return: the value (type is depending on the variable)

Get the value for the application setting (7.24.12)

  1. first parameter: Setting name
StudioInterface.getSettingValue('my setting');
return: the value (type is depending on the setting)

Get the value for the application setting, passing thru the parameters to the setting script (7.24.12)

  1. first parameter: Setting name
  2. second parameter: object with parameters (passed through to the setting script)
StudioInterface.getSettingValueWithParameters('my custom setting function', { 'Number': 8 });
return: the value (type is depending on the setting)

Get the value for an application setting in a studio application (7.25.08)

  1. first parameter: Application id
  2. second parameter: Setting name
StudioInterface.getSettingValueFromStudioApp(15, 'my setting');
return: the value (type is depending on the setting)

Get the value for an application setting in a studio application, passing thru the parameters to the setting script (7.25.08)

  1. first parameter: Application id
  2. second parameter: Setting name
  3. third parameter: object with parameters (passed through to the setting script)
StudioInterface.getSettingValueWithParametersFromStudioApp(15, 'my custom setting function', { 'Number': 8 });
return: the value (type is depending on the setting)

Schedule a studio task to run on the next SSP Scheduler run (7.23.07)

  1. first parameter: name of the task
StudioInterface.scheduleStudioTaskToRunOnNextSchedulerRun('my task');
return: nothing

Schedule a studio task in a studio application to run on the next SSP Scheduler run (7.25.08)

  1. first parameter: application id
  2. second parameter: name of the task
StudioInterface.scheduleStudioTaskToRunOnNextSchedulerRunFromStudioApp(15, 'my task');
return: nothing

Views (7.22.06)

getViewCountByName

Get the count of a view by it's name

  1. first parameter is the name of the view
  2. optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
StudioInterface.getViewCountByName("view1");
returns: the count of the view

getCachedViewCountByName (7.24.07)

Get the count of a view by it's name only by fetching it from the cache

  1. first parameter is the name of the view
StudioInterface.getViewCountByName("view1");
returns: the count of the view if it's found in the cache, null otherwise

getViewCountById

Get the count of a view by it's id

  1. first parameter is the id of the view
  2. optional second parameter can be an object with properties "GetFromSource" or "AllowDbAccess"
StudioInterface.getViewCountById(1);
returns: the count of the view

getCachedViewCountById (7.24.07)

Get the count of a view by it's id only by fetching it from the cache

  1. first parameter is the id of the view
StudioInterface.getViewCountById(1);
returns: the count of the view if found in cache, null otherwise

getViewDataByName

Get the data of a view by it's name

  1. first parameter is the name of the view
StudioInterface.getViewDataByName("view1");
returns: the data of the view in JSON

searchViewDataByName (7.22.08)

Search the data of a view by it's name

  1. first parameter is the name of the view
  2. second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  3. optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataByName("view1", [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
returns: the data of the search results in JSON

getViewDataByNames

Get the data of multiple views by their names

  1. first parameter is an array of the name of the views
StudioInterface.getViewDataByNames(["view1", "view2"]);
returns: the data of the views in JSON

searchViewDataByNames (7.22.08)

Search the data of a view by their names

  1. first parameter is an array of the name of the views
  2. second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  3. optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataByName(["view1", "view2"], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
returns: the data of the search results in JSON

getViewDataForTicketsByName

Search for tickets and get the results back as defined in the view by the views name

  1. first parameter is the name of the view
  2. second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
  3. optional third parameter is an object with the paging settings
StudioInterface.getViewDataForTicketsByName("view1", { "Status": "Open" });
returns: the tickets formatted as defined in the view in JSON

getViewDataById

Get the data of a view by it's id

  1. first parameter is the id of the view
StudioInterface.getViewDataById(1);
returns: the data of the view in JSON

searchViewDataById (7.22.08)

Get the data of a view by it's id

  1. first parameter is the id of the view
  2. second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  3. optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataById(1, [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
returns: the data of the search results in JSON

getViewDataByIds

Get the data of multiple views by their ids

  1. first parameter is an array of ids of the views
StudioInterface.getViewDataByIds([1, 2]);
returns: the data of the views in JSON

searchViewDataByIds (7.22.08)

Get the data of multiple views by their ids

  1. first parameter is an array of ids of the views
  2. second parameter is an array of objects with possible properties: FieldName, FilterOperator and FilterValue. Possible FilterOperators are: Contains, DoesNotContain, StartsWith, EndsWith, EqualTo, NotEqualTo, EqualToNum, NotEqualToNum, GreaterThanNum, LessThanNum, BetweenNum, GreaterThanDate, LessThanDate, BetweenDate, EqualToDate, NotEqualToDate, ContainsAny, ContainsAnyNum. Update since 7.23.05: extra possible property: Connector and Filters, extra FilterOperator: SubFilter
  3. optional third parameter is an object with properties PageIndex, PageSize, OrderBy
StudioInterface.searchViewDataByName([1, 2], [ { FieldName: "field1", FilterOperator: "NotEqualTo", FilterValue: "test" } ]);
returns: the data of the search results in JSON

getViewDataForTicketsById

Search for tickets and get the results back as defined in the view by the views id

  1. first parameter is the id of the view
  2. second parameter is an object with the search predicates (possible properties are "CustomKey", "Id", "Status", "Keywords", "RequestorId", "DateStartedFrom", "DateStartedTo", "DateEndedFrom", "DateEndedTo")
  3. optional third parameter is an object with the paging settings
StudioInterface.getViewDataForTicketsById(1, { "Status": "Open" });
returns: the tickets formatted as defined in the view in JSON

Quick Requests (7.24.07)

Get the quick requests

Get all the quick requests

CommonInterface.getQuickRequests();
returns: array of object with properties id, typeid, typename, iconurl, cssclass, name and url in JSON

Get the quick requests SECURE

Get the quick requests for the logged in user

CommonInterface.getQuickRequestsSecure();
returns: array of object with properties id, typeid, typename, iconurl, cssclass, name and url in JSON

Service Catalog Interface

General

Get the details of a template (7.25.09)

  1. first parameter: the guid of the template
  2. optional second parameter: options with possible properties: LanguageId, PartsAsFlatList
ServiceCatalogInterface.getTemplateDetail(templateguid);
return: the details of the template in JSON

Get the convert message when changing the template (7.25.09)

  1. first parameter: the guid of the source template
  2. second parameter: the guid of the target template
ServiceCatalogInterface.getConvertToTemplateMessages(sourcetemplateguid, targettemplateguid);
return: the changes that will be done when converting a service from template A to template B in JSON

Rebuild the search indexes (7.23.07)

  1. no parameters
ServiceCatalogInterface.rebuildSearchIndexes();
return: nothing

Get the quality note types (7.23.07)

  1. optional first parameters is an object possible key LanguageId
ServiceCatalogInterface.getQualityNoteTypes();
return: array of objects with properties guid, canselectreviewcycle and name

Get the hashcheck for a service publication request (7.25.03)

  1. first parameters is the serviceguid
  2. second parameters is the request guid
ServiceCatalogInterface.getServicePublicationRequestHashCheck("abc", "def");
return: the hashcheck


Get the hashcheck for a service review cycle request (7.25.03)

  1. first parameters is the serviceguid
  2. second parameters is the request guid
ServiceCatalogInterface.getServiceReviewCycleRequestHashCheck("abc", "def");
return: the hashcheck

Published versions

Get secure count of all published records (7.21.07)

  1. no parameters
  2. security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.getCountPublishedRecordsSecure();
return: number

Get secure list of all published records

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.getAllPublishedRecordsSecure();
return:  An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of published records by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count of all published records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedRecordsSecure({ tag: "bike" });
return: number

Get secure list of published records by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all published records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.searchListPublishedRecordsSecure({ tag: "bike" });
ServiceCatalogInterface.searchListPublishedRecordsSecure({ anytag: ["bike","auto"], name_contains: "transport" });
return:  An array of all currently published records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all published records (7.21.07)

  1. no parameters
  2. security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getCountPublishedRecords();
return: number 

Get list of all published records

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getAllPublishedRecords();
return:  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of published records by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count of all published records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedRecords({ tag: "bike" });
return: number

Get list of published records by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns published records (services and knowledge articles) that matches the search conditions, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedRecords({ tag: "bike" });
ServiceCatalogInterface.searchListPublishedRecords({ anytag: ["bike","auto"], name_contains: "transport" });
return:  An array of all currently published records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of all published services (7.21.07)

  1. no parameters
  2. security: this function returns the count of all published services and checks the current user security profile
ServiceCatalogInterface.getCountPublishedServicesSecure();
return: number

Get secure list of all published services

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.getAllPublishedServicesSecure();
return:  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of published services by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count of all published services and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedServicesSecure({tag: "bike"});
return: number

Get secure list of published services by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.searchListPublishedServicesSecure({tag: "bike"});
return:  An array of all currently published services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all published services (7.21.07)

  1. no parameters
  2. security: this function returns the count all published services, without checking the current user security profile
ServiceCatalogInterface.getCountPublishedServices();
return: number

Get list of all published services

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServices();
return:  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of published services by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count all published services, without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedServices({tag: "bike"});
return: number

Get list of published services by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedServices({tag: "bike"});
return:  An array of all currently published services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of all published knowledge articles (7.21.07)

  1. no parameters
  2. security: this function returns the count of all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.getCountPublishedKnowledgeArticlesSecure();
return: number

Get secure list of all published knowledge articles

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.getAllPublishedKnowledgeArticlesSecure();
return:  An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of published knowledge articles by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count of all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.searchCountPublishedKnowledgeArticlesSecure({tag: "bike"});
return: number

Get secure list of published knowledge articles by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all published knowledge articles and checks the current user security profile
ServiceCatalogInterface.searchListPublishedKnowledgeArticlesSecure({tag: "bike"});
return:  An array of all currently published knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all published knowledge articles (7.21.07)

  1. no parameters
  2. security: this function returns the count all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getCountPublishedKnowledgeArticles();
return: number

Get list of all published knowledge articles

  1. optional first parameter: object with properties itemsperpage and pageindex (7.21.07) or languageid (7.22.08)
  2. security: this function returns all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedKnowledgeArticles();
return:  An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of published knowledge articles by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: this function returns the count all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.searchCountPublishedKnowledgeArticles({tag: "bike"});
return: number

Get list of published knowledge articles by searching (7.21.07)

  1. first parameter: object with properties template, type, tag, anytag, alltags, name, name_contains, provider, receiver, provider_startswith, receiver_startswith, owner, ownerdeputy, manager or ownerorownerdeputyormanager
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all published knowledge articles, without checking the current user security profile
ServiceCatalogInterface.searchListPublishedKnowledgeArticles({tag: "bike"});
return:  An array of all currently published knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get published service overview (7.24.02)

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceOverview(guid)
return: the same fields as the list method returns

Get secure published service overview (7.24.02)

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceOverviewSecure(guid)
return: the same fields as the list method returns

Get multiple published services overview (7.24.02)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesOverview([guid1, guid2])
return: an array with services containing the same fields as the list method returns

Get all published services overview (7.24.02)

  1. optional first parameter: object with LanguageId
  2. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesOverview()
return: an array with services containing the same fields as the list method returns

Get secure multiple published services overview (7.24.02)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesOverviewSecure([guid1, guid2])
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure all published services overview (7.24.02)

  1. optional first parameter: object with LanguageId
  2. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesOverviewSecure()
return: an array with services containing the same fields as the list method returns

Get published service summary

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceSummary(guid)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure published service summary

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceSummarySecure(guid)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get multiple published services summary

  1. first parameter: array with serviceguids
  2. optional second parameter: object with LanguageId (7.22.08)
  3. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesSummary([guid1, guid2])
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get all published services summary (7.21.07)

  1. optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  2. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesSummary()
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure multiple published services summary

  1. first parameter: array with serviceguids
  2. optional second parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesSummarySecure([guid1, guid2])
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure all published services summary (7.21.07)

  1. optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  2. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesSummarySecure()
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get published service details

  1. first parameter: serviceguid
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceDetail(guid)
return: all fields, including template fields for the given service guid

Get secure published service details

  1. first parameter: serviceguid
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServiceDetailSecure(guid)
return: all fields, including template fields for the given service guid

Get multiple published services details

  1. first parameter: array with serviceguids
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesDetail([guid1, guid2])
return: an array with services containing all fields, including template fields for the given service guids

Get all published services details (7.21.07)

  1. optional first parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesDetail()
return: an array with services containing all fields, including template fields

Get secure multiple published services details

  1. first parameter: array with serviceguids
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicesDetailSecure([guid1, guid2])
return: an array with services containing all fields, including template fields for the given service guids

Get secure all published services details (7.21.07)

  1. optional first parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesDetailSecure()
return: an array with services containing all fields, including template fields

Get published service part values (7.21.07)

  1. first parameter: serviceguid
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServiceParts(guid, ["part1", "part2"])
return: template fields for the given service guid

Get secure published service part values (7.21.07)

  1. first parameter: serviceguid
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getPublishedServicePartsSecure(guid, ["part1", "part2"])
return: template fields for the given service guid

Get multiple published services part values (7.21.07)

  1. first parameter: array with serviceguids
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesParts([guid1, guid2], ["part1", "part2"])
return: template fields for the given service guid

Get secure multiple published services details (7.21.07)

  1. first parameter: array with serviceguids
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getPublishedServicesPartsSecure([guid1, guid2], ["part1", "part2"])
return: template fields for the given service guid

Get all published services part values (7.21.07)

  1. first parameter: array of internal names of the parts (pass null to get all parts)
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all part values for all services, without checking the current user security profile
ServiceCatalogInterface.getAllPublishedServicesParts(["part1", "part2"])
return: template fields

Get secure all published services details (7.21.07)

  1. first parameter: array of internal names of the parts (pass null to get all parts)
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllPublishedServicesPartsSecure(["part1", "part2"])
return: template fields

Search published services using text search (with Lucene) (7.21.11)

  1. first parameter: language id
  2. second parameter: the text to search (allows for * and ?) (since 7.23.12: can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
  3. optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
  4. security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.textSearch(1, "how to ride a bike", { templatetype: "Knowledge_article" });
return:  An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results) and since 7.23.12: 'suggestions' (array of objects with properties: text, totalhits)

Search published services using multiple texts search (with Lucene) (7.23.12)

  1. first parameter: language id
  2. second parameter: the array of text to search (allows for * and ?) (can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
  3. optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype', serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
  4. security: this function returns all published services, without checking the current user security profile
ServiceCatalogInterface.textsSearch(1, ["how to ride a bike", "how to drive a car"], { templatetype: "Knowledge_article" });
return:  An array of the same size as the second input parameter of objects with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results), 'suggestions' (array of objects with properties: text, totalhits)

Search secure published services using text search (with Lucene) (7.21.11)

  1. first parameter: language id
  2. second parameter: the text to search (allows for * and ?) (since 7.23.12: can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
  3. optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
  4. security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.textSearchSecure(1, "how to ride a bike", { templatetype: "Knowledge_article" });
return:  An object with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results) and since 7.23.12: 'suggestions' (array of objects with properties: text, totalhits)

Search secure published services using multiple texts search (with Lucene) (7.23.12)

  1. first parameter: language id
  2. second parameter: the array of texts to search (allows for * and ?) (can be null, then no text filter is set, usefull when using 'serviceguid(s)' in optional third parameter)
  3. optional third parameter: object with properties 'itemsperpage' (default 100), 'after' (pass the object 'lastinfo' from the previous search result), 'escapesearchtext', 'templatename', 'templatetype', 'servicetype' and since 7.23.12: serviceguid, name, summary, owner, ownerdeputy, manager, tag, provider, receiver, documentname, requestname, part, includesuggestions
  4. security: this function returns all published services and checks the current user security profile
ServiceCatalogInterface.textsSearchSecure(1, ["how to ride a bike", "how to drive a car"], { templatetype: "Knowledge_article" });
return:  An array of the same size as the second input parameter with objects with properties 'totalhits' (total amount of hits), 'entries' (array of search result entries containing possibly the following data: guid, name, summary, servicetype, templatename, templatetype and since 7.23.12: dataobject, owner, ownerdeputy, manager, tags, provider, receivers, documentnames, documents, requestnames, requests, parts), 'lastinfo' (contains the needed info to fetch the next batch of results), 'suggestions' (array of objects with properties: text, totalhits)

Search for word suggestions based on published services (with Lucene) (7.23.12)

  1. first parameter: language id
  2. second parameter: the word the search suggestions for
  3. optional third parameter: object with properties 'nrofresults' (default 5)
ServiceCatalogInterface.textSearchSuggestSimilar(1, "artilce");
return:  A json encoded array of suggestions (string)

Search for multiple word suggestions bsaed on published services (with Lucene) (7.23.12)

  1. first parameter: language id
  2. second parameter: the array of words to search suggestions for
  3. optional third parameter: object with properties 'nrofresults' (default 5)
ServiceCatalogInterface.textsSearchSuggestSimilar(1, ["artilce", "atricle"]);
return:  An array of the same size as the second input parameter of arrays with suggestions (string)

Service versions

Get service version overview (7.24.02)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with LanguageId
  4. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionOverview(guid, versionnumber)
return: the same fields as the list method returns

Get secure service version overview (7.24.02)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with LanguageId
  4. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionOverviewSecure(guid, versionnumber)
return: the same fields as the list method returns

Get service version summary (7.21.12)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  4. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionSummary(guid, versionnumber)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure service version summary (7.21.12)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  4. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionSummarySecure(guid, versionnumber)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get service version details (7.21.12)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServiceVersionDetail(guid, versionnumber)
return: all fields, including template fields for the given service guid and versionnumber

Get secure service version details (7.21.12)

  1. first parameter: serviceguid
  2. second parameter: versionnumber
  3. optional third parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVersionDetailSecure(guid, versionnumber)
return: all fields, including template fields for the given service guid and versionnumber

Services

Get secure count of all records (7.21.12)

  1. no parameters
  2. security: this function returns the count of all records (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.getCountRecordsSecure();
return: number

Get secure list of all records (7.21.12)

  1. optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  2. security: this function returns all records (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.getAllRecordsSecure();
return:  An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all records (7.21.12)

  1. no parameters
  2. security: this function returns the count of all records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getCountRecords();
return: number 

Get list of all records (7.21.12)

  1. optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  2. security: this function returns all records (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.getAllRecords();
return:  An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of all services (7.21.12)

  1. no parameters
  2. security: this function returns the count of all services and checks the current user security profile
ServiceCatalogInterface.getCountServicesSecure();
return: number

Get secure list of all services (7.21.12)

  1. optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  2. security: this function returns all services and checks the current user security profile
ServiceCatalogInterface.getAllServicesSecure();
return:  An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all services (7.21.12)

  1. no parameters
  2. security: this function returns the count all services, without checking the current user security profile
ServiceCatalogInterface.getCountServices();
return: number

Get list of all services (7.21.12)

  1. optional first parameter: object with LanguageId (7.22.08)
  2. security: this function returns all services, without checking the current user security profile
ServiceCatalogInterface.getAllServices();
return:  An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of all knowledge articles (7.21.12)

  1. no parameters
  2. security: this function returns the count of all knowledge articles and checks the current user security profile
ServiceCatalogInterface.getCountKnowledgeArticlesSecure();
return: number

Get secure list of all knowledge articles (7.21.12)

  1. optional first parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  2. security: this function returns all knowledge articles and checks the current user security profile
ServiceCatalogInterface.getAllKnowledgeArticlesSecure();
return:  An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all knowledge articles (7.21.12)

  1. no parameters
  2. security: this function returns the count all knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getCountKnowledgeArticles();
return: number

Get list of all knowledge articles (7.21.12)

  1. optional first parameter: object with LanguageId (7.22.08)
  2. security: this function returns all knowledge articles, without checking the current user security profile
ServiceCatalogInterface.getAllKnowledgeArticles();
return:  An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get secure count of all records (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count of all records based on the search criteria (services and knowledge articles) and checks the current user security profile
ServiceCatalogInterface.searchCountRecordsSecure(searchcriteria);
return: number

Get secure list of all records (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all records based on the search criteria (services and knowledge articles) and checks the current user security profile for all returning authorized records
ServiceCatalogInterface.searchAllRecordsSecure(searchcriteria);
return:  An array of all currently records for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get count of all records (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count of all records based on the search criteria (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchCountRecords(searchcriteria);
return: number 

Get list of all records (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all records based on the search criteria (services and knowledge articles), without checking the current user security profile
ServiceCatalogInterface.searchAllRecords(searchcriteria);
return:  An array of all currently records, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Search secure count of all services (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count of all services based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchCountServicesSecure(searchcriteria);
return: number

Search secure list of all services (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all services based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchAllServicesSecure(searchcriteria);
return:  An array of all currently services for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Search count of all services (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count all services based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchCountServices(searchcriteria);
return: number

Search list of all services (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all services based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchAllServices(searchcriteria);
return:  An array of all currently services, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.
example criteria: { templatename: ["Template 1", "Template 2"] }
 available criteria: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06)

Search secure count of all knowledge articles (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count of all knowledge articles based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchCountKnowledgeArticlesSecure(searchcriteria);
return: number

Search secure list of all knowledge articles (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all knowledge articles based on the search criteria and checks the current user security profile
ServiceCatalogInterface.searchAllKnowledgeArticlesSecure(searchcriteria);
return:  An array of all currently knowledge articles for which the current user is authorized, containing the following data: serviceid, serviceguid, versionnumber, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Search count of all knowledge articles (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. security: this function returns the count all knowledge articles based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchCountKnowledgeArticles(searchcriteria);
return: number

Search list of all knowledge articles (7.22.04)

  1. first parameter: object with search criteria (possible keys: hasexpiredreviewcycle, reviewcyclevalidityenddateuntil, servicetypes, templatenames, templatetypes, ispublished(7.24.06))
  2. optional second parameter: object with properties itemsperpage and pageindex or languageid (7.22.08)
  3. security: this function returns all knowledge articles based on the search criteria, without checking the current user security profile
ServiceCatalogInterface.searchAllKnowledgeArticles(searchcriteria);
return:  An array of all currently knowledge articles, containing the following data: serviceid, serviceguid, versionnumber, template guid, template name, template hide in public, template typeid, phase id, phase name, phase typeid (since 7.24.03), phase typename (since 7.24.03), servicetypeid, servicetypename, name of service, description, summary, providers, receivers, owner, ownerdeputy, servicemanager.

Get service overview (7.24.02)

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceOverview(guid)
return: the same fields as the list method returns

Get secure service overview (7.24.02)

  1. first parameter: serviceguid
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceOverviewSecure(guid)
return: the same fields as the list method returns

Get multiple services overview (7.24.02)

  1. first parameter: array with serviceguids
  2. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getServicesOverview([guid1, guid2])
return: an array with services containing the same fields as the list method returns

Get all services overview (7.24.02)

  1. optional first parameter: object with LanguageId
  2. security: Returns a overview of the service, without checking the current user security profile
ServiceCatalogInterface.getAllServicesOverview()
return: an array with services containing the same fields as the list method returns

Get secure multiple services overview (7.24.02)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with LanguageId
  3. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesOverviewSecure([guid1, guid2])
return: an array with services containing the same fields as the list method returns

Get secure all services overview (7.24.02)

  1. optional first parameter: object with LanguageId
  2. security: Returns a overview of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesOverviewSecure()
return: an array with services containing the same fields as the list method returns

Get service summary (7.21.12)

  1. first parameter: serviceguid
  2. optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServiceSummary(guid)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure service summary (7.21.12)

  1. first parameter: serviceguid
  2. optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceSummarySecure(guid)
return: the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get multiple services summary (7.21.12)

  1. first parameter: array with serviceguids
  2. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getServicesSummary([guid1, guid2])
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get all services summary (7.21.12)

  1. optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  2. security: Returns a summary of the service, without checking the current user security profile
ServiceCatalogInterface.getAllServicesSummary()
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure multiple services summary (7.21.12)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with properties LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  3. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesSummarySecure([guid1, guid2])
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get secure all services summary (7.21.12)

  1. optional first parameter: object with LanguageId (7.22.08) - since 7.23.05: LoadRelations, LoadParents, LoadChildren
  2. security: Returns a summary of the service and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesSummarySecure()
return: an array with services containing the same fields as the list method returns + icon, banner, list of parent service guids, list of child service guids and list of knowledge article guids, editorpersons, editorpersongroups, technicalapprovalpersons, technicalapprovalpersongroups, customerapprovalpersons and customactors

Get service details (7.21.12)

  1. first parameter: serviceguid
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServiceDetail(guid)
return: all fields, including template fields for the given service guid
Please note that there is an optional parameter to retrieve the service details in a specific languange. Use this: ServiceCatalogInterface.getServiceDetail(guid, { LanguageId: 1 }) to get the service details in the language English. (1=English, 2=Dutch, 3=French, 4=German).

Get secure service details (7.21.12)

  1. first parameter: serviceguid
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceDetailSecure(guid)
return: all fields, including template fields for the given service guid

Get multiple services details (7.21.12)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getServicesDetail([guid1, guid2])
return: an array with services containing all fields, including template fields for the given service guids

Get all services details (7.21.12)

  1. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details, without checking the current user security profile
ServiceCatalogInterface.getAllServicesDetail()
return: an array with services containing all fields, including template fields

Get secure multiple services details (7.21.12)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesDetailSecure([guid1, guid2])
return: an array with services containing all fields, including template fields for the given service guids

Get secure all services details (7.21.12)

  1. optional second parameter: object with properties:
- SelectionFieldsUseKeys (true = return keys instead of display value) (7.21.07)
- LanguageId (id of the language to use) (7.22.03)
- PartsAsFlatList (true = return array of parts instead of array of tabs with array of parts) (7.22.04)
- BBCodeFieldsUseValue (true = return bb code instead of html) (7.22.10)
- PartsUseValue (default value for SelectionFieldsUseKeys and BBCodeFieldsUseValue) (7.22.10)
- since 7.23.05: LoadRelations, LoadParents, LoadChildren
  1. security: Returns all service details and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesDetailSecure()
return: an array with services containing all fields, including template fields

Service parts

Get service part values (7.22.02)

  1. first parameter: serviceguid
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getServiceParts(guid, ["part1", "part2"])
return: template fields for the given service guid

Get secure service part values (7.22.02)

  1. first parameter: serviceguid
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicePartsSecure(guid, ["part1", "part2"])
return: template fields for the given service guid

Get multiple services part values (7.22.02)

  1. first parameter: array with serviceguids
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values, without checking the current user security profile
ServiceCatalogInterface.getServicesParts([guid1, guid2], ["part1", "part2"])
return: template fields for the given service guid

Get secure multiple services part values (7.22.02)

  1. first parameter: array with serviceguids
  2. second parameter: array of internal names of the parts (pass null to get all parts)
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns all part values and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesPartsSecure([guid1, guid2], ["part1", "part2"])
return: template fields for the given service guid

Get all services part values (7.22.02)

  1. first parameter: array of internal names of the parts (pass null to get all parts)
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all part values for all services, without checking the current user security profile
ServiceCatalogInterface.getAllServicesParts(["part1", "part2"])
return: template fields

Get secure all services part values (7.22.02)

  1. first parameter: array of internal names of the parts (pass null to get all parts)
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all part values for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesPartsSecure(["part1", "part2"])
return: template fields

Service documents (7.25.09)

Get service document secure (7.25.09)

  1. first parameter: serviceguid
  2. second parameter: documentguid
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  4. security: Only returns the document when the user has the rights to view it
ServiceCatalogInterface.getServiceDocumentSecure(serviceguid, documentguid)
return: the document info in JSON

Get service document (7.25.09)

  1. first parameter: serviceguid
  2. second parameter: documentguid
  3. optional third parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  4. security: Always returns the document
ServiceCatalogInterface.getServiceDocument(serviceguid, documentguid)
return: the document info in JSON

Get service documents secure (7.25.09)

  1. first parameter: serviceguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  3. security: Returns all documents of the service that the user is allowed to see
ServiceCatalogInterface.getServiceDocumentsSecure(serviceguid)
return: all the document info in JSON

Get service documents (7.25.09)

  1. first parameter: serviceguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  3. security: Returns all documents of the service
ServiceCatalogInterface.getServiceDocuments(serviceguid)
return: all the document info in JSON

Get multiple services documents secure (7.25.09)

  1. first parameter: array of serviceguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  3. security: Returns all documents of the services that the user is allowed to see
ServiceCatalogInterface.getServicesDocumentsSecure([guid1, guid2])
return: all the document info in JSON

Get multiple services documents (7.25.09)

  1. first parameter: array of serviceguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  3. security: Returns all documents of the services
ServiceCatalogInterface.getServicesDocuments([guid1, guid2])
return: all the document info in JSON

Get all services documents secure (7.25.09)

  1. optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  2. security: Returns all documents of all services that the user is allowed to see
ServiceCatalogInterface.getAllServicesDocumentsSecure()
return: all the document info in JSON

Get all services documents (7.25.09)

  1. optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue), languageid
  2. security: Returns all documents of all services
ServiceCatalogInterface.getAllServicesDocuments()
return: all the document info in JSON

Service relations (7.24.02)

Get service relation

  1. first parameter: parent serviceguid
  2. second parameter: child serviceguid
  3. optional third parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns the relation, without checking the current user security profile
ServiceCatalogInterface.getServiceRelation(parentserviceguid, childserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get secure service relation

  1. first parameter: parent serviceguid
  2. second parameter: child serviceguid
  3. optional third parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  4. security: Returns the relation and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationSecure(parentserviceguid, childserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get service relations as parent

  1. first parameter: parent serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent, without checking the current user security profile
ServiceCatalogInterface.getServiceRelationsAsParent(parentserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get secure service relations as parent

  1. first parameter: parent serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsAsParentSecure(parentserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple service relations as parent

  1. first parameter: array of parent serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent, without checking the current user security profile
ServiceCatalogInterface.getServicesRelationsAsParent([parentserviceguid1, parentserviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple secure service relations as parent

  1. first parameter: array of parent serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsAsParentSecure([parentserviceguid1, parentserviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get service relations as child

  1. first parameter: child serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child, without checking the current user security profile
ServiceCatalogInterface.getServiceRelationsAsChild(childserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get secure service relations as child

  1. first parameter: child serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsAsChildSecure(childserviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple service relations as child

  1. first parameter: array of child serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child, without checking the current user security profile
ServiceCatalogInterface.getServicesRelationsAsChild([childserviceguid1, childserviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple secure service relations as child

  1. first parameter: array of child serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsAsChildSecure([childserviceguid1, childserviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get service relations

  1. first parameter: serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent or child, without checking the current user security profile
ServiceCatalogInterface.getServiceRelations(serviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get secure service relations

  1. first parameter: serviceguid
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the parent or child and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceRelationsSecure(serviceguid)
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple service relations

  1. first parameter: array of serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child or the parent, without checking the current user security profile
ServiceCatalogInterface.getServicesRelations([serviceguid1, serviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get multiple secure service relations

  1. first parameter: array of serviceguids
  2. optional second parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all relations where the service guid is the child or the parent and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesRelationsSecure([serviceguid1, serviceguid2])
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get all service relations

  1. optional first parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  2. security: Returns all relations, without checking the current user security profile
ServiceCatalogInterface.getAllServicesRelations()
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Get all secure service relations

  1. optional first parameter: object with properties languageid, selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (true = return bb code instead of html), partsusevalue (default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  2. security: Returns all relations and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesRelationsSecure()
return: the relation as an object (properties: parentserviceid, parentserviceguid, childserviceid, childserviceguid, parts (array of objects))

Review cycles

Get service review cycles (7.22.04)

  1. first parameter: serviceguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getServiceReviewCycles(guid)
return: all review cycles for the given service guid

Get secure service review cycles (7.22.04)

  1. first parameter: serviceguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceReviewCyclesSecure(guid)
return: all review cycles for the given service guid

Get multiple services review cycles (7.22.04)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getServicesReviewCycles([guid1, guid2])
return: all review cycles for the given service guids

Get secure multiple services review cycles (7.22.04)

  1. first parameter: array with serviceguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesReviewCyclesSecure([guid1, guid2])
return: all review cycles for the given service guids

Get all services review cycles (7.22.04)

  1. optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  2. security: Returns all review cycles for all services, without checking the current user security profile
ServiceCatalogInterface.getAllServicesReviewCycles()
return: all review cycles

Get secure all services review cycles (7.22.04)

  1. optional first parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  2. security: Returns all review cycles for all services and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getAllServicesReviewCyclesSecure()
return: all review cycles

Get review cycle (7.22.04)

  1. first parameter: reviewcycleguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns the review cycle, without checking the current user security profile
ServiceCatalogInterface.getReviewCycle(reviewcycleguid)
return: the review cycle

Get secure review cycles (7.22.04)

  1. first parameter: reviewcycleguid
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns the review cycle and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getReviewCycleSecure(reviewcycleguid)
return: the review cycle

Get multiple review cycles (7.22.04)

  1. first parameter: array with reviewcycleguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles, without checking the current user security profile
ServiceCatalogInterface.getReviewCycles([guid1, guid2])
return: the review cycles

Get secure multiple review cycles (7.22.04)

  1. first parameter: array with reviewcycleguids
  2. optional second parameter: object with property selectionfieldsusekeys (true = return keys instead of display value), bbcodefieldsusevalue (7.22.10, true = return bb code instead of html), usevalue (7.22.10, default value for selectionfieldsusekeys and bbcodefieldsusevalue)
  3. security: Returns all review cycles and checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getReviewCyclesSecure([guid1, guid2])
return: the review cycles

Service variables

Get service variable value secure (7.22.07)

  1. first parameter: service guid
  2. second parameter: variable name
  3. security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVariableValueSecure(guid, variablename)
return: the value (string)

Get service variable value (7.22.07)

  1. first parameter: service guid
  2. second parameter: variable name
  3. security: No checks are done
ServiceCatalogInterface.getServiceVariableValue(guid, variablename)
return: the value (string)

Set service variable value secure (7.22.07)

  1. first parameter: service guid
  2. second parameter: variable name
  3. third parameter: variable value
  4. security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.setServiceVariableValueSecure(guid, variablename, variablevalue)
return: nothing

Set service variable value (7.22.07)

  1. first parameter: service guid
  2. second parameter: variable name
  3. third parameter: variable value
  4. security: No checks are done
ServiceCatalogInterface.setServiceVariableValue(guid, variablename, variablevalue)
return: nothing

Get service variables secure (7.22.07)

  1. first parameter: service guid
  2. security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServiceVariablesSecure(guid)
return: array of variables in JSON (properties: serviceguid, name, value)

Get service variables (7.22.07)

  1. first parameter: service guid
  2. security: No checks are done
ServiceCatalogInterface.getServiceVariables(guid)
return: array of variables in JSON (properties: serviceguid, name, value)

Get services variables secure (7.22.07)

  1. first parameter: array of service guids
  2. security: Checks if the current user is authorized to retrieve these details (at least read rights)
ServiceCatalogInterface.getServicesVariablesSecure([guid1, guid2])
return: array of variables in JSON (properties: serviceguid, name, value)

Get services variables (7.22.07)

  1. first parameter: array of service guids
  2. security: No checks are done
ServiceCatalogInterface.getServicesVariables([guid1, guid2])
return: array of variables in JSON (properties: serviceguid, name, value)

Get services variables (7.22.07)

  1. first parameter: array of service guids
  2. security: No checks are done
ServiceCatalogInterface.getServicesVariables([guid1, guid2])
return: array of variables in JSON (properties: serviceguid, name, value)

Rights

Check if the logged in person has service admin rights (7.23.03)

  1. first parameter: service guid
ServiceCatalogInterface.loggedInPersonHasServiceAdminRights(guid)
return: true if the person has at least view rights in the admin panel for this service, false otherwise

Check if the logged in person has service admin edit rights (7.23.03)

Since 7.23.11: warning - will be removed in a future version

  1. first parameter: service guid
ServiceCatalogInterface.loggedInPersonHasServiceAdminEditRights(guid)
return: true if the person has edit rights in the admin panel for this service, false otherwise
return since 7.23.11: always false, please use custom ACLs instead

Check if the logged in person has a service custom ACL use right (7.23.11)

  1. first parameter: service guid
  2. second parameter: name of the custom ACL
ServiceCatalogInterface.loggedInPersonHasServiceCustomAclUseRight(guid, name)
return: true if the person has the use right for the ACL in this service, false otherwise

Check if the logged in person has a service version custom ACL use right (7.24.10)

  1. first parameter: service guid
  2. second parameter: version number
  3. thirdparameter: name of the custom ACL
ServiceCatalogInterface.loggedInPersonHasServiceVersionCustomAclUseRight(serviceguid, versionnr, name)
return: true if the person has the use right for the ACL in this service, false otherwise

Check if the service can be published (7.25.12)

  1. first parameter: service guid
  2. optional second parameter: object with possible properties CheckIfOtherRequestsAreActive
ServiceCatalogInterface.serviceCanBePublished(serviceguid)
return: object with properties result and message in JSON

Check if the service can be published as boolean (7.25.12)

  1. first parameter: service guid
  2. optional second parameter: object with possible properties CheckIfOtherRequestsAreActive
ServiceCatalogInterface.serviceCanBePublishedAsBoolean(serviceguid)
return: true if the service can be published, false otherwise

Check if the service has essential data missing (7.25.12)

  1. first parameter: service guid
ServiceCatalogInterface.serviceHasEssentialDataMissing(serviceguid)
return: true if the service has essential data missing, false otherwise

Check if the service has validation errors (7.25.12)

  1. first parameter: service guid
ServiceCatalogInterface.serviceHasValidationErrors(serviceguid)
return: true if the service has validation errors, false otherwise

FormsInterface (7.22.06)

The FormsInterface contains function that interact with request forms

WARNING: the non-secure versions of the interface behave like secure until 7.22.09

General

List categories

Returns the categories

FormsInterface.getCategories();
returns: array of objects with properties id, islive, iconurl, title, description, helptext in JSON

List categories SECURE (7.22.09)

Returns the categories based on the logged in user

FormsInterface.getCategoriesSecure();
returns: array of objects with properties id, islive, iconurl, title, description, helptext in JSON

Get category

Gets a category based on the id

  1. first parameter: category id
FormsInterface.getCategory(1);
returns: object with properties title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON

Get category SECURE (7.22.09)

Gets a category based on the id, only if the logged in user has rights for this

  1. first parameter: category id
FormsInterface.getCategorySecure(1);
returns: object with properties islive, title and topics (array of objects with properties id, islive, iconurl, title, description, helptext) in JSON

Get topic

Gets a topic based on the id

  1. first parameter: topic id
FormsInterface.getTopic(1);
returns: object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description), subnavcssclass (since 7.23.10) in JSON

Get topic SECURE (7.22.09)

Gets a topic based on the id, only if the logged in user has rights for this

  1. first parameter: topic id
FormsInterface.getTopicSecure(1);
returns: object with properties categoryid, categorytitle, categoryislive, title, islive and forms (array of objects with properties id, islive, onlyindirectlyaccessible, contenttypeid, iconurl, title, description), subnavcssclass (since 7.23.10) in JSON

Get all topics (7.24.07)

Gets all topics

FormsInterface.getAllTopics();
returns: array of objects with properties id, islive, title, iconurl, description, helptext, subnavcssclass, categoryid in JSON

Get all topics SECURE (7.24.07)

Gets all topics where the logged in user has rights for

FormsInterface.getAllTopicsSecure();
returns: array of objects with properties id, islive, title, iconurl, description, helptext, subnavcssclass, categoryid in JSON

Get form

Gets a form based on the id

  1. first parameter: form id
FormsInterface.getForm(1);
returns: object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON

Get form SECURE (7.22.09)

Gets a form based on the id, only if the logged in user has rights for this

  1. first parameter: form id
FormsInterface.getFormSecure(1);
returns: object with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON

Get favorite forms SECURE (7.22.09)

Gets the list of favorite forms

FormsInterface.getFavoriteFormsSecure();
returns: array of objects with properties categoryid, categorytitle, categoryislive, topicid, topictitle, topicislive, id, islive, title, description, showaddtofavorites (7.22.07), showsaveasdraft(7.22.07), showsaveastemplate(7.22.07), onlyindirectlyaccessible (7.22.10), hasadmin, isfavorite and iconurl (7.24.07) and showselectotheruser (7.24.12) in JSON

Remove favorite form SECURE (7.22.09)

Removes a form from the persons favorites

  1. first parameter: id of the form
FormsInterface.removeFavoriteFormSecure(1);
returns: nothing

Add favorite form SECURE (7.22.09)

Adds a form to the persons favorites

  1. first parameter: id of the form
FormsInterface.addFavoriteFormSecure(1);
returns: nothing

Get form instances SECURE (7.22.09)

Gets the list of form instances for the logged in user based on type/status (Draft or Template)

  1. first parameter: the string "Draft" or "Template"
FormsInterface.getFormInstancesSecure("Draft");
returns: array of objects with properties id, extraparameters, formid, formtitle, instancetitle, dateaddedticks, dateadded in JSON

Remove form instance SECURE (7.22.09)

Removes a form instance only if the logged in user owns the form instance

  1. first parameter: the string "Draft" or "Template"
  2. second parameter: id of the form instance
FormsInterface.removeFormInstanceSecure("Draft", 1);
returns: nothing

Search forms and shops SECURE (7.22.09)

Returns the forms and shops based on the text

  1. first parameter: text to search for
  2. optional second parameter: max records to return (default = 10)
FormsInterface.searchFormsAndShopsSecure("phone");
returns: array of objects with properties id, typename, title, topictitle, categorytitle, iconurl in JSON

Search count forms (7.23.08)

Returns the number of forms that matches the criteria

  1. first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
  2. optional second parameter: object with possible property: languageid
FormsInterface.searchCountForms({ internallabel: "phone", internallabeloperator: "contains" });
returns: the number

Search count forms SECURE (7.23.08)

Returns the number of forms that matches the criteria

  1. first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
  2. optional second parameter: object with possible property: languageid
FormsInterface.searchCountFormsSecure({ internallabel: "phone", internallabeloperator: "contains" });
returns: the number

Search forms (7.23.08)

Returns the forms that matches the criteria

  1. first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
  2. optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
FormsInterface.searchForms({ internallabel: "phone", internallabeloperator: "contains" });
returns: array of objects with properties id, typename, title, topictitle, categorytitle, iconurl, internallabel in JSON

Search forms SECURE (7.23.08)

Returns the forms that matches the criteria

  1. first parameter: object with possible properties: isretired, internallabel, internallabeloperator, name, nameoperator
  2. optional second parameter: object with possible properties: languageid, itemsperpage, pageindex
FormsInterface.searchFormsSecure({ internallabel: "phone", internallabeloperator: "contains" });
returns: array of objects with properties id, typename, title, topictitle, categorytitle, iconurl, internallabel in JSON

Remove form instance (7.22.09)

Removes a form instance

  1. first parameter: id of the form instance
FormsInterface.removeFormInstance(1);
returns: nothing

Add form instance (7.22.09)

Adds a form instance

  1. first parameter: form (can be the id of the form, or the internal label of the form)
  2. second parameter: requestor person (can be the id of the person, or the unique id or email of the person)
  3. third parameter: requested for person (can be the id of the person, or the unique id or email of the person)
  4. fourth parameter: title of the instance
  5. fifth parameter: array of initial form values (array of objects with possible properties displayvalue, value, internallabel, form, field, fieldid, repeatablesectionfieldid, repeatablesectionindex, label, labels (object with possible properties label, languageid, language))
  6. optional sixth parameter: status (Draft or Template)
FormsInterface.addFormInstance("first form", "john@doe.com", "lisa@doe.com", "new draft", [ { internallabel: "first field",  value: "test" } ]);
returns: the id of the form instance

List views (7.22.10)

Returns the views

FormsInterface.getViews();
returns: array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON

List views SECURE (7.22.10)

Returns the views based on the logged in user

FormsInterface.getViewsSecure();
returns: array of objects with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON

Get view (7.22.10)

Returns the view with the id

  1. first parameter: the id of the view
FormsInterface.getView(1);
returns: object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield

Get view SECURE (7.22.10)

Returns the view with the id only if the logged in user has rights for the view

  1. first parameter: the id of the view
FormsInterface.getViewSecure(1);
returns: object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield

Get view by name (7.25.01)

Returns the view with the name

  1. first parameter: the name of the view
FormsInterface.getViewByName("name");
returns: object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield

Get view by name SECURE (7.25.01)

Returns the view with the name only if the logged in user has rights for the view

  1. first parameter: the name of the view
FormsInterface.getViewByNameSecure("name");
returns: object with properties id, islive, iconurl, useinadvancedviewfiltering, opendetailinnewwindow, defaultopentypeid, defaultopentypename, cssclass, alwaysopeninfullscreen, hidewhencountiszero, allowhidecolumns, width, widthfullscreen, name, description, shortname in JSON. Update since 7.23.05: extra property: fields, array of objects with properties sourcecolumn, name, fieldtypeid, fieldtypename, showindefault, showinextended, htmlencode, iskey, width, defaultsort, dateformat, filtertypeid, filtertypename, filterparametername, filterparametervaluefield, filterparameterdisplayfield

KnowledgeManagementInterface (7.22.11)

The KnowledgeManagementInterface contains function that interact with knowledge base articles and nodes

General

Get elements by parent id

  1. first parameter: parent id (can be null)
KnowledgeManagementInterface.getElementsByParentId(null);
returns: array of objects with properties id, parentid, contenttypeid, contenttypename, iconurl, title, description, statusid, statusname, ispublic

Get elements by parent id SECURE

  1. first parameter: parent id (can be null)
KnowledgeManagementInterface.getElementsByParentIdSecure(null);
returns: array of objects with properties id, parentid, contenttypeid, contenttypename, iconurl, title, description, statusid, statusname, ispublic

Get element by id

  1. first parameter: id
KnowledgeManagementInterface.getElement(1);
returns: object with properties id, parentid, contenttypeid, contenttypename, iconurl, title, description, statusid, statusname, ispublic, content, documents (array of objects with properties filename, title, link), links (array of objects with properties url, title, linktypeid, linktypename), forms (array of objects with properties id, iconurl, title, description, topicid, topictitle, categoryid, categorytitle, linktypeid, linktypename), children (array of objects with same properties as getElementsByParentId)

Get element by id SECURE

  1. first parameter: id
KnowledgeManagementInterface.getElementSecure(1);
 returns: object with properties id, parentid, contenttypeid, contenttypename, iconurl, title, description, statusid, statusname, ispublic, content, documents (array of objects with properties filename, title, link), links (array of objects with properties url, title, linktypeid, linktypename), forms (array of objects with properties id, iconurl, title, description, topicid, topictitle, categoryid, categorytitle, linktypeid, linktypename), children (array of objects with same properties as getElementsByParentId)

Search count

Returns the number of elements based on the search criteria without checking the current logged in user

  1. first parameter: the search term
KnowledgeManagementInterface.searchCount("test");
returns: nr of elements found

Search count SECURE

Returns the number of elements based on the search criteria where the logged in user has rights for

  1. first parameter: the search term
KnowledgeManagementInterface.searchCountSecure("test");
returns: nr of elements found

Returns the elements based on the search criteria without checking the current logged in user

  1. first parameter: the search term
  2. optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
KnowledgeManagementInterface.search("test");
returns: array of objects with properties elementid, title, content (part where the search term is found)

Search SECURE

Returns the elements based on the search criteria where the logged in user has rights for

  1. first parameter: the search term
  2. optional second parameter: object with paging info (properties: ItemsPerPage, PageIndex) - default is 10 records
KnowledgeManagementInterface.searchSecure("test");
returns: array of objects with properties elementid, title, content (part where the search term is found)