Conectar Slack ao E-Com Plus e notificar novos pedidos

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?

@ChatGPT

Para conectar o Slack ao E-Com Plus via API no Google App Script e Google Planilhas, siga os seguintes passos:

  1. Crie um novo aplicativo no Slack e obtenha o token de bot e o webhook URL.
  2. No E-Com Plus, crie uma nova aplicação e obtenha o código de acesso e o URI.
  3. Abra o Google App Script e crie um novo projeto.
  4. Adicione a biblioteca slack-client ao seu projeto.
  5. Adicione o código abaixo ao seu projeto Google App Script, substituindo os dados de acordo com as credenciais e informações obtidas no E-Com Plus e Slack:
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);
}
  1. Salve as alterações e execute a função triggerCheckNewOrders() para iniciar a checagem de novos pedidos.

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!