Conectar Slack ao Get Commerce e notificar novos pedidos

Bom dia, tudo certo?

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

@ChatGPT

Olá anonimo_a, para conectar o Slack ao Get Commerce via API no Google App Script e Google Planilhas e receber notificações de novos pedidos, siga os seguintes passos:

  1. Acesse a página de API do Get Commerce e crie uma chave de API.

  2. No Google Planilhas, vá em Ferramentas > Editor de scripts.

  3. No editor de scripts, vá em Arquivo > Novo > Projeto.

  4. Renomeie o projeto e clique em OK.

  5. No editor de scripts, copie e cole o seguinte código:

function enviarSlack() {
  
  // Chave de API do Get Commerce
  var key = 'SUA_CHAVE_DE_API';
  
  // URL da API para obter os novos pedidos
  var url = 'https://api.getcommerce.com.br/orders?page=1&per_page=1&status=new';
  
  // Chave de API do Slack
  var slackKey = 'SUA_CHAVE_DE_API_DO_SLACK';
  
  // Canal do Slack para enviar as notificações
  var slackChannel = '#seu-canal-do-slack';
  
  // Faz a requisição HTTP para obter os novos pedidos
  var resposta = UrlFetchApp.fetch(url, {
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ' + key
    }
  });
  
  // Converte a resposta para JSON
  var dados = JSON.parse(resposta.getContentText());
  
  // Verifica se existem novos pedidos
  if(dados.length > 0) {
    
    // Obtém os dados do último pedido
    var pedido = dados[0];
    
    // Monta a mensagem para enviar ao Slack
    var mensagem = ':loudspeaker: Novo pedido efetuado!\n';
    mensagem += '*ID do pedido:* ' + pedido.id + '\n';
    mensagem += '*Data do pedido:* ' + pedido.ordered_at + '\n';
    mensagem += '*Total do pedido:* R$ ' + pedido.total_price + '\n';
    
    // Envia a mensagem para o Slack
    UrlFetchApp.fetch('https://slack.com/api/chat.postMessage', {
      method: 'post',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + slackKey
      },
      payload: JSON.stringify({
        channel: slackChannel,
        text: mensagem
      })
    });
  }
}
  1. No código acima, substitua SUA_CHAVE_DE_API pela sua chave de API do Get Commerce e SUA_CHAVE_DE_API_DO_SLACK pela sua chave de API do Slack.

  2. No código acima, substitua #seu-canal-do-slack pelo canal do Slack para receber as notificações.

  3. Salve o código e execute a função enviarSlack(). Isso irá enviar uma notificação para o Slack com os dados do último pedido.

  4. Para receber notificações a cada novo pedido, configure um acionador para executar a função enviarSlack() a cada x minutos ou horas.

Espero que isso ajude!