Firmwater LMS API calls allow an external system to programmatically manipulate Firmwater LMS. The calls represent specific tasks that can be performed by the LMS. A client can invoke these calls to search for users, locations, departments, etc., create and modify data and to create LMS user sessions to allow entrance to the LMS without requiring the user to manually login.
Using your favourite Web service-enabled development environment, you can construct client applications that use standard Web service protocols to programmatically:
The Web Services API is implemented to comply with SOAP 1.1 (Simple Object Access Protocol), and WSDL 1.1 (Web Services Description Language), and WS-I Basic Profile v1.1 specifications. The API works with modern SOAP development environments, including, but not limited to, Visual Studio and Apache Axis.
All calls to Firmwater LMS API methods are restricted by the administrative privilege of the logged in web service user. Additionally, the user may only access data that is within their permission scope. For example, if a user is a 'Local Administrator' of the Toronto location, she may only access users within the Toronto location for her organization. In no situation can this user modify or create users outside of the calling user's location, or organization. This restriction applies when modifying any LmsObject.
Several LmsObjects contain read-only fields.
In order for a web service client to execute Firmwater LMS API commands, authentication with the server must first occur. Authentication is achieved via the Login web service method. The Login method will return a session identifier that is to be included in the Simple Object Access Protocol (SOAP) header of all future requests, and the Uniform Resource Locator (URL) address of the server to which all future web service requests must be made.
Following authentication, all requests sent to Firmwater LMS by a client with the session identifier embedded in the SOAP header will be processed using the security restrictions associated with the logged in user. For further information, see Login below.