WOOCOMMERCE
Integration Document
About WOOCOMMERCE
WooCommerce is an open-source e-commerce plugin for WordPress. It is designed for small to large-sized online merchants using WordPress. Launched on September 27, 2011, the plugin quickly became popular for its simplicity to install and customize and free base product.
In May 2015, WooThemes and WooCommerce were acquired by Automattic, operator of WordPress.com and core contributor to the WordPress software.
Developers can use WooCommerce to create, customize, and scale a store to meet a client’s exact specifications, making enhancements through extensions or custom solutions.
Integration highlights
With WooCommerce, we support:
- SKU Pull
- Order List
- Order Status Update
- Order Shipment
- Inventory Push
- Inventory Reconciliation (only on request basis)
Prerequisites for Integration
1. API Credentials
2. Base URL
3. Shipment Tracking Plugin/Extension (only if already have the paid plugin)
Generate API Keys & Consumer credentials
The WooCommerce REST API works on a key system to control access. These keys are linked to WordPress users on your website. To create or manage keys for a specific WordPress user, follow the below steps:
1. Go to: WooCommerce > Settings.
Note: Keys/Apps was found at WooCommerce > Settings > API > Key/Apps prior to WooCommerce 3.4
2. On the Settings page navigate to the Advanced tab and select Rest API
3. You will see something like that. Click on the “Add Key” Or Create an API key Button.
4. You are taken to the Key Details screen.
5. Fill up the form. Give a proper description of your key. Select your user, usually, it is you as an Admin or another user who has Admin privileges in your site. Also, set the permission to Read & Write access. Now click Generate API key button.
Now that keys have been generated, you should see Consumer Key and Consumer Secret keys, a QRCode, and a Revoke API Key button.
The Consumer Key and Consumer Secret are required in the ERP application using the WooCommerce API, and your URL.
Channel Configuration
Once the API Credentials are gathered Open Vin ERP instance.
1. Login to Vin ERP instance and go to “Manage Channels” under the sales section.
2. Go to the top right-hand side of the window and click on “Add New.”
3. Pick the channel from the list.
4. Fill in all the details like Channel Name, order Source WH, Order Sync from date, Return Sync from Date, Inventory Sync Method, Enable Inventory Reconciliation, etc. as per the Channel Maintenance window.
5. Click on “Configure Interface.”
6. Enter the Details.
a. Base API URL: https://website/wp-json/wc/v1
- Protocol: Add proper protocol https:// or http://
- Website: Client’s website name
- Version: V1, V2, V3 depending upon WooCommerce version
b. Consumer Key: It is a mandatory field. API consumer key is generated as mentioned above.
c. Consumer Secret: It is a mandatory field. API consumer secret is generated as mentioned above.
d. Is V3 version: WooCommerce has 3 versions i.e., V1, V2, and V3. If the client is using V1 and V2 then choose “NO.” This flag should only be set to YES if the client is using WooCommerce V3 version.
e. Enable Shipment Tracking APIs: The Enable Shipment Tracking flag should only be enabled if and only if the client has the Shipment Tracking Plugin/Extension installed in its WooCommerce Website.
If this Plugin is not installed with the user, choose “No”, or leave it blank. (In this case, the status update is done, and no shipment tracking details, i.e., AWB no. or transported details will be updated as WooCommerce standard API does not support this.
f. Shipment Tracking URL: If the client has Shipment Tracking Plugin installed in WooCommerce then we have to enable the shipment tracking flag and input the URL as the base URL. OR Website/wp-json/wc/v1 (Make sure to add Proper Protocol i.e., Https:// or Http://). It allows you to add shipment tracking to emails sent to the customer (e.g., Completed Order email).
g. Mark Status as Shipped instead of Completed: In this case, if the client selects “Yes” from the dropbox, then on the MP_Shipment call (shipped updated status on ERP), we update the status as “Shipped” instead of completed. If this dropbox is left blank or selected as “No,” we update the status as “Completed.”
h. Price Exclusive discount (Set NO)/Price Inclusive discount (Set YES): Select Yes/No as per the norms. If the price on the Woocommerce site is inclusive of a discount, select Yes. If selected as No, the price will be exclusive of discount. If left blank, the default value is No.
i. Tax maintained on WooCommerce: If you select this option as “Yes”, it will enable a feature wherein we will stop referring to the tax code/HSN mappings present in the system and will only refer the tax percentage coming from WooCommerce.
Note: If the tax category etc. is not enabled on WooCommerce then the order will be created in ERP with Zero tax. So, use this flag wisely.
7. Click “OK” and “Save” on Channel Maintenance Screen. A new channel code will be created.
Channel Maintenance
Channel Maintenance setup helps the client to reduce manual intervention and avoid the multiple usages of the website. With the selection of below options at Channel Maintenance window (Sales > Manage Channels > Add New > Select WooCommerce) in Vin eRetail instance, User can get the advantage of using multiple features of Vin eRetail:
S.No. | Feature(s) | Where to Click | Dropbox/Checkbox option | Details |
1. | SKU Pull | Channel Maintenance > Channel SKU > SKU Sync > Pull/Push |
| SKU Sync: SKU Sync between Channel and eRetail can be done via PULL & PUSH. Users can choose to Pull the SKU’s from the channel to the eRetail panel. And User can choose Push to send the SKU data or changes from eRetail to the channel.
|
2. | Order Pull/Order Pack/Invoice/Order Shipment | Channel Maintenance > Orders > Order Sync > Yes/No |
| Order Pull: The user can choose to sync the order from the channel to eRetail by managing this option. If this is disabled, the Order pull will not happen also the shipping label/Invoice and manifest will not get generated. |
3. | Inventory update | Channel Maintenance > Inventory Sync |
| Automatically pull and update the inventory |
Channel Mappings
WooCommerce uses SKU Pull to map the SKUs.
Here WooCommerce Id needs to be mapped In Channel Product Id and WooCommerce SKU is used at Channel SKU Code.