In the spirit of the holiday season, we’d like to give you a special gift that helps make integrating with SCORM Cloud easy. We recently updated our v2 API client libraries with a multitude of changes to make working with SCORM Cloud better than before. With all this extra time you’ll save, you could catch up on your shopping.
You may be asking “What are the client libraries?” In which case, the answer is it’s an easy way to integrate with the SCORM Cloud API. SCORM Cloud uses a RESTful API allowing you to transfer data between our server and your existing application. With the client libraries, you can forget about all the nuances of making web requests: headers, request methods, and “Was that parameter supposed to be in the body or the query parameters?” The client libraries allow you to make requests to our API like you would any other library, by simply passing parameters to a method/function. All of the web interface is handled for you.
This update was the next step in our deprecation effort of the v1 API. (Don’t worry, the v1 API isn’t going anywhere any time soon.) A large part of the update was adding in several use cases which existed in the v1 API but hadn’t in the v2 API. These included endpoints for: course asset manipulation, bulk dispatch operations, and application management. More details can be found on our changelog.
Santa’s sample code
We overhauled our libraries fixing the little things that drive people insane, whether that be passing boolean values as strings when using the PHP library or having to sift through hundreds of registrations to find the handful you were looking for. We’ve even included (the highly anticipated) sample code! At the bottom of each README is a segment of code that will run through the basic workflow behind many of the integrations with SCORM Cloud: importing a course, creating a registration, launching the registration, and collecting data about said registration. We’ve also included samples for getting information about all the courses and registrations stored in SCORM Cloud. And at the end, we show how to delete a course/registration, which also has the added benefit of cleaning up all the sample data once you’re done. There are optional code paths illustrating how to go about all of this using OAuth as well.
Deck the halls with documentation
Additionally, we’ve refurbished our API documentation making our terminology easier to grasp for those who haven’t worked with our verbiage before. The slew of ways to import a course have details indicating the appropriate use case for each. Invitations now have a description of how they might be a useful tool. We improved the language around configuration settings to clear up such a confusing topic. That’s just a sprinkling of the changes we’ve made.
Last but not least, we’ve increased the coverage of filters for getting resources, such as registrations and invitations. Many endpoints received filter and filterBy parameters, which allow for a partial match query of the supplied filter to the set of resources. Now you can search through your dispatches by the associated course title or registrations by the learner’s first name. We’ve also added an orderBy parameter allowing you to choose the order in which the resources are returned to you. The common parameters are in ascending/descending order based on create or update date.
Now the important bits for those of you already using the client libraries… breaking changes! Luckily these were kept to a minimum, but we did have to modify a handful of signatures. Among them, the “GetXs” endpoints, e.g., GetCourses, GetRegistrations, GetDispatches, etc. (See the changelog for the complete list of endpoints). We modified many of the dependency/language version requirements. Be on the lookout for the minimum version requirements to make sure the upgrade goes as smoothly as possible. More specific details can be found in the READMEs of the various libraries within the `Release 2.0.X:` section. Links to all the client libraries in GitHub and the relevant package managers can be found below.
Go ahead, open your presents now
You don’t have to wait until December 25th. We’re giving you the client libraries in six languages: C# (.NET), Java, JavaScript, PHP, Python, and Ruby. If you work with another language, check your stocking. We use Swagger Codegen to generate our client libraries as part of our effort to lower the barrier to entry. With our defined YAML spec, you can create your own copy of a client in the language of your choice, complete with the same features as the ones we generate.
Whether you are just starting the integration process with SCORM Cloud or have been using our software for years, the ‘redecorated’ client libraries will provide benefits to you and your team. If starting from scratch, they provide a quick and easy solution to start the ball rolling, featuring new sample code depicting the execution of the most common workflows. If updating from a previous version, there are more endpoints, bug fixes, and new features waiting for you.
As always, if you have any questions in regards to integrating with our API or information written in our docs, please do not hesitate to contact us at support@rusticisoftware.com. We’d be happy to help. Happy holidays from Rustici Software and the SCORM Cloud team.
Client library list
C#
Java
JavaScript
PHP
Python
Ruby