O blog da AWS

Como a XP Investimentos atende milhões de clientes através do WhatsApp

Por Marcio Hirano, Engineering Manager na XP Inc.,
Thomaz Krause, Product Manager na XP Inc.,
Marcos Cotomacio, Arquiteto de Soluções AWS,
Filipe Scoton, Executivo de Vendas Setor Financeiro AWS.

 

Empresas têm buscado maneiras de estarem mais próximas e mais presentes no dia a dia dos seus clientes, em muitos casos, renovando seus canais de comunicação com ênfase no contato rápido, simples e eficaz. O uso de uma estratégia Omnichannel permite interligar diferentes canais, abrangendo não somente os mais tradicionais, como telefone, web chat e e-mail, como também escolhas populares, como aplicativos de mensagens e redes sociais.

Dentre os aplicativos mais utilizados está o WhatsApp e com a introdução da WhatsApp Business API, empresas podem interagir com seus clientes através do aplicativo, aumentando o alcance e a rapidez. São mais de 2 bilhões de usuários globalmente ativos e, atualmente, é a ferramenta de comunicação mais utilizada no Brasil.

 

O Desafio

A XP Inc. tem como propósito transformar o mercado financeiro melhorando a vida das pessoas e a qualidade do seu atendimento é fundamental para conquistar esse desafio. Entendendo a importância de ter uma cultura centrada no cliente e com foco cada vez maior em melhorar essa experiência, a empresa tem investido em seus diferentes canais de comunicação, integrando a plataforma com a WhatsApp Business API a fim de prover um canal mais simples e eficaz para os clientes. Através dele e com uso de ferramentas de NLP (processamento de linguagem natural), o cliente pode esclarecer suas dúvidas, obter informações sobre produtos e serviços financeiros, reinicializar sua senha, conversar com seu assessor, além de diversas outras opções sendo inseridas ao longo do tempo.

Este post apresenta como a XP usa as automações providas pelo Facebook para deploy da infraestrutura do WhatsApp Business API na AWS, bem como melhores práticas utilizadas na indústria financeira para conectar este novo canal aos diversos serviços de backend em um ambiente híbrido.

O client do WhatsApp Business API suporta um subconjunto das funcionalidades disponíveis no conhecido aplicativo WhatsApp, incluindo criptografia fim-a-fim, interface web e aplicativos nativos para Android e iOS. A principal diferença é que a WhatsApp Business API pode ser disponibilizada em uma infraestrutura própria, com uma API local para envio e recebimento de mensagens e integrações nos fluxos de outros sistemas, como CRMs, Contact Centers, entre outros.

 

A Solução da XP

Usando os serviços sem servidor (serverless) da AWS, a equipe da XP pode direcionar seus esforços no desenvolvimento da plataforma e das diferentes integrações sem ter que se preocupar com o gerenciamento de infraestrutura em alta disponibilidade e previsão de capacidade, contando portanto com a escalabilidade destes serviços e a possibilidade de somente pagar pelos recursos utilizados (pay as you go). Além disso, foram utilizadas automações providas pelo próprio Facebook na forma de scripts do AWS CloudFormation, garantindo maior conformidade e estabilidade através do uso de infraestrutura como código (Infrastructure as Code – IaC), que permitiu não somente aderência às recomendações, como também agilidade, reduzindo a implementação de meses para semanas, além de possibilitar um rollout progressivo para diferentes empresas do grupo e mais autonomia com relação à evolução da plataforma que suporta o canal.

“Com um time técnico que sonha grande, de mente aberta e com espírito empreendedor (que faz parte da nossa cultura), decidimos encarar o desafio de executar nossa própria implementação do WhatsApp Business API, criando uma solução altamente escalável e com alta disponibilidade, que é fundamental para atender aos padrões de qualidade da XP, trazendo ainda uma maior autonomia para evolução do produto, melhor experiência do cliente e com uma sensível redução de custos operacionais.” — Marcio Hirano, Engineering Manager da Squad de Customer Services.

 

Arquitetura

Visão Geral: O diagrama a seguir (Figura 1) representa a implementação do Facebook e a arquitetura sem servidor (serverless) desenvolvida pela XP Inc. para integração via Webhook com os sistemas internos, NLP, entre outros. Ambas estão detalhadas na sequência (Figuras 2 e 3).

 

Figura 1 – Arquitetura completa

 

WhatsApp Business API Client: A solução disponibilizada pelo Facebook (link) inclui componentes de aplicação implementados no Amazon Elastic Container Service (ECS), banco de dados no Amazon Relational Database Service (RDS) e um sistema de arquivos para configuração de volumes dos containers, o Amazon Elastic File System (EFS). O uso destes serviços gerenciados simplifica a operação e manutenção do ambiente no modelo de responsabilidade compartilhada. Na aplicação, vamos destacar o principal componente, o CoreApp, responsável pelo envio e recebimento de mensagens. No entanto, a arquitetura atualizada e suas funcionalidades estão detalhadas na documentação neste link.

 

Figura 2 – Arquitetura do WhatsApp Business API provida pelo Facebook

 

  1. Os containers CoreApp são responsáveis por estabelecer e manter a comunicação com os servidores do WhatsApp para envio e recebimento de mensagens, utilizando uma conexão TCP long-lived.
  2. Após a configuração do ambiente e a comunicação estabelecida, o número do WhatsApp fica disponível para troca de mensagens com os clientes.
  3. O CoreApp processa as mensagens e envia as requisições via Webhook, ou seja, chamadas HTTP de callback disparadas por um determinado evento. Por exemplo, quando um cliente envia uma mensagem, o WhatsApp Business Client API irá enviar um HTTP POST para a URL definida, neste caso no API Gateway.

 

Exemplo de uma mensagem de texto recebida de um cliente:

POST /

{
  "contacts": [ {
    "profile": {
        "name": "Kerry Fisher"
    },
    "wa_id": "16315551234"
  } ],
  "messages":[{
    "from": "16315551234",
    "id": "ABGGFlA5FpafAgo6tHcNmNjXmuSf",
    "timestamp": "1518694235",
    "text": {
      "body": "Hello World!"
    },
    "type": "text"
  }]
}

 

Serverless Webhook: A integração com o WhatsApp Business API via Webhook permite que a XP Inc. possa fazer a integração com seus diversos sistemas atendendo aos padrões de governança, agilidade para evolução da plataforma e maior liberdade para customização do atendimento.

 

Figura 3 – Arquitetura de integração com serviços de backend

 

  1. O API Gateway é responsável por receber a requisição do WhatsApp Business API Client e fazer proxy para o serviço Lambda.
  2. A integração via proxy do Amazon API Gateway com AWS Lambda é um mecanismo simples e ágil, permitindo que o client chame uma única função do Lambda no backend. A função, por sua vez, acessa outros recursos e/ou serviços da AWS, incluindo chamadas para outras funções Lambda.
  3. O backend (Lambda) faz chamadas em APIs internas para validar o número de celular, verificar o assessor responsável pelo atendimento, abrir um caso no Salesforce, entre outras tarefas.
  4. Essas informações são enviadas para um bot que inicia o atendimento.
  5. Todas as interações são salvas no Amazon DynamoDB.
  6. Em casos mais complexos ocorre o transbordo para um atendente humano no Salesforce.

 

Por que AWS?

A Amazon Web Services (AWS) é a plataforma de nuvem mais adotada e mais abrangente, oferecendo mais de 175 serviços completos de datacenters em todo o mundo. Milhões de clientes, incluindo as startups de crescimento mais rápido, grandes empresas e os maiores órgãos governamentais, estão usando a AWS para reduzirem seus custos, ficarem mais ágeis e inovarem mais rapidamente.

Contando com automações através do AWS CloudFormation, empresas podem rapidamente lançar a infraestrutura necessária para se integrarem com o WhatsApp, usando uma arquitetura moderna e resiliente baseadas em serviços gerenciados como o Amazon EFS e o RDS, além da possibilidade de expansão das funcionalidades-chave e integrações por meio de serviços serverless como o Amazon API Gateway, Lambda e DynamoDB, escaláveis, resilientes e com pagamento conforme o uso.

 

Futuro

A criação do canal de atendimento via WhatsApp faz parte de uma estratégia mais ousada de Omnichannel da XP, integrando diferentes canais de atendimento das empresas do grupo, garantindo uma experiência mais fluida para o cliente, e cada vez mais repleta de funcionalidades e serviços.

 

 


Sobre os autores

Marcio Hirano é Engineering Manager na XP Inc. e possui mais de 17 anos de experiência na área de tecnologia. Atuou por 8 anos com Arquitetura de Soluções e hoje ajuda a projetar canais de atendimento e autoatendimento em um cenário de hiper-crescimento da XP. Trabalha ativamente com a AWS para melhorar a experiência no atendimento dos clientes através do uso de IA e NLP.

 

 

 

Thomaz Krause é Product Manager na XP Inc. e possui mais de 20 anos de experiência na área de tecnologia. Há 2 anos na XP vem colaborando para fortalecer a presença Ominicanal dos serviços de atendimento ao cliente.

 

 

 

 

Marcos Cotomacio é Arquiteto de Soluções na AWS, com mais de 10 anos de experiência no setor de serviços financeiros. Atua com ênfase no segmento Enterprise, orientando e suportando clientes em suas jornadas para a nuvem.

 

 

 

 

Filipe Scoton é Executivo de Vendas para o Setor Financeiro na AWS, responsável por ajudar clientes a migrar e construir novos workloads na Nuvem, compartilhar a Cultura de Inovação e desenvolver estratégias para a Transformação Digital.

 

 

 

Agradecimento aos revisores David Reis e Lucas Lins, Arquitetos de Soluções da AWS.

 

Se você tem perguntas sobre a AWS ou algum projeto que queira discutir, preencha este formulário e um representante entrará em contato com você.