https://a.storyblok.com/f/270183/368020/7e71a39e15/unnamed-1.png

Integração de mensagens multicanal ao Salesforce

Publicado em May 20, 2021

Tempo de leitura: 8 minutos

Messages API Nexmo para Salesforce, desenvolvida pela Billennium, permite que você envie mensagens via SMS, MMS, WhatsApp Business, Facebook Messenger e Viber Service Messages diretamente na classe Apex do Salesforce. Isso significa que você pode chamar a API dentro do seu ambiente do Salesforce. Seja você um desenvolvedor criando um aplicativo de mensagens ou um administrador criando um fluxo de mensagens, a Messages API é uma maneira simples de integrar uma estratégia omnicanal.

Neste tutorial, vou orientá-lo passo a passo na instalação da pacote da Messages API para Salesforce , que você poderá usar para criar seu próprio aplicativo do Salesforce ou pacote gerenciado do Salesforce que utilize a Messages API como provedor de mensagens subjacente. Também vou demonstrar como criar um fluxo com o Process Builder do Salesforce. Existem algumas maneiras de integrar esse pacote ao seu ambiente do Salesforce, mas a que vou apresentar aqui é uma ferramenta de implantação muito bacana, hospedada em nosso repositório do GitHub.

Mas antes de entrarmos nos detalhes, vamos abordar o grande : por que você usaria a Messages API em vez da infinidade de serviços disponíveis para cada canal individual? A resposta é a simplicidade; você acessa vários canais por meio de uma única API. Basta especificar o canal em um parâmetro na sua carga de dados. Assim, você pode indicar que sua mensagem será enviada por SMS ou WhatsApp, por exemplo, simplesmente incluindo esse parâmetro de canal na sua solicitação à API.

Outro grande diferencial da Messages API é que ela permite a integração com diversos serviços de IA. Por exemplo, usamos a Messages API para criar uma experiência de chatbot com plataformas de IA como o IBM Watson ou o Google Dialogflow.

Nexmo Messaging API FlowNexmo Messaging API Flow

Instalação com um clique da Messages API para o Salesforce

Então, vamos percorrer o processo de instalação, explorando o pacote Messages API for Salesforce e o que acontece nos bastidores. Para demonstrar suas capacidades, vou mostrar como é executar uma função anônima. Assista ao vídeo abaixo para ver minha demonstração completa da instalação.

Para começar, acesse a página da comunidade Nexmo no GitHub, onde disponibilizamos alguns códigos-fonte abertos. O pacote da Messages API para Salesforce está disponível aqui em nexmo-salesforce. Temos documentação disponível caso você queira fazer um guia de início rápido ou se desejar instalar usando o Ant. Caso contrário, o ferramenta “Deploy to Salesforce” , incorporada na parte superior da documentação, permite a integração com um clique que mencionei anteriormente. Clique nesse botão para iniciar o processo de instalação e, em seguida, veremos como chamar a função de envio de mensagens em nossos aplicativos do Salesforce.

Nexmo for SalesforceNexmo for Salesforce

A primeira coisa que você fará é acessar o Salesforce, pois esse é o ambiente no qual você deseja incorporar o pacote. Certifique-se apenas de que o ambiente de produção esteja marcado quando for realizar a instalação.

Depois de conceder a autorização ao Salesforce, você verá a página onde o pacote será instalado, bem como quais classes estarão disponíveis no Salesforce. Ao clicar no botão “Implantar”, você verá que a implantação foi iniciada e deverá receber atualizações sobre a instalação até que ela seja concluída.

E assim, de forma simples, você já integrou o pacote da Messages API do Salesforce ao seu ambiente do Salesforce. Você pode verificar se a instalação foi bem-sucedida voltando ao seu ambiente do Salesforce, abrindo o console do desenvolvedor e, em seguida, abrindo a classe Apex da Nexmo. Você verá que a classe global da Nexmo está disponível no seu ambiente do Salesforce no Apex.

code examplecode example

Este código é de código aberto para sua utilização; o endpoint —https://api.nexmo.com—não será alterado. A versão pode mudar no futuro, mas não vamos descontinuar essa versão tão cedo. Simplesmente eliminamos a necessidade de especificar o canal ou de fazer várias solicitações para enviar mensagens por diversos canais.

Dê uma olhada no código e você verá que também é possível simplesmente chamar a função de forma anônima. Ctrl+E abre essa função Apex anônima. Você pode chamar a função `sendMessage` da classe Nexmo Apex. Por exemplo, se você inserir um número de celular no campo `ToNumber` e um número da Nexmo como remetente, poderá testar a função. Basta digitar uma mensagem de teste, especificar o canal como “SMS”, executar o código e você receberá a mensagem no seu celular. Você pode fazer o mesmo teste para qualquer um dos outros canais compatíveis com a Messages API.

A classe Nexmo Apex está disponível em nosso ambiente. E, obviamente, você pode desenvolver a partir dela; portanto, se estiver criando qualquer tipo de componente ou pacote Lightning por conta própria, basta chamar essa função para poder enviar mensagens por meio da Messages API. É simples assim.

Crie um fluxo de mensagens multicanal com o Process Builder do Salesforce

Agora, vou nos orientar pelo Process Builder e criar um caso de uso bastante comum: notificações de suporte. Quando um agente de suporte ao cliente encerra um caso no Service Cloud, o Process Builder aciona um fluxo que envia uma mensagem por SMS ou WhatsApp ao cliente. Vou mostrar como você pode criar o ouvinte no Process Builder que enviará uma notificação de alerta aos seus clientes sempre que um agente atender a uma solicitação e encerrar o caso. Assista ao Video abaixo para ver minha demonstração completa do Process Builder.

Para começar, abra um novo processo no Process Builder e insira um nome exclusivo para o processo, algo como Nexmo_Case_Close. Na descrição, você pode inserir “Enviar uma mensagem ao cliente confirmando que o problema foi resolvido”. A partir do O processo começa quando menu suspenso, escolha um registro é alterado , pois esse é o gatilho que dará início ao processo.

Process builderProcess builder

O processo será aberto na interface do Process Builder, uma ferramenta visual simples de criação de processos que não requer experiência em desenvolvimento para ser utilizada. Com o pacote Messages API for Salesforce instalado, a classe Nexmo Apex fica disponível no Process Builder.

process builder deep diveprocess builder deep dive

Clique em Adicionar objeto. Selecione Caso como objeto. Já temos um processo (Nexmo_Case_Close) que monitora casos, então vá em frente e selecione-o.

process builderprocess builder

Para garantir que o processo nos permita monitorar os casos conforme o esperado, opte por iniciar o processo quando um registro for criado ou editado, em vez de apenas quando ele for criado. Nas opções avançadas, deixe a opção Recursão (“Permitir que o processo avalie um registro várias vezes em uma única transação?”) desmarcada por enquanto. Salve o objeto.

Em seguida, clique em Adicionar critério no processo. O Nome do critério pode ser algo como Caso_Encerrado, pois queremos apenas enviar uma notificação ao cliente final quando um agente encerrar o caso. Os seleção de critérios para execução de ações é onde vamos definir nossa lógica de negócios; portanto, mais uma vez, você não precisa de nenhuma experiência em programação para criar o processo. Na verdade, isso significa definir a lógica que determinará se as funções do seu fluxo serão ou não executadas. Então, vamos configurá-lo para que seja executado quando todas as condições forem atendidas.

Process builderProcess builder

A seguir, vamos definir as condições. A única condição é que o caso esteja encerrado; portanto, para o Campo, percorra a lista e selecione “Fechado”, que será do tipo booleano (verdadeiro ou falso), e o nome da API será IsClosed. Portanto, a forma como nossas condições selecionadas seriam interpretadas é: se o caso estiver encerrado, então o processo faria algo. A opção Avançado é “Você deseja executar as ações somente quando as alterações especificadas forem feitas no registro?” Marque “Sim”, pois você provavelmente não quer que haja atualizações toda vez que o caso for editado, houver qualquer tipo de mensagem interna ou o status passe de “aberto” para “em andamento” ou de “aberto” para “escalado”. Você quer que a ação seja executada apenas quando o caso for encerrado. Clique em Salvar.

Agora temos um registro que estamos monitorando. Criamos uma lógica para o momento em que um caso for efetivamente encerrado.

A seguir, vamos adicionar uma ação. Podemos selecionar Apex como Tipo de ação. O Nome da ação pode ser “Enviar mensagem de atualização”. Para Classe Apex, aparecerá “Enviar mensagem Nexmo” e, como você instalou esse pacote, ele deve estar disponível diretamente.

process builderprocess builder

A seguir, vêm as variáveis do Apex, ou seja, as variáveis que você vai passar para a sua solicitação como parte dessa carga. Você pode especificar o canal, que, neste caso, é o WhatsApp. O fromId seria um número do WhatsApp habilitado pela Nexmo. O texto seria algo como “Olá, obrigado pela sua consulta. Sua questão foi resolvida. Enviamos a você um reembolso no valor de xyz.” Esse valor poderia ser dinâmico, mas, para este exercício, vamos mantê-lo estático. O toId será o seu número de telefone. Com todas as strings definidas corretamente, você pode salvar as variáveis. Agora, basta ativar o processo.

process builderprocess builder

Para testar o processo, você pode assumir o papel de um agente e verificar se ele se comporta conforme o esperado. Acesse o App Launcher e abra o Console de Serviços. Imagine que você é um agente trabalhando no seu contact center, analisando os casos abertos que estão se acumulando na sua fila.

process builderprocess builder

Escolha um caso pelo número dele e suponha que a descrição seja algo como: “Oi, vi seu anúncio. Estou interessado.” Você pode responder ao cliente digitando uma mensagem dizendo: “Ótimo, entraremos em contato diretamente. Obrigado pelo seu apoio!” e compartilhando-a.

salesforce

O passo fundamental aqui é atualizar o status do caso, pois configuramos o gatilho para ser acionado quando o caso for encerrado. Então, vá em frente, encerre o caso e veja se o processo reage a isso.

case detailscase details

O encerramento do caso deveria ter acionado o gatilho quando esse evento foi captado pelo nosso fluxo do Process Builder. Você deve receber uma mensagem do Process Builder na sua conta do WhatsApp dizendo: “Olá, obrigado pelo seu contato. Seu problema foi resolvido. Enviamos a você um reembolso no valor de xyz.”

Esperamos que seu fluxo tenha enviado a notificação sobre o caso encerrado com sucesso. Usamos o Process Builder, mas há várias ferramentas que você pode utilizar para fazer isso. Você poderia, com a mesma facilidade, usar algo como um fluxo do MuleSoft ou criá-lo internamente em seu próprio aplicativo cliente ou aplicativo do lado do servidor.

Comece a usar a Messages API para Salesforce

Se você quiser mais informações sobre o pacote da Messages API para Salesforce, consulte nossa documentação. Você encontrará informações sobre como integrar o serviço diretamente ao seu aplicativo, seja no lado do servidor ou no lado do cliente, dentro ou fora do Salesforce. E, mais uma vez, ele permite que você envie mensagens pelos diversos canais usando uma única interface, e é realmente simples de integrar.

Se você quiser acessar o código e usar o próprio pacote, acesse nossa página da comunidade no GitHub e instale-o com a ferramenta de instalação com um clique ou usando o Ant, o que for mais adequado às suas necessidades.

Para ver como nossos parceiros estão utilizando o pacote, assista a esta demonstração da solução de mensagens multicanal da SMS Magic, desenvolvida com a Messages API para Salesforce.

Compartilhar:

https://a.storyblok.com/f/270183/400x400/ea554d9ec0/oscar-rodriguez.png
Oscar Rodriguez

Oscar Rodriguez is the Director Global Solution Engineering at Nexmo, the Vonage API Platform