Integrando AWS Lambda com Pix

A Amazon Web Services, também conhecida como AWS, é o maior serviço de cloud do mercado nos dias atuais. Pensando em três conceitos primordiais que permeiam nossa empresa: agilidade, facilidade e praticidade; auxiliamos você a integrar seu ecossistema serverless com o Pix.

Vamos te explicar de forma clara como fazer esse processo de integração. Nossa plataforma tem como filosofia ser focada no conceito de event-driven, então damos a possibilidade de você associar essa futura integração do Lambda a um determinado tipo de evento específico na nossa plataforma, por exemplo: uma cobrança criada, uma cobrança paga, etc.

Integrando com a AWS Lambda

Primeiro de tudo, como requisito para continuarmos o processo, é necessário:

  • Uma conta na AWS. Caso você não tenha, crie uma aqui;
  • Uma conta na Woovi. Caso você não tenha, crie uma aqui;

Caso você já tenha criado ou criou agora e viu que está tudo de acordo, podemos seguir.

Lembrando que: tanto nós, quanto a AWS, disponibilizamos contas de testes em suas respectivas plataformas, para que não aja custo algum pro cliente. Você pode ver as cotas do serviço de Lambda.

Criando a função Lambda na AWS (via Console)

Para criarmos a função Lambda, precisaremos de dois serviços: API Gateway e Lambda. Ambos disponibilizados pela cloud em questão.

  • Acesse o dashboard de Lambda e verifique se está tudo certo (principalmente a região que a AWS consome).
  • Clique no botão "Criar função";
  • Siga o processo passo a passo ali do formulário, colocando as informações conforme desejar. Caso tenha alguma dúvida no processo de criação, fique a vontade para nos contactar no chat. Também existe alguns tutoriais que podem te ajudar, como por exemplo:
  • Crie um API Gateway. Caso não saiba para o que funciona, ele vai servir como um intermediário entre o seu Lambda e a nossa plataforma. Ele vai prover um endpoint para nós, igual uma API, e vai relacionar com a função em questão.

Pronto, em teoria você está com tudo funcionando dentro da sua AWS.

Automatizando a criação da função

Caso queira automatizar o fluxo dentro da AWS, criando tanto a função Lambda, quanto o API Gateway com um único comando, nós temos um repositório contendo um boilerplate usando o AWS CDK (Cloud Development Kit). Essa é uma ferramenta de Infra as Code.

Accesse aqui o nosso repositório, caso queria dar uma olhada.

Criando um webhook

Agora, dentro da nossa plataforma, você vai precisar criar um novo webhook. Toda a nossa arquitetura baseada em eventos é solidificada e auxiliada por meio dos webhooks.

  • Na nossa plataforma va na área de API/Plugins. No lado superior direito existe um botão chamado "Novo webhook". Pressione ele.
  • Após clicar, você vai ver um formulário para criação de um novo webhook. Nesse formulário vai informações importantes para o funcionamento adequado do seu webhook, como: URL para efetuarmos a requisição, o evento que vamos estar esperando e também cabeçalhos HTTP customizados para sua requisição. Sinta-se livre para colocar qualquer cabeçalho que desejar, como o x-api-key, um cabeçalho de autorização bastante comum nas aplicações dentro da AWS.
  • Para URL do seu webhook, passe justamente o endpoint que o API Gateway disponibilizou para nós, com o respectivo endpoint, caso tenha.

Se tudo ocorreu bem, é provável que você tenha recebido uma requisição de teste com o seguinte payload:

{
  "data_criacao": "<data em ISO string do momento em que criou o webhook>",
  "evento": "teste_webhook"
}

Essa é uma requisição inicial que fazemos para checar a saúde do endpoint e ver que tudo está OK!

Agora, meus parabéns, você integrou de forma rápida e fácil os eventos da nossa plataforma com o seu ambiente serverless. Fácil, rápido e prático.

Caso você tenha mais alguma dúvida sobre integrações, dê uma olhada na nossa documentação!