woocommerce integration Setup

Generate API Key:


In order to setup woo commerce integration with Mintsoft the guide is here to generate API keys:

https://docs.woothemes.com/document/woocommerce-rest-api/

 
Read / Write!

Please make sure the API key has read & write access - otherwise we will not be able to update orders when shipped, or sync inventory levels

Once generated navigate to Connect > Orders > Woo Commerce

Create a new account and copy the key and secret over from woo commerce.

 

Store URL on Mintsoft

The URL you use to setup on Mintsoft will depend on the version of woo commerce currently being used.

If the woo commerce version installed is 3.0 or higher then you will need to add /wp-json/wc/v2/ to the end of the URL e.g. https://customerdomain.co.uk/wp-json/wc/v2/

 

 

Order Statuses

By default please user the following statuses;

Import Status: processing

Picking Status: processing

Despatch Status: completed

 

Tracking Numbers

It's now possible to supply tracking details to woo commerce but it does require an extra extension to be installed on Woo

https://docs.woocommerce.com/document/shipment-tracking/

Once you have that extension enabled then make sure you enable the "Send Tracking Info" option on the connector - This is on the Advanced tab.

Woo only accepts specific courier names when providing tracking numbers, you'll need to map these using external courier names:

External CourierService Names

 

Current available shipping providers

  • Australia

    • Australia Post

    • Fastway Couriers

  • Austria

    • post.at

    • dhl.at

    • DPD.at

  • Brazil

    • Correios

  • Belgium

    • bpost

  • Canada

    • Canada Post

  • Czech Republic

    • PPL.cz

    • Česká pošta

    • DHL.cz

    • DPD.cz

  • Finland

    • Itella

  • France

    • Colissimo

  • Germany

    • DHL Intraship (DE)

    • Hermes

    • Deutsche Post DHL

    • UPS Germany

    • DPD.de

  • Ireland

    • DPD.ie

    • An Post

  • Italy

    • BRT (Bartolini)

    • DHL Express

  • India

    • DTDC

  • Netherlands

    • PostNL

    • DPD.NL

    • UPS Netherlands

  • New Zealand

    • Courier Post

    • NZ Post

    • Fastways

    • PBT Couriers

  • Poland

    • InPost

    • DPD.PL

    • Poczta Polska

  • Romania

    • Fan Courier

    • DPD Romania

    • Urgent Cargus

  • South Africa

    • SAPO

    • Fastway

  • Sweden

    • PostNord Sverige AB

    • DHL.se

    • Bring.se

    • UPS.se

    • DB Schenker

  • United Kingdom

    • DHL

    • DPD.co.uk

    • InterLink

    • ParcelForce

    • Royal Mail

    • TNT Express (consignment)

    • TNT Express (reference)

    • DHL Parcel UK

  • United States

    • Fedex

    • FedEx Sameday

    • OnTrac

    • UPS

    • USPS

    • DHL US

 

 

Advanced:

Meta Mapping:

It's possible to map meta values from woo into Mintsoft fields so they can used e.g. Gift Messages, Personalisations etc. To do this you'll need to look at the JSON that we get for an order.

 

Meta Data exists at two levels:

  1. Order Level

  2. Order Item Level

1 - Order Level example:

At the top level you'll find a meta_data node. This is where any custom data stored against the order is found

"meta_data": [{
"key": "gift_message_checkout",
"label": "Gift Message",
"value": "Happy Birthday Luke"
},

So in the example above we can see someone has left a gift message which is under the key "gift_message_checkout". So what we would do is setup a meta mapping at Level Order and Map that to the gift message field. So when the order imports it will take the data from that and put in the GiftMessage field against the order



2 - Order Item Level example:

Unrder line_items you'll find meta_data. This is where any custom data etc is usually found

"line_items": [{
"id": 31647,
"name": "Custom Mug",
"sku": "CUSTOM-MUG",
"product_id": 105885,
"variation_id": 0,
"quantity": 2,
"tax_class": "",
"price": "0",
"subtotal": "33.67",
"subtotal_tax": "6.73",
"total": "0.00",
"total_tax": "0.00",
"taxes": [{
"total": 0.0,
"subtotal": 6.733333
}],
"meta_data": [{
"key": "personalised_name",
"label": "Personalised Name",
"value": "Luke"
}]
}],

So we can see that in the Example someone has ordered a Mug that can be personalised.

So under the MetaMapping tab you'd setup the following mapping using the key of "personalised_name" and map at OrderItem Level and to NameValue (This will create a name value pair against the order item with name of "Personalised_name" and a value of "Luke"

Trouble Shooting

If your connection does not work for any reason, please email support@mintsoft.co.uk to check error logs.

Stock Sync

You must be on Woo Commerce version 3.0 or higher and using the V2 endpoint above to support variation stock sync.

Case Sensitive!

Woo Commerce API is case sensitive for stock sync - please make sure all your SKUS in Mintsoft match the case in Woo either UPPER or lower case.

Shipping Mapping

When mapping it possible to either use the method_id or a combo of the two.

UserComboShippingName option will give you the following:

method_id:method_title

IP Whitelisting

Due to a number of new security plugins being used for woo commerce we would advise that if you experience issues connecting a Woo Commerce account then it may solve the issue if our range of IP addresses are whitelisted on the hosting server for the wordpress / woo commerce installation to ensure that despatch updates can be carried out.

Please contact support@mintsoft.co.uk if you experience connection issues and we can advise if whitelisting is necessary and the IP range to add.

SSL!

The connection will only work with an SSL certificate (HTTPS) installed on the woo commerce store - needs to be site-wide.

To use the latest version of the Woo REST API you must be using:

  • Minimum WooCommerce version 2.6. (check by navigating to woo commerce > system status)

  • Minimum WordPress version 4.4+.