CORNERSTONE ONDEMAND Web Services Technical Specification 1601 Cloverfield Boulevard, Sixth Floor, Santa Monica, CA 90404 Tel: 888-365-CSOD Tel: +1 310.752.0200 Fax: +1 310.752.0199 Web: www.cornerstoneondemand.com TABLE OF CONTENTS TABLE OF CONTENTS .................................................................................................................. 0 INTRODUCTION ............................................................................................................................. 1 TECHNICAL SUMMARY ................................................................................................................. 2 TECHNOLOGY ....................................................................................................................................2 TRANSPORT LEVEL SECURITY ............................................................................................................3 AUTHENTICATION AND AUTHORIZATION ...............................................................................................3 CORNERSTONE ON DEMAND SERVICES ................................................................................... 5 LEARNING OBJECT SERVICES .................................................................................................... 6 REQUEST ..........................................................................................................................................6 REGISTER .........................................................................................................................................6 LAUNCHLO........................................................................................................................................7 COMPLETE ........................................................................................................................................7 TRANSCRIPT AND TASK SERVICE .............................................................................................. 8 GETTRANSCRIPTANDTASKS...............................................................................................................8 CATALOG SEARCH SERVICE ..................................................................................................... 12 SEARCH ..........................................................................................................................................12 CLIENT DATA SERVICES ............................................................................................................ 14 ECHOOUS .......................................................................................................................................14 ECHOUSERS ...................................................................................................................................14 RECONCILEOUS ..............................................................................................................................15 RECONCILEUSERS ...........................................................................................................................15 SETOUS ..........................................................................................................................................15 SETUSERS ......................................................................................................................................15 ASSUMPTIONS............................................................................................................................. 17 STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 0 INTRODUCTION Web Services are the set of protocols by which Services can be published, discovered and used in a technology neutral, standard form. With broad support across vendors and businesses, Web services enable computer systems on any platform to communicate over corporate intranets, extranets, and across the Internet with support for end-to-end security, reliable messaging, distributed transactions. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 1 TECHNICAL SUMMARY Technology Cornerstone On Demand web services are built on the Simple Object Access Protocol model SOAP 1.1 and SOAP 1.2. SOAP 1.1 was adopted by W3C in May of 2000, SOAP 1.2 in June 2003. What is SOAP? SOAP SOAP SOAP SOAP SOAP SOAP SOAP SOAP SOAP SOAP SOAP stands for Simple Object Access Protocol is a communication protocol is for communication between applications is a format for sending messages communicates via Internet is platform independent is language independent is based on XML is simple and extensible allows you to get around firewalls is a W3C recommendation SOAP BUILDING BLOCKS A SOAP message is an ordinary XML document containing the following elements: An Envelope element that identifies the XML document as a SOAP message A Header element the contains the header information A Body Element that contains the call and response information A Fault element containing errors and status information Skeleton SOAP Message <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> ... </soap:Header> <soap:Body> ... <soap:Fault> ... </soap:Fault> </soap:Body> </soap:Envelope> STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 2 Transport Level Security Cornerstone On Demand Web Services use Secure Sockets Layer (SSL) protocol, the established Web tier technology, to secure and encrypt the data as it is transmitted between Cornerstone servers and the caller. Authentication and Authorization Cornerstone On Demand web services employ SOAP Message security 1.1 specification, WSSecurity 2004. This is an OASIS specification, the result of work by the WSS Technical Committee, and adopted by all major players in the Web Services technology realm, IBM, Microsoft and Sun. WS-Security specification uses the following namespaces: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity263 secext-1.0.xsd http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity265 utility-1.0.xsd http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd WS-Security security related information is attached to the SOAP message through a block in the header. Cornerstone Web Services implement the UserName Token element from WS-Security specification, to convey authentication credentials to the system. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <SOAP-ENV:Header> <wsse:Security SOAP-ENV:mustUnderstand="1"> <wsse:UsernameToken> <wsse:Username>[corpname]\username</wsse:Username> <wsse:Password>password</wsse:Password> </wsse:UsernameToken> </wsse:Security> </SOAP-ENV:Header> <SOAP-ENV:Body> … STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 3 </SOAP-ENV:Body> </SOAP-ENV:Envelope> The UserName token consists of a Corporation ID, Username and Password. A specific service account will be set up on the Cornerstone OnDemand portal for each client to provide the correct level of access required. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 4 CORNERSTONE ON DEMAND SERVICES LEARNING OBJECT Request Request a learning object for a user Register Register a user in a learning object LaunchLO Retrieve the launch URL for a learning object (currently only supports materials) Complete Mark a learning object complete in a user’s transcript TRANSCRIPT AND TASK GetTranscriptAndTasks Retrieves transcript or task information for a user CATALOG SEARCH Search Enables clients to browse the Cornerstone content catalog CLIENT DATA SERVICE: EchoOus Send Organizational Units' payload and have it echoed back, validates XML payload against schema without loading into the system. EchoUsers Send Users payload and have it echoed back, validates XML payload against schema without loading into the system. ReconcileOus Deactivates Organizational Units based on latest modification date and allow reconcile flag set in the system. ReconcileUsers Deactivates Users based on latest modification date and allow reconcile flag set in the system. SetOus Create / Update Orgnanizational Units in the Cornerstone system. SetUsers Create / Update Users in the Cornerstone system. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 5 LEARNING OBJECT SERVICES Request Description The Request operation gives you the ability to select a learning object on behalf of a user. It places the item in the user’s transcript without registering it. All business rules configured in the portal are observed for this call. The user must have proper permission and availability configured in the portal for this call to succeed. The method receives object_id, corporation name, user name, it method returns success/failed according to request status. In case of failure, error + reason will be also included in the returned message Register Description The Register operation gives you the ability to register the user into a learning object that is already in the user’s transcript. All business rules configured on the portal are observed by this operation. The user must have be approved to take this training. The Register operation receives object_id, corporation name, username, comment and credit card fee amount. Note: The Request operation must be invoked prior to the Register operation. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 6 LaunchLO Description The LaunchLo operation retrieves the launch URL to the a material training which a user has already requested and registered in. All business rules configured on the portal are observed by this operation. The user must be registered in the material item and the item must be active and can be launched in the Cornerstone application. The LaunchLO operation expects the object_id, corporation name and username, it returns the download URL of the material item. Note: This Operation currently only supports material objects. The request and register operations must be called before LaunchLo. Complete Description The Complete operation gives you the ability to mark a learning object in a user’s transcript complete. The operation attempts to mark the learning object completed, a “success” status is returned if it succeeds a “failed” if it does not. All business rules configured on the portal are observed by this operation. The operation expects the object_id, corporation name and username of the user for which you wish to mark the learning object complete. Note: The learning object must exist in the user’s transcript. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 7 TRANSCRIPT AND TASK SERVICE GetTranscriptAndTasks Description The GetTranscriptAndTasks operation gives you the ability to retrieves user’s information from the following modules: User Inbox Upcoming sessions Learning activities in progress Assigned Learning Manager tasks Manager Pending Approvals All business rules configured on the portal are observed by this operation. Cornerstone also has “Deep linking” capabilities that will allow a client to access hyperlinked materials on their Cornerstone portal directly off their homepage. This is achieved through a combination of Cornerstone proprietary SSO technology plus a scripted destination launch URL that can be dynamically modified STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 8 Inbox node: Has no fields or attributes, it retrieves all items in the user’s inbox as shown on the welcome page. It represents a summary result set of other modules. Transcript node: Represents all transcript items currently in the user’s transcript. Session node: Represents the upcoming Instructor Lead Training sessions the user is registered in. If this XML element is not included in the request, no Session details will be returned in the response message. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 9 Assigned node: Represents any training that has been assigned to the user. If this XML element is not included in the request, no Assigned Training details will be returned in the response message. Approval node: If approvals are used in the system and the user is a manager or approver, this represents the pending approvals for his or her subordinates. If this XML element is not included in the request, no items awaiting approval will be returned in the response message. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 10 Task node: Represents all incomplete tasks assigned to the user. If this XML element is not included in the request, no tasks will be returned in the response message. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 11 CATALOG SEARCH SERVICE Search Description The Search operation enables you to browse your content catalog in the Cornerstone application. The data returned reflects the records found according to search query. Data is available on-demand as and when the client consumer requests it. All business rules configured on the portal are observed by this operation. The Search operation receives a query structure that contains parameters for the LO catalog search Use the Title parameter most often for searching. If you’d like a broader search, use the description parameter. *Type field can be one of the following, and MUST be capitalized: (see WSDL for more information) E.g. - Title field (Word 2003:Graphic Elements in Documents) + Provider field + Description field STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 12 In case of type equals curriculum The response will contain a list of courses STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 13 CLIENT DATA SERVICES EchoOus Description The EchoOus operation gives you the ability to send an organizational units XML payload to the server to validate your message against the schema. The server echos your XML payload back to you in the exact format you send it, if the message passes validation successfully. If the schema is violated the server will respond back with an exception with a message describing the error. EchoUsers Description The EchoUsers operation gives you the ability to send an users XML payload to the server to validate your message against the schema. The server echos your XML payload back to you in the exact format you send it, if the message passes validation successfully. If the schema is violated the server will respond back with an exception with a message describing the error. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 14 ReconcileOus Description The ReconcileOus operation gives you the ability to deactivate a set of records based on a last modification date in the system. The operation works in conjunction with the Allow Reconcile flag in the system. A record must meet the following criteria to be deactivated: 1. It must be active 2. It must have the allow reconcile flag set to true 3. It’s creation date or modify date < TimeStamp ReconcileUsers Description The ReconcileUsers operation gives you the ability to deactivate a set of user records based on the last modification date in the system. The operation works in conjunction with the Allow Reconcile flag in the system. A record must meet the following criteria to be deactivated: 1. It must be active 2. It must have the allow reconcile flag set to true It’s creation date or modify date < TimeStamp SetOus Description SetOus allows you to perform insert and update operations on Orgnanizational Units in the Cornerstone system. SetOus uses the Reference ID, your own internal identifier for the unit to locate the records. If the record is located it is updated, if a record is not found it is inserted. SetUsers Description STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 15 SetUsers allows you to perform insert and update operations on users in the Cornerstone system. SetUsers uses the Reference ID, your own internal identifier for the unit to locate the records. If the record is located it is updated, if a record is not found it is inserted. STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 16 ASSUMPTIONS The web service is made available at the specified URL and no client software is offered for its use. Developers can use this document as a guide to develop code to consume Cornerstone On Demand web services. It assumes that he or she is familiar with the following technologies: XML (eXtensible Markup Language) XSD (XML Schema Definition) SOAP Web Services technology WS-Security specifications STRICTLY CONFIDENTIAL CORNERSTONE ONDEMAND Cornerstone & Cornerstone OnDemand are registered trademarks of Cornerstone OnDemand Inc. Cornerstone OnDemand ©1999-2008. 17