The WooCommerce plugin supports both simple and variable products. It does not support grouped or external/affiliate products.
The WooCommerce plugin provides the ability to pull all WooCommerce products into Checkout Champ.
The WooCommerce plugin will not pull product variation information into the CRM though it can easily be created in the Product Variant Section in the CRM. Please click this link to be taken to Product Variations article for more information.
Once the plugin is configured and products are synced in, please view the article below:
Step 1 - Login to your WordPress Admin site and follow these instructions
When logged into the Admin site, click on “WooCommerce ” then click “Settings” then click the “Advanced” tab to expose the “REST API” option. Click “REST API” to create your WooCommerce API Keys.
2. Click “Add Key” to create your WooCommerce API Key.
3. In the “Key Details” Screen make sure to enter a Description, choose a user, and ensure you select “Read/Write” for the permissions selection. Then click “Generate API Key” to finish the API key creation process.
4. WooCommerce will display the API keys upon successful API Key creation. Please save these as they are required for the plugin setup in the CRM.
These API Keys become inaccessible as soon as you leave this page.
Step 2 - Setup the Plugin
Navigate to your funnel and drag the WooCommerce page type to the Funnel Visualizer if you have not done so already.
Next, click on the WooCommerce page and then click the settings gear icon to open the plugin settings.
storeURL = your WooCommerce store url (minus the https://)
ConsumerKey= your WooCommerce Consumer Key (required)
ConsumerSecret= your WooCommerce Consumer Secret (required)
campaignId = optional. Use this to assign your WooCommerce products to a specific campaign. If blank, a new campaign will be created when the products are pulled from WooCommerce . If grayed out, then all products will load into the funnel/campaign that the plugin was added to.
GatewayId = optional. The gatewayid to assign to the CRM campaign products that will be created from the WooCommerce products. Entering a value here will save the effort of manually editing the campaign products to assign a merchant account. gatewayId can be found on the MID List on the CRM side of your account under Merchants → MID List.
When the fields are all filled in, click Create Plugin.
Step 3 - Synchronize Products
This process will pull your WooCommerce products into your Checkout Champ account.
From the Funnel Visualizer, open the WooCommerce plugin, verify the information entered, and press the blue “Sync Products” button located at the very bottom of the plugin.
When the sync is finished, open the Funnel’s settings and open Offers or Upsells section to view/edit the imported products.
Variants
Variant detail information (variable products) will be synced from WooCommerce. Variants must be entered using global attributes. Variants cannot be entered using custom product attributes. Custom product attributes do not have the proper id numbers to sync the two platforms.
Step 1: Go to Products > Attributes to add global attributes.
Step 2: Edit a variable product. Go to Attributes. Add or edit a global attribute. Do not choose “Custom product attribute”. Select all the attributes. Check “Used for variations”.
Step 3: Edit a variable product. Go to Variations. Choose “Create variations from all attributes”. This will create variants with proper id numbers required by Checkout Champ.
Step 4 - Troubleshooting Product Sync Errors
It has been discovered that most WordPress servers are configured differently which could cause issue when syncing products. The most common error one might face when using this plugin is "sorry you cannot list resource". To troubleshoot this issue please follow the steps below.
Confirm API credentials are correct.
Confirm pretty permalinks are enabled in your WP settings. If not please follow this guide to ensure you’re permalinks are configured correctly.
If updating your credentials and/or updating your store’s permalinks did not resolve this issue then it is safe to say that this issue might be caused by the way your WordPress server is configured more specifically your server is not passing authorization headers to WordPress .
Make sure your server is passing the authorization headers to WordPress .
Test by passing in key and secret via url rather than headers to confirm the issue
eg:
https://your-store-url.com/wp-json/wc/v3/products?consumer_key=XXXX&consumer_secret=XXXX
If pasting this URL into your browsers yields a proper result then it confirms that there is an issue with your WordPress server configuration.
Before Adjusting your Server Configuration please ensure you take proper back-ups of your server configuration so you can easily roll back changes if they are no longer needed.
Apache Server
If your WordPress site is running on an Apache web server follow these steps to resolve this issue
For eg if you have .htaccess add these lines, if you do not have an .htaccess file create one like so.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
supporting links
https://wordpress.org/support/topic/woocommerce-rest-api-error-401/
https://github.com/woocommerce/woocommerce/issues/19649
Before Adjusting your Server Configuration please ensure you take proper back-ups of your server configuration so you can easily roll back changes if they are no longer needed.
Nginx Server
If your WordPress site is running on an Nginx web server you will not have an .htaccess file and will not be able to edit it like mentioned above. Please follow the below steps to resolve this issue.
Navigate to your Nginx conf file and make the necessary changes.
server { server_name localhost; listen 80; root /var/www; location /wpbop { index index.php; access_log /var/log/nginx/blog.access.log; error_log /var/log/nginx/blog.error.log; try_files $uri $uri/ /index.php$is_args$args; add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; location ~ \.php$ { try_files $uri =404; fastcgi_index index.php; fastcgi_pass 127.0.0.1:7000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } }
}
if that does not work, navigate to /etc/nginx/sites-available/YOUR_DOMAIN on your Nginx server and add the following route.
location / { #try_files $uri $uri/ =404; try_files $uri $uri/ /index.php$is_args$args; }
Supporting links: https://stackoverflow.com/questions/54794782/woocommerce-rest-api-nginx-error-404-not-found