Temper FAQ

What is Temper?

Temper is a Web API for databases that are hosted using FileMaker Server. With the Temper API, you can develop applications that create, read, update, and delete records, perform finds, run scripts, work with containers, get meta information about a layout, and more.


What's the difference between Temper and the FileMaker Data API?

There are quite a few differences between the two APIs, but the two most important differences are:


Temper uses the FileMaker API for XML. Does that mean it's an XML-based API?

No. All Temper API requests and responses are JSON-encoded. Temper takes your JSON-encoded requests and generates XML calls for you. It then takes the XML-based responses that FileMaker returns, and transforms them into JSON. All of that happens behind the scenes.


You mentioned that Temper is an "RPC-style API." What does that mean?

It simply means that Temper uses an architectural style of communication that resembles Remote Procedure Calls. All of the requests are POSTs, and the contents of the request body specify everything that Temper needs to know in order to fulfill a request.

For example, a request to retrieve a single record, based on the record's internal RecordID, will look like this:

curl -X "POST" "http://127.0.0.1:8080" \
     -H 'Content-Type: text/plain; charset=utf-8' \
     -d $'{
  "Host": "localhost",
  "Protocol": "http",
  "Database": "starbucks-us",
  "Account": "xfm",
  "Password": "latte",
  "Layout": "Store Details",
  "Action": "GetRecord",
  "RecordID": 7879
}'

For additional API call examples, check out the Getting Started tutorial, or the example API call files included in the Temper download file.


Can Temper be used with local databases, or with FileMaker Cloud?

Unfortunately, no. Temper uses the FileMaker API for XML, which can only be used with databases hosted using FileMaker Server.


What versions of FileMaker Server does Temper work with?

Temper works with all versions of FileMaker Server that support the FileMaker API for XML. We've tested it with servers as old as version 12.


What technologies was Temper built with?

Temper was developed using Xojo, a popular cross-platform development environment. It runs on top of Aloe Micro, a variant of Aloe Express, which is a popular open source Xojo Web server module. It also utilizes XFM, an open source Xojo module that facilitates integration with hosted FileMaker databases.


Do I need a license for Xojo in order to use Temper?

You can download Xojo and test Temper (and any other apps that you develop) for free. When you're ready to compile and deploy Temper, you will need to purchase a Xojo license. Temper can be used in Xojo console, desktop, and Web projects.


Who developed Temper?

Temper was developed by Tim Dietrich.


What experience and skills do I need in order to use Temper?

To use Temper, you simply need to know how to make API calls using HTTP requests. Some very basic knowledge of Xojo is also needed. In particular, you'll need to know how run Xojo projects in debug mode, and when you're ready to deploy Temper, how to compile the project.


How can I get technical support?

Tim provides one-one-one coaching, consulting services, and workshops on Temper. You're also welcome to email Tim with your questions. If they can be answered quickly via email, then there is no charge for providing that support.


How much does Temper cost?

Temper is provided free of charge, and its source code is fully accessible and distributed under an MIT License. Again, you will need a Xojo license to compile and deploy Temper.