Skip to content

Eventos de Webhook

Esta pagina documenta todos os tipos de eventos enviados via webhook pela plataforma FluxiQ NPC.

Formato do Payload

Todos os webhooks seguem o mesmo formato base:

json
{
  "event": "tipo_do_evento",
  "timestamp": "2026-02-03T14:30:00Z",
  "data": {
    // Dados especificos do evento
  }
}
CampoTipoDescricao
eventstringTipo do evento (ex: boleto_paid)
timestampstringData/hora do evento em formato ISO 8601 (UTC)
dataobjectDados especificos do evento

Eventos de Boleto

boleto_created

Enviado quando um novo boleto e criado no sistema.

json
{
  "event": "boleto_created",
  "timestamp": "2026-02-03T14:30:00Z",
  "data": {
    "nosso_numero": "00000000000000001",
    "codigo_barras": "23793.38128 60000.000003 00000.000406 1 84660000010000",
    "linha_digitavel": "23793381286000000000300000004061846600000100 00",
    "valor": 10000,
    "vencimento": "2026-03-15",
    "status": "draft",
    "pagador": {
      "nome": "Joao Silva",
      "documento": "12345678901",
      "tipo_documento": "cpf"
    },
    "beneficiario": {
      "nome": "Empresa LTDA",
      "documento": "12345678000190"
    },
    "created_at": "2026-02-03T14:30:00Z"
  }
}

Campos do evento:

CampoTipoDescricao
nosso_numerostringIdentificador unico do boleto
codigo_barrasstringCodigo de barras de 44 digitos
linha_digitavelstringLinha digitavel de 47 digitos
valorintegerValor em centavos
vencimentostringData de vencimento (YYYY-MM-DD)
statusstringStatus do boleto (draft)
pagadorobjectDados do pagador
beneficiarioobjectDados do beneficiario
created_atstringData/hora de criacao

boleto_registered

Enviado quando o boleto e registrado com sucesso na Nuclea (PCR).

json
{
  "event": "boleto_registered",
  "timestamp": "2026-02-03T14:35:00Z",
  "data": {
    "nosso_numero": "00000000000000001",
    "codigo_barras": "23793.38128 60000.000003 00000.000406 1 84660000010000",
    "linha_digitavel": "23793381286000000000300000004061846600000100 00",
    "valor": 10000,
    "vencimento": "2026-03-15",
    "status": "registered",
    "pcr_protocol": "PCR2026020312345678",
    "registered_at": "2026-02-03T14:35:00Z",
    "pagador": {
      "nome": "Joao Silva",
      "documento": "12345678901",
      "tipo_documento": "cpf"
    },
    "beneficiario": {
      "nome": "Empresa LTDA",
      "documento": "12345678000190"
    }
  }
}

Campos adicionais:

CampoTipoDescricao
statusstringStatus atualizado (registered)
pcr_protocolstringProtocolo de registro na Nuclea
registered_atstringData/hora do registro

boleto_paid

Enviado quando um pagamento e confirmado para o boleto.

json
{
  "event": "boleto_paid",
  "timestamp": "2026-02-04T09:15:00Z",
  "data": {
    "nosso_numero": "00000000000000001",
    "codigo_barras": "23793.38128 60000.000003 00000.000406 1 84660000010000",
    "valor_original": 10000,
    "valor_pago": 10000,
    "valor_desconto": 0,
    "valor_juros": 0,
    "valor_multa": 0,
    "status": "paid",
    "data_pagamento": "2026-02-04",
    "data_credito": "2026-02-05",
    "canal_pagamento": "internet_banking",
    "banco_pagador": "001",
    "agencia_pagador": "1234",
    "settlement_id": "stl_abc123def456",
    "paid_at": "2026-02-04T09:15:00Z"
  }
}

Campos especificos:

CampoTipoDescricao
valor_originalintegerValor original do boleto (centavos)
valor_pagointegerValor efetivamente pago (centavos)
valor_descontointegerDesconto aplicado (centavos)
valor_jurosintegerJuros cobrados (centavos)
valor_multaintegerMulta cobrada (centavos)
data_pagamentostringData do pagamento (YYYY-MM-DD)
data_creditostringData prevista para credito (YYYY-MM-DD)
canal_pagamentostringCanal utilizado para pagamento
banco_pagadorstringCodigo do banco pagador (COMPE)
agencia_pagadorstringAgencia do pagador
settlement_idstringID do ciclo de liquidacao

Canais de pagamento:

ValorDescricao
internet_bankingInternet Banking
mobile_bankingApp do banco
atmCaixa eletronico
branchAgencia bancaria
lotteryCasa loterica
correspondentCorrespondente bancario

boleto_cancelled

Enviado quando um boleto e cancelado.

json
{
  "event": "boleto_cancelled",
  "timestamp": "2026-02-03T16:00:00Z",
  "data": {
    "nosso_numero": "00000000000000001",
    "codigo_barras": "23793.38128 60000.000003 00000.000406 1 84660000010000",
    "valor": 10000,
    "vencimento": "2026-03-15",
    "status": "cancelled",
    "motivo_cancelamento": "solicitacao_cliente",
    "cancelled_at": "2026-02-03T16:00:00Z",
    "cancelled_by": "admin@empresa.com.br"
  }
}

Campos especificos:

CampoTipoDescricao
motivo_cancelamentostringMotivo do cancelamento
cancelled_atstringData/hora do cancelamento
cancelled_bystringUsuario que solicitou o cancelamento

Motivos de cancelamento:

ValorDescricao
solicitacao_clienteSolicitado pelo cliente
erro_emissaoErro na emissao
duplicidadeBoleto duplicado
acordoNegociacao/acordo
outrosOutros motivos

Eventos de Liquidacao

settlement_completed

Enviado quando um ciclo de liquidacao e processado com sucesso.

json
{
  "event": "settlement_completed",
  "timestamp": "2026-02-04T08:45:00Z",
  "data": {
    "settlement_id": "stl_abc123def456",
    "cycle_date": "2026-02-04",
    "cycle_type": "morning",
    "total_boletos": 47,
    "total_valor": 1523450,
    "arquivo_acmp615": "ACMP615.20260204.083000",
    "status": "completed",
    "started_at": "2026-02-04T08:35:00Z",
    "completed_at": "2026-02-04T08:45:00Z",
    "summary": {
      "pagos": 45,
      "valor_pagos": 1485000,
      "rejeitados": 2,
      "valor_rejeitados": 38450
    }
  }
}

Campos do evento:

CampoTipoDescricao
settlement_idstringID unico do ciclo de liquidacao
cycle_datestringData do ciclo (YYYY-MM-DD)
cycle_typestringTipo do ciclo (morning ou afternoon)
total_boletosintegerTotal de boletos processados
total_valorintegerValor total processado (centavos)
arquivo_acmp615stringNome do arquivo ACMP615 processado
summaryobjectResumo por status

Tipos de ciclo:

ValorHorarioDescricao
morning08:30Ciclo da manha
afternoon16:30Ciclo da tarde

payment_received

Enviado para cada pagamento individual recebido durante o processamento de liquidacao. Este evento e complementar ao boleto_paid e fornece informacoes adicionais do arquivo ACMP615.

json
{
  "event": "payment_received",
  "timestamp": "2026-02-04T08:40:00Z",
  "data": {
    "settlement_id": "stl_abc123def456",
    "nosso_numero": "00000000000000001",
    "codigo_barras": "23793.38128 60000.000003 00000.000406 1 84660000010000",
    "valor_pago": 10000,
    "data_pagamento": "2026-02-04",
    "data_credito": "2026-02-05",
    "banco_recebedor": "237",
    "agencia_recebedora": "1234",
    "tipo_liquidacao": "normal",
    "sequencial_arquivo": 15,
    "acmp615_record": {
      "tipo_registro": "20",
      "codigo_movimento": "06"
    }
  }
}

Campos especificos:

CampoTipoDescricao
settlement_idstringID do ciclo de liquidacao
banco_recebedorstringBanco que recebeu o pagamento
agencia_recebedorastringAgencia que recebeu
tipo_liquidacaostringTipo de liquidacao
sequencial_arquivointegerPosicao no arquivo ACMP615
acmp615_recordobjectDados brutos do registro ACMP615

Tipos de liquidacao:

ValorDescricao
normalLiquidacao padrao D+1
expressLiquidacao expressa D+0
ddaVia Debito Direto Autorizado

Resumo de Eventos

EventoTriggerCampos Chave
boleto_createdBoleto criado no sistemanosso_numero, valor, status
boleto_registeredRegistro confirmado na Nucleanosso_numero, pcr_protocol, status
boleto_paidPagamento confirmadonosso_numero, valor_pago, settlement_id
boleto_cancelledBoleto canceladonosso_numero, motivo_cancelamento
settlement_completedCiclo de liquidacao finalizadosettlement_id, total_boletos, summary
payment_receivedPagamento individual processadosettlement_id, nosso_numero, valor_pago

Testando Eventos

Ambiente Sandbox

No sandbox, voce pode disparar eventos de teste para validar sua integracao:

bash
# Disparar evento de boleto pago
curl -X POST "https://sandbox.pixconnect.com.br/api/v1/central/webhooks/test" \
  -H "X-API-Key: pk_test_abc123def456" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "boleto_paid",
    "nosso_numero": "00000000000000001"
  }'

Tipos de eventos disponiveis para teste:

event_typeDescricao
boleto_createdSimula criacao de boleto
boleto_registeredSimula registro na Nuclea
boleto_paidSimula pagamento
boleto_cancelledSimula cancelamento
settlement_completedSimula ciclo de liquidacao
payment_receivedSimula pagamento individual

Usando webhook.site

Para desenvolvimento e debug, recomendamos usar webhook.site:

  1. Acesse webhook.site
  2. Copie a URL unica gerada
  3. Configure como webhook_url no portal (sandbox)
  4. Execute acoes ou dispare eventos de teste
  5. Visualize os payloads em tempo real

Inspecionando Payloads

O webhook.site permite ver todos os headers, corpo da requisicao e metadata. Isso e util para depurar problemas de assinatura ou formato.

Simulador Local

Para desenvolvimento local, voce pode usar o ngrok para expor sua maquina:

bash
# Iniciar ngrok
ngrok http 3000

# Output:
# Forwarding: https://abc123.ngrok.io -> http://localhost:3000

# Configurar URL no portal
curl -X PUT "https://sandbox.pixconnect.com.br/api/v1/central/config/central" \
  -H "X-API-Key: pk_test_abc123def456" \
  -H "Content-Type: application/json" \
  -d '{
    "webhook_url": "https://abc123.ngrok.io/webhooks/pixconnect"
  }'

Proximos Passos

Documentação da API FluxiQ NPC