Skip to main content
WEBHOOK

Autorizações

X-HG-Webhook-Signature
string
header
obrigatório

Assinatura HMAC-SHA256 do corpo JSON bruto. Formato: sha256=<hex>. Quando você configura um segredo de assinatura de webhook nas configurações da conta, a HG.Cash inclui este cabeçalho em cada POST de webhook. Verifique a assinatura no seu endpoint para garantir que a requisição é autêntica.

Corpo

application/json

Payload enviado ao seu endpoint de webhook sempre que dinheiro entra ou sai de uma das suas contas HG.Cash.

Cabeçalhos: Quando você configura um segredo de assinatura de webhook nas configurações da conta, a HG.Cash envia o cabeçalho X-HG-Webhook-Signature: sha256=<hex>, em que o valor é HMAC-SHA256 do corpo JSON bruto usando o seu segredo. Verifique isso para garantir que a requisição é autêntica.

Observações:

  • Valores numéricos (como amount, CBU/CUIT) são enviados como strings para preservar precisão e formatação.
  • date é uma data-hora local e deve ser interpretada usando timezone.
id
string<uuid>
obrigatório

ID interno da movimentação

externalID
string
obrigatório

Identificador externo do provedor ou banco para a movimentação

amount
string
obrigatório

Valor da movimentação como string decimal

currency
string
obrigatório

Código de moeda ISO 4217

Pattern: ^[A-Z]{3}$
direction
enum<string>
obrigatório

Direção da movimentação em relação à sua conta

Opções disponíveis:
Inbound,
Outbound
status
string
obrigatório

Status atual da movimentação

type
string
obrigatório

Tipo de movimentação (por exemplo inbound ou outbound)

accountId
string<uuid>
obrigatório

ID da conta HG.Cash associada à movimentação

date
string<date-time>
obrigatório

Data-hora local da movimentação no fuso horário informado

timezone
string
obrigatório

Identificador de fuso horário IANA usado para interpretar date

topic
enum<string>
obrigatório

Tópico do webhook para roteamento

Opções disponíveis:
TRANSACTION
Exemplo:

"TRANSACTION"

eventType
enum<string>
obrigatório

Tipo de evento dentro do tópico

Opções disponíveis:
created,
status_change
Exemplo:

"created"

fromName
string

Nome do remetente

toName
string

Nome do destinatário

fromCBU
string

CBU do remetente (22 dígitos). Enviado como string.

Pattern: ^\d{22}$
toCBU
string

CBU do destinatário (22 dígitos). Enviado como string.

Pattern: ^\d{22}$
fromCUIT
string

CUIT/CUIL do remetente (11 dígitos). Enviado como string.

Pattern: ^\d{11}$
toCUIT
string

CUIT/CUIL do destinatário (11 dígitos). Enviado como string.

Pattern: ^\d{11}$
coelsaCode
string

Código de transação Coelsa

endToEndId
string

Identificador end-to-end opcional de um PIX do Brasil armazenado na movimentação. Incluído nos webhooks TRANSACTION quando presente. Omitido quando vazio.

Exemplo:

"E60701190202505022140DY5DH1K8FL1"

cancelledReason
enum<string>

Em um status_change de um payout da Venezuela, incluído somente para VE_KYC_EXPIRED, VE_KYC_DECLINED ou VE_KYC_REQUIRED. Outros motivos de cancelamento são omitidos. Um payout em processing que passa para cancelled não envia este webhook.

Opções disponíveis:
VE_KYC_EXPIRED,
VE_KYC_DECLINED,
VE_KYC_REQUIRED
feeBreakdown
object

Detalhamento de taxa opcional em um webhook de transação. Os valores são strings decimais. Omitido quando a movimentação não tem detalhamento. collectedAmount é a taxa combinada: o percentual cobrado do cliente mais a taxa fixa. flatFee é somente esse valor fixo. platformFee e transactionFee não são enviados aqui; permanecem no status REST (GET /api/v1/{br,cl,co,ve,bo}/transactions/{id}/status). Webhooks não incluem flatFee.source.