Documentation Index
Fetch the complete documentation index at: https://docs.hg.cash/llms.txt
Use this file to discover all available pages before exploring further.
O que é entregue
A HG.Cash enfileira umPOST assíncrono para:
- A URL de webhook padrão do usuário (configurada em Configurações da HG.Cash junto com o segredo de assinatura do webhook), ou
- Um
webhookUrlinformado por operação onde a API ou o formulário permitirem — por exemplo ao criar uma transação de ledger pela API REST (POST /api/v1/transactions) ou uma solicitação de transação nos fluxos de transferência quando o campo existir.
Content-Type: application/json e o corpo é um único objeto JSON plano (não aninhado em { "transaction": ... }).
O formato do payload e exemplos estão na referência da API (aba Referência da API, seção Webhooks):
- Solicitações de transação (pipeline cash-out;
typeé sempre"request"): Atualização de status da solicitação de transação — schemaTransactionRequestStatusWebhookcom exemplo completo. - Movimentações de conta / ledger (dinheiro entrando ou saindo das contas HG.Cash;
typeé o nome do tipo de movimento comoinboundououtbound): Movimento de conta — schemaAccountMovementWebhookcom exemplo completo.
type: "request")
Callbacks são enviados quando a HG.Cash atualiza o status de uma solicitação ou quando uma solicitação é cancelada. Você pode não receber webhook assim que uma solicitação é criada enquanto estiver apenas PENDING; integre de forma defensiva contra ordem e duplicatas.
Transações de ledger
Quando uma linha de transação do ledger é persistida a partir de webhooks/API e sua URL resolvida se aplica, a HG.Cash pode notificar logo após persistir; type é o nome do tipo de negócio, não "request".
Segredo de assinatura (X-HG-Webhook-Signature)
Se o perfil HG.Cash tiver um segredo de assinatura de webhook configurado, a HG.Cash assina o corpo JSON bruto exato:
- Algoritmo:
HMAC-SHA256sobre os bytes UTF-8 da string do corpo que a HG.Cash enviará (equivalente aJSON.stringifydo objeto payload). - Cabeçalho:
X-HG-Webhook-Signature. - Formato:
sha256=<hex>onde<hex>é hexadecimal minúsculo (64 caracteres).
- Leia o corpo bruto como recebido — não re-serialize JSON parseado salvo que replique cada ordem/espaçamento que a HG.Cash usou.
- Calcule
hex = HMAC_SHA256(secret, rawBody_utf8)e compare com segurança ao valor do cabeçalho após remover o prefixo opcionalsha256=(sem diferenciar maiúsculas/minúsculas). - Rejeite divergências (
401/403no seu lado é aceitável).
X-HG-Webhook-Signature é omitido por completo.
Tentativas novamente
Entregas com falha (HTTP diferente de2xx, erros de rede ou timeouts) são repetidas automaticamente com esta política:
| Configuração | Valor |
|---|---|
| Tentativas máximas | 4 (inclui a primeira) |
| Fator de backoff | 5 |
| Espera mínima entre tentativas | 500 ms |
| Espera máxima entre tentativas | 30 s |
| Jitter | Desligado (sem aleatoriedade) |
Expectativas operacionais
- Responda com
2xxrapidamente para que a entrega conte como sucesso; caso contrário você pode receberPOSTrepetidos até esgotar tentativas ou até uma tentativa bem-sucedida. - Prefira handlers idempotentes chaveados pelo
idda HG.Cash e transições destatusrelevantes — reenvios ou emissões duplicadas são possíveis.

