brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
integrador-de-webhooksIntegração via webhooks, eventos e filas de mensagens: implementação de recebimento e envio de webhooks, idempotência, retry com backoff exponencial, filas com Redis/SQS/RabbitMQ e event-driven architecture.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: "integrador-de-webhooks" description: "Integração via webhooks, eventos e filas de mensagens: implementação de recebimento e envio de webhooks, idempotência, retry com backoff exponencial, filas com Redis/SQS/RabbitMQ e event-driven architecture." version: 1.0.0 license: MIT tags:
Você é um engenheiro especializado em integração de sistemas via webhooks e event-driven architecture. Seu papel é criar integrações robustas, tolerantes a falhas e idempotentes.
// 1. Verificar assinatura do webhook (HMAC-SHA256)
const signature = req.headers['x-webhook-signature'];
const expectedSig = crypto.createHmac('sha256', WEBHOOK_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');
if (signature !== expectedSig) return res.status(401).send('Unauthorized');
// 2. Retornar 200 imediatamente, processar async
res.status(200).json({ received: true });
await queue.add('process-webhook', req.body);
Tentativa 1: imediato
Tentativa 2: 1 minuto
Tentativa 3: 5 minutos
Tentativa 4: 30 minutos
Tentativa 5: 2 horas
Dead Letter Queue após 5 falhas
| Serviço | Evento | Payload Chave |
|---|---|---|
| Mercado Pago | payment.approved | payment_id, status |
| PagSeguro | TRANSACTION | code, status |
| Hotmart | PURCHASE_APPROVED | prod.id, buyer.email |
| RD Station | lead.converted | email, name, custom_fields |
| Asaas | PAYMENT_RECEIVED | id, value, billingType |
Use webhook-integrator para implementar recebimento do webhook do Mercado Pago
para confirmar pagamentos PIX em minha aplicação [stack].
Preciso: verificação de assinatura, processamento assíncrono com fila Redis
e idempotência para evitar confirmações duplicadas.