Latest News: MIDAS v4.28 Out Now | Celebrating our 15th anniversary | 6 Ways MIDAS Can Help Your Business Adapt to COVID

Posts Tagged: API

Upcoming New Features in the MIDAS API

To coincide with our next release of MIDAS, v4.16, we’ll also be releasing an update to the optional MIDAS API.

If you’re not aware of our optional API access addon, it offers a programmatic and bi-directional interface to a MIDAS scheduling system.

The API can be used to extract data from a MIDAS system, which you can then format, process, and display within your own website and apps.

The API can also be used to make changes to settings/data within a MIDAS system, for example to automate the adding of new bookings.

Or, the API can be used to interface MIDAS with other 3rd party software apps…. the possibilities are near endless!

To further increase the power and usefulness of the MIDAS API, we’re adding a couple of significant features in the forthcoming API update:

NEW: Command Line Support

Until now, all calls to the API had to be made via HTTP transactions. With the next update, you’ll also be able to make API calls directly from the command line! (self hosted editions only). API calls made in this way have the added benefit of being significantly more efficient and faster (assuming the call is made from the command line on the same server as the MIDAS system), as they do not require an HTTP transaction to be conducted.

To make API calls from the command line, simply call “api.pl” (located within your server’s MIDAS directory) and pass API parameters and values via command line switches.

For example, to retrieve the currently installed version of MIDAS from the Windows command line (cmd):

A MIDAS API call made from the Windows Command line (cmd)

…or from Windows PowerShell:

A MIDAS API call made from Windows PowerShell

NEW: Optional JSONP Support

By default, the MIDAS API outputs in JSON format, however following feedback from API users, we’re also introducing optional JSONP support with the next update to the API.

If you don’t know what JSONP is, then you probably don’t need it!

JSONP is a method commonly used to bypass the cross-domain policies in web browsers. Typically, modern browsers won’t allow you to make AJAX (Asynchronous Javascript) requests from one domain to another domain perceived to be on a different server.

For example, if your MIDAS system is running on server A, and you wish to make client-side API calls through Javascript, you would typically only be able to make such AJAX requests from pages residing on server A itself. Attempting to initiate an AJAX request for server A from server B would be blocked by the user’s browser.

JSON and JSONP behave differently on the client and the server. JSONP requests are not dispatched using the XMLHTTPRequest and the associated browser methods. Instead, a <script> tag is created, the source of which is set to the target URL. This script tag is then added to the DOM (normally inside the element).

JSONP support in the MIDAS API (which is disabled by default) can be enabled via the API settings screen.

WARNING: Before enabling JSONP support, you should instead look to use CORS (Cross Origin Resource Sharing) wherever possible, as JSONP has inherent security risks as it injects Jasacript code directly into your web pages

With JSONP support enabled, you’d then be able to pass the name of a Javascript function in a “callback” parameter along with your API calls.

Consider a simple API call to retrieve the version number of MIDAS (passing the “action” parameter with a value of “get_setting“, and a “setting” parameter with a value of “version“). The typical JSON response would be:

{"version":"4.16"}

Now consider the same API call, with JSONP support enabled, and an additional “callback” parameter passed with a value of “myfunction“. The JSONP response would then be:

myfunction({"version":"4.16"})

The “callback” parameter must contain the name of an existing Javascript function on the calling page.

Upon receiving the JSONP response, the user’s browser will execute the “myfunction” Javascript function, passing the JSON data {"version":"4.16"} to it accordingly.

Coming Soon with v4.07: API v2

The next substantial update to our popular web based room booking and resource scheduling software is just around the corner, and throughout this month, we’re outlining some of the new features and improvements you can expect to see along with the upcoming v4.07 release…

Introducing API Version 2…

MIDAS API The MIDAS API is an optional addon for MIDAS, allowing you to interface directly with your MIDAS scheduling system from your own applications.

First introduced just over a year ago, version 1 of the API allowed developers to access and retrieve data from MIDAS.

Version 2 of the API builds on this, and extends the API’s capabilities further by now allowing “bi-directional” access to MIDAS. This means that as well as being able to simply “read” data from MIDAS through the API, developers can now also “write” data to MIDAS, and modify existing data.

Nearly two dozen new API calls have been implemented for API v2, allowing you to:

  • Add, delete or modify bookings, clients, and resources
  • Add, generate, or delete invoices
  • Approve or reject booking requests
  • Email clients
  • Change settings
    …and more!

Full documentation for version 2 of the API is now available online at https://mid.as/api, and will shortly be available in an offline format too.API v2 will be available to coincide with the upcoming release of MIDAS v4.07, and will a FREE update to existing API users who have an ongoing annual support subscription covering the release of v4.07.

v2 is also backwards compatible with v1 of the API. Existing customers who wish to add the optional API to their MIDAS installation can do so via https://mid.as/upgrade.

New customers can purchase MIDAS along with the optional API addon via https://mid.as/purchase.

MIDAS API calls

MIDAS v4.03 is just around the corner, and this update to our popular web based scheduling software will include a number of new features and improvements over previous versions.

Perhaps one of the most exciting new features of v4.03 will be the introduction of a new “addon” system, allowing the capabilities of your MIDAS to be extended through a range of optional extras.

A couple of optional “addons” will be initially available to coincide with the release of MIDAS v4.03, including a much anticipated API addon, and also an RSS addon…

API Access

MIDAS APIThe “API Access” addon will allow developers to interface directly with MIDAS from their own software applications! Read More »

Extensive API Documentation, including code samples, is already available online and the API Access addon is also now available to Beta Testers.
If you’re a programmer/developer and would like to test the new API, become a Beta Tester today!

 

RSS Feeds

RSS Feeds Settings

The RSS Feeds addon will allow MIDAS to automatically generate multiple public RSS 2.0/Atom data feeds from your booking data! Read More »

…and here’s an example of a typical MIDAS RSS Feed


Both the above “addons” are available right now to beta testers, and can be found within the software via MIDAS Admin Options → Manage Addons

Once MIDAS v4.03 is released, new customers will be able to include optional addons at time of purchase, or add them at a later date.
Existing users will be able to obtain addons for their MIDAS as upgrades in just a few simple steps!