Skip to main content

Com o avanço da tecnologia e a necessidade de otimização da comunicação no setor médico, muitas empresas estão buscando soluções inovadoras. Uma dessas empresas é a RT Medical Systems, uma líder no mercado de tecnologia médica. Esta empresa identificou a necessidade de seus clientes – os hospitais – de terem um meio de comunicação mais ágil e direto. Para atender a essa demanda, a RT Medical Systems decidiu integrar duas das plataformas de comunicação mais populares e eficientes: o Slack e o WhatsApp. Neste post, vamos explorar como essa integração beneficiou tanto a empresa quanto seus clientes.

1. Introdução à Integração entre Slack e WhatsApp

Em uma era onde a digitalização dos negócios e a descentralização das equipes de trabalho são cada vez mais proeminentes, a demanda por uma comunicação eficaz e integrada cresce exponencialmente. Integrar o Slack com o WhatsApp é mais do que uma inovação; é a resposta para otimizar o fluxo de comunicação em ambientes de trabalho multifacetados.

 

Por que Slack e WhatsApp?

A Escolha do WhatsApp

A popularidade do WhatsApp no cenário global e seu uso frequente por profissionais da saúde fez dele uma escolha óbvia para a RT Medical Systems. Ao permitir que seus clientes abram suporte via WhatsApp, a empresa mostra que está atenta às tendências e pronta para se adaptar às necessidades dos hospitais.

As Vantagens do Slack

Por outro lado, o Slack oferece um ambiente colaborativo para equipes, com recursos que facilitam a comunicação interna e a gestão de tarefas. A capacidade da equipe de suporte da RT Medical Systems de responder aos clientes diretamente pelo Slack otimiza a eficiência e permite uma resposta mais rápida.

Como Funciona a Integração?

Do WhatsApp ao Slack

Quando um hospital envia uma solicitação de suporte via WhatsApp, essa mensagem é automaticamente encaminhada para o Slack. Isso permite que a equipe de suporte da RT Medical Systems veja a solicitação em tempo real e comece a trabalhar nela imediatamente.

A Integração com o Jira Service Desk

Uma vez que a solicitação é recebida no Slack, um ticket SLA é gerado automaticamente no Jira Service Desk. Isso garante que cada solicitação seja rastreada, gerenciada e resolvida de acordo com os padrões de serviço acordados.

Funcionalidade da Integração

Integração do whatsapp e Slack

A integração proposta visa transformar a maneira como as equipes interagem com contatos externos no Slack, otimizando a experiência do usuário e organizando a comunicação de forma mais eficiente.

Canal Único no Slack

No Slack você irá criar um canal e designa-lo  designado para essa integração. É neste canal que a magia acontece. Ao receber uma mensagem do WhatsApp, a integração formatará e enviará a mensagem para este canal específico.

Blocos de Mensagens Pre-formatadas

Cada mensagem que entra no canal do Slack é apresentada em um formato de bloco predefinido. Esses blocos não são uma espécie de card do contato, possuindo informações vitais do contato, como sua foto e número de telefone. Esta abordagem garante que as mensagens do WhatsApp mantenham sua identidade e contexto distintos no Slack.

Threads para Conversas

Para manter a organização e garantir que as conversas não se percam em um mar de mensagens, cada card de contato contato do WhatsApp terá sua própria thread dentro do canal. Isso significa que, ao receber uma mensagem de um contato, a integração buscará a thread correspondente desse contato e adicionará a mensagem lá. Se for a primeira mensagem desse contato, uma nova thread será criada. Isso assegura uma visão clara e organizada de todas as conversas.

Webhooks para Comunicação

Utilizamos webhooks para capturar e postar mensagens no Slack. Combinado com os recursos de formatação do Slack, estas mensagens são meticulosamente moldadas para se assemelhar visualmente às mensagens do WhatsApp, mantendo a consistência e familiaridade para os usuários.

 

2. Pré-requisitos e Configuração Inicial

Clone o Repositório do GitHub: A RT Medical Systems disponibilizou para a comunidade a primeira versão do código que não utiliza a API oficial do WhatsApp, o código-fonte para essa integração está disponível no GitHub da healthtech. Você pode cloná-lo usando o seguinte comando:

Para garantir a eficácia deste tutorial, é crucial que os seguintes pré-requisitos sejam atendidos:

  • Docker: Proporciona um ambiente de execução consistente.
  • MongoDB: Para armazenamento persistente de dados.
  • Conta Slack: Com permissões administrativas necessárias.

3. Configuração das Variáveis de Ambiente

As variáveis de ambiente são essenciais para o funcionamento e a segurança da aplicação. O arquivo .env concentra-se em armazenar essas variáveis. Ele deve ser configurado conforme descrito:

SLACK_SIGNING_SECRET=
SLACK_TOKEN=
WHATSAPP_PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable
WHATSAPP_CHANNEL_NAME=
PORT=80
SLACK_CHAT_POST_MESSAGE_URL=https://slack.com/api/chat.postMessage
SLACK_WEBHOOK_URL=
SLACK_API_URL=https://slack.com/api/files.upload

4. MongoDB Atlas: Configuração e Criação de Conta Gratuita

O MongoDB Atlas é um serviço de banco de dados global na nuvem, totalmente gerenciado, que é amplamente utilizado devido à sua flexibilidade, escalabilidade e confiabilidade. Para nossa integração, utilizaremos o Atlas, garantindo assim um armazenamento de dados eficiente e acessível de qualquer lugar.

Criação de uma Conta Gratuita no MongoDB Atlas

  1. Visite o Site Oficial: Acesse MongoDB Atlas.
  2. Clique em ‘Start Free’: No canto superior direito da página inicial.
  3. Inscreva-se: Forneça seus detalhes, como e-mail, senha e nome. Após preencher as informações, clique em “Continue”.
  4. Verifique seu E-mail: Uma mensagem de confirmação será enviada para o endereço de e-mail fornecido. Clique no link de verificação.
  5. Configuração Inicial: Uma vez verificada a conta, você será redirecionado de volta ao MongoDB Atlas. Aqui, você pode definir algumas preferências, como projeto e nome do cluster. Para nosso tutorial, podemos utilizar o plano gratuito “Shared Clusters”.
  6. Configuração do Cluster: Selecione a nuvem de sua preferência (AWS, Google Cloud, Azure) e, em seguida, a região. Mantenha as configurações padrão para as outras opções e clique em “Create Cluster”.
  7. Conectar sua Aplicação: Após a criação do cluster (pode levar alguns minutos), clique em “CONNECT”. Aqui, você poderá configurar o IP de acesso e criar um usuário para se conectar ao banco de dados. Após essa configuração, selecione “Connect Your Application”. Será fornecida uma string de conexão que pode ser usada em sua aplicação. Essa string será semelhante ao formato:
mongodb+srv://<username>:<password>@cluster-url/test?retryWrites=true&w=majority

Integração com sua Aplicação

No arquivo db.js de sua aplicação, utilize a URI fornecida pelo MongoDB Atlas para conectar ao banco de dados:

const mongoose = require('mongoose');
const uri = 'sua_string_de_conexão_aqui'; // Substitua pelo seu URImongoose.connect(uri, {
useNewUrlParser: true,
useUnifiedTopology: true
}).then(() => {
console.log('Conectado ao MongoDB Atlas');
}).catch(err => {
console.error('Erro ao conectar ao MongoDB Atlas:', err.message);
});

5. Docker: Ambiente de Execução Isolado

O Docker é instrumental para garantir que a aplicação seja executada em um ambiente uniforme. A especificação detalhada para a construção do ambiente está contida nos arquivos  Dockerfile e docker-compose.yml. Ambos devem ser configurados corretamente para garantir a operação otimizada da aplicação.

6. Obtenção de Credenciais Slack e Permissões

As credenciais do Slack são essenciais para autenticar e autorizar nossa aplicação a interagir com o Slack.

  1. Criação de um Novo Aplicativo Slack: Vá até Slack API e inicie a criação de um novo aplicativo.
  2. Configuração do Aplicativo: Aqui, detalhes como SLACK_SIGNING_SECRET e SLACK_TOKEN são obtidos.

7. Anatomia do Código Principal

O arquivo app.js contém o código principal da aplicação, e examiná-lo fornece uma visão clara da lógica de funcionamento da integração.

O código é estruturado em várias seções:

  • Importação de Bibliotecas: Aqui, bibliotecas como express, axios e dotenv são importadas.
const express = require('express');
const axios = require('axios');
const dotenv = require('dotenv');
  • Configuração e Rotas do Servidor: A aplicação define rotas específicas para interagir com o Slack e o WhatsApp.
  • Tratamento de Mensagens: Aqui, as mensagens do Slack são processadas e encaminhadas para o WhatsApp e vice-versa.

8. Execução e Monitoramento da Aplicação

Com tudo configurado, a aplicação pode ser iniciada usando o comando:

docker-compose up

É essencial monitorar os logs e verificar se a aplicação está se comunicando corretamente com ambas as plataformas.

9. Considerações Finais e Melhores Práticas

Concluir uma integração bem-sucedida entre o Slack e o WhatsApp exige diligência e atenção aos detalhes. Sempre teste em um ambiente seguro antes de mover para a produção. Mantenha-se atualizado com as melhores práticas e atualizações de ambas as plataformas.

Leave a Reply