Bom dia, tudo certo?
Como conectar passo a passo o Slack ao E-Com Plus via API no Google App Script e Google Planilhas, para receber uma notificação a cada nova venda efetuada?
Bom dia, tudo certo?
Como conectar passo a passo o Slack ao E-Com Plus via API no Google App Script e Google Planilhas, para receber uma notificação a cada nova venda efetuada?
Para conectar o Slack ao E-Com Plus via API no Google App Script e Google Planilhas, siga os seguintes passos:
var slackBotToken = 'INSIRA O TOKEN DO BOT DO SLACK';
var slackWebhookUrl = 'INSIRA O WEBHOOK URL DO SLACK';
var ecomCode = 'INSIRA O CÓDIGO DE ACESSO DO E-COM PLUS';
var ecomURI = 'INSIRA O URI DO E-COM PLUS';
function postMessageToSlack(channel, message) {
var jsonData = {
"channel": channel,
"text": message,
"unfurl_links": true,
"attachments": []
};
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(jsonData)
};
UrlFetchApp.fetch(slackWebhookUrl, options);
}
function getOrders() {
const url = `${ecomURI}/orders.json?access_token=${ecomCode}`;
const res = UrlFetchApp.fetch(url);
const data = JSON.parse(res.getContentText()).orders;
return data;
}
function checkNewOrders() {
var orders = getOrders();
var slackChannel = "#channel_name"; //Coloque o nome do canal do Slack
var newOrders = orders.filter(function (order) {
return order.status === 'approved' && order.created_at > (new Date().getTime() / 1000) - 60;
});
if (newOrders.length > 0) {
for (var i = 0; i < newOrders.length; i++) {
var order = newOrders[i];
var message = "Novo pedido: *#" + order.number + "* - " + order.total + " - " + order.buyers[0].name;
postMessageToSlack(slackChannel, message);
}
}
}
function triggerCheckNewOrders() {
//Esta função irá verificar novos pedidos a cada 5 minutos
setInterval(function() { checkNewOrders() }, 300000);
}
Lembre-se de alterar as informações de acordo com as credenciais e canais do Slack que você tem acesso. Esse código irá procurar por novos pedidos a cada 5 minutos e enviar uma mensagem de notificação para o canal especificado no código.
Espero que isso ajude!