Import Real-Time WooCommerce Data via ODBC in ColdFusion to Build Applications
Adobe ColdFusion is a web and mobile application development platform. It uses its own scripting language, ColdFusion Markup
Language (CFML), to create data-driven websites as well as generate remote services, such as REST. When ColdFusion is paired
with the CData ODBC Driver for WooCommerce, you can link your ColdFusion web and mobile applications to operational WooCommerce data.
This allows for your applications to be more robust and complete. This article details how
to use the ODBC driver to create a table populated with WooCommerce data from within a ColdFusion markup file.
To follow along with this tutorial, you need to install the CData ODBC Driver for WooCommerce and Adobe ColdFusion.
Configuring the Connection
If you have not already, first specify connection properties in an ODBC DSN (Data Source Name). This is the last step of the
driver installation process. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
WooCommerce supports the following authentication methods: one-legged OAuth1.0 Authentication and standard OAuth2.0 Authentication.
Connecting using one-legged OAuth 1.0 Authentication
Specify the following properties (NOTE: the below credentials are generated from WooCommerce settings page and should not be confused with the credentials generated by using WordPress OAuth2.0 plugin):
- ConsumerKey
- ConsumerSecret
Connecting using WordPress OAuth 2.0 Authentication
After having configured the [ plugin, you may connect to WooCommerce by providing the following connection properties:
]
- OAuthClientId
- OAuthClientSecret
- CallbackURL
- InitiateOAuth - Set this to either GETANDREFRESH or REFRESH
In either case, set the Url property to the URL of the WooCommerce instance.
Adding a Data Source and Creating a Table
After creating a DSN, follow the steps below to add a new data source, test our connection to it, create a ColdFusion markup file,
and, finally, import WooCommerce WooCommerce data and display it in a table in ColdFusion:
-
From the ColdFusion administrator interface, choose Data & Services.
-
Here, click "Add New Data Source". The data source name can be any name, provided it conforms to the ColdFusion
variable naming conventions. For our ODBC driver, choose "ODBC Socket", then click the "Add" button.
-
From the ODBC DSN Dropdown menu select CData WooCommerce Sys. Under the Advanced Settings section, leave the
Connection String blank. Note that any properties specified in this input field will override the ones specified in the
DSN Configuration.
-
Now, test the connection by pressing the check mark to the left of the CDataWooCommerceODBC data source you just created.
When the data source reports an "OK" status, it is ready for use.
-
Next, create a new ColdFusion Markup file (.cfm) and place it in the wwwroot directory ("C:\ColdFusion2021\cfusion\wwwroot")
for ColdFusion.
The following code queries the data source:
<cfquery name="WooCommerceQuery" dataSource="CDataWooCommerceODBC">
SELECT * FROM Orders
</cfquery>
And a CFTable can be used to quickly output the table in HTML:
<cftable
query = "WooCommerceQuery"
border = "1"
colHeaders
colSpacing = "2"
headerLines = "2"
HTMLTable
maxRows = "500"
startRow = "1">
<cfcol header="<b>ParentId</b>" align="Left" width=2 text="ParentId"/>
<cfcol header="<b>Total</b>" align="Left" width=15 text="Total"/>
...
</cftable>
Full code, including the HTML portion is available below:
<html>
<head><title>CData Software | WooCommerce Orders Table Demo </title></head>
<body>
<cfoutput>#ucase("WooCommerce Orders Table Demo")#</cfoutput>
<cfquery name="WooCommerceQuery" dataSource="CDataWooCommerceODBC">
SELECT * FROM Orders
</cfquery>
<cftable
query = "WooCommerceQuery"
border = "1"
colHeaders
colSpacing = "2"
headerLines = "2"
HTMLTable
maxRows = "500"
startRow = "1">
<cfcol header="<b>ParentId</b>" align="Left" width=2 text="ParentId"/>
<cfcol header="<b>Total</b>" align="Left" width=15 text="Total"/>
...
</cftable>
</body>
</html>
-
Finally, run the code in a browser. It produces a table populated with WooCommerce data!
As a note, the CData ODBC Drivers also support parameterized queries using the cfqueryparam element.
For example:
SELECT * FROM Account WHERE name =
Get Started Today
Download a free, 30-day trial of the CData ODBC Driver for
WooCommerce and start building WooCommerce-connected applications with Adobe ColdFusion. Reach out to our
Support Team if you have any questions.