Webhooks
Configure webhooks para receber atualizações de Pix In e Pix Out no seu sistema.
Use webhooks para receber atualizações da SharkHub diretamente no seu sistema. Quando um evento ocorrer, enviaremos uma requisição POST para a URL cadastrada no seu painel.
Webhook — Cadastro na plataforma
Antes de receber notificações, cadastre a URL do seu sistema no painel da SharkHub. A URL deve aceitar requisições POST e começar com https://.
1. Acesse sua conta
Acesse app.sharktecnologia.com e faça login com o e-mail e a senha da sua conta.
2. Abra a área de API
No menu lateral, clique em API. A primeira tela continua exibindo as informações e credenciais já existentes.

3. Acesse a tela de Webhooks
Na segunda tela da área de API, selecione Webhooks. Essa tela lista os webhooks cadastrados e permite adicionar, editar ou excluir URLs.

4. Escolha o tipo de webhook
Inicialmente, você poderá cadastrar um webhook para cada tipo:
| Tipo | Quando usar |
|---|---|
Webhook Pix In | Para receber aviso quando uma cobrança Pix for paga |
Webhook Pix Out | Para receber aviso a cada mudança de status de um saque |
Cada webhook possui três informações:
| Campo | Obrigatório | Descrição |
|---|---|---|
URL | Sim | Endpoint do seu sistema que receberá o POST |
API Key | Não | Usuário enviado no HTTP Basic Auth |
Secret | Não | Senha enviada no HTTP Basic Auth |
Por enquanto, a plataforma permite cadastrar apenas um webhook por tipo. A API já está preparada para até dois webhooks por tipo, mas esse limite será liberado em uma etapa futura.
5. Cadastre a URL e salve
Informe a URL do seu sistema, preencha API Key e Secret se quiser receber as chamadas com autenticação, e clique em Salvar webhook.

6. Confira, edite ou exclua quando necessário
Depois de salvo, o webhook aparece em um container retrátil. Fechado, ele mostra o tipo e a URL cadastrada. Ao expandir, você visualiza todos os dados disponíveis e pode editar ou excluir o cadastro.

Webhook — Pix In (Recebimento)
Webhook disparado quando uma cobrança gerada por você é paga.
Quando recebermos o pagamento de uma cobrança, avisaremos você através do webhook cadastrado na plataforma na etapa anterior. Enviaremos um POST para a sua URL com o seguinte conteúdo:
Autenticação
Se webhook_api_key e webhook_secret_key estiverem configurados no seu perfil, a requisição será enviada com HTTP Basic Authentication:
| Campo | Valor |
|---|---|
| Username | webhook_api_key |
| Password | webhook_secret_key |
Caso não estejam configurados, a requisição será enviada sem autenticação.
O que você recebe
{
"id": "tx_abc123def456",
"status": "paid"
}| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da transação |
status | string | Sempre paid neste evento |
Hoje avisamos apenas quando uma cobrança é paga. Outras atualizações, como cobrança vencida, devem ser consultadas diretamente pela plataforma.
Webhook — Pix Out (Saque)
Webhook disparado a cada mudança de status de um saque. Você receberá notificações em três momentos:
| Status | Quando é enviado |
|---|---|
pending | Saque solicitado |
liquidated | Saque aprovado e processado |
rejected | Saque recusado |
Autenticação
Segue o mesmo padrão do Pix In: HTTP Basic Auth com webhook_api_key e webhook_secret_key, quando configurados.
O que você recebe
{
"id": "WD-202601180001",
"status": "pending",
"type": "withdrawal",
"value": 10000,
"value_in_real": "R$100"
}| Campo | Tipo | Descrição |
|---|---|---|
id | string | Número do saque, no formato WD-YYYYMMDDXXXX |
status | string | Status atual: pending, liquidated ou rejected |
type | string | Sempre withdrawal |
value | integer | Valor em centavos. Ex.: 10000 = R$ 100,00 |
value_in_real | string | Valor formatado. Ex.: R$100 ou R$99.50 |
Exemplos
Saque solicitado
{
"id": "WD-202601180001",
"status": "pending",
"type": "withdrawal",
"value": 10000,
"value_in_real": "R$100"
}Saque aprovado
{
"id": "WD-202601180001",
"status": "liquidated",
"type": "withdrawal",
"value": 10000,
"value_in_real": "R$100"
}
liquidatedsignifica que o saque foi pago.
Saque recusado
{
"id": "WD-202601180001",
"status": "rejected",
"type": "withdrawal",
"value": 10000,
"value_in_real": "R$100"
}Este guia foi útil?
Atualizado em 23/04/2026