Recentemente, atualizamos nossa marca em nossas ofertas e mudamos os nomes de nossos planos de preços. Se você se inscreveu antes de 9 de agosto de 2021, clique em Planos anteriores para ver os planos aplicáveis.
 Garantimos que essa alteração não afetará sua experiência com o produto e nenhuma ação é necessária de sua parte.


Com a integração do WooCommerce Smart Plug, você pode visualizar o histórico de pedidos do cliente diretamente do Freshdesk Messaging.



Para obter instruções sobre como adicionar um plugue inteligente, consulte Trabalho com plugues inteligentes .


Snippet de código de amostra:


 <script>
var store_details = {
// Domínio WooCommerce
domínio: 'Domínio WooCommerce',
// Chave do consumidor WooCommerce
cs_key: 'chave do consumidor',
// Segredo do consumidor WooCommerce
cs_secret: 'chave secreta do consumidor'
};
</script>
<style>
.Logo2 {
largura: 40px;
display: embutido;
}
.Título principal {
display: bloco embutido;
}
# woo-commerce-banner {
cursor: ponteiro;
}
div # woo-commerce-main-content {
tamanho da fonte: 15px;
}
.show-field {
margin-bottom: 8px;
border-bottom: 1px solid #dadada;
estilo de lista: nenhum;
}
.show-field .break-word {
quebra de linha: quebra de palavra;
quebra de palavra: quebra de palavra;
}
.Legenda do campo {
peso da fonte: 800;
margin-bottom: 3px;
display: bloco;
}
.field-value {
display: bloco;
}
a # custom_show_more {
Mostrar nenhum;
preenchimento: 0;
altura: automático;
alinhamento de texto: centro;
cursor: ponteiro;
}
ul # extra {
Mostrar nenhum;
}
ul # initial {
preenchimento: 0px;
}
ul # extra {
preenchimento: 0px;
}
.preloader_main {
alinhamento de texto: centro;
preenchimento: 30px;
}
# woo-commerce-banner {
cursor: ponteiro;
acolchoamento inferior: 5px;
}
# woo-commerce-content-tab {
acolchoamento superior: 15px;
borda superior: 0,2px sólido # 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"> Mostrar mais </a>
<ul id = "extra" class = "show-fields">
</div>
<div id = "woo-commerce-error">
<div class = "mensagem de erro">
</div>
</div>
</div>
</div>
<script>
var wcWidget = (function ($, window, email) {
if (window.WOO_COMMERCE_WIDGET) {
window.WOO_COMMERCE_WIDGET.setItUp (email); // passe a conversa / informações do usuário aqui
janela de retorno.WOO_COMMERCE_WIDGET;
}
var wcWidgetMain = WOO_COMMERCE_WIDGET = {
fcEmail: '',
reqHeader: {
"Autorização": "Básico" + 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>",
pedido do cliente: '',
inicializar: função () {
console.log ('Init Woocommerce');
},
setItUp: function (email) {
console.log ('setItUp');
this.fcEmail = email;
this.customerRequest = false;
console.log ('O e-mail do usuário é:' + this.fcEmail);
// this.getUserId ("arjun@freshdesk.com");
// this.getUserId (email);
},
bindFunction: function (scope, fn) {
return function () {
fn.apply (escopo, argumentos);
};
},
expandDetails: function () {
console.log ('Clique');
var _self = this;
$ ('# woo-commerce-content-tab'). toggle ('lento');
if (this.fcEmail && this.fcEmail.length> 0) {
console.log ('E-mail presente');
if (this.customerRequest === false) {
jQuery ('# woo-commerce-main-content #initial'). html (this.pre_loader);
this.getUserId (this.fcEmail);
}
outro {
console.log ('Ignorar visto que já foi carregado');
}
}
outro {
console.log ('Nenhum e-mail presente');
this.showErrorMessage ();
}
},
getUserId: function (email) {
var _self = this;
$ .ajax ({
método: "POST",
url: "/ app / extension_proxy",
processData: false,
// async: false,
dados: JSON.stringify ({
url: 'https: //'+store_details.domain+'/wc-api/v2/customers/email/'+email,
método: "GET",
cabeçalhos: _self.reqHeader,
}),
sucesso: função (dados, resposta, cabeçalho, xhr, cabeçalhos) {
console.log ('Usuário obteve sucesso');
_self.customerRequest = true;
_self.wcUserInfo (dados);
},
erro: função (dados) {
console.log ('Erro na pesquisa do usuário');
falha = dados;
}
});
},
wcUserInfo: function (data) {
usuário = dados;
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>';
conteúdo = "";
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;

conteúdo + = início + "Criado em" + meio + momento (dados.customer.created_at) .format ('Fazer [,] MMMM AAAA [at] hh: mm A') + fim;
conteúdo + = início + "Nome" + meio + ((dados.customer.first_name.length> 0)? data.customer.first_name: 'N / A') + fim;
conteúdo + = início + "Sobrenome" + meio + ((dados.customer.last_name.length> 0)? data.customer.last_name: 'N / A') + fim;
content + = start + "Email" + middle + ((data.customer.email.length> 0)? data.customer.email: 'N / A') + end;
content + = start + "Data do último pedido" + middle + ((data.customer.last_order_date! = null)? moment (data.customer.last_order_date) .format ('Do [,] MMM AAAA [at] hh: mm A '):' Sem pedido (s) ') + fim;
content + = start + "ID do último pedido" + middle + ((data.customer.last_order_id! = null)? data.customer.last_order_id: 'Nenhum pedido (s)') + fim;

jQuery ('. preloader_main'). remove ();
$ ('ul # inicial'). html (conteúdo);
$ ('# custom_show_more'). css ('display', 'bloquear');

conteúdo = "";
conteúdo + = início + "Total gasto" + meio + ((dados.customer.total_spent! = 0)? data.customer.total_spent: 'NIL') + fim;
conteúdo + = início + "Número total de pedidos" + meio + ((data.customer.orders_count! = 0)? data.customer.orders_count: 'Nenhum pedido (s)') + fim;
conteúdo + = início + "Função" + meio + dados.customer.role + fim;
conteúdo + = início + "Nome de usuário" + meio + ((dados.customer.username.length> 0)? data.customer.username: 'N / A') + fim;
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 (conteúdo);

},
show_more: function () {
var text = $ ("# custom_show_more"). text ();
if (text == "Mostrar mais") {
$ ("# custom_show_more"). text ('Mostrar menos');
}
outro{
$ ("# custom_show_more"). text ('Mostrar mais');
}
$ ('ul # extra'). toggle ();
},
showErrorMessage: function () {
var template = '<div id = "message-content> Nenhum e-mail de usuário presente" </div>';
$ ('. mensagem de erro'). html (modelo);
}
};
wcWidgetMain.initialize ();
setTimeout (function () {
wcWidgetMain.setItUp (email);
}, 100);
return wcWidgetMain;
}) (jQuery, janela, "{{user.email}}");
window.fcAgent.events.addEventListeners ({
"eventos": [
{"event": "click", seletor: "# woo-commerce-banner", callback: wcWidget.bindFunction (wcWidget, wcWidget.expandDetails)},
{"event": "click", seletor: "# custom_show_more", callback: wcWidget.bindFunction (wcWidget, wcWidget.show_more)},
// {"event": "click", seletor: "# closeBtn", callback: sbsWidget.bindFunction (sbsWidget, sbsWidget.closeModal)},
// {"event": "click", seletor: "# bein_calls", callback: sbsWidget.bindFunction (sbsWidget, sbsWidget.openModal)},
// {"event": "click", seletor: "# bein_contracts", callback: sbsWidget.bindFunction (sbsWidget, sbsWidget.openModal)}
]
});
</script>