Alterar Status da Transação
Referência API
Alterar Status da Transação
Atualiza o status da transação e executa regras de atualização automaticamente — no produto de monitoramento de transações gu1 para fraude e AML.
PATCH
Alterar Status da Transação
Endpoint
Alterar Status da Transação
- Validação automática de transições de estado (previne mudanças de estado inválidas)
- Aplicação de máquina de estados (regras de estados abertos ↔ fechados)
- Execução automática de regras/matrizes com trigger
transaction_status_changed(nãotransaction_updated) - Proteção de integridade de transações
- Rastro de auditoria completo
Autenticação
Todas as requisições devem incluir uma chave API no cabeçalhoAuthorization:
Cabeçalhos Obrigatórios
Parâmetros de Rota
O UUID da transação a ser atualizadaTipo:
string (uuid)Corpo da Requisição
Novo status da transação. Deve ser um valor válido do enum de status.Status Válidos:
CREATED- Transação criada (estado aberto)PROCESSING- Transação em processamento (estado aberto)SUSPENDED- Transação temporariamente suspensa (estado aberto)SENT- Transação enviada/transmitida (estado fechado)EXPIRED- Transação expirada (estado fechado)DECLINED- Transação recusada/declinada (estado fechado)REFUNDED- Transação reembolsada/revertida (estado fechado)SUCCESSFUL- Transação concluída com sucesso (estado fechado)
enum - 'CREATED' | 'PROCESSING' | 'SUSPENDED' | 'SENT' | 'EXPIRED' | 'DECLINED' | 'REFUNDED' | 'SUCCESSFUL'Regras de Transição de Estados
O endpoint aplica regras estritas de transição de estados para manter a integridade das transações:Estados Abertos
Estados que permitem transições adicionais:CREATEDPROCESSINGSUSPENDEDSENT
Estados Fechados
Estados finais que não podem transitar para outros estados:EXPIREDDECLINEDREFUNDEDSUCCESSFUL
Matriz de Transições
| Estado Origem | Estado Destino | Permitido? | Nota |
|---|---|---|---|
| CREATED | PROCESSING | ✅ Sim | Fluxo normal |
| CREATED | SUSPENDED | ✅ Sim | Suspender para revisão |
| CREATED | SUCCESSFUL | ✅ Sim | Aprovação rápida |
| PROCESSING | SUSPENDED | ✅ Sim | Suspender durante processamento |
| PROCESSING | SUCCESSFUL | ✅ Sim | Conclusão normal |
| PROCESSING | DECLINED | ✅ Sim | Recusar durante processamento |
| SUSPENDED | PROCESSING | ✅ Sim | Retomar processamento |
| SUSPENDED | SUCCESSFUL | ✅ Sim | Aprovar transação suspensa |
| SUSPENDED | DECLINED | ✅ Sim | Recusar transação suspensa |
| SUCCESSFUL | PROCESSING | ❌ Não | Não é possível reabrir transação fechada |
| DECLINED | PROCESSING | ❌ Não | Não é possível reabrir transação fechada |
| EXPIRED | PROCESSING | ❌ Não | Não é possível reabrir transação fechada |
| REFUNDED | any | ❌ Não | Não é possível alterar transação reembolsada |
| SUCCESSFUL | DECLINED | ❌ Não | Não é possível mudar entre estados fechados |
- ✅ Aberto → Aberto: Permitido (ex: CREATED → PROCESSING)
- ✅ Aberto → Fechado: Permitido (ex: PROCESSING → SUCCESSFUL)
- ❌ Fechado → Aberto: NÃO Permitido (ex: SUCCESSFUL → PROCESSING)
- ❌ Fechado → Fechado: NÃO Permitido (ex: DECLINED → REFUNDED)
Execução de Regras de Atualização
Quando o status de uma transação é alterado, o endpoint automaticamente:- Valida a transição - Garante que o novo status é válido e a transição é permitida
- Atualiza o status - Altera o status da transação no banco de dados
- Executa regras de atualização - Executa todas as regras com
trigger: 'updated'em seu escopo - Atualiza pontuação de risco - Recalcula o risco com base nos resultados das regras
- Retorna transação atualizada - Retorna a transação completa com a nova avaliação de risco
Trigger de Regras
O endpoint usa o modotrigger_transaction_status_changed, que executa regras com action: "status_changed" ou matrizes com eventType: "transaction_status_changed". O trigger updated fica para PATCH /transactions/{id} (metadata, deviceDetails, channel, reason).
Exemplo de configuração de escopo de regra:
Exemplos Completos de Requisição
Aprovar uma Transação Suspensa
Recusar uma Transação em Revisão
Suspender uma Transação para Revisão Manual
Resposta
Resposta de Sucesso (200 OK)
Campos de Resposta
Se a mudança de status foi bem-sucedida
A transação atualizada com todos os seus dados, incluindo:
- id (string) - UUID da transação
- status (string) - Novo status da transação
- origin (object) - Informação da parte origem (estrutura aninhada)
- entityId (string) - UUID da entidade origem
- name (string) - Nome da parte origem
- country (string) - País de origem
- details (object) - Detalhes adicionais de origem
- type (string) - Tipo de entidade origem
- riskScore (number) - Pontuação de risco da entidade origem
- destination (object) - Informação da parte destino (estrutura aninhada)
- entityId (string) - UUID da entidade destino
- name (string) - Nome da parte destino
- country (string) - País de destino
- details (object) - Detalhes adicionais de destino
- type (string) - Tipo de entidade destino
- riskScore (number) - Pontuação de risco da entidade destino
- riskScore (number) - Pontuação de risco atualizada após reavaliação
- riskFactors (array) - Fatores de risco atualizados
- flagged (boolean) - Status de sinalização atualizado
- updatedAt (string) - Timestamp da atualização
Informação sobre a transição de estado:
- from (string) - Status anterior
- to (string) - Novo status
Na raiz da resposta (alinhado a Criar transação). Apenas presente quando as regras foram executadas. Resumo de quais regras deram match (hit) vs não deram (no hit), ações executadas e pontuação total.
- rulesHit (array) - Regras cujas condições foram atendidas. Cada item: name, description, score, priority, category, status, conditions, actions.
- rulesNoHit (array) - Regras avaliadas mas condições não atendidas. Mesma estrutura que rulesHit.
- actionsExecuted (object) - Ações executadas agregadas: alerts, suggestion, status, assignedUser, customKeys (array de strings, opcional) — chaves de ações personalizadas das regras que deram match; para integrações/workflows.
- totalScore (number) - Soma da pontuação de todas as regras que deram hit (excluindo shadow).
Respostas de Erro
400 Bad Request - Status Inválido
400 Bad Request - Transição Inválida
404 Not Found
401 Unauthorized
500 Internal Server Error
Casos de Uso
1. Fluxo de Revisão Manual
2. Verificação Automática de Conformidade
3. Resposta à Detecção de Fraude
4. Atualizações em Massa de Status
Melhores Práticas
- Validar antes de alterar - Sempre verificar o status atual antes de tentar uma mudança de status para evitar chamadas API desnecessárias
- Tratar erros de transição - Implementar tratamento de erros apropriado para transições inválidas, já que transações fechadas não podem ser reabertas
- Usar status apropriados - Escolher o status correto que reflita o estado de negócio real da transação
-
Monitorar execução de regras - Prestar atenção a
rulesExecutionSummarypara garantir que as regras de atualização sejam executadas conforme esperado e verificar detalhes de execução, avisos e metadata - Implementar registro de auditoria - Rastrear todas as mudanças de status no seu sistema para conformidade e depuração
- Atualizações em massa - Ao atualizar múltiplas transações, usar Promise.allSettled() para continuar processando mesmo se algumas atualizações falharem
- Integração de webhooks - Considerar configurar webhooks para receber notificações quando mudanças de status acionarem regras importantes
- Testar transições de estado - Testar todas as possíveis transições de estado no seu ambiente de desenvolvimento antes de implantar em produção
Endpoints Relacionados
Criar Transação
Criar novas transações
Obter Transação
Recuperar detalhes da transação
Configuração de Regras
Configurar regras de atualização
Resumo
Voltar ao resumo