Java API
The Java API is a set of built-in calls that are made to programmatically customize and extend the platform.
The following platform elements provide the ability to make Java API calls from the user interface (UI):
- Standard Java classes, to create custom business logic that models your organization's environment
- Data policies, by Invoking a Java Method
1 Prerequisite
You must know the Java programming language to make the Java API calls. This includes knowing the basic elements of Java such as conditional structures (if statement), looping structures (while and for loop statements), variable declaration and assignment, use of operators, variable naming conventions, debugging techniques, and so on.
2 Classes, Objects and APIs
Classes, Objects and APIs | Detail |
---|---|
Record Handling
To handle records in Objects |
|
Record Handling for Composite Objects
To operate on records in composite Object Relationships |
|
Workflow Record Handling
To manage Workflows |
|
Record Handling for Tenant Data Sharing
To handle records in Objects shared using Tenant Data Sharing Policies |
|
Data Import
Import CSV data into Objects |
|
Email and Document Management | |
Event and Task Management
Provides APIs to create Appointments, Tasks and to Log Activities |
|
Transaction Management
Provides the ability to Rollback transactions to a SavePoint |
|
Support Classes and Objects
Use these support classes and objects when you work with the Java API |
|
Utility
Provides APIs to perform general-purpose operations |
|
GUI
APIs for GUI components |
|
Customize
These Provisional APIs give you the ability to manage metadata for program entities. |
|
Status
API for checking status of scheduled jobs. |
3 Identifying Objects and Records
Many of the API record handling calls require an {object} element identifier. To find the Object Type Identifier:
An object type identifier uniquely identifies an object type. It is used to specify object types in APIs.
There are two kinds of type identifiers:
- objectName: This identifier is a human-readable name for both System Objects and Custom Objects.
- objectID: This identifier is a human-readable name for System Objects (e.g. "cases"), but for Custom Objects, it is a computer-generated string with no humanly-interpretable semantic value (e.g. 123qwe456rty).
- See also:
- Session Identifier - session identifier
- Record Id - record id
To find an object type identifier:
- Click > Customization > Objects
- In the Display Title column, find the object you're looking for.
- The Object Name column has the identifier you need.
Alternatively:
- Go to > Customization > Objects > {object}
- Click Properties
- The object name appears at the top of the page
Note:
- For objects that are not listed, see the System Objects page.
- The Object Name is typically used as the identifier, because it is human-readable for both System Objects and Custom Objects. Object ID can be used, as well, but it is human-readable only for System Objects.
4 Java API Library Reference
Learn more about web services and programming at these sites:
These APIs are defined in the Functions class.
Syntax | Description | Return | Category | API Detail |
---|---|---|---|---|
addEvent (String subject, String ownerID, Date startDate, int hour, int min, int duration [, Parameters params]) | Adds an event with values from params | Result object | Event and Task Management | addEvent |
addRecord (String objectName, Params params) | Adds a new record of type objectId with values from params | Result object | Record Handling | addRecord |
addSavePoint (String name) | Adds a Save Point with name | None | Utility | addSavePoint |
addTask (String subject, Date dueDate, String ownerId [, Parameters params]) | Adds a task with values from params | Result object | Event and Task Management | addTask |
debug (Object obj) | Puts a debug statement into the debug log for Object obj. obj can be a String also | None | Utility | debug |
deleteEvent (String eventId) | Deletes the event for the eventId | Result object | Event and Task Management | deleteEvent |
deleteRecord (String objectName, String recordId) | Deletes Record of type objectId where id is recordId | Result object | Record Handling | deleteRecord |
deleteTask (String recordId) | Deletes a task for the taskId | Result object | Event and Task Management | deleteTask |
doesSavePointExist (String name) | checks whether specified save point with name is exist or not | Boolean | Utility | doesSavePointExist |
exec (String functionName, Parameters params) | Executes function functionName with params as input. Note that this params object is visible in functionName as functionParams | The return value is defined by the function | Utility | exec |
generateDocument (String objectName, String recordId, String templateId, String format) | Generates document of templateId evaluated with params in format. If format is "PDF" it generates the document in PDF format, otherwise HTML format. It relates this generated document to object of type objectId and record with id recordId | Result object | Email and Document Management | generateDocument |
getAllSavePoints() | Returns All Save Points | Set | Utility | getAllSavePoints |
getEnv (String key) | Gets the environment variable value for the key | The value of the environment variable | Utility | getEnv |
Functions.getParametersInstance() | Gets an instance of Parameters class | Utility | Parameters object | getParametersInstance |
getRecord (String objectName, String fields, String recordId) | Gets the record of type objectId identified by recordId. fields is a comma separated list of fields that you want to fetch | Result object | Record Handling | getRecord |
logActivity (String subject, String objectName, String id, String activityByID, Parameters params) | Logs an activity | Result object | Event and Task Management | logActivity |
processWorkflowAction (String workflowName,String currentStateName,String recordId,String customObjectName,String workflowAction,String workflowComments) | Process Work flow Action | Result object | Record Handling | processWorkflowAction |
removeSavePoint (String name) | removes save point with name from save point list | None | Utility | removeSavePoint |
rollback () | Roll backs all the inserts and updates | None | Utility | rollback |
rollbackToSavePoint (String name) | Rollback to specific save point with name | None | Utility | rollbackToSavePoint |
searchRecords (String objectName, String fields, String criteria [, Parameters params]) | Search and retrieve the records, for object of type objectId. fields is a comma-separated list of fields that you want to fetch and criteria is expressed in filter language | Result object | Record Handling | searchRecords |
sendEmail (String objectName, String id, String to, String cc, String subject, String body, String attachmentTemplateId, String attachmentIdList) | Sends an Email | Result object | Email and Document Management | sendEmail |
sendEmailUsingTemplate (String objectName, String recordId, String to, String cc, String subject, String bodyTemplateId, String attachmentTemplateId, String attachmentIdList) | Sends an Email evaluating Template identified by bodyTemplateId as email body | Result object | Email and Document Management | sendEmailUsingTemplate |
setTargetPage (String url) | Sets the target page | None | Utility | setTargetPage |
showMessage (long millisecs) | Displays message | None | Utility | showMessage |
sleep(String message) | Sleeps for the designated number of milliseconds. | None | Utility | sleep |
throwError (String message) | Throws error with the message | None | Utility | throwError |
updateEvent (String eventId, Parameters params) | Updates an event with values in params | Result object | Event and Task Management | updateEvent |
updateRecord (String objectName, String recordId, Params params) | Updates record of type objectId with values params. The Record is identified by recordId | Result object | Record Handling | updateRecord |
updateTask (String taskId, Parameters params) | Updates a task with values in params | Result object | Event and Task Management | updateTask |