Documentação da API
Endpoints REST para integrar a Domo Trust no seu sistema (fluxo COAF, onboarding, consultas em tempo real).
Autenticação
Todas as requisições devem incluir o header:
Authorization: Bearer <SUA_API_KEY>Gere uma API key em /app/integracoes. Chaves começam com dmt_live_.
Rate limits
- Consulta: 120 requisições/minuto por API key
- Incidentes: 60/min
- COAF: 60/min
POST /api/v1/consultar
Verifica se há alerta confirmado na rede por CPF ou CNPJ. A consulta custa 20 DMT e responde somente se existe alerta — o conteúdo é revelado num segundo passo, que você decide dar (nada além dos 20 é debitado sem essa escolha).
curl -X POST https://domotrust.com.br/api/v1/consultar \
-H "Authorization: Bearer dmt_live_xxx" \
-H "Content-Type: application/json" \
-d '{"documento": "12345678000199"}'Resposta (estágio 1):
{
"documento_hash": "9f86d08...",
"sinal": {
"tem_alerta": true,
"qtd_confirmados": 2,
"texto": "Há alerta confirmado na rede sobre este CNPJ."
},
"abertura": { "endpoint": "/api/v1/consultar/abrir", "custo_dmt": 680 }
}A origem do relato nunca é revelada — nem a instituição, nem o setor. HTTP 402 se saldo insuficiente.
POST /api/v1/consultar/abrir
Estágio 2: revela o conteúdo do alerta e debita o complemento (680 DMT, total do hit = 700). Só alertas confirmados abrem; sem saldo, o retorno é 402 e nada é cobrado — o alerta fica reservado até você repor os créditos.
curl -X POST https://domotrust.com.br/api/v1/consultar/abrir \
-H "Authorization: Bearer dmt_live_xxx" \
-H "Content-Type: application/json" \
-d '{"documento": "12345678000199"}'Modo legado (compatibilidade)
Com "dois_estagios": false, a consulta debita tudo de uma vez (20, mais 680 se houver alerta) e devolve o conteúdo na mesma resposta. Mantido só para integrações antigas — prefira o fluxo em dois estágios acima.
POST /api/v1/incidentes
Registra um incidente na rede.
curl -X POST https://domotrust.com.br/api/v1/incidentes \
-H "Authorization: Bearer dmt_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"tipo_documento": "cpf",
"documento": "12345678900",
"nome_alvo": "Joao da Silva",
"categoria": "fraude",
"severidade": "alta",
"titulo": "Suspeita de laranja em PIX",
"descricao": "Cliente solicitou transferencia de R$ 50k...",
"valor_envolvido": 50000.00,
"ocorrido_em": "2026-04-20"
}'Até 100 DMT quando o incidente é confirmado pela rede. IA classifica automaticamente.
POST /api/v1/coaf/incidente
Endpoint side-car para replicar comunicação COAF na rede. Protocolo SISCOAF é cifrado e armazenado apenas para você — a rede vê somente fato, categoria e valor (sigilo Art. 11 §2º Lei 9.613/98).
curl -X POST https://domotrust.com.br/api/v1/coaf/incidente \
-H "Authorization: Bearer dmt_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"tipo_comunicacao": "COE",
"referencia_coaf": "COE-2026-000123",
"tipo_documento": "cpf",
"documento": "12345678900",
"valor_envolvido": 78500.00,
"categoria_coaf": "lavagem_dinheiro_pld",
"descricao_fato": "Fracionamento em 12 transferencias...",
"data_ocorrencia": "2026-04-20"
}'Webhooks
Configure um endpoint HTTPS em /app/integracoes para receber eventos em tempo real.
Headers enviados:
X-DomoTrust-Event: match
X-DomoTrust-Timestamp: 1729876543
X-DomoTrust-Signature: sha256=abc123...
X-DomoTrust-Delivery-Id: 42Validação HMAC (Node.js):
const assinado = crypto
.createHmac("sha256", SEU_SECRET)
.update(timestamp + "." + corpoRaw)
.digest("hex");
// comparar com header X-DomoTrust-Signature removendo "sha256="Retry com backoff exponencial: 30s, 1m, 2m, 4m, 8m, 16m. Desiste após 6 tentativas. Responda HTTP 2xx em até 10s para confirmar recebimento.
Códigos HTTP
200— sucesso400— dados inválidos401— API key ausente/inválida402— saldo DMT insuficiente403— escopo insuficiente429— rate limit500— erro interno