Este projeto simula o funcionamento de um webhook que captura notificações enviadas pela adquirente Cielo e as envia para um tópico no Kafka, além de salvar as informações no banco de dados. Foi estruturado para uma loja que possui cadastro na solução API E-commerce 3.0, inicialmente em ambiente Sandbox.
Aprofundar conhecimentos no funcionamento de microserviços, especificamente na produção de mensagens, com o webhook atuando como producer (recebe uma informação, processa e envia uma mensagem ao Kafka). Além disso, o projeto visa aprofundar a técnica de TDD (Test-Driven-Development) para construir os controllers e services da aplicação.
- Java 17
- Spring Boot
- Apache Kafka
- H2 Database
org.springframework.kafka:spring-kafka
com.h2database:h2
org.springframework.boot:spring-boot-starter-data-jpa
org.springframework.boot:spring-boot-devtools
-
Clone o repositório:
git clone https://github.com/FelipeFranke5/webhook_cielo_api.git cd webhook_cielo_api
-
Execute o Kafka usando Docker:
docker run -d --name=kafka -p 9092:9092 apache/kafka
-
Compile e execute a aplicação:
mvn spring-boot:run
- Recurso:
processData
- Descrição: Recebe uma notificação da adquirente Cielo, envia para um tópico no Kafka e salva no banco de dados.
- Payload de Exemplo:
{ "PaymentId": "1cbdc15a-849a-4cee-861e-23b5e2ef7a80", "RecurrentPaymentId": "d7366b71-f75d-4ca3-81eb-7623528269b9", "ChangeType": 2 }
- Resposta: HTTP 200 (OK)
- Documentação Cielo explicando sobre os campos acima: Webhook Cielo
- Recurso:
retrieveData
- Descrição: Recebe um
PaymentId
e exibe suas informações. - Resposta: HTTP 200 (OK)
- Corpo da Resposta:
{ "PaymentId": "1cbdc15a-849a-4cee-861e-23b5e2ef7a80", "RecurrentPaymentId": "d7366b71-f75d-4ca3-81eb-7623528269b9", "ChangeType": 2 }
Este projeto está licenciado sob a licença MIT. Consulte o arquivo LICENSE para obter mais informações.