API

<< Click to Display Table of Contents >>

Navigation:  Enterprise Option >

API

The ResSched API is a separate program (ResSchedAPI.exe) that lets other programs or services pull data from the ResSched tables. It also allows client, resource, and simple booking data to be imported into ResSched.  The API is intended for developers and other IT staff not for general users.

 

When accessed by a browser, the API provides full documentation and testing functions for the developer. The developer has a variety of formats such as JSON, XML, and SOAP for retrieving and posting data with the API.  

 

Settings

 

ResSchedAPI.exe is installed in the same folder as the main ResSched program and shares many of the same resources. It must stay in the same folder. Run ResSchedAPI.exe to configure the API for use.

 

Connections Tab

 

Ports

The secure and insecure ports the API should listen to.  These ports must be different than those used by ResSched itself.  Insecure ports should be avoided since passwords are sent for user authentication.

Certificate and Web Folders

These folders should be the same as the certificate and web folders used by ResSched. Use the full path name.

Session Timeout

Inactivity timeout in minutes.  Each call to the API or developing session creates its own internal session between the browser and the server. Calls to the API to retrieve or import data only need a few seconds but this setting will need to be longer when calls to the API are being developed,

Allow Import

Importing can present risks to your data integrity, so it must be explicitly allowed. This setting is not saved when the API is closed.

 

Users Tab

 

Every call to the API and every development session must have a User ID and password. These are different from other ResSched User ID's. If multiple data sets are being used you need a different User ID for each data set. Data sets can have more than one User ID, so you can provide one for calls that retrieve data, and another for those developers you trust to import data.

 

 

The Users Tab lists all the active User ID's with the data set (if used) and whether the User ID can be used to import data (1 yes, 0 no).  User IDs can be added or deleted, but not edited.  Data sets reference the just sub-folder name not the full path. Passwords are stored as salted hashes so cannot be retrieved.

 

Log Tab

 

The Log tab displays all the POST and GET transactions handled by ResSchedAPI, if you have selected to log server transactions to the screen. If you have also chosen to log the transactions to disk, the transactions are stored in APILOG.txt. These transactions are shown in the top list while the two panels below contain the details of the selected GET and POST requests.

 

Performance Tab

 

The Performance displays several measurements for response times, errors, and resource utilization to help diagnosis support issues.

 

 

Using the API

 

Once the API has been configured and started, and the developer has received their User ID and password, they can begin to develop calls to the API. Using the same domain name as ResSched but with the different port appended, the developer can use their browser to access the API menu. The menu lists the entities and tables that API services are available for. On selection, the developer detailed documentation and test functions for each of the formats supported.  With the documentation and test functions, the developer should be able to develop the call they need quickly and accurately.