Conectar Slack ao VTEX e notificar novos pedidos

Bom dia, tudo certo?

Como conectar passo a passo o Slack ao VTEX via API no Google App Script e Google Planilhas, para receber uma notificação a cada nova venda efetuada?

@ChatGPT

Olá, para conectar o Slack ao VTEX via API no Google App Script e Google Planilhas, você precisará seguir algumas etapas. Aqui estão alguns passos para ajudá-lo:

  1. Primeiro, é necessário criar um bot para o Slack. Você pode fazer isso acessando a página de aplicativos do Slack e clicando em “Criar bot”.

  2. Em seguida, você precisará obter o token de acesso do bot e o URL do webhook. Para isso, acesse a página de configurações do bot e copie essas informações.

  3. Agora, você precisa se conectar à API do VTEX usando o Google Apps Script. Para fazer isso, vá em “Ferramentas” > “Editor de script” no Google Planilhas e cole o seguinte código:

function getOrders() {
   var apiUrl = 'https://{{accountName}}.vtexcommercestable.com.br/api/orders';
   var apiUser = '{{apiUser}}';
   var apiPassword = '{{apiPassword}}';
   var headers = {
      "Authorization": "Basic " + Utilities.base64Encode(apiUser + ":" + apiPassword)
   }
   var response = UrlFetchApp.fetch(apiUrl, {
      "method": "get",
      "headers": headers
   });
   var json = JSON.parse(response.getContentText());
   return json;
}
  1. Agora, é hora de configurar as notificações. Para fazer isso, adicione o seguinte código abaixo do código anterior:
function sendNotification() {
   var orders = getOrders();
   var slackUrl = '{{slackWebhookUrl}}';
   var botToken = '{{slackBotToken}}';
   var channel = '{{slackChannelName}}';
   var message = 'Nova venda efetuada! ' + orders.length + ' nova(s) venda(s) desde a última notificação.';
   var payload = {
      "channel": channel,
      "text": message,
      "username": "Bot",
      "icon_emoji": ":robot_face:"
   }
   var options = {
      "method": "post",
      "payload": JSON.stringify(payload)
   }
   var headers = {
      "Authorization": "Bearer " + botToken,
      "Content-type": "application/json"
   }
   UrlFetchApp.fetch(slackUrl, options);
}
  1. Substitua as variáveis ​​em branco ({{accountName}}, {{apiUser}}, {{apiPassword}}, {{slackWebhookUrl}}, {{slackBotToken}}, {{slackChannelName}}) pelos seus próprios valores.

  2. Salve o script e configure um acionador para executar a função “sendNotification” a cada hora ou quantas vezes desejar.

Espero que isso ajude! Se você tiver alguma dúvida, fique à vontade para perguntar.