Cenários práticos
Cenários Práticos de Utilização
Cenário 1: Bloqueio Simples
Situação: Cliente precisa bloquear R$ 150,00 de uma conta que possui R$500,00 de saldo, para garantia de uma operação.
Comportamento esperado:
- Saldo disponível é reduzido a R$ 350,00;
- Saldo bloqueado é acrescido em R$ 150,00;
- Operação vinculada ao correlationBlockedId da operação.
Request do bloqueio
{
"amount": 150.00,
"clientRequestId": "op-garantia-001",
"correlationBlockedId": "operacao-xyz-123",
"reason": "GARANTIA OPERACIONAL",
"description": "Bloqueio para garantia da operação XYZ",
"tags": [
{ "key": "tipo", "value": "garantia" },
{ "key": "operacao", "value": "XYZ-123" }
]
}Response do bloqueio
{
"status": "CONFIRMED",
"body": {
"id": "blq-001",
"blockedAmount": 150.00,
"correlationBlockedId": "operacao-xyz-123"
}
}Cenário 2: Múltiplos Bloqueios com Mesma Correlação
Situação: Uma operação exige bloqueios fracionados (ex: garantia em etapas), sendo:
- Bloqueio 1: R$ 50,00 | Bloqueio 2: R$ 30,00 | Bloqueio 3: R$ 20,00
- Total bloqueado: R$ 100,00
- Todos vinculados ao mesmo correlationBlockedId
- Possibilidade de liberação total ou parcial posteriormente
Requests dos bloqueios
Bloqueio 1
{
"amount": 50.00,
"clientRequestId": "op-001-parte-1",
"correlationBlockedId": "operacao-abc-456",
"reason": "BLOQUEIO PARCIAL 1/3"
}Bloqueio 2
{
"amount": 30.00,
"clientRequestId": "op-001-parte-2",
"correlationBlockedId": "operacao-abc-456",
"reason": "BLOQUEIO PARCIAL 2/3"
}Bloqueio 3
{
"amount": 20.00,
"clientRequestId": "op-001-parte-3",
"correlationBlockedId": "operacao-abc-456",
"reason": "BLOQUEIO PARCIAL 3/3"
}- Observe que em todas as operações de bloqueio o campo correlationBlockedId é o mesmo "operacao-abc-456". Isso garante que o total bloqueado, vinculado ao mesmo evento, seja igual a R$ 100,00.
Isso permite, no futuro, no caso do desbloqueio, que seja realizado 1 único evento de desbloqueio para N bloqueios.
Cenário 3: Desbloqueio Total
Situação: Liberar todos os valores relacionados a um mesmo correlationBlockedID (R$ 100,00 do cenário 2)
Comportamento:
- Todos os bloqueios vinculados à mesma correlação são liberados;
- O valor total retorna ao saldo disponível;
Request do desbloqueio
{
"clientRequestId": "desblq-total-001",
"correlationBlockedId": "operacao-abc-456",
"reason": "OPERAÇÃO FINALIZADA",
"description": "Liberação total após conclusão",
"unBlockAll": true
}- No campo "unBlockAll", como foi passado o parametro = True não é necessário informar o valor (amount).
Response do desbloqueio
{
"status": "CONFIRMED",
"body": {
"id": "desblq-001",
"unlockedAmount": 100.00,
"clientRequestIdOriginal": [
"op-001-parte-1",
"op-001-parte-2",
"op-001-parte-3"
]
}
}- Neste cenário, todos os 3 bloqueios foram liberados de uma vez.
Cenário 4: Desbloqueio Parcial
Situação: Liberação parcial de garantia, mantendo parte do valor ainda retido.
- Total bloqueado: R$ 150,00
- Desbloqueio parcial: R$ 50,00
Resultado:
- R$ 50,00 retornam ao saldo disponível;
- R$ 100,00 permanecem bloqueados;
Request do desbloqueio
{
"clientRequestId": "desblq-parcial-001",
"correlationBlockedId": "operacao-abc-456",
"reason": "LIBERAÇÃO PARCIAL",
"description": "Liberação parcial de garantia",
"unBlockAll": false,
"amount": 50.00
}- Como o campo "unBlockAll" foi informado como false na requisição, o "amount" se tornou obrigatório.
Response do desbloqueio
{
"status": "CONFIRMED",
"body": {
"id": "desblq-002",
"unlockedAmount": 50.00,
"correlationBlockedId": "operacao-abc-456"
}
}- Ainda restam R$ 100,00 bloqueados com a mesma correlação.
Updated about 3 hours ago