Updating to support Shopify Custom Apps/Access Token v1
In January 2022 Shopify announced that Private apps were now deprecated and that going forward you will now need to use Custom apps and authenticate with access tokens instead of using the API Key/Password and basic HTTP authentication that Private apps use.
From February 2022 you can no longer add a new Private app to your Shopify store - existing Private apps can still be used and modified so if you have an existing Private app you do not need to take any action at this stage.
If you have an existing version of fmEcommerce Link (Shopify Edition) and would like to modify this to work with a new Custom app you will need to make a few small changes to your existing file/integration in order to support Custom apps and authentication with Shopify access tokens. The changes you need to make will depend on the version of fmEcommerce Link you are using/integrated with and whether you are using the plugin script steps or the native FileMaker script steps.
N.B. you cannot authenticate with both a Private app and a Custom app at the same time.
fmEcommerce Link (Shopify Edition) v1 - Plugin Version
If you are using a version of fmEcommerce Link v1 that uses the BaseElements plugin for making requests to the Shopify API you will need to make the following changes:
1. once you have setup your Custom app and obtained your Admin API access token you can copy/paste this into the API Key field on the SETUP layout
2. you only need to update 1 script for the access token authorisation changes: Set HTTP Headers
This script steps should look currently look like this:
You need to delete the first Set Variable step and update the second step with the following calculation formula:
BE_HTTP_Set_Custom_Header ( "X-Shopify-Access-Token" ; $fmShopifyAPIKey )
The script should now look like this:
Once you save these changes you are now set to make requests to the Shopify Admin API using the new access token and your custom app. As the scripts are set to also check that the API Password field is not empty you will still need to populate this field with a value (it doesn't matter what you enter in this field as long as it is not empty).
fmEcommerce Link (Shopify Edition) v1 - Native FileMaker Version
If you are using a version of fmEcommerce Link v1 that uses the native FileMaker script steps (requires FileMaker Pro v16 or later and introduced in v1.3) for making requests to the Shopify API you will need to make the following changes:
1. once you have setup your Custom app and obtained your Admin API access token you can copy/paste this into the API Key field on the SETUP layout
2. you will need to update any script that you are using that makes a request to the Shopify API. For each script you just need to make one change as follows:
- find any steps in the script that set the $cURL variable, such as this one highlighted in the Get All Orders script:
- edit the calculation formula for that script step to replace this line:
" --header " & Quote ( "Authorization: Basic " & $encodedAPIKeys ) &
with the following:
" --header " & Quote ( "X-Shopify-Access-Token: " & $$fmShopifyAPIKey ) &
The calculation formula should look like this after you have made this change:
N.B. some scripts have more than one step that sets the $cURL variable.
Repeat this for each script that you are using that makes a request to the Shopify API and confirm this now works by running one of the updated scripts. As the scripts are set to also check that the API Password field is not empty you will still need to populate this field with a value (it doesn't matter what you enter in this field as long as it is not empty).
We have a short video on the fmEcommerce Link Videos page showing how to create a Custom app on the Shopify website.
You can get more information on Custom apps and authenticating with access tokens here: