Inscrições
Gerenciamento de webhooks da API key.
Visão geral
Configure URLs externas que recebem notificações em tempo real para os eventos da API key (depósitos pagos, saques enviados, etc). A gestão de webhooks acontece no painel autenticado via JWT.
Autenticação
Endpoints requerem JWT Bearer do painel autenticado (não chave de API). Cada webhook é vinculado a uma API key específica via parâmetro de path :keyId.
Criar
- Rate limit: 15 req/min, burst 3/5s
Cria uma nova subscription. Body deve conter url (HTTPS obrigatório) e events (array de strings). O secret HMAC retornado aparece UMA única vez na resposta — salve em local seguro, não é exibido novamente.
Exemplo de requisição
curl -X POST https://api.deflow.exchange/api-keys/{keyId}/webhooks \
-H "Authorization: Bearer <painel JWT>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://meusite.com/webhook",
"events": ["deposit:paid", "withdraw:sent"]
}'Exemplo de resposta da requisição
{
"data": {
"id": "67234abc...",
"url": "https://meusite.com/webhook",
"events": [
"deposit:paid",
"withdraw:sent"
],
"secret": "whsec_...",
"status": "active",
"createdAt": "2026-05-15T12:00:00.000Z"
},
"meta": {
"timestamp": "2026-05-15T12:00:00.000Z"
}
}Listar
- Rate limit: 30 req/min, burst 5/5s
Lista todas as subscriptions vinculadas à API key. O campo secret nunca é retornado em listagens; use rotate-secret se precisar de um novo.
Exemplo de requisição
curl https://api.deflow.exchange/api-keys/{keyId}/webhooks \
-H "Authorization: Bearer <painel JWT>"Exemplo de resposta da requisição
{
"data": [
{
"id": "67234abc...",
"url": "https://meusite.com/webhook",
"events": [
"deposit:paid",
"withdraw:sent"
],
"status": "active",
"createdAt": "2026-05-15T12:00:00.000Z"
}
],
"meta": {
"timestamp": "2026-05-15T12:00:00.000Z"
}
}Atualizar
- Rate limit: 15 req/min, burst 3/5s
Atualiza url, events ou status (active|disabled). Campos omitidos permanecem inalterados. Não rotaciona o secret.
Exemplo de requisição
curl -X PATCH https://api.deflow.exchange/api-keys/{keyId}/webhooks/{subscriptionId} \
-H "Authorization: Bearer <painel JWT>" \
-H "Content-Type: application/json" \
-d '{"events": ["deposit:paid"], "status": "active"}'Exemplo de resposta da requisição
{
"data": {
"id": "67234abc...",
"url": "https://meusite.com/webhook",
"events": [
"deposit:paid"
],
"status": "active",
"updatedAt": "2026-05-15T12:00:00.000Z"
},
"meta": {
"timestamp": "2026-05-15T12:00:00.000Z"
}
}Deletar
- Rate limit: 10 req/min, burst 3/5s
Remove a subscription. Retorna 204 No Content. Operação irreversível — entregas em andamento são canceladas.
curl -X DELETE https://api.deflow.exchange/api-keys/{keyId}/webhooks/{subscriptionId} \
-H "Authorization: Bearer <painel JWT>"