Na raiz do projeto, execute o comando abaixo para iniciar o container:
docker compose up -dCom o container em execução, abra o navegador e acesse:
http://localhost:15672/
Utilize as seguintes credenciais para login:
-
Usuário:
guest -
Senha:
guest
Para criar um evento de envio PIX, utilize o endpoint:
POST - http://localhost:8080/api/pix
O corpo da requisição deve ser enviado em JSON com os seguintes campos:
{
"channel": "PF",
"from": "Matheus Madureira",
"to": "James Gosling",
"value": 2334.96
}-
channel: Tipo de cliente (PF para pessoa física, PJ para pessoa jurídica).
-
from: Nome do remetente do PIX.
-
to: Nome do destinatário do PIX.
-
value: Valor do PIX a ser enviado.
Ao enviar a requisição com sucesso, a API publica o evento em uma Exchange do RabbitMQ chamada pix-efetuado.
Esta Exchange é responsável por processar e distribuir os eventos de PIX para as filas de mensagens configuradas.
Atualmente, existem mais 3 microserviços além do de envio de PIX: auditms, pfms e pjms.
São eles que realizam o binding com a exchange pix-efetuado.
Cada microserviço direciona as mensagens para uma fila de acordo com sua responsabilidade:
-
O microserviço
pfmsrecebe eventos de transações do tipo PF – pessoa física e gera logs. -
O microserviço
pjmsprocessa apenas transações do tipo PJ – pessoa jurídica, também gerando logs. -
O microserviço
auditmsatua como auditoria geral, monitorando todos os tipos de eventos e registrando os logs das transações processadas.
Exemplo de log gerado a partir de uma transação PIX:
AUDIT - Message Received: GenericMessage [payload=PixRequestDto[channel=PF, from=Matheus Madureira, to=Tom Cruise, value=4771.52]]