FAtiMA Toolkit’s Web API
Please note that this feature is still in active development, methods and functions described here are subject to changes and, consequently, content written in this post might become deprecated in the future. Despite this, we consider this feature to be of extreme value and because we have reached a point where we have some basic functionality and want to share it with you. As always, check the latest GitHub commits if you want the most “advanced” version of this feature.
During the past few months, not only have there been some fundamental changes to FAtiMA but we have also been working on a way to access FAtiMA and its tools using a Web API
To put it in simple terms, an API is some kind of interface which has a set of functions that allow programmers to access specific features or data of an application, operating system or other services.
Web API as the name suggests, is an API over the web which can be accessed using HTTP protocol. It is a concept and not a technology. We can build Web API using different technologies such as Java, .NET etc.
The development FAtiMA Toolkit’s Web API allows it to be used by any application that supports HTTP communication: videogames, mobile apps, web interfaces, etc….
In addition to this, we now have a FAtiMA Server running constantly where users can access and test their applications or use it to their own needs.
How to use FAtiMA Web API
As we’ve just mentioned, FAtiMA’s Web API can be accessed either locally or remotely (through our “private” server). For now let’s start with locally.
Using the Authoring Tool scroll over to the Web API tab, here, you can take a look at all the API methods available. Additionally you can also run a server locally by pressing the “Start” button. If successful the following message will appear “FAtiMA server started on port ‘8080’”. You can change the port number if you wish to.
Once started the server can be accessed at : localhost:8080
It is important to note that you need to run the Authoring Tool as an Administrator, otherwise the program does not have permissions to run the server on its own.
Once the server is running you can access using pretty any application that uses HTTP to communicate. Personally, we use Postman to make sure it is running correctly.
Now we need to talk a little about about how does HTTP work:
What is HTTP (Hypertext Transfer Protocol)?
How does HTTP work?
As a request-response protocol, HTTP gives users a way to interact with web resources such as HTML files by transmitting hypertext messages between clients and servers. HTTP clients generally use Transmission Control Protocol (TCP) connections to communicate with servers.
HTTP uses specific request methods in order to perform various tasks:
- GET requests a specific resource in its entirety
- HEAD requests a specific resource without the body content
- POST adds content, messages, or data to a new page under an existing web resource
- PUT directly modifies an existing web resource or creates a new URI if need be
- DELETE gets rid of a specified resource
- TRACE shows users any changes or additions made to a web resource
- OPTIONS shows users which HTTP methods are available for a specific URL
- CONNECT converts the request connection to a transparent TCP/IP tunnel
- PATCH partially modifies a web resource
All HTTP servers use the GET and HEAD methods, but not all support the rest of these request methods.
HTTP and FAtiMA
FAtiMA’s Web API supports GET, POST and DELETE methods