Explorar a Estrutura de desenvolvimento Bolt
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Explicar o que é o Bolt.
- Explicar as APIs mais comuns usadas pelos aplicativos Slack.
- Identificar os escopos que permitem que os aplicativos Slack leiam e escrevam mensagens.
Antes de começar
Neste módulo, mostramos os passos para construir um simples aplicativo Slack usando a estrutura de desenvolvimento Bolt para JavaScript. A conclusão dessas etapas é opcional e não há desafios práticos. Mas se você quiser acompanhar e experimentar os passos, precisará do seguinte.
- Um workspace pessoal do Slack. Você pode configurar um workspace pessoal do Slack se já não o tiver feito. Verifique as políticas da sua empresa se quiser usar um workspace ou ativos fornecidos pelo empregador.
-
Glitch, ngrok ou outro ambiente de hospedagem para desenvolver e testar aplicativos Slack. Este módulo usa o Glitch. Se não tiver uma conta do Glitch, você pode criar uma conta gratuitamente.
Conheça o Bolt
O Bolt é uma estrutura de desenvolvimento que facilita a compilação de aplicativos Slack com os recursos mais recentes da plataforma do Slack. Ele usa uma interface de ouvinte que habilita padrões comuns ao lidar com solicitações vindas do Slack, independentemente do tipo.
O Bolt também tem inúmeros recursos por padrão incorporados como, por exemplo, suporte para OAuth, verificação de eventos e uma interface simplificada para recursos como etapas do fluxo de trabalho dos aplicativos. Este módulo fornece uma visão geral das APIs do Slack, dos padrões de ouvintes do Bolt e da criação de um aplicativo Bolt para JavaScript.
APIs do Slack resumidas
Antes de criar com o Bolt, é útil ter uma compreensão geral das interfaces de programação de aplicativos (APIs). Se você não estiver familiarizado com APIs, confira o módulo Noções básicas sobre API.
Os aplicativos Slack têm acesso a uma série de APIs que fornecem acesso a dados de leitura, gravação e atualização no Slack. As duas APIs mais comumente usadas para aplicativos são a API Web e a API de eventos. Elas funcionam como um jogo de pingue-pongue. O Slack usa a API de eventos para enviar um evento ao seu aplicativo. Seu aplicativo usa a API Web para enviar uma interação de volta.
API de eventos
A API de eventos usa assinaturas de eventos para enviar cargas JSON para o seu aplicativo via HTTP. Quando seu aplicativo recebe um evento, ele reconhece a carga e decide que medidas tomar. Eventos podem ser qualquer coisa que aconteça dentro de um workspace: uma mensagem publicada em um canal, um usuário abrindo a guia inicial do seu aplicativo ou um novo usuário entrando no workspace. A lista completa de eventos com exemplos de carga pode ser encontrada no site da API do Slack.
O Bolt inclui auxiliares internos para receber e encaminhar eventos para os ouvintes do seu aplicativo e expor informações úteis, como o workspace ou os usuários ou canais relevantes. Os ouvintes serão abordados mais tarde neste módulo.
API Web
A API Web é uma coleção de métodos HTTP com convenções de chamadas semelhantes para interagir com objetos no Slack como, por exemplo, canais, conversas, eventos e muito mais. Essas interações incluem enviar mensagens avançadas e interativas para um canal ou outra superfície ou consultar informações do workspace como, por exemplo, uma lista de usuários. A lista completa de métodos da API Web pode ser encontrada no site da API. O Bolt inclui um cliente interno com recursos como manipulação de limites de taxa e lógica de repetição para simplificar as chamadas e o manuseio de respostas de solicitações da API Web.
E para casos de uso de nicho como administrar um workspace ou realizar auditorias de segurança, outras APIs podem ser encontradas na documentação.
Preparado para usar o Bolt no seu aplicativo? Vamos lá!
Criar um aplicativo Slack
Para começar, é preciso criar um novo aplicativo Slack. Você pode criar um aplicativo do zero ou usar um modelo de manifesto. Neste módulo, você usa um manifesto que já está configurado com as permissões e os eventos. Você pode modificar o aplicativo mais tarde, se desejar.
-
Criar um novo aplicativo Slack usando nosso modelo de manifesto. O link abre uma lista suspensa para selecionar o workspace de desenvolvimento onde você compila e testa seu aplicativo.
- Selecione o workspace e clique em Avançar. Neste exemplo, o workspace SeaMoss é selecionado.
- Depois de selecionar seu workspace, você verá outro pop-up, Analisar resumo e criar seu aplicativo. Ele tem informações sobre as permissões e eventos que seu aplicativo conterá. Abordaremos tudo isso com mais detalhes mais tarde. Clique em Create (Criar).
- Você vai automaticamente para a página Informações básicas do seu aplicativo, chamada aplicativo Exemplo. Clique em Got It (Entendi) na mensagem de boas-vindas.
A página Informações básicas contém uma visão geral do seu aplicativo, além de credenciais importantes de que você precisa para usar as APIs de eventos e Web, como o Segredo de assinatura no cabeçalho Credenciais do aplicativo.
Fique à vontade para explorar, adicione um ícone de aplicativo e descrição e, então, começaremos a explorar outras opções de configuração.
Solicitar escopos e instalar seu aplicativo
Escopos fornecem permissão ao seu aplicativo para fazer chamadas de API Web no workspace instalado (publicar uma mensagem, por exemplo). Você pode selecionar os escopos a serem adicionados ao seu aplicativo navegando até a página OAuth e permissões na barra lateral.
- Na página do seu aplicativo, selecione OAuth e permissões na barra lateral.
- Role até Scopes (Escopos). Aqui você pode ver os Bot Token Scopes (Escopos do token de bot)
channels:history
echat:write
, que foram incluídos como parte da criação do seu aplicativo a partir do manifesto. Esses escopos concedem ao seu aplicativo a permissão para ler e publicar mensagens em canais públicos dos quais ele é membro. Para ouvir mensagens em canais privados e mensagens diretas (DMs) dos quais seu aplicativo é membro, você precisará de assinaturas adicionais de escopos*:history
correspondentes ao tipo de canal.
- Volte para o topo da página OAuth e permissões e clique em Install to Workspace (Instalar no workspace).
- Em seguida, clique em Allow (Permitir).
Após a instalação, você voltará à página OAuth e permissões, onde verá um novo Token de acesso OAuth do usuário bot.
Os tokens de acesso têm poder. Eles representam as permissões concedidas ao seu aplicativo pelo usuário instalador (nesse caso, você mesmo).
Lembre-se de manter seu token de acesso em segredo. No mínimo, você deve evitar colocar seu token de acesso no controle de versão pública e deve acessá-lo por meio de uma variável de ambiente. A documentação da API também contém uma lista de melhores práticas de segurança de aplicativos.
Adicionar o aplicativo a um canal
Antes de hospedar, desenvolver e testar seu aplicativo, o que cobriremos na próxima unidade, você precisará adicionar seu aplicativo a um canal público. Neste exemplo, o aplicativo Exemplo SeaMoss é adicionado ao canal #geral.
- Abra seu workspace do Slack.
- Clique com o botão direito do mouse no canal em seu workspace pessoal.
- Clique em Open channel details (Abrir detalhes do canal).
- Em seguida, clique na guia Integrations (Integrações).
- Clique em Add an App (Adicionar um aplicativo).
- Se você não vir seu aplicativo imediatamente, procure-o usando o campo de pesquisa. Em seguida, clique em Add (Adicionar) ao lado do seu aplicativo.
De volta ao canal #geral, você deve ver que seu aplicativo foi adicionado. Agora você já pode hospedar e desenvolver seu aplicativo!
Recursos
-
Slack: Criar um workspace do Slack
-
Trailhead: Noções básicas da API
-
API do Slack: Como usar a API Web do Slack
-
API do Slack: Como usar a API de eventos do Slack
-
API do Slack: Métodos da API Web
-
API do Slack: Escopos de permissão
-
API do Slack: Como recuperar mensagens
-
API do Slack: Melhores práticas de segurança