Conectar Slack ao Vnda e notificar novos pedidos

Bom dia, tudo certo?

Como conectar passo a passo o Slack ao Vnda 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 Vnda e receber notificações de novos pedidos você precisará seguir os seguintes passos:

  1. Primeiro, você precisará criar uma nova aplicação Slack no seu workspace. Para isso, acesse o link Slack API: Applications | Slack e clique em “Create New App”. Siga as instruções para criar a aplicação.

  2. Em seguida, você precisará criar um novo canal no Slack para receber as notificações de novas vendas. Para isso, acesse o seu workspace do Slack, clique em “Channels” e depois em “Create Channel”.

  3. Agora você precisará gerar uma chave de API do Vnda. Para isso, acesse o Vnda e vá até Configurações > Integrações > API. Clique em “Gerar Nova Chave” para obter a chave de API.

  4. Crie um novo projeto no Google Cloud Platform e habilite a API do Slack e do Vnda. Para isso, acesse https://console.cloud.google.com/, clique em “APIs & Services” e depois em “Dashboard”. Em seguida, procure pelas APIs do Slack e do Vnda e habilite-as.

  5. Agora você precisará criar o seu script no Google App Script para receber as notificações de novas vendas. Para isso, acesse https://script.google.com/ e crie um novo script.

  6. Adicione o seguinte código ao seu script para conectar ao Vnda via API:

function getVndaSales() {
  var apiKey = 'sua_chave_de_api';
  var url = 'https://api.vnda.com.br/v2/sales.json?status=new'; //busca por novas vendas
  var headers = {
    'Authorization': 'Token token=' + apiKey,
    'Content-Type': 'application/json'
  };
  var response = UrlFetchApp.fetch(url, { 'headers': headers });
  var data = JSON.parse(response.getContentText());
  return data.sales;
}
  1. Adicione também o seguinte código para enviar as notificações para o canal do Slack:
function sendSlackNotification(channel, text) {
  var slackApiKey = 'sua_chave_de_api_do_slack';
  var slackChannelUrl = 'https://slack.com/api/chat.postMessage';
  var headers = {
    'Authorization': 'Bearer ' + slackApiKey,
    'Content-Type': 'application/json; charset=utf-8'
  };
  var payload = {
    'channel': channel,
    'text': text,
    'as_user': true
  };
  var options = {
    'method' : 'post',
    'headers' : headers,
    'payload' : JSON.stringify(payload),
  };
  UrlFetchApp.fetch(slackChannelUrl, options);
}
  1. Por fim, adicione o seguinte código para executar o script e enviar as notificações de novas vendas para o canal do Slack:
function checkSales() {
  var sales = getVndaSales();
  if (sales.length > 0) {
    var channel = '#canal_do_slack';
    var text = 'Você tem ' + sales.length + ' novas vendas no Vnda!';
    sendSlackNotification(channel, text);
  }
}
  1. Agende a execução do script para receber notificações de novas vendas periodicamente. Para isso, vá em Editar > Atualização de projeto e acesse a guia “Gatilhos”. Clique em “Adicionar Gatilho”, escolha a função “checkSales” e configure a frequência que deseja receber as notificações.

Espero que esses passos ajudem você a conectar o Slack ao Vnda e receber notificações de novos pedidos. Qualquer dúvida ou problema, não hesite em perguntar.