With WooCommerce Smart Plug integration you can view your customer's order history right from within Freshchat .

For instructions on how to add a smart plug, refer Working with Smart Plugs.
Sample code snippet:
<script>
var store_details = {
// WooCommerce Domain
domain: 'WooCommerce Domain',
// WooCommerce Consumer Key
cs_key: 'consumer key',
// WooCommerce Consumer Secret
cs_secret: 'consumer secret key'
};
</script>
<style>
.Logo2 {
width: 40px;
display: inline;
}
.mainTitle {
display: inline-block;
}
#woo-commerce-banner {
cursor: pointer;
}
div#woo-commerce-main-content {
font-size: 15px;
}
.show-field {
margin-bottom: 8px;
border-bottom: 1px solid #dadada;
list-style: none;
}
.show-field .break-word {
word-wrap: break-word;
word-break: break-word;
}
.field-label {
font-weight: 800;
margin-bottom: 3px;
display: block;
}
.field-value {
display: block;
}
a#custom_show_more {
display: none;
padding: 0;
height: auto;
text-align: center;
cursor: pointer;
}
ul#extra {
display: none;
}
ul#initial {
padding: 0px;
}
ul#extra {
padding: 0px;
}
.preloader_main {
text-align: center;
padding: 30px;
}
#woo-commerce-banner {
cursor: pointer;
padding-bottom: 5px;
}
#woo-commerce-content-tab {
padding-top: 15px;
border-top: 0.2px solid #3864af;
}
</style>
<div id="woo-commerce-main">
<div id="woo-commerce-banner">
<img class="Logo2" src="http://www.iconninja.com/files/567/537/200/logo-development-js-coding-woocommerce-script-icon.svg">
<h4 class="mainTitle">WooCommerce</h4>
</div>
<div id="woo-commerce-content-tab" style="display:none;">
<div id="woo-commerce-main-content">
<ul id="initial" class="show-fields">
</ul>
<a id="custom_show_more">Show more</a>
<ul id="extra" class="show-fields">
</div>
<div id="woo-commerce-error">
<div class="error-message">
</div>
</div>
</div>
</div>
<script>
var wcWidget = (function($, window, email) {
if (window.WOO_COMMERCE_WIDGET) {
window.WOO_COMMERCE_WIDGET.setItUp(email); // pass conversation / user info here
return window.WOO_COMMERCE_WIDGET;
}
var wcWidgetMain = WOO_COMMERCE_WIDGET = {
fcEmail: '',
reqHeader: {
"Authorization": "Basic " + btoa(store_details.cs_key + ":" + store_details.cs_secret),
"Content-Type": "application/json"
},
pre_loader: "<div class='preloader_main'><img src='https://dl.dropbox.com/s/6oxuta50xyfkpfs/712.gif'/></div>",
customerRequest: '',
initialize: function() {
console.log('Init Woocommerce');
},
setItUp: function(email) {
console.log('setItUp');
this.fcEmail = email;
this.customerRequest = false;
console.log('User Email is : '+this.fcEmail);
// this.getUserId("arjun@freshdesk.com");
// this.getUserId(email);
},
bindFunction: function(scope, fn) {
return function () {
fn.apply(scope, arguments);
};
},
expandDetails: function() {
console.log('Click');
var _self = this;
$('#woo-commerce-content-tab').toggle('slow');
if (this.fcEmail && this.fcEmail.length > 0) {
console.log('Email present');
if (this.customerRequest === false) {
jQuery('#woo-commerce-main-content #initial').html(this.pre_loader);
this.getUserId(this.fcEmail);
}
else {
console.log('Ignore since already loaded');
}
}
else {
console.log('No Email present');
this.showErrorMessage();
}
},
getUserId: function(email) {
var _self = this;
$.ajax({
method: "POST",
url: "/app/extension_proxy",
processData: false,
// async: false,
data: JSON.stringify({
url: 'https://'+store_details.domain+'/wc-api/v2/customers/email/'+email,
method : "GET",
headers: _self.reqHeader,
}),
success: function(data,response, header,xhr, headers) {
console.log('User get Success');
_self.customerRequest = true;
_self.wcUserInfo(data);
},
error: function(data) {
console.log('Error on user search');
failure = data;
}
});
},
wcUserInfo: function(data) {
user = data;
var start = '<li class="show-field"><div class="field-label break-word">';
var middle = '</div><div class="field-value break-word">';
var end = '</div></li>';
content = "";
var billing_address = data.customer.billing_address.company+' '+
data.customer.billing_address.address_1+' '+
data.customer.billing_address.address_1+' '+
data.customer.billing_address.postcode+' '+
data.customer.billing_address.city+' '+
data.customer.billing_address.state+' '+
data.customer.billing_address.country;
var shipping_address = data.customer.shipping_address.company+' '+
data.customer.shipping_address.address_1+' '+
data.customer.shipping_address.address_1+' '+
data.customer.shipping_address.postcode+' '+
data.customer.shipping_address.city+' '+
data.customer.shipping_address.state+' '+
data.customer.shipping_address.country;
content += start + "Created On" + middle + moment(data.customer.created_at).format('Do[,] MMMM YYYY [at] hh:mm A') + end ;
content += start + "First Name" + middle + ((data.customer.first_name.length > 0) ? data.customer.first_name : 'N/A') + end;
content += start + "Last Name" + middle + ((data.customer.last_name.length > 0) ? data.customer.last_name : 'N/A') + end;
content += start + "Email" + middle + ((data.customer.email.length > 0) ? data.customer.email : 'N/A') + end;
content += start + "Last Order Date" + middle + ((data.customer.last_order_date != null) ? moment(data.customer.last_order_date).format('Do[,] MMM YYYY [at] hh:mm A') : 'No Order(s)') + end ;
content += start + "Last Order ID" + middle + ((data.customer.last_order_id != null) ? data.customer.last_order_id : 'No Order(s)') + end ;
jQuery('.preloader_main').remove();
$('ul#initial').html(content);
$('#custom_show_more').css('display','block');
content = "";
content += start + "Total Spent" + middle + ((data.customer.total_spent != 0) ? data.customer.total_spent : 'NIL') + end ;
content += start + "Total Number of Orders" + middle + ((data.customer.orders_count != 0) ? data.customer.orders_count : 'No Order(s)') + end ;
content += start + "Role" + middle + data.customer.role + end ;
content += start + "Username" + middle + ((data.customer.username.length> 0) ? data.customer.username : 'N/A') + end;
content += start + "Billing Address Country" + middle + ((billing_address.trim().length > 0) ? billing_address : 'N/A') + end;
content += start + "Shipping Address Country" + middle + ((shipping_address.trim().length > 0) ? shipping_address : 'N/A') + end;
$('ul#extra').html(content);
},
show_more: function(){
var text = $("#custom_show_more").text();
if(text == "Show more"){
$("#custom_show_more").text('Show less');
}
else{
$("#custom_show_more").text('Show more');
}
$('ul#extra').toggle();
},
showErrorMessage: function() {
var template = '<div id="message-content>No User Email Present"</div>';
$('.error-message').html(template);
}
};
wcWidgetMain.initialize();
setTimeout(function() {
wcWidgetMain.setItUp(email);
}, 100);
return wcWidgetMain;
})(jQuery, window, "{{user.email}}");
window.fcAgent.events.addEventListeners({
"events": [
{ "event":"click", selector:"#woo-commerce-banner", callback: wcWidget.bindFunction(wcWidget,wcWidget.expandDetails) },
{ "event":"click", selector:"#custom_show_more", callback: wcWidget.bindFunction(wcWidget,wcWidget.show_more) },
// { "event":"click", selector:"#closeBtn", callback: sbsWidget.bindFunction(sbsWidget,sbsWidget.closeModal) },
// { "event":"click", selector:"#bein_calls", callback: sbsWidget.bindFunction(sbsWidget,sbsWidget.openModal) },
// { "event":"click", selector:"#bein_contracts", callback: sbsWidget.bindFunction(sbsWidget,sbsWidget.openModal) }
]
});
</script>