Creating Apple Wallet Passes from FileMaker

One of the main benefits of attending Claris FileMaker related developer conferences is learning about new techniques and being able to use them with your existing clients when you return. I’ve been attending FileMaker developer conferences for over 25 years and usually return home with a number of tips, tricks and techniques that I can use with new or existing client projects.

Last November I attended the EngageU European FileMaker conference in Malmö, Sweden where I gave a talk and also attended as many sessions as I could. I like to attend sessions on topics I know nothing or very little about and hopefully learn something new that might be of use in the future.

One of the sessions I was hoping to attend was called Passes, Please! FileMaker’s Journey into Apple Wallet by Javier Durá from Afterdata. Afterdata is a Claris Partner based in Valencia, Spain (one of my favourite Spanish cities) and is one of the organisers of the CodeWave Spanish FileMaker Developer conference. Luckily Javier’s session didn’t overlap with mine and I was able to attend – it was an excellent session that showed how to generate Apple Wallet Passes from FileMaker. The video for this session will appear on the EngageU YouTube channel and is worth a watch if you would like to learn about how the process of creating Apple Wallet Passes works.

When I returned home to Australia after the conference I immediately got in touch with a couple of clients that run events to see if they would be interested in offering Apple Wallet Passes and within a few days I was creating my first Pass all from FileMaker using the great sample file that Javier provided. I won’t go into the full details of what you need in order to create an Apple Wallet Pass, but at a high level these include:

  • an active Apple Developer Program membership
  • generate a Pass Type ID and create/download the required certificates
  • if you’re going to be generating the passes using FileMaker Pro you’ll need to do this on a Mac and download the signing executable from Apple
  • generate the required images to work with your Pass format
  • a FileMaker file that can generate the .json file and have this signed which creates the final Pass that can be added to the Apple Wallet

The final Apple Wallet Pass is just a signed JSON file – you generate the JSON file and the associated images then sign this to create the pass that you can then distribute to your event attendees. You can see examples of this on the Apple Developer website.

After talking with one of my clients we decided that we wanted change how the Pass files were distributed – instead of emailing them as attachments for customers to click on and then be prompted to add them to their Apple Wallet we wanted to simplify this and have a link that we could send via SMS that would open and display the Pass immediately (similar to how you get tickets from airlines, movie theatres etc). This made it easier for the FileMaker users to create and send the passes as they wouldn’t need to have the certificates and the signing app installed on their Mac – they could just click a button to generate a URL to send via email or SMS to the customer.

After some research I found a number of alternative methods to sign the passes and settled on a free PHP library that I could use to generate the json file and sign the pass using PHP dynamically. Having programmed in PHP for around 20 years this was my preferred option but there are many other options available for different programming languages to choose from here. All I needed to do was write some PHP code that used the FileMaker Data API to communicate with FileMaker Server and retrieve the attendee record and create the json file that the pkpass library would then convert into the final .pkpass file and display this for the user to add to their wallet.

To demonstrate this in action I’ve used the Reconnect conference that is taking place in October in Melbourne, Australia as my sample event. Reconnect is the only Claris FileMaker developer conference in the APAC region – as one of the conference organisers I thought this would be a cool feature to develop for attendees this year.

Here’s a screenshot of the simple FileMaker file I created to generate passes for the event (N.B. the Attendees listed here are fake):

I’ve got fields to capture the event details, such as the name, date, time and venue. I’ve used the Apple Maps API to convert the venue location into a geocode of the latitude and longitude and another API to work out the time zone offset from UTC for the event as well. I’ve also specified the RGB value for the background colour – in this example it is black.

Clicking the green button to the right of the Attendee mobile phone number generates a link like this:

https://fms.databuzz.com.au/apple_passes_demo/getPass.php?id=6E8A4828-0FB7-4F30-A0DB-67C11A7BCF1E

I’m including the FileMaker Primary Key value for the Attendee record as the id paramater. The PHP file will parse out this parameter and use the FileMaker Data API to retrieve this record and create the JSON for the Pass and then export this as a .pkpass file. When the link is opened in Safari on the iPhone it automatically appears and prompts the user to Add the Pass to their Apple Wallet:

I’m also generating a simple barcode from another field that can be used to scan the attendee’s pass and mark their record as attended when the conference starts using FileMaker Go. You can also add additional information to the back of the pass such as contact details for the event and a link to a map for the venue:

Here’s a short video showing this in action (you can also watch this on YouTube here):


If you would like to discuss creating Apple Wallet Passes with your FileMaker solution please get in touch to arrange a free consultation and discuss your requirements. If you have any questions please comment below.


Leveraging the FileMaker Admin API in Client Solutions

When the FileMaker Admin API was first released, initially as a trial with FileMaker Server 17 and then officially with FileMaker Server 18, my curiosity was piqued and I wondered if this was something I would be able us with client solutions in the future. We already had the web Admin Console interface as well as the Command Line Interface (CLI) for administering your FileMaker Server, but these were typically used by FileMaker Server administrators and were generally not tools you would grant end users access to.

With the release of the Admin API we now had a tool that provided the ability to perform server administration functions without requiring access to the server itself. Just as the Data API provides a REST API to access to the data in your hosted FileMaker solutions the Admin API provides a REST API for managing and administering FileMaker Server.

Since the release of FileMaker Server 18 in 2019 I’ve used the Admin API to perform a number of admin related functions and allow users of hosted solutions to perform functions that previously would have required giving access to the Admin Console. Here’s a summary of how I’ve used the Admin API in my end user solutions:

Listing Connected Clients

I’ve had a number of clients that needed to generate a list of users that were currently connected – for example to compare against rostering systems to identify users that were rostered on but not actually logged on to the FileMaker solution in question. The Admin API has a List Clients endpoint which returns a list of the connected clients. You can also use the Admin API to send a message to a connected client (similar to sending a message in the Admin Console).

Backup FileMaker Server Schedules

I have a number of clients that have over 50 complex server schedules that perform a number of maintenance tasks and bulk notifications. Upgrading to a new version of FileMaker Server always involves some anxiety that the schedules will be restored successfully when I import them using the Admin Console. Using the Admin API I can also make a separate backup of these using the List Schedules endpoint and restore these if necessary.

Perform a FileMaker Server Schedule

FileMaker Server Schedules can run a number of automation tasks, including:

  • FileMaker scripts defined in hosted databases
  • system script files
  • database integrity verification

Often it makes sense to schedule these to run at a regular schedule (e.g. every 2 hours or at 11pm nightly). There are often times it doesn’t make sense to have a server schedule running on a recurring interval as it will only be required on an ad hoc basis. Using the Admin API you can now perform a schedule on demand when required – I’ve used this with a number of clients to perform complicated schedules that perform multiple tasks on demand instead of having these running needlessly every 15 minutes. I’ve setup FileMaker Pro scripts that give users the ability to perform one of these complicated server schedules as required without having to give them access to the Admin Console.

You can learn more about the FileMaker Admin API at the Claris FileMaker Admin API Guide. You can get detailed information about the API calls in the Admin API Reference. You can view the reference in a web browser on the primary machine at the following URL:

https://localhost/fmi/admin/apidoc

You can view the reference on a remote machine at the following URL:

https://host/fmi/admin/apidoc

If you’re planning to incorporate Admin API calls in your FileMaker solutions I highly recommend downloading the free FM-Admin API Tool that Mike Duncan from Soliant Consulting has generously made available. It includes examples for working with all the Admin API endpoints and can save you many hours getting familiar with making Admin API requests.

If you’re using the Admin API with your client solutions in interesting ways please comment below and share your experiences.

Databuzz 2024 End of Year Xmas Sale – 20% Off All Licenses

The Databuzz End of Year Xmas Sale is now on. We only have one sale each year and for the next 2 weeks you can save 20% on all Product Licenses including:

Use the coupon XMAS2024 at checkout on any purchase and the 20% discount will be applied to your order (excludes Maintenance products). The sale runs until the end of the day on December 31, 2024 (Australian Eastern Daylight Time). Click here to start shopping.

Free trial versions are available for all of our products. You can also get 20% off our custom integration services if you need assistance with integrating one of our products into your existing Claris FileMaker solution.

All our prices are in Australian dollars – if you’re purchasing from outside of Australia you’ll also get to take advantage of the low Australian dollar.

fmMMS Updated for Telstra Messaging API v3

fmMMS, our FileMaker solution that lets you send and receive MMS messages from the Claris FileMaker Platform, has been updated to support the Telstra Messaging API v3. The Telstra Messaging API v2 was switched off on 31 August 2024 and all users should now be using the v3 API.

You can download a trial version of fmMMS to test with the Telstra Messaging API v3 Gateway from the from the Databuzz website. You can try out Messaging API v3 with Telstra’s no-commitment free trial and send up to 100 messages to up to 10 recipients with no time limit, no obligation and no billing information required.

More information on using the Telstra Messaging API v3 Gateway with fmMMS is available on our support site.

fmSMS Updated for Telstra Messaging API v3

fmSMS, our FileMaker solution for sending and receiving SMS messages from the Claris FileMaker Platform, has been updated to support the Telstra Messaging API v3. The Telstra Messaging API v2 was switched off on 31 August 2024 and all users should now be using the v3 API.

You can download a trial version of fmSMS to test with the Telstra Messaging API v3 Gateway from the from the Databuzz website. You can try out Messaging API v3 with Telstra’s no-commitment free trial and send up to 100 messages to up to 10 recipients with no time limit, no obligation and no billing information required.

More information on using the Telstra Messaging API v3 Gateway with fmSMS is available on our support site.


FileMaker Custom Integrations

The Reconnect.Brisbane Claris FileMaker Developer conference gets underway tomorrow in Brisbane and it’s shaping up to be a great conference. With attendees from 9 countries and sponsors from 6 countries it’s going to have a real international flavour this year.

Databuzz is pleased to once again sponsor the Reconnect conference and I’ll be doing a short sponsor presentation where I’ll showcase our FileMaker integration solutions and also talk a little bit about some interesting custom integration projects we’ve worked on over the past year.

In addition to developing our integration solutions we work with customers all around the world helping them integrate their FileMaker solutions with a variety of platforms including:

Over the past 12 months we’ve worked on some interesting and challenging integration projects – here’s a summary of some of these:

Microsoft Office 365 – this integration involved working with the Microsoft Graph API to download emails from Office 365 so these could be viewed within FileMaker. We created a solution to download the emails from Office 365 and view them using a Web Viewer as well as any associated attachments. Webhooks were setup to receive notifications for new messages which triggered a FileMaker Server script to download the new messages.

GitHub – a client was using GitHub, the popular platform for software developers to manage code, version control etc, for tracking issues for their yacht including maintenance tasks. We helped integrate their customer FileMaker solution with GitHub so they could download issues from GitHub, edit these in FileMaker and upload edited issues and new ones with attachments to GitHub.

Amazon Business APIs – we worked with a charter school organisation in the USA to connect FileMaker with the Amazon Business APIs. This involved downloading Products from Amazon in bulk and creating Orders in Amazon and tracking these from FileMaker.

Macquarie Bank DEFT API – a client wanted to integrate with the Macquarie Bank DEFT API to generate welcome emails for DEFT registration, download Direct Debit Authorities, create new payments, search for transactions and more.

Cin7 – a client was using the Cin7 inventory management software and wanted to download sales orders and customers from Cin7 into their custom FileMaker solution for reporting. A FileMaker Server script schedule was created to download new orders from Cin7 weekly and upload those to their FileMaker solution.

If you’re attending Reconnect.Brisbane please come and say hello. Attendees will receive a discount coupon for 20% off all our integration solutions from our online store and one lucky attendee will win a free company license to one of our products as well.

I’ll also be co-presenting the Tips, Tricks, and Opinions you can’t ignore session after lunch on the 2nd day with Nicholas Orr from Goya where I’ll share some of my top time saving tips for faster FileMaker development.

fmSMS Now Supports SMS Express SMS Gateway

fmSMS, our FileMaker solution for sending and receiving SMS messages from the Claris FileMaker Platform, has been updated to support the SMS Express SMS Gateway based in Australia.

The Guni SMS Gateway delivers SMS messages to Australian and and New Zealand mobile numbers – with SMS Express You only pay for SMS. Everything else is free.

You can download a trial version of fmSMS to test with the SMS Express SMS Gateway from the from the Databuzz website. You can signup for a free trial with SMS Express and receive 10 free SMS credits to start testing (no credit card required). More information on using the SMS Express Gateway with fmSMS is available on our support site.

fmMMS Now Supports Sending WhatsApp Messages with the Vonage Messages API

fmMMS, our FileMaker solution that lets you send and receive MMS messages from the Claris FileMaker Platform, has just been updated to support sending messages to WhatsApp users via the Vonage Messages API. This is the second MMS Gateway that you can use to send and receive WhatsApp messages with fmMMS (v1.0 of fmMMS supported sending WhatsApp message using the Twilio Gateway).

More than 2 billion people in over 180 countries use WhatsApp to stay in touch with friends and family and with WhatsApp Business you can communicate directly with your customers. You can send notifications, customer service messages, and essential information your customers need on WhatsApp.

fmMMS supports sending WhatsApp Message Templates using the Vonage API for WhatsApp – being able to send WhatsApp Message Templates is important if you wish to initiate new conversations with your customer.

fmMMS also supports testing using the Vonage Messages API Sandbox – this allows you to test sending WhatsApp messages for free whilst you are developing an integration with WhatsApp. It also works with free trial version of fmMMS.

You can download a trial version of fmMMS to test with the Vonage API for WhatsApp from here. More information on sending WhatsApp message with the Vonage Messages API with fmMMS is available on our support site.

fmSMS Now Supports Sending WhatsApp Templates with the Vonage Messages API

Earlier this year we updated fmSMS, our FileMaker solution for sending and receiving SMS messages from the Claris FileMaker Platform, to support sending messages to WhatsApp users via the Vonage Messages API. We’ve just realised a minor update to this integration to now also support sending WhatsApp Message Templates using the Vonage API for WhatsApp.

WhatsApp divides messages into two different types: Template messages and Session messages. These determine when you can initiate a message to a WhatsApp user.

WhatsApp has a concept of a 24 hour customer care window, during which a business can freely message an end user. The 24 hour window can be initiated in two ways:

  • An end user sends a message to the business
  • A business sends a templated message to the end user. The 24 hour window starts as soon as the end user replies.

Templates must be approved by WhatsApp before they can be used to send messages to an end user. When the 24 hour window expires, a new 24 hour customer care window must be initiated again. Being able to send WhatsApp Message Templates is important if you wish to initiate new conversations with your customer.

You can download a trial version of fmSMS to test with the Vonage Messages API from the Databuzz website. More information on sending WhatsApp message with the Vonage Messages API and fmSMS is available on our support site.

FileMaker Pro 2024 Now Supports Local Notifications

I’ve written previously about generating local notifications from FileMaker Pro (for example when a new incoming SMS has been received) which use AppleScript to create the notifications. The use of AppleScript had a number of limitations: this was limited to macOS users and didn’t support performing a FileMaker script when the user clicked the notification, and also required the fmextscriptaccess extended privilege to be enabled.

In FileMaker 17 Claris introduced the Configure Local Notification script step which allowed you to display a local notification alert on a device when FileMaker Go is either in the background or is not running. The notifications would appear like other iOS notifications on your iPhone or iPad:

The release last month of FileMaker 2024 included a couple of important updates to the Configure Local Notification script step:

  • it now supports creating local notifications in FileMaker Pro (as well as FileMaker Go)
  • it can now display a notification when FileMaker Go is in the foreground (FileMaker Go only) by using the new Show when app in foreground option

This means FileMaker developers can now generate local notifications on both macOS and Windows without needing to use any third party technology such as AppleScript or a FileMaker plug-in. These notifications are great for letting users know when certain processes have finished.

I’ve been using the Perform Script On Server with Callback script step that was first introduced with FileMaker 2023 (v20) a lot recently – it’s a great way to offload long processes to the server and continue to work in FileMaker Pro but also be notified when the server script has finished. Previously I would set my Callback script to use a Custom Dialog box to let the user know when the server script had finished and if there were any errors. With FileMaker Pro 21 I can now change these to use local notifications which are cleaner and don’t require any interaction from the user and allow me to run a script when users click the notification.

On Windows these appear in the bottom right where other Windows notifications appear:

and on macOS these appear in the top right hadn’t corner where other macOS notifications appear:

Here’s a short video showing this in action (you can also watch this on YouTube here):