Exemplo de integração

Aprenda a configurar e implantar um webhook para escutar eventos da Base39.

Configure um endpoint

Crie um novo endpoint
Um webhook é um endpoint em seu servidor que recebe requisições da Base39, notificando sobre eventos que acontecem em sua conta, como uma mudança no status de um empréstimo ou um pagamento efetuado com sucesso. Adicione um novo endpoint ao seu servidor e certifique-se de que esteja publicamente acessível para que possamos enviar solicitações POST não autenticadas.

const app = require('express')();
const bodyParser = require('body-parser');

app.post('/webhook', bodyParser.raw({type: 'application/json'}), (request, response) => {
  const event = request.body;

  // Processe o tipo do evento recebido
  switch (event.type) {
    case 'loan.status_changed':
      const loanStatusChanged = event.data.object;
      console.log(`LoanStatusChanged for ${loanStatusChanged.status} was successful!`);
      // Em seguida, defina e chame um método para lidar com a mudança bem-sucedida do status do empréstimo.
      // handleLoanStatusChangedSucceeded(loanStatusChange);
      break;
    case 'loan.installment.paid':
      const loanInstallmentPaid = event.data.object;
      // Em seguida, defina e chame um método para lidar com o pagamento bem sucedido de uma parcela do empréstimo.
      // handleLoanInstallmentPaid(loanInstallmentPaid);
      break;
    default:
      // Tipo de evento inesperado
      console.log(`Unhandled event type ${event.type}.`);
  }

  // Retorne uma resposta 200 para acusar o recebimento do evento
  response.send();
});

app.listen(4242, () => console.log('Running on port 4242'));

Processe as requisições da Base 39

Leia os dados do evento
A Base 39 envia os dados do evento no body da solicitação. Cada evento é estruturado como um objeto Evento com um type, id e o recurso Base39 relacionado em data.

Processar o evento
Assim que você receber o objeto de evento, verifique o type para saber que tipo de evento aconteceu.

Retorne uma resposta 200
Envie uma resposta 200 bem-sucedida para a Base39 o mais rápido possível, pois a Base39 tenta novamente o evento se uma resposta não for enviada dentro de um tempo razoável. Escreva qualquer processo de longa execução como código que pode ser executado de forma assíncrona fora do endpoint do webhook.

Pronto!

Você tem um endpoint de webhook básico pronto para aceitar eventos da Base39. Agora adicione a lógica do aplicativo de que sua empresa precisa para lidar com os eventos.