Extending Your FileMaker WooCommerce Integration

It’s been more than 5 years since we first released v1.0 of fmEcommerce Link (WooCommerce Edition), our Claris FileMaker solution for integrating with the WooCommerce eCommerce Platform. Since that first release we’ve helped hundreds of customers connect their FileMaker business apps with their online store to eliminate manual processes and double data entry, saving them time and money.

As well as the core online store functionality WooCommerce also has a marketplace that has hundreds of free and paid extensions that add features and functionality to your store. We’ve helped a number of customers and FileMaker developers integrate with many of the most popular WooCommerce extensions, many of which have their own APIs.

Here’s some of the ways in which we’ve helped customers extend their FileMaker WooCommerce integration beyond the core WooCommerce API features:

Custom Fields: we regularly encounter WooCommerce stores that contain custom fields and more often than not the store owner would like to be able to update the value in these custom fields when uploading (e.g. Products) and also download the value in these fields (e.g. Orders). There are many ways to add custom fields to your WooCommerce store, including using a WordPress plugin such as the Advanced Custom Fields plugin or modifying php files.

The easiest way to work with custom fields is via the Meta Data which is accessible using version 2 or later of the WooCommerce REST API. You can both update custom fields and retrieve them via the Meta Data, which uses a Key/Value pair system where the key is the name of the custom field and the value is the value for that custom field. We have several articles on our support site that cover working with custom fields, including:

  • Can I Update Product Custom Fields – this article demonstrates how to use the meta data to update a custom field when uploading a Product from FileMaker to WooCommerce
  • Downloading Custom Fields – this article demonstrates how to access the meta data when downloading an Order from WooCommerce to FileMaker

WooCommerce Subscriptions: one of the most popular extensions for WooCommerce is WooCommerce Subscriptions which allows customers to subscribe to your products or services and pay on a weekly, monthly or annual basis. This extension also has its own API which you can make requests to get subscription specific data that isn’t included in the core WooCommerce API. Using their API you can access subscriptions data from FileMaker and create, read, update and delete subscription data.

Shipments: this is another popular category for WooCommerce extensions. For stores that have to ship physical goods to their customers using a shipments extension can help customers track their orders and integrate with shipping carriers to print labels and assist with fulfilments. We’ve helped several customers integrate with the Shipment Tracking extension which allows you to add shipment tracking information to your orders, providing customers with an easy way to track their shipment. Once again this plugin also has it’s own API which we can make requests against, for example to create shipment tracking for an order as it is being processed.

We’ve also integrated with the AfterShip WordPress plugin which also has it’s own API and allows you to create shipment tracking for a WooCommerce Order.

Gift Cards: WooCommerce includes support for Coupons but not Gift Cards which allow customers to purchase digital gift cards that can be redeemed online in the future. We’ve recently helped a number of customers integrate with the WooCommerce Gift Cards extension to retrieve details of any gift cards used in an Order and check the balance of a gift card.

These are just some of the examples of ways in which you can extend your fmEcommerce Link (WooCommerce Edition) integration. If you would like to discuss extending your integration please get in touch for a free initial consultation to discuss your requirements.

WooCommerce REST API Now Supports Filtering by Modification Date

We’ve had many requests over the years to update our fmEcommerce Link (WooCommerce Edition) solution to allow you to just download Products that were updated recently by date range. A common use case is that you have updated a subset of products in WooCommerce and just need to get those updated products into FileMaker.

fmEcommerce Link does have the ability to update a product in FileMaker from WooCommerce, but you would need to have kept a track of the WooCommerce IDs for the products that were updated in WooCommerce and then find these in FileMaker and perform the update. Unfortunately the WooCommerce REST API didn’t support the ability to perform queries by modification date (only date published/created).

This functionality has been requested in the past for orders to save having to query for the whole set of WooCommerce orders just to retrieve the handful that were recently updated. Earlier this year I decided to also submit a feature request for the ability to query the products API endpoint using modified_before and modified_after query parameters that filtered using the date modified field. This request was well supported by other developers and I’m pleased to report that WooCommerce 5.8.0 and later now support this feature for the product, order and coupon API endpoints.

We’ve put out an update to fmEcommerce Link (WooCommerce Edition) v2 for downloading updated Products – v2.0.3 now lets you filter by date modified when downloading Products from WooCommerce:

Check out our support article here for further details. If you would also like to see this filter for downloading orders please get in touch and let us know.

fmEcommerce Link (WooCommerce Edition) Now Supports the REST API v3

Back in 2018 we wrote about the new version of the WooCommerce REST API – v3 – that was released as part of WooCommerce 3.5. We had planned to let the dust settle for a few months before switching over from v2 to v3 and make this change in 2019. Time got away from us and with WooCommerce 4.0 just around the corner we felt we should make this change now.

We’ve just released an update to fmEcommerce Link (WooCommerce Edition) – v1.65. In this version we’ve changed the version number of the API that we call from v2 to v3 in the WooCommerce_BaseURL custom function. At this stage we haven’t made any v3 specific changes as these were much smaller in scope than the jump from v1 to v2 of the REST API. The system requirements for fmEcommerce Link (WooCommerce Edition) will change slightly – you will need WooCommerce 3.5.x or later and WordPress 4.4 or later. We do plan on adding support for v3 specific changes in future updates, such as the new reviews endpoint and refunding of line items.

There are also a number of other changes in this update (full list here) including:

  • added New Customer Webhook example for automatically creating a new Customer record in the fmEcommerce Link file when a new Customer is created in WooCommerce
  • added Data API compatible versions of New Customer Webhook and New Order Webhook PHP files

The FileMaker Server Data API will replace the current XML and PHP APIs over time so we’re excited to include support for the Data API. Supporting the Data API also means you can now use Webhooks when your file is hosted by FileMaker Cloud for AWS, as well as FileMaker Server v17 or later. We’ve been testing these Data API Webhooks for the past few months with a FileMaker Cloud for AWS hosted solution and the PHP files running on Amazon Lightsail successfully.

The Data API is language agnostic – you can use whichever programming language you prefer here. We’ve gone with PHP for our examples as that is what we know best. Remember when working with the Data API you will need to enable the fmrest extended privilege for the Webhooks Privilege Set:

If you are just looking to use the Data API PHP files make sure you also update the Process Webhooks Order script as this has been updated to work with the Data API version of the Webhooks which work slightly differently to the existing PHP API ones.

Once again this is a free update to all existing customers (simply download using the same link that was on your original order email). If you’re having any issues with downloading the new version please contact us if you need the link to be reset etc.

fmEcommerce Link (WooCommerce Edition) Now Supports Media Uploads from FileMaker Container Fields

One of the limitations when it comes to uploading images for Products using the WooCommerce REST API is that you have to either include a source URL for WooCommerce to download the image from, or include the ‘ID’ for the image from the WordPress Media Library. The WooCommerce API doesn’t allow for files to be uploaded directly from a FileMaker container field, which is where you would typically store them in FileMaker.

We regularly receive requests from customers wanting to know how they can upload files that are stored in their FileMaker container fields for Product Images and have had to regularly break the bad news to them. However we are pleased that we can finally offer a solution to this problem. You can now upload a file stored in a regular FileMaker container field:

and upload it to the WordPress Media Library at the click of a button:

Once it is in the WordPress Media Library you can quickly copy/paste the WordPress ID to a WooCommerce Product Image and upload that to WooCommerce:

We’ve leverage the WordPress REST API, which the WooCommerce API is fully integrated with, as this does allow for media files to be uploaded directly to the WordPress Media Library. We’re pleased to announce that v1.6 of fmEcommerce Link (WooCommerce Edition) is now available as a free update for all existing customers – we have a page covering all the details of how to install the required WordPress plugin and setup fmEcommerce Link for uploading files directly from FileMaker container fields.

Here’s a video showing the Media file upload from a FileMaker container field in action (you can also watch it directly on  YouTube here):

fmEcommerce Link (WooCommerce Edition) Now Supports Order Uploads


Since we first released fmEcommerce Link (WooCommerce Edition) back in 2016 we’ve had a number of requests from customers asking us to include the ability to upload Orders from FileMaker to WooCommerce. fmEcommerce Link was created from a solution we built for our own business to solve a very pressing problem at the time – automate the downloading of Orders from WooCommerce into FileMaker so we didn’t have to manually enter these one-by-one.

At the time we didn’t see a huge need for having the ability to go the other way, as the whole point of WooCommerce is to handle online orders from your website. Having spoken with our customers who were requesting this and also having used fmEcommerce Link in our own business for a few years we can now see some scenarios where it would be helpful to have the ability to upload Orders entered in FileMaker to WooCommerce, including:

  • not all Orders for your products are entered directly into WooCommerce by all customers. Some customers might receive your product as part of a larger consulting project, or have to use payment methods that are not accepted on your store.
  • sometimes you just need to send the customer to your store to pay for an Order without wanting them to start from scratch and select the various products, add them to the cart and complete the checkout page. There is a way to create an Order for a customer and send them the link to the customer payment page so all they need to do is enter their credit card/payment details (see video below)
  • you might have orders from legacy systems that pre-date your WooCommerce store which you wish to upload so WooCommerce is in sync with your CRM software, allowing customers to be able to login and download updates and see their full history

Having had to enter a number of Orders manually into WooCommerce over the past few years we saw the light and started work on an update to fmEcommerce Link that includes the ability to upload Orders from FileMaker to WooCommerce. We’re pleased to announce that v1.53 of fmEcommerce Link (WooCommerce Edition) is now available as a free update for all existing customers.

When working with Order uploads to WooCommerce please be aware of the following:

  • the tax fields are “read only” in the API so when you upload an Order we then download the updated details from WooCommerce which include the tax amounts that WooCommerce calculates automatically
  • Coupons are not applied when they are included in an Order upload with the REST API v2 that we currently support, so we’ve decided not to include them to avoid any confusion. The REST API v3 that was recently released includes some changes around Automatic total calculations when applying/removing coupons, so this is something we will included when we release an update designed to work with the v3 API
  • if you want to delete an Order Line item you don’t delete the line item in FileMaker – just set the Qty to 0 and include that when uploading and WooCommerce will remove it from the Order for you

Here’s a video showing the Order upload in action, including the ability to retrieve the URL for the customer payment page if you wish to send your customer a link to pay for an Order you create in FileMaker.

 

You can view the full release notes on our version history page.

WooCommerce 3.5 and the new REST API v3

Last week WooCommerce released WooCommerce v3.5 which included a new version of the REST API – v3. As with previous releases of the REST API this new version includes a number of new endpoints as well as updates to some existing endpoints. Here’s a summary of the new features in the REST API v3:

  • A reviews endpoint to list, get, create, and update product reviews.
  • Date fields are now editable on the products endpoint, and the endpoint has been updated to work with the “on backorder” stock status.
  • A series of new reports endpoints to get total counts of orders, products, customers, coupons and reviews.
  • New orderby options for the products endpoint to allow listing products by price, popularity, or rating.
  • Automatic total calculations when applying/removing coupons in the orders endpoint.
  • New data endpoints to fetch Continents, Countries and Currencies.
  • Refund line items through the API.
  • Ability to batch update settings

To use the new v3 API you will need to be running WooCommerce v3.5 or later – we plan to start adding support for some of the new endpoints and updates in a future release of fmEcommerce Link (WooCommerce Edition). It’s important to note that v1 and v2 of the REST API still work and are still included in WooCommerce 3.5 so updating won’t break any integration that uses the fmEcommerce Link (WooCommerce Edition) solution. Let us know what features from the v3 API you would like to see included first by contacting us or leave a comment below.

We’ll be taking our time with the next update to give you more time to update your site to WooCommerce 3.5. You should always follow the WooCommerce guidelines for updating your version of WooCommerce, including making backups and testing the new version for compatibility with your other plugins etc in a test environment.

We’re already working on some updates for our next release around uploading Orders from FileMaker to WooCommerce and uploading locally stored images that won’t require WooCommerce 3.5

You can get all the details for the new v3 API at the API documentation page.

Andrew Duncan from Databuzz to speak at WordCamp Brisbane 2018

WordCamp Brisbane 2018 is on 27-28 October this year at the Queensland University of Technology in Brisbane. Databuzz is pleased to announce that Andrew Duncan will be speaking this year on WooCommerce integration using the WooCommerce API.

Databuzz are big fans of WooCommerce and WordPress – we’ve been using WordPress and WooCommerce for many years to run our websites and eCommerce platforms. Our fmEcommerce Link (WooCommerce Edition) solution is one of our most popular products and we continue to update this with new features and improvements. Andrew’s presentation will cover the new v3 of the REST API that will be released with WooCommerce 3.5 later this month.

We look forward to meeting up and discussing all things WordPress – you can get tickets and more information from the WordCamp Brisbane 2018 site here:

https://2018.sydney.wordcamp.org/

WordCamp Sydney 2018 Recap

Here at Databuzz we love WordPress and WooCommerce and have been using both in our business for many years. I’ve never attended a WordCamp before – WordCamps are informal, community-organized events that are put together by WordPress users – but that changed last weekend when I attended and presented at my first WordCamp – WordCamp Sydney 2018:

I had a great time at the conference meeting fellow WordPress enthusiasts and learning more about the WordPress platform. The conference had a particular focus on Gutenberg, the new editor coming soon to WordPress as part of the 5.0 release. You can try Gutenberg now by installing the Gutenberg plugin – I was impressed by what Gutenberg can do and it really brings the WordPress editor into the modern age.

The videos and the slides from the conference should be available on WordPress.tv in around 2-3 weeks. I’ve uploaded a copy of my slides here as well if you would like to download a copy.

I’m looking forward to attending more WordCamps in the future – you can see all the upcoming WordCamps at the WordCamp Central site. I would like to thank all the event organisers and the sponsors for putting on a great conference at an excellent venue: UTS has changed a lot since I was a student nearly 30 years ago!

Andrew Duncan from Databuzz to speak at WordCamp Sydney 2018

 

WordCamp Sydney 2018 is on 28 & 29 July this year at the University of Technology Sydney. Databuzz is pleased to announce that Andrew Duncan will be speaking this year on WooCommerce integration using the WooCommerce API.

Databuzz are big fans of WooCommerce and WordPress – we’ve been using WordPress and WooCommerce for many years to run our websites and eCommerce platforms. Our fmEcommerce Link (WooCommerce Edition) solution is one of our most popular products and we can continue to update this with new features and improvements.

We look forward to meeting up and discussing all things WordPress – you can get tickets and more information from the WordCamp Sydney 2018 site here:

https://2018.sydney.wordcamp.org/

fmEcommerce Link (WooCommerce Edition) Now Runs Natively on FileMaker 16 Platform

When we first released fmEcommerce Link (WooCommerce Edition) back in 2016 the functionality required to integrate with the WooCommerce REST API did not exist in the current version of FileMaker Pro, therefore we had to use a FileMaker Pro plug-in to handle the API requests, set HTTP Headers, encode JSON and parse the JSON response. This allowed fmEcommerce Link (WooCommerce Edition) to run under FileMaker Pro v12 and later, as well as under FileMaker Server with the plug-in installed, however it prevented it from running on FileMaker Go which does not currently support plug-ins (except via the iOS App SDK).

With the release of the FileMaker 16 platform we got a number of new functions and script steps, including support for working with JSON data and being able to specify supported cURL options with the Insert From URL script step. These new features meant that we were no longer dependent on plug-in functions and we could replace these with native FileMaker features. We’re pleased to announce that v1.5 of fmEcommerce Link (WooCommerce Edition) is now available and includes a number of new features, including native support for FileMaker Pro v16 and later. This is a free update to all existing customers (simply download using the same link that was on your original order email).

We’ve updated all the requests for downloading and uploading to the WooCommerce API to use native FileMaker functions and script steps so you no longer need to use a FileMaker plug-in if you’re using FileMaker Pro v16 or higher. This means you can also use fmEcommerce Link on FileMaker Go natively (requires FileMaker Go 16) – we’ve also included an example for using Perform Script on Server to have FileMaker Server handle uploading a Product to WooCommerce.

In working on this update (which was a much bigger update than we anticipated and took much longer than we planned!) we tried to avoid making too many unnecessary schema changes. We’ve simply updated the scripts to check which version of FileMaker Pro, FileMaker Go or FileMaker Server is being used and if you’re using v15 or earlier we simply use the previous plug-in functionality, and if you’re using v16 or later we now use native functionality. Everything works exactly the same regardless of which version of FileMaker Pro you’re using, but we can now include support for FileMaker Go as well as having one less dependency to worry about.

You can get all the details on our version history page – we’re busy working on adding native FileMaker 16 support to our other products, as well as some further updates to fmEcommerce Link (WooCommerce Edition) including support for uploading Orders from FileMaker to WooCommerce.