FileMaker Data API (aka REST)
FileMaker 16 came out yesterday, and with it came a new FileMaker Server-based technology called the FileMaker Data API. The Data API provides REST access to your FileMaker databases.
THE GREAT NEWS ABOUT THIS API:
The FileMaker Data API was created from the ground up as a new offering. It’s not pinned to older technologies used in the CWP engine (CWP is Custom Web Publishing – typically using XML &/or PHP). As a result, it’s
- a cleaner implementation,
- more manageable and
- appears to be more scaleable.
Wahoo! That’s awesome!
So let’s go change all of our CWP pages to use REST calls.
This will probably be a great idea – soon. First, it’s important to know the…
NOT SO GREAT NEWS ABOUT THE DATA API:
There are two big gotchas with the Data API and one small one.
Big Gotcha 1: The Data API doesn’t do everything you can do with CWP technologies. Specifically,
- you can’t call scripts using the Data API and
- you can’t get layout and field information using the Data API.
The Data API is on its first release, though. It gets data in & out they way it’s supposed to. We fully expect them to bring the API to parity with other CWP alternatives as they continue developing it.
Big Gotcha 2: The Data API is in Trial Mode until September 2018, then there may be additional charges to continue using it. It’s not clear how that will work, or how much it will cost. But you must keep this in mind as you start integrating the Data API into your solution.
Small Gotcha: FileMaker hasn’t provided a migration path for PHP users. So if you’re migrating your PHP page to use REST for communication with the server,
you’ll need to set up the cURL calls yourself, or write some functions to do it for you.
Oh wait! We did that for you already!
Today we’re releasing a free PHP Class file to simplify using the REST engine from your PHP pages.
- Makes every REST call available as a PHP function.
- Automatically login into server whenever you call any REST functions
- Saves your token for 15 minutes to reuse
- Checks for a broken or disconnected token and automatically reconnects and runs your function again